Commit 9450c470 authored by odlai's avatar odlai

init

parent 82a2c17e
<?php
namespace App\Http\Controllers;
use App\Path;
use App\Car;
use GuzzleHttp\Client;
use Illuminate\Support\Arr;
use Illuminate\Http\Request;
class DockerController extends Controller
{
//
public function init()
{
$query = Path::all();
$main=Car::all();
$client = new \GuzzleHttp\Client();
$res = $client->get('http://192.168.5.194:2375/containers/json');
$response = json_decode($res->getBody()->__toString(), true);
$container_count=count($response);
$result_content=array();
for($i=0;$i<$container_count;$i++){
// $array = Arr::add('Id',$response[$i]['Id']);
array_push($result_content,['Names'=>$response[$i]['Names'],'Id'=>substr($response[$i]['Id'],0,12),'State'=>$response[$i]['State'],'Status'=>$response[$i]['Status']]);
}
// dd($result_content);
return View('index',['page' => 'service','result'=>$query,'iresult'=>$main,'contents'=>$result_content,'navbar_li'=>'layouts.navbar_li','title'=>'tt']);
}
public function test(Request $request){
$status=$request->input('btn');
$container_id=$request->input('id');
$client = new \GuzzleHttp\Client();
$res = $client->POST('http://192.168.5.194:2375/containers/'.$container_id.'/'.$status);
// $res = $client->get('http://192.168.5.194:2375/containers/json');
// $RRR=$res->getBody();
// $contents = (string) $res->getBody();
// $meta = stream_get_meta_data($RRR);
return redirect()->back();
// $response = json_decode($res->getBody()->__toString(), true);
// echo ($response[0]['Status']);
// $results = json_decode((string)$res->getBody()->getContents(),true);
// // echo $results;
// // dd($res);
// foreach($results as $R){
// echo $R;
}
}
......@@ -42,4 +42,18 @@ class PageController extends Controller
$main=Car::all();
return View('index',['page' => 'HRM.HRM','result'=>$query,'iresult'=>$main,'navbar_li'=>'layouts.navbar_li','title'=>'tt']);
}
public function new()
{
$query = Path::all();
$main=Car::all();
return View('index',['page' => 'new','result'=>$query,'iresult'=>$main,'navbar_li'=>'layouts.navbar_li','title'=>'tt']);
}
public function service()
{
$query = Path::all();
$main=Car::all();
return View('index',['page' => 'service','result'=>$query,'iresult'=>$main,'navbar_li'=>'layouts.navbar_li','title'=>'tt']);
}
}
\ No newline at end of file
......@@ -562,8 +562,8 @@ pre code {
.container {
width: 100%;
padding-right: 15px;
padding-left: 15px;
/* padding-right: 15px; */
/* padding-left: 15px; */
margin-top: 20px;
margin-right: auto;
margin-left: auto;
......@@ -589,7 +589,7 @@ pre code {
@media (min-width: 1200px) {
.container {
max-width: 1140px;
max-width: 1200px;
}
}
......
......@@ -128,7 +128,7 @@
height: 50%;
width: 0;
position: fixed;
z-index: 1;
z-index: 2;
top: 56px;
right: 10px;
background-color: rgba(63, 63, 63, 0.8);
......
......@@ -4,7 +4,7 @@ $(document).ready(function(){
$("#user-bar").hide();
document.getElementById("right").style.width ="100%";
document.getElementById("mySidenav").style.width = "240px";
document.getElementById("user-bar").style.width = "220px";
document.getElementById("user-bar").style.width = "205px";
});
//init all css and js
......
......@@ -3,6 +3,8 @@
<title>{{$title}}</title>
<meta http-equiv="content-Type" content="text/html;charset=UTF8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="_token" content="{{ csrf_token() }}"/>
@section('header')
@show
<link rel="stylesheet" href="{{asset('css/bootstrap.css')}}">
......@@ -21,13 +23,13 @@
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<script type="text/javascript" src="{{asset('js/jquery.min.js')}}"></script>
<script type="text/javascript" src="{{asset('js/slider.js')}}"></script>
<!-- <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/js/tempusdominus-bootstrap-4.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/css/tempusdominus-bootstrap-4.min.css" />
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<script src="{{asset('js/accordion.js')}}"></script>
@section('header1')
@show
<link rel="stylesheet" href="{{asset('css/test.css')}}">
@section('style')
@show
......@@ -61,6 +63,9 @@
</div>
@include('layouts.footer')
<script src="{{asset('js/play-video.js') }}"></script>
@section('script')
@show
</body>
</html>
......
<div class="thumbnail">
<h1>後台管理</h1>
<div class="row justify-content-center">
<form class="col-8">
<div class="form-group row">
<label for="inputEmail3" class="col-sm-2 col-form-label">來源串流</label>
<div class="col-sm-10">
<div class="custom-file">
<input type="file" class="custom-file-input" id="validatedCustomFile" required>
<label class="custom-file-label" for="validatedCustomFile">Choose file...</label>
<div class="invalid-feedback">Example invalid custom file feedback</div>
</div>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="col-sm-2 col-form-label">辨識模組</label>
<div class="col-sm-10">
<select class="form-control" id="exampleFormControlSelect1">
<option>車牌辨識</option>
<option>人臉辨識</option>
<option>行為分析</option>
<option>禁區控管</option>
</select>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="col-sm-2 col-form-label">辨識範圍</label>
<div class="col-sm-10">
<div class="custom-file">
<input type="file" class="custom-file-input" id="validatedCustomFile" required>
<label class="custom-file-label" for="validatedCustomFile">Choose file...</label>
<div class="invalid-feedback">Example invalid custom file feedback</div>
</div>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="col-sm-2 col-form-label">是否輸出</label>
<div class="col-sm-10">
<div class="form-check form-check-inline">
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" class="custom-control-input" id="customRadio3" name="example">
<label class="custom-control-label" for="customRadio3"></label>
</div>
<div class="form-check form-check-inline">
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" class="custom-control-input" id="customRadio4" name="example">
<label class="custom-control-label" for="customRadio4"></label>
</div>
</div>
</div>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="col-sm-2 col-form-label">辨識模組</label>
<div class="col-sm-10">
<div class="custom-file">
<input type="file" class="custom-file-input" id="validatedCustomFile" required>
<label class="custom-file-label" for="validatedCustomFile">Choose file...</label>
<div class="invalid-feedback">Example invalid custom file feedback</div>
</div>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="col-sm-2 col-form-label">是否重啟</label>
<div class="col-sm-10">
<div class="form-check form-check-inline">
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" class="custom-control-input" id="customRadio" name="example1" value="customEx">
<label class="custom-control-label" for="customRadio"></label>
</div>
<div class="form-check form-check-inline">
<div class="custom-control custom-radio custom-control-inline">
<input type="radio" class="custom-control-input" id="customRadio1" name="example1" value="customEx">
<label class="custom-control-label" for="customRadio1"></label>
</div>
</div>
</div>
</div>
</div>
<div style="text-align:center">
<button type="submit" class="btn btn-primary">新增</button>
<button type="submit" class="btn btn-primary">取消</button>
</div>
</form>
</div>
</div>
\ No newline at end of file
......@@ -10,35 +10,35 @@
</ul>
<div class="carousel-inner">
<div class="carousel-item active">
<a href="/"><img src="https://image.winudf.com/v2/image/Y29tLmhkd2Nhci50aWFua29uZ2JpemhpX3NjcmVlbl8xMV8xNTI2MDE5MDY1XzAxNg/screen-11.jpg?fakeurl=1&type=.jpg" alt="Los Angeles" width="1100" height="500"></a>
<a href="/"><img src="https://image.winudf.com/v2/image/Y29tLmhkd2Nhci50aWFua29uZ2JpemhpX3NjcmVlbl8xMV8xNTI2MDE5MDY1XzAxNg/screen-11.jpg?fakeurl=1&type=.jpg" alt="Los Angeles" width="1200" height="500"></a>
<div class="carousel-caption">
<h3>Los Angeles</h3>
<p>We had such a great time in LA!</p>
</div>
</div>
<div class="carousel-item">
<img src="./image/1.jpg" alt="Chicago" width="1100" height="500" >
<img src="./image/1.jpg" alt="Chicago" width="1200" height="500" >
<div class="carousel-caption">
<h3>Chicago</h3>
<p>Thank you, Chicago!</p>
</div>
</div>
<div class="carousel-item">
<img src="./image/2.jpg" alt="New York" width="1110" height="500">
<img src="./image/2.jpg" alt="New York" width="1200" height="500">
<div class="carousel-caption">
<h3>New York</h3>
<p>We love the Big Apple!</p>
</div>
</div>
<div class="carousel-item">
<img src="https://image.winudf.com/v2/image/Y29tLmhkd2Nhci50aWFua29uZ2JpemhpX3NjcmVlbl8xMV8xNTI2MDE5MDY1XzAxNg/screen-11.jpg?fakeurl=1&type=.jpg" alt="" width="1110" height="500">
<img src="https://image.winudf.com/v2/image/Y29tLmhkd2Nhci50aWFua29uZ2JpemhpX3NjcmVlbl8xMV8xNTI2MDE5MDY1XzAxNg/screen-11.jpg?fakeurl=1&type=.jpg" alt="" width="1200" height="500">
<div class="carousel-caption">
<h3>New York</h3>
<p>We love the Big Apple!</p>
</div>
</div>
<div class="carousel-item">
<img src="https://wallpaperplay.com/walls/full/b/3/4/13007.jpg" alt="New York" width="1110" height="500">
<img src="./image/2.jpg" alt="New York" width="1200" height="500">
<div class="carousel-caption">
<h3>New York</h3>
<p>We love the Big Apple!</p>
......
<h2>Filterable Table</h2>
<p>Type something in the input field to search the table for first names, last names or emails:</p>
<input class="form-control" id="myInput" type="text" placeholder="Search..">
<br>
<!-- <form method="post" action="{{route('api')}}"> -->
<table class="table table-bordered" style="color:#fff">
<thead>
<tr>
<th>位置</th>
<th>來源串流</th>
<th>辨識模組</th>
<th>目的串流</th>
<th>辨識範圍</th>
<th>狀態</th>
<th>備註</th>
</tr>
</thead>
<tbody id="myTable">
@foreach($contents as $content)
<tr>
<form method="post" action="{{route('api')}}">
<input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
<td>{{$content['Id']}}</td>
<td>{{$content['State']}}</td>
<td>{{$content['Status']}}</td>
<td>{{$content['Status']}}</td>
<td>{{$content['Status']}}</td>
<td>{{$content['Status']}}</td>
<td>
<input type = "hidden" name = "id" value = "{{$content['Id']}}">
<button type="submit" class="btn btn-Success" name="btn" value="start">啟動</button>
<button type="submit" class="btn btn-Danger" name="btn" value="stop">停止</button>
<button type="submit" class="btn btn-Primary" name="btn" value="restart">重啟</button>
</td>
</form>
</tr>
@endforeach
<tr>
<td>Mary</td>
<td>Moe</td>
<td>mary@mail.com</td>
<td>Mary</td>
<td>Moe</td>
<td>啟動</td>
<td>
<form method="post" action="{{route('api')}}">
<input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
<input type = "hidden" name = "id" value = "57444bfeb22b">
<button type="submit" class="btn btn-Success" name="btn" value="start">啟動</button>
<button type="submit" class="btn btn-Danger" name="btn" value="stop">停止</button>
<button type="submit" class="btn btn-Primary" name="btn" value="restart">重啟</button>
</form>
</td>
</tr>
</tbody>
</table>
<!-- </form> -->
<p>Note that we start the search in tbody, to prevent filtering the table headers.</p>
<script>
$(document).ready(function(){
$("#myInput").on("keyup", function() {
var value = $(this).val().toLowerCase();
$("#myTable tr").filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
});
});
</script>
\ No newline at end of file
@extends('layouts.template')
@section('header')
@section('header1')
<link href="https://cdnjs.cloudflare.com/ajax/libs/video.js/6.6.2/video-js.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/video.js/6.6.2/video.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/video.js/6.6.2/ie8/videojs-ie8.min.js"></script>
<!-- videojs-flash -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/videojs-flash/2.1.0/videojs-flash.min.js"></script>
<script>
videojs.options.flash.swf = "https://cdnjs.cloudflare.com/ajax/libs/video.js/6.6.2/video-js.swf"
</script>
<link rel="stylesheet" href="{{asset('css/templatemo-style.css')}}">
@stop
@section('content')
......@@ -64,7 +72,7 @@
<div class="card-header text-center font-weight-bold">
辨識結果
</div>
<div class="card-body">
<div style="color:#000" class="card-body">
<p class = 'font-weight-bold'>車牌影像:</p>
<td>
<img style="width: 70%" id="img" src="">
......@@ -118,7 +126,7 @@
var lp=data.results[0].series[0].values[0][3];
let UTCTimeObj = new Date(time=time+'z');
document.getElementById("time").innerHTML = UTCTimeObj.toLocaleString();
document.getElementById('img').src='http://192.168.5.53:8001/result?filename='+img;
document.getElementById('img').src='http://192.168.5.103:8001/result?filename='+img;
document.getElementById("lp").innerHTML = lp;
},
complete: function () {
......@@ -135,7 +143,7 @@
var lp=data.results[0].series[0].values[0][3];
let UTCTimeObj = new Date(time=time+'z');
document.getElementById("time").innerHTML = UTCTimeObj.toLocaleString();
document.getElementById('img').src =' http://192.168.5.53:8001/result?filename='+img;
document.getElementById('img').src =' http://192.168.5.103:8001/result?filename='+img;
document.getElementById("lp").innerHTML = lp;
},
complete: function () {
......@@ -160,7 +168,7 @@
};
var startdemo=function(){
$.ajax({
url:'http://192.168.5.53:8001/demo',
url:'http://192.168.5.103:8001/demo',
success:function(){
},
complete: function () {
......
@extends('video_replay.layout.default')
@extends('layouts.template')
@section('header')
<script type="text/javascript" src="{{asset('bower_components/moment/moment.js')}}"></script>
<script type="text/javascript" src="{{asset('bower_components/moment/locale/zh-tw.js')}}"></script>
<link rel="stylesheet" href="{{asset('css/video_replay.css')}}">
@stop
@section('content')
@include('video_replay.layout.menubtn')
<div class="collapse" id="collapseExample" style="margin: 5%">
......
......@@ -30,7 +30,7 @@
<form id="send" action="http://60.249.6.104:10300/realtime/play" method="POST" onsubmit="return false">
{{ csrf_field() }}
<div class="row">
<div style="color:#000" class="row">
<div class="col-md-6">
<div class="bg-light border border-primary">
<div style="text-align: center" class="bg-primary"><h3>選擇多台攝影機</h3></div>
......
......@@ -109,6 +109,7 @@
for (var k in data){
str+="<option>"+data[k]['camera_id']+"</option>";
}
str+="<option>--全選--</option>";
document.getElementById("cam_ids").innerHTML = str;
},
error: function (data) {
......
......@@ -26,7 +26,7 @@
@endforeach
</ul>
</div>
<div class="dropdown col-xs-6 col-md-3"style='margin:1%;display:inline;'>
<div style="color:#000" class="dropdown col-xs-6 col-md-3"style='margin:1%;display:inline;'>
<button class="btn-lg btn btn-outline-warning dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span style="color:navajowhite" id="seleted">選擇攝影機</span>
<span class="caret"></span>
......@@ -43,7 +43,7 @@
</div>
</div>
<div class="row" style="margin: 5%">
<div style="color:#000" class="row" style="margin: 5%">
<div class="col-md-6">
<form id="multiSelet" name="multiSelet" onsubmit="return false">
<div class="bg-light border border-primary">
......
......@@ -16,6 +16,7 @@ Route::get('/','PageController@page')->name('/');
Route::get('page','PageController@page');
Route::get('car_sys','PageController@car_sys');
Route::get('video_replay','PageController@video_replay');
Route::get('new','PageController@new');
Route::get('smart_parking','Parking\IndexController@index');
// Route::get('HRM','PageController@HRM');
Route::post('reg','ProcessController@reg')->name('reg'); ;
......@@ -81,4 +82,7 @@ Route::group(['prefix'=>'HRM'],function (){
Route::get('/','PageController@HRM');
Route::get('human_management','PageController@HRM');
Route::get('HRM','PageController@HRM');
});
\ No newline at end of file
});
Route::get('service','DockerController@init');
Route::post('api','DockerController@test')->name('api');
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment