-Add delete reports
This commit is contained in:
miroman-afk
2022-02-01 02:47:25 +03:00
parent 5497b611ef
commit 5b1c774259
8 changed files with 106 additions and 25 deletions

35
commands/GETReports.php Normal file
View File

@@ -0,0 +1,35 @@
<?php
namespace App\Commands;
use App\Component\Models\Report;
use App\Console\Commands\HRCCommand;
use App\Console\Commands\HRCCommandInterface;
class GETReports extends HRCCommand implements HRCCommandInterface {
protected $signature = 'getreports';
public function command($input, $output = null) {
$reports = Report::all();
if ($reports) {
foreach ($reports as $key => $report) {
$data[] = array(
'id' => $report['id'],
'name' => $report['name'],
'type' => $report['report_type'],
'start_date' => date('d.m.Y', strtotime($report['start_date'])),
'end_date' => date('d.m.Y', strtotime($report['end_date'])),
);
}
return [
'status' => 'success',
'reports' => $data,
];
} else {
return [
'status' => 'success',
'reports' => [],
];
}
}
}

View File

@@ -15,7 +15,6 @@ class GETSettings extends HRCCommand implements HRCCommandInterface {
if ($setting) {
return [
'status' => 'success',
'name' => $setting['name'],
'code' => $setting['code'],
'value' => $setting['value'],
];

View File

@@ -7,6 +7,7 @@ use App\Component\Models\ExchangeDeleted;
use App\Component\Models\ExchangeItems;
use App\Component\Models\ExchangeOrders;
use App\Component\Models\ExchangeShifts;
use App\Component\Models\Report;
use App\Console\Commands\HRCCommand;
use App\Console\Commands\HRCCommandInterface;
@@ -26,28 +27,16 @@ class POSTDeleteData extends HRCCommand implements HRCCommandInterface {
$exchange_shift->delete();
}
if ($exchange_orders) {
foreach ($exchange_orders as $key => $exchange_order) {
$order = ExchangeOrders::find($exchange_order['id']);
$order->delete();
}
$exchange_orders = ExchangeOrders::where('shift_id', '=', $input['shift_id'])->delete();
}
if ($exchange_items) {
foreach ($exchange_items as $key => $exchange_item) {
$item = ExchangeItems::find($exchange_item['id']);
$item->delete();
}
$exchange_items = ExchangeItems::where('shift_id', '=', $input['shift_id'])->delete();
}
if ($exchange_actions) {
foreach ($exchange_actions as $key => $exchange_action) {
$action = ExchangeActions::find($exchange_action['id']);
$action->delete();
}
$exchange_actions = ExchangeActions::where('shift_id', '=', $input['shift_id'])->delete();
}
if ($exchange_deleted) {
foreach ($exchange_deleted as $key => $exchange_delete) {
$delete = ExchangeDeleted::find($exchange_delete['id']);
$delete->delete();
}
$exchange_deleted = ExchangeDeleted::where('shift_id', '=', $input['shift_id'])->delete();
}
function dirDel($dir) {
$d = opendir($dir);
@@ -76,6 +65,27 @@ class POSTDeleteData extends HRCCommand implements HRCCommandInterface {
'message' => 'Check input data',
];
}
} elseif ($input['value'] == 'delete_report') {
if ($input['report_id']) {
$report = Report::where('id', $input['report_id'])->first();
if ($report) {
$report = Report::where('id', $input['report_id'])->delete();
return [
'status' => 'success',
'message' => 'Данные удалены',
];
} else {
return [
'status' => 'error',
'message' => 'Report not found',
];
}
} else {
return [
'status' => 'error',
'message' => 'Check input data',
];
}
} else {
return [
'status' => 'error',

View File

@@ -1,6 +1,6 @@
{
"name": "hrc-admin/hello-world",
"version": "2.12",
"version": "2.13",
"require": {
"horeca/admin-php-module-core": "dev-master"
},

View File

@@ -1,5 +1,5 @@
[info]
name=V1
version=2.12
version=2.13
[build]
version=2.12
version=2.13

View File

@@ -4,8 +4,8 @@
.module('app')
.controller('ReportsCtrl', ReportsCtrl);
ReportsCtrl.$inject = ['$scope', 'smartRequest'];
function ReportsCtrl($scope, smartRequest) {
ReportsCtrl.$inject = ['$scope', 'smartRequest', 'Notification'];
function ReportsCtrl($scope, smartRequest, Notification) {
var date = new Date();
var formatted = ('0' + date.getDate()).slice(-2) + '.' + ('0' + (date.getMonth() + 1)).slice(-2) + '.' + date.getFullYear();
@@ -25,9 +25,33 @@
$scope.printers = [];
$scope.update = function() {
smartRequest.get('report/history', function(data) {
smartRequest.get('v1/reports', function(data) {
$scope.history = data.reports;
});
smartRequest.get('v1/settings?code=11', function (data) {
$scope.delete_shift_value = data.value;
});
};
$scope.deleteReport = function (report) {
Notification.primary('Дождитесь удаления! Страница обновится автоматически.');
smartRequest.post('v1/deletedata', {
value: 'delete_report',
report_id: report.id
}, function (data) {
$scope.status = data.status;
$scope.message = data.message;
if (data.status == 'success') {
Notification.success(data.message);
setTimeout(function() {
//location.reload();
$scope.update();
}, 1000);
}
if ($scope.status == 'error') {
Notification.error(data.message);
}
});
};
$scope.reportDelete = function() {

View File

@@ -65,7 +65,9 @@
if (data.status == 'success') {
Notification.success(data.message);
setTimeout(function() {
location.reload();
//location.reload();
$scope.update();
$('#preload-modal').modal('hide');
}, 1000);
}
if ($scope.status == 'error') {

View File

@@ -102,11 +102,22 @@
<td>{{ report.name }}</td>
<td>{{ report.start_date }}</td>
<td>{{ report.end_date }}</td>
<td>
<td ng-if="delete_shift_value == 0">
<button class="btn btn-sm white" ng-click="archiveReport(report.type, report.start_date, report.end_date)">
<i class="material-icons">&#xE85C;</i>
</button>
</td>
<td ng-if="delete_shift_value > 0">
<div class="dropdown inline" style="margin-top: -5px; position: absolute;">
<button class="btn white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="padding: 0.2rem 0.4rem">
<i class="material-icons">&#xE5D2;</i>
</button>
<div class="dropdown-menu pull-right dropdown-menu-scale">
<a class="dropdown-item" ng-click="archiveReport(report.type, report.start_date, report.end_date)">Просмотр</a>
<a class="dropdown-item" ng-click="deleteReport(report)">Удалить отчет</a>
</div>
</div>
</td>
</tr>
</tbody>
</table>