[OQRS] Created new view for OQRS requests
这个提交包含在:
父节点
455b28a756
当前提交
d5842bbc5a
共有 4 个文件被更改,包括 402 次插入 和 129 次删除
|
|
@ -91,6 +91,7 @@ class Oqrs extends CI_Controller {
|
||||||
|
|
||||||
$this->load->model('oqrs_model');
|
$this->load->model('oqrs_model');
|
||||||
$data['result'] = $this->oqrs_model->getOqrsRequests($location_list);
|
$data['result'] = $this->oqrs_model->getOqrsRequests($location_list);
|
||||||
|
$data['stations'] = $this->oqrs_model->get_oqrs_stations();
|
||||||
|
|
||||||
$this->load->view('interface_assets/header', $data);
|
$this->load->view('interface_assets/header', $data);
|
||||||
$this->load->view('oqrs/showrequests');
|
$this->load->view('oqrs/showrequests');
|
||||||
|
|
@ -182,4 +183,21 @@ class Oqrs extends CI_Controller {
|
||||||
|
|
||||||
$this->oqrs_model->mark_oqrs_line_as_done($id);
|
$this->oqrs_model->mark_oqrs_line_as_done($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function search() {
|
||||||
|
$this->load->model('oqrs_model');
|
||||||
|
|
||||||
|
$searchCriteria = array(
|
||||||
|
'user_id' => (int)$this->session->userdata('user_id'),
|
||||||
|
'de' => xss_clean($this->input->post('de')),
|
||||||
|
'dx' => xss_clean($this->input->post('dx')),
|
||||||
|
'status' => xss_clean($this->input->post('status')),
|
||||||
|
'oqrsResults' => xss_clean($this->input->post('oqrsResults')),
|
||||||
|
);
|
||||||
|
|
||||||
|
$qsos = $this->oqrs_model->searchOqrs($searchCriteria);
|
||||||
|
|
||||||
|
header("Content-Type: application/json");
|
||||||
|
print json_encode($qsos);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ class Oqrs_model extends CI_Model {
|
||||||
}
|
}
|
||||||
|
|
||||||
function getOqrsRequests($location_list) {
|
function getOqrsRequests($location_list) {
|
||||||
$sql = 'select * from oqrs join station_profile on oqrs.station_id = station_profile.station_id where oqrs.station_id in (' . $location_list . ') and oqrs.status < 2';
|
$sql = 'select * from oqrs join station_profile on oqrs.station_id = station_profile.station_id where oqrs.station_id in (' . $location_list . ')';
|
||||||
|
|
||||||
$query = $this->db->query($sql);
|
$query = $this->db->query($sql);
|
||||||
|
|
||||||
|
|
@ -251,15 +251,46 @@ class Oqrs_model extends CI_Model {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
function getOqrsStationsFromSlug($logbook_id) {
|
/*
|
||||||
$sql = 'SELECT station_callsign FROM `station_logbooks_relationship` JOIN `station_profile` ON station_logbooks_relationship.station_location_id = station_profile.station_id WHERE station_profile.oqrs = 1 AND station_logbook_id = '.$logbook_id.';';
|
* @param array $searchCriteria
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function searchOqrs($searchCriteria) : array {
|
||||||
|
$conditions = [];
|
||||||
|
$binding = [$searchCriteria['user_id']];
|
||||||
|
|
||||||
$query = $this->db->query($sql);
|
if ($searchCriteria['de'] !== '') {
|
||||||
|
$conditions[] = "station_profile.STATION_CALLSIGN = ?";
|
||||||
if ($query->num_rows() > 0) {
|
$binding[] = trim($searchCriteria['de']);
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
if ($searchCriteria['dx'] !== '') {
|
||||||
|
$conditions[] = "oqrs.requestcallsign LIKE ?";
|
||||||
|
$binding[] = '%' . trim($searchCriteria['dx']) . '%';
|
||||||
|
}
|
||||||
|
if ($searchCriteria['status'] !== '') {
|
||||||
|
$conditions[] = "oqrs.status = ?";
|
||||||
|
$binding[] = $searchCriteria['status'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$where = trim(implode(" AND ", $conditions));
|
||||||
|
if ($where != "") {
|
||||||
|
$where = "AND $where";
|
||||||
|
}
|
||||||
|
|
||||||
|
$limit = $searchCriteria['oqrsResults'];
|
||||||
|
|
||||||
|
$sql = "
|
||||||
|
SELECT *
|
||||||
|
FROM oqrs
|
||||||
|
INNER JOIN station_profile ON oqrs.station_id=station_profile.station_id
|
||||||
|
WHERE station_profile.user_id = ?
|
||||||
|
$where
|
||||||
|
ORDER BY oqrs.id
|
||||||
|
LIMIT $limit
|
||||||
|
";
|
||||||
|
|
||||||
|
$data = $this->db->query($sql, $binding);
|
||||||
|
|
||||||
|
return $data->result('array');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,126 +1,123 @@
|
||||||
<div class="container">
|
|
||||||
<br>
|
|
||||||
<h2><?php echo $page_title; ?></h2>
|
|
||||||
<?php
|
|
||||||
if (count($result) > 0) {
|
|
||||||
$station_id = '';
|
|
||||||
$tablebody = '';
|
|
||||||
$requester = '';
|
|
||||||
$first = true;
|
|
||||||
$second = true;
|
|
||||||
foreach ($result as $qso) {
|
|
||||||
if ($station_id != $qso->station_id) {
|
|
||||||
if (!$first) {
|
|
||||||
write_table($tablebody);
|
|
||||||
$tablebody = '';
|
|
||||||
echo '</div></div><br />';
|
|
||||||
}
|
|
||||||
insert_station_data($qso);
|
|
||||||
$first = false;
|
|
||||||
}
|
|
||||||
if ($requester != $qso->requestcallsign) {
|
|
||||||
if (!$second) {
|
|
||||||
write_table($tablebody);
|
|
||||||
}
|
|
||||||
$second = false;
|
|
||||||
insert_requester($qso);
|
|
||||||
write_table_header();
|
|
||||||
$tablebody = '';
|
|
||||||
}
|
|
||||||
$tablebody .= insert_qso_data($qso);
|
|
||||||
|
|
||||||
$requester = $qso->requestcallsign;
|
|
||||||
$station_id = $qso->station_id;
|
|
||||||
}
|
|
||||||
write_table($tablebody);
|
|
||||||
echo '</div></div><br />';
|
|
||||||
} else {
|
|
||||||
echo 'No OQRS requests were found at this time.';
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
function insert_station_data($station) {
|
function echo_status($status) {
|
||||||
?>
|
switch($status) {
|
||||||
<div>
|
case '0': echo 'Open request'; break;
|
||||||
<h5>
|
case '1': echo 'Not in log request'; break;
|
||||||
Station id: <strong><?php echo $station->station_id; ?></strong>
|
case '2': echo 'Request done'; break;
|
||||||
Station callsign: <strong><?php echo $station->station_callsign; ?></strong>
|
}
|
||||||
Profile Name: <strong><?php echo $station->station_profile_name; ?></strong>
|
}
|
||||||
Country: <strong><?php echo $station->station_country; ?></strong>
|
function echo_qsl_method($method) {
|
||||||
Gridsquare: <strong><?php echo $station->station_gridsquare; ?></strong>
|
switch(strtoupper($method)) {
|
||||||
</h5>
|
case 'B': echo 'Bureau'; break;
|
||||||
<div>
|
case 'D': echo 'Direct'; break;
|
||||||
<?php
|
case 'E': echo 'Electronic'; break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function insert_requester($requester) {
|
|
||||||
?>
|
?>
|
||||||
OQRS Request:
|
<div class="container-fluid oqrs pt-3 pl-4 pr-4">
|
||||||
<table style="width:100%" class="result-table table-sm table table-bordered table-hover table-striped table-condensed text-center">
|
<h2><?php echo $page_title; ?></h2>
|
||||||
|
<?php if ($this->session->flashdata('message')) { ?>
|
||||||
|
<!-- Display Message -->
|
||||||
|
<div class="alert-message error">
|
||||||
|
<p><?php echo $this->session->flashdata('message'); ?></p>
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
|
<div class="row">
|
||||||
|
<form id="searchForm" name="searchForm" action="<?php echo base_url()."index.php/oqrs/search";?>" method="post">
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="forn-group col-lg-2 col-md-2 col-sm-3 col-xl">
|
||||||
|
<label class="form-label" for="de">De</label>
|
||||||
|
<select id="de" name="de" class="form-control form-control-sm">
|
||||||
|
<option value="">All</option>
|
||||||
|
<?php
|
||||||
|
foreach($stations->result() as $station){
|
||||||
|
?><option value="<?php echo htmlentities($station->station_id);?>"><?php echo htmlspecialchars($station->station_profile_name . ' - ' . $station->station_callsign);?></option><?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="forn-group col-lg-2 col-md-2 col-sm-3 col-xl">
|
||||||
|
<label class="form-label" for="dx">Dx</label>
|
||||||
|
<input type="text" name="dx" id="dx" class="form-control form-control-sm" value="">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="forn-group col-lg-2 col-md-2 col-sm-3 col-xl">
|
||||||
|
<label for="status">OQRS Status</label>
|
||||||
|
<select id="status" name="status" class="form-control form-control-sm">
|
||||||
|
<option value="">All</option>
|
||||||
|
<option value="0">Open request</option>
|
||||||
|
<option value="1">Not in log request</option>
|
||||||
|
<option value="2">Request done</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="forn-group col-lg-2 col-md-2 col-sm-3 col-xl">
|
||||||
|
<label for="oqrsResults"># Results</label>
|
||||||
|
<select id="oqrsResults" name="oqrsResults" class="form-control form-control-sm">
|
||||||
|
<option value="50">50</option>
|
||||||
|
<option value="200">200</option>
|
||||||
|
<option value="500">500</option>
|
||||||
|
<option value="1000">1000</option>
|
||||||
|
<option value="All">All</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label> </label><br>
|
||||||
|
<button type="submit" class="btn btn-sm btn-primary" id="searchButton">Search</button>
|
||||||
|
<button type="reset" class="btn btn-sm btn-danger" id="resetButton">Reset</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class=" mb-2">
|
||||||
|
<span class="h6">With selected :</span>
|
||||||
|
<button type="button" class="btn btn-sm btn-warning" id="markOqrs">Mark as done</button>
|
||||||
|
<button type="button" class="btn btn-sm btn-danger" id="deleteOqrs">Delete</button>
|
||||||
|
<span id="infoBox"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<table style="width:100%" class="table-sm oqrstable table table-bordered table-hover table-condensed text-center" id="qsoList">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Requester</th>
|
<th><div class="form-check" style="margin-top: -1.5em"><input class="form-check-input" type="checkbox" id="checkBoxAll" /></div></th>
|
||||||
<th>Time of request</th>
|
<th>Time of request</th>
|
||||||
|
<th>QSO Date</th>
|
||||||
|
<th>QSO Time</th>
|
||||||
|
<th>Band</th>
|
||||||
|
<th>Mode</th>
|
||||||
|
<th>Request callsign</th>
|
||||||
|
<th>Station callsign</th>
|
||||||
<th>E-mail</th>
|
<th>E-mail</th>
|
||||||
<th>Note</th>
|
<th>Note</th>
|
||||||
<th>QSL route</th>
|
<th>QSL route</th>
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td><?php echo $requester->requestcallsign ?></td>
|
|
||||||
<td><?php echo $requester->requesttime ?></td>
|
|
||||||
<td><?php echo $requester->email ?></td>
|
|
||||||
<td><?php echo $requester->note ?></td>
|
|
||||||
<td><?php echo $requester->qslroute; ?></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
|
|
||||||
function insert_qso_data($qso) {
|
|
||||||
$tablebody = '';
|
|
||||||
$tablebody .= '<tr class="oqrsid_'.$qso->id.'">
|
|
||||||
<td>' . $qso->date . '</td>
|
|
||||||
<td>' . $qso->time . '</td>
|
|
||||||
<td>' . $qso->band . '</td>
|
|
||||||
<td>' . $qso->mode . '</td>
|
|
||||||
<td><button class="btn btn-primary btn-sm" type="button" onclick="searchLog(\''. $qso->requestcallsign .'\');"><i class="fas fa-search"></i> Call</button>
|
|
||||||
<button class="btn btn-primary btn-sm" type="button" onclick="searchLogTimeDate(\''. $qso->id .'\');"><i class="fas fa-search"></i> Date/Time</button>
|
|
||||||
</td>
|
|
||||||
<td><a href="javascript:markOqrsLineAsDone('. $qso->id .');" class="btn btn-danger btn-sm" onclick=""><i class="fas fa-plus-square"></i></a></td>
|
|
||||||
<td><a href="javascript:deleteOqrsLine('. $qso->id .');" class="btn btn-danger btn-sm" onclick=""><i class="fas fa-trash-alt"></i></a></td>
|
|
||||||
</tr>';
|
|
||||||
return $tablebody;
|
|
||||||
}
|
|
||||||
|
|
||||||
function write_table_header() {
|
|
||||||
?>
|
|
||||||
<table style="width:100%" class="result-table table-sm table table-bordered table-hover table-striped table-condensed text-center">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Date</th>
|
|
||||||
<th>Time (UTC)</th>
|
|
||||||
<th>Band</th>
|
|
||||||
<th>Mode</th>
|
|
||||||
<th>Check log</th>
|
<th>Check log</th>
|
||||||
<th>Mark as done</th>
|
<th>Status</th>
|
||||||
<th>Delete</th>
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php
|
<?php
|
||||||
}
|
/*foreach ($result as $qso) {
|
||||||
|
echo '<tr class="oqrsid_'.$qso->id.'" oqrsid="'.$qso->id.'">';
|
||||||
function write_table($tablebody) {
|
echo '<td><div class="form-check"><input class="form-check-input" type="checkbox" /></div></td>';
|
||||||
echo $tablebody; ?>
|
echo '<td>'. $qso->requesttime .'</td>';
|
||||||
|
echo '<td>'. $qso->date .'</td>';
|
||||||
|
echo '<td>'. $qso->time .'</td>';
|
||||||
|
echo '<td>'. $qso->band .'</td>';
|
||||||
|
echo '<td>'. $qso->mode .'</td>';
|
||||||
|
echo '<td>'. $qso->requestcallsign .'</td>';
|
||||||
|
echo '<td>'. $qso->station_callsign .'</td>';
|
||||||
|
echo '<td>'. $qso->email .'</td>';
|
||||||
|
echo '<td>'. $qso->note .'</td>';
|
||||||
|
echo '<td>'; echo_qsl_method($qso->qslroute); echo '</td>';
|
||||||
|
echo '<td><button class="btn btn-primary btn-sm" type="button" onclick="searchLog(\''. $qso->requestcallsign .'\');"><i class="fas fa-search"></i> Call</button>
|
||||||
|
<button class="btn btn-primary btn-sm" type="button" onclick="searchLogTimeDate(\''. $qso->id .'\');"><i class="fas fa-search"></i> Date/Time</button>
|
||||||
|
</td>';
|
||||||
|
echo '<td>'; echo_status($qso->status); echo '</td>';
|
||||||
|
echo '</tr>';
|
||||||
|
}*/
|
||||||
|
?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<?php
|
|
||||||
}
|
|
||||||
|
|
@ -228,10 +228,10 @@ function searchLogTimeDate(id) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: base_url + 'index.php/oqrs/search_log_time_date',
|
url: base_url + 'index.php/oqrs/search_log_time_date',
|
||||||
type: 'post',
|
type: 'post',
|
||||||
data: {'time': $('.oqrsid_'+id+ ' td:nth-child(2)').text(),
|
data: {'time': $('#oqrsID_'+id+ ' td:nth-child(4)').text(),
|
||||||
'date': $('.oqrsid_'+id+ ' td:nth-child(1)').text(),
|
'date': $('#oqrsID_'+id+ ' td:nth-child(3)').text(),
|
||||||
'band': $('.oqrsid_'+id+ ' td:nth-child(3)').text(),
|
'band': $('#oqrsID_'+id+ ' td:nth-child(5)').text(),
|
||||||
'mode': $('.oqrsid_'+id+ ' td:nth-child(4)').text()
|
'mode': $('#oqrsID_'+id+ ' td:nth-child(6)').text()
|
||||||
},
|
},
|
||||||
success: function(html) {
|
success: function(html) {
|
||||||
BootstrapDialog.show({
|
BootstrapDialog.show({
|
||||||
|
|
@ -265,3 +265,230 @@ function markOqrsLineAsDone(id) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
function loadOqrsTable(rows) {
|
||||||
|
var uninitialized = $('.oqrstable').filter(function() {
|
||||||
|
return !$.fn.DataTable.fnIsDataTable(this);
|
||||||
|
});
|
||||||
|
|
||||||
|
uninitialized.each(function() {
|
||||||
|
$(this).DataTable({
|
||||||
|
searching: false,
|
||||||
|
responsive: false,
|
||||||
|
ordering: true,
|
||||||
|
"scrollY": window.innerHeight - $('#searchForm').innerHeight() - 250,
|
||||||
|
"scrollCollapse": true,
|
||||||
|
"paging": false,
|
||||||
|
"scrollX": true,
|
||||||
|
"order": [ 0, 'asc' ],
|
||||||
|
'white-space': 'nowrap',
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
var table = $('.oqrstable').DataTable();
|
||||||
|
|
||||||
|
table.clear();
|
||||||
|
|
||||||
|
for (i = 0; i < rows.length; i++) {
|
||||||
|
let qso = rows[i];
|
||||||
|
|
||||||
|
var data = [
|
||||||
|
'<div class="form-check"><input class="form-check-input" type="checkbox" /></div>',
|
||||||
|
qso.requesttime,
|
||||||
|
qso.date,
|
||||||
|
qso.time,
|
||||||
|
qso.band,
|
||||||
|
qso.mode,
|
||||||
|
qso.requestcallsign,
|
||||||
|
qso.station_callsign,
|
||||||
|
qso.email,
|
||||||
|
qso.note,
|
||||||
|
echo_qsl_method(qso.qslroute),
|
||||||
|
echo_searchlog_button(qso.requestcallsign, qso.id),
|
||||||
|
echo_status(qso.status),
|
||||||
|
];
|
||||||
|
|
||||||
|
let createdRow = table.row.add(data).index();
|
||||||
|
table.rows(createdRow).nodes().to$().data('oqrsID', qso.id);
|
||||||
|
table.row(createdRow).node().id = 'oqrsID_' + qso.id;
|
||||||
|
}
|
||||||
|
table.columns.adjust().draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
function echo_status(status) {
|
||||||
|
switch(status.toUpperCase()) {
|
||||||
|
case '0': return 'Open request'; break;
|
||||||
|
case '1': return 'Not in log request'; break;
|
||||||
|
case '2': return 'Request done'; break;
|
||||||
|
default: return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function echo_qsl_method(method) {
|
||||||
|
switch(method.toUpperCase()) {
|
||||||
|
case 'B': return 'Bureau'; break;
|
||||||
|
case 'D': return 'Direct'; break;
|
||||||
|
case 'E': return 'Electronic'; break;
|
||||||
|
default: return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function echo_searchlog_button(callsign, id) {
|
||||||
|
return '<button class="btn btn-primary btn-sm" type="button" onclick="searchLog(\'' + callsign + '\');"><i class="fas fa-search"></i> Call</button> ' +
|
||||||
|
'<button class="btn btn-primary btn-sm" type="button" onclick="searchLogTimeDate(' + id + ');"><i class="fas fa-search"></i> Date/Time</button>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
|
||||||
|
$('#searchForm').submit(function (e) {
|
||||||
|
$('#searchButton').prop("disabled", true);
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: this.action,
|
||||||
|
type: 'post',
|
||||||
|
data: {
|
||||||
|
de: this.de.value,
|
||||||
|
dx: this.dx.value,
|
||||||
|
status: this.status.value,
|
||||||
|
oqrsResults: this.oqrsResults.value
|
||||||
|
},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (data) {
|
||||||
|
$('#searchButton').prop("disabled", false);
|
||||||
|
loadOqrsTable(data);
|
||||||
|
},
|
||||||
|
error: function (data) {
|
||||||
|
$('#searchButton').prop("disabled", false);
|
||||||
|
BootstrapDialog.alert({
|
||||||
|
title: 'ERROR',
|
||||||
|
message: 'An error ocurred while making the request',
|
||||||
|
type: BootstrapDialog.TYPE_DANGER,
|
||||||
|
closable: false,
|
||||||
|
draggable: false,
|
||||||
|
callback: function (result) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.oqrstable').on('click', 'input[type="checkbox"]', function() {
|
||||||
|
if ($(this).is(":checked")) {
|
||||||
|
$(this).closest('tr').addClass('alert-success');
|
||||||
|
} else {
|
||||||
|
$(this).closest('tr').removeClass('alert-success');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#deleteOqrs').click(function (event) {
|
||||||
|
var elements = $('.oqrstable tbody input:checked');
|
||||||
|
var nElements = elements.length;
|
||||||
|
if (nElements == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#deleteOqrs').prop("disabled", true);
|
||||||
|
|
||||||
|
var table = $('.oqrstable').DataTable();
|
||||||
|
|
||||||
|
BootstrapDialog.confirm({
|
||||||
|
title: 'DANGER',
|
||||||
|
message: 'Warning! Are you sure you want to delete the marked OQRS request(s)?' ,
|
||||||
|
type: BootstrapDialog.TYPE_DANGER,
|
||||||
|
closable: true,
|
||||||
|
draggable: true,
|
||||||
|
btnOKClass: 'btn-danger',
|
||||||
|
callback: function(result) {
|
||||||
|
if(result) {
|
||||||
|
elements.each(function() {
|
||||||
|
let id = $(this).first().closest('tr').data('qsoID')
|
||||||
|
$.ajax({
|
||||||
|
url: base_url + 'index.php/oqrs/delete_ajax',
|
||||||
|
type: 'post',
|
||||||
|
data: {'id': id
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
var row = $("#qsoID_" + id);
|
||||||
|
table.row(row).remove().draw(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('#deleteOqrs').prop("disabled", false);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#markOqrs').click(function (event) {
|
||||||
|
var elements = $('.oqrstable tbody input:checked');
|
||||||
|
var nElements = elements.length;
|
||||||
|
if (nElements == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#markOqrs').prop("disabled", true);
|
||||||
|
|
||||||
|
var table = $('.oqrstable').DataTable();
|
||||||
|
|
||||||
|
BootstrapDialog.confirm({
|
||||||
|
title: 'DANGER',
|
||||||
|
message: 'Warning! Are you sure you want to delete the marked OQRS request(s)?' ,
|
||||||
|
type: BootstrapDialog.TYPE_DANGER,
|
||||||
|
closable: true,
|
||||||
|
draggable: true,
|
||||||
|
btnOKClass: 'btn-danger',
|
||||||
|
callback: function(result) {
|
||||||
|
if(result) {
|
||||||
|
elements.each(function() {
|
||||||
|
let id = $(this).first().closest('tr').data('qsoID')
|
||||||
|
$.ajax({
|
||||||
|
url: base_url + 'index.php/oqrs/mark_ajax',
|
||||||
|
type: 'post',
|
||||||
|
data: {'id': id
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
var row = $("#qsoID_" + id);
|
||||||
|
table.row(row).remove().draw(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('#markOqrs').prop("disabled", false);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$('#checkBoxAll').change(function (event) {
|
||||||
|
if (this.checked) {
|
||||||
|
$('.oqrstable tbody tr').each(function (i) {
|
||||||
|
selectQsoID($(this).data('oqrsID'))
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$('.oqrstable tbody tr').each(function (i) {
|
||||||
|
unselectQsoID($(this).data('oqrsID'))
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#searchForm').submit();
|
||||||
|
|
||||||
|
$('#searchForm').on('reset', function(e) {
|
||||||
|
setTimeout(function() {
|
||||||
|
$('#searchForm').submit();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function selectQsoID(qsoID) {
|
||||||
|
var element = $("#oqrsID_" + qsoID);
|
||||||
|
element.find("input[type=checkbox]").prop("checked", true);
|
||||||
|
element.addClass('alert-success');
|
||||||
|
}
|
||||||
|
|
||||||
|
function unselectQsoID(qsoID) {
|
||||||
|
var element = $("#oqrsID_" + qsoID);
|
||||||
|
element.find("input[type=checkbox]").prop("checked", false);
|
||||||
|
element.removeClass('alert-success');
|
||||||
|
$('#checkBoxAll').prop("checked", false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
正在加载…
在新工单中引用