Commit dd311f2e authored by odlai's avatar odlai

no message

parent 03c730e6
......@@ -38,8 +38,9 @@ class DockerController extends Controller
$query = Path::all();
$main=Car::all();
$client = new \GuzzleHttp\Client();
$res = $client->get($this->docker_ip."/containers/json?all=1");
$res = $client->get($this->docker_ip."/images/json?all=1");
$response = json_decode($res->getBody()->__toString(), true);
dd($response);
return View('docker.admin_service',['result'=>$query,'iresult'=>$main,'contents'=>$response]);
}
......@@ -68,7 +69,8 @@ class DockerController extends Controller
'DESTINATION='.$dis_stream
),
'Labels'=>array(
'level'=>'admin'
'level'=>'admin',
'des_stream'=>$dis_stream
)
]
]);
......
......@@ -26,7 +26,19 @@ class CameraController extends Controller
$values=$response['results'][0]['series'][0]['values'][0][3];
$car = Lps::All()->Where('status','已進場');
$client = new \GuzzleHttp\Client();
$easy_darw="192.168.5.208:10008";
$res = $client->GET($easy_darw."/api/v1/players");
$response = json_decode($res->getBody()->__toString(), true);
$total_stream=$response['rows'];
$res = $client->GET("192.168.5.222:2375"."/containers/json?all=1");
$response = json_decode($res->getBody()->__toString(), true);
$docker_tag=$response;
// return $values[0];
return View('index',['page' => 'smart_parking.camera','result'=>$query,'iresult'=>$main,'navbar_li'=>'smart_parking.layout.navbar_li','title'=>'camera','body'=>'camera','columns'=>$columns,"values"=>$values,'Cars'=>100-count($car)]);
return View('smart_parking.camera',['result'=>$query,'iresult'=>$main,'docker_tag'=>$docker_tag,'total_stream'=>$total_stream,'body'=>'camera','columns'=>$columns,"values"=>$values,'Cars'=>100-count($car)]);
}
}
......@@ -248,7 +248,7 @@ thead {
margin-bottom: 20px;
}
.form-control {
padding: 19px 18px;
/* padding: 19px 18px; */
border-radius: 0;
height: 50px;
}
......@@ -301,7 +301,7 @@ thead {
color: #a0c0de;
}
.tm-bg-primary-dark {
background-color: #435c70;
background-color: #343a40;
}
.tm-bg-primary-black {
background-color: #090909;
......
This diff is collapsed.
......@@ -2,47 +2,33 @@
@section('content')
<div class="thumbnail">
<div class="row justify-content-center">
<form class="col-6" id="send" action="/attend" method="POST">
<form id="send" action="/attend" method="POST">
{{ csrf_field() }}
<!-- 姓名 開始結束時間input -->
<div class="form-group row">
<label for="text" class="col-sm-2 col-form-label">姓名</label>
<div class="col-sm-10">
<div class="input-group date" data-target-input="nearest">
<input type="text" class="form-control" id="people" name="people" value="">
<div class="input-group-append" class="dropdown-toggle" data-toggle="dropdown">
<div class="input-group-text" id="btnGetDetails"><i class="fa fa-user fa-lg"></i></div>
<ul id="target" class="dropdown-menu">
@foreach($content as $contents)
<li class="nav-item">
<a class="nav-link text-dark">{{$contents['name']}} </a>
</li>
@endforeach
</ul>
</div>
</div>
</div>
</div>
<div class="row" >
<div class="form-group row" >
<label for="text" class="col-sm-2 col-form-label">開始時間</label>
<div class="col-sm-10">
<div class="col-xs-6 col-md-2">
<span id="arg">開始時間:</span>
</div>
<div class="form-group" style="margin-left: 2%" >
<div class="input-group date" id="datetimepicker1" data-target-input="nearest">
<input id="start_time" name="start_time" type="text" class="form-control datetimepicker-input" data-target="#datetimepicker1" required="">
<input id='start_time' style="text-align: center" name="start_time" type="text" class="form-control datetimepicker-input" data-target="#datetimepicker1" required/>
<div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
</div>
</div>
</div>
</div>
<div class="row"><div class="col-md-6" style="margin-left: 2%">到</div></div>
<div class="row">
<div class="form-group row" >
<label for="text" class="col-sm-2 col-form-label">結束時間</label>
<div class="col-sm-10">
<div class="col-xs-6 col-md-2">
<span id="arg">結束時間:</span>
</div>
<div class="form-group" style="margin-left: 2%">
<div class="input-group date" id="datetimepicker2" data-target-input="nearest">
<input id="end_time" name="end_time" type="text" class="form-control datetimepicker-input" data-target="#datetimepicker2" required="">
<input id='end_time' style="text-align: center" name="end_time" type="text" class="form-control datetimepicker-input" data-target="#datetimepicker2" required/>
<div class="input-group-append" data-target="#datetimepicker2" data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
</div>
......@@ -50,42 +36,73 @@
</div>
</div>
<div style="text-align:center">
<input id='sub_btn' class="btn-lg btn-success btn" type="submit" value="送出"/>
<div class="row">
<div class="col-md-6"></div><input id='sub_btn' style="margin: 2% ; margin-left : 80%" class="btn-lg btn-success btn" type="submit" value="送出"/>
</div>
</form>
</div>
</div>
<input class="form-control" id="myInput" type="text" placeholder="Search..">
<table class="table table-dark table-striped " style="text-align:center">
<table class="table table-dark table-striped" style="text-align:center">
<tr>
<td>時間</td>
<td>日期</td>
<td>姓名</td>
<td>上班時間</td>
<td>下班時間 </td>
<td>外出時間</td>
<td>返回時間</td>
</tr>
<tbody id="myTable">
@foreach($content as $contents)
<tr >
<td>{{$contents['time']}}</td>
<td>{{$contents['name']}}</td>
<td>{{$contents['on_work']}}</td>
<td>{{$contents['off_work']}}</td>
<td>{{$contents['go_out']}}</td>
<td>{{$contents['come_back']}}</td>
</tr>
@foreach(array_keys($contents) as $day)
@foreach(array_keys($contents[$day]) as $name)
<tr>
<td>{{$day}}</td>
<td>{{$name}}</td>
@if(isset($contents[$day][$name]['dateon']))
<td>{{$contents[$day][$name]['dateon']}}</td>
@else
<td></td>
@endif
@if(isset($contents[$day][$name]['dateoff']))
<td>{{$contents[$day][$name]['dateoff']}}</td>
@else
<td></td>
@endif
@if(isset($contents[$day][$name]['goout']))
<td>{{$contents[$day][$name]['goout']}}</td>
@else
<td></td>
@endif
@if(isset($contents[$day][$name]['comeback']))
<td>{{$contents[$day][$name]['comeback']}}</td>
@else
<td></td>
@endif
@endforeach
@endforeach
</tbody>
</table>
<span id='buttom'></span>
</div>
</div>
</form>
</div>
</div>
<span id='buttom'></span>
<script>
var origin = [$content[$j]['date']];
var result = Array.from(new Set(origin));
console.log(result); // [1, 2, "a", 3, "b"]
</script>
<!-- 時間選擇器 -->
<!-- datetimepicker1 物件 -->
......@@ -125,27 +142,7 @@
});
</script>
<script>
$(document).ready(function()
{
$('ul.dropdown-menu li').click(function(e)
{
$("#people").val($.trim($(this).text()));
//trime => clear white spaces
});
});
$(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>
@endsection
\ No newline at end of file
......@@ -15,36 +15,41 @@
<div class="form-group row">
<label for="inputEmail3" class="col-sm-2 col-form-label">模組名稱</label>
<div class="col-sm-10">
<input name="module_name" pattern="^[a-zA-Z0-9]{3,}$" class="form-control" type="text" placeholder="請輸入英文或數字共3個字以上" class="input-large" required="">
<input name="module_name" pattern="^[a-zA-Z0-9]{3,}$" class="form-control" type="text" placeholder="請輸入英文或數字共3個字以上" required="">
</div>
</div>
<div class="form-group row">
<label for="inputEmail3" class="col-sm-2 col-form-label">來源串流</label>
<label class="col-sm-2 col-form-label">辨識模組</label>
<div class="col-sm-10">
<select class="form-control" id="exampleFormControlSelect1" name="origin_stream">
@foreach($total_stream as $stream)
<option>{{$stream['path']}}</option>
<select id="module" class="form-control" name="identify_module">
<option value="none" selected="">請選擇一個模組</option>
@foreach($docker_tag as $tag)
<option value="{{$tag['RepoTags'][0]}}">{{$tag['RepoTags'][0]}}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group row">
<label for="inputEmail3" class="col-sm-2 col-form-label">目的串流</label>
<div class="col-sm-10">
<input name="dis_stream" class="form-control" type="text" placeholder="請輸入英文或數字共3個字以上" class="input-large" value="rtsp://192.168.5.208:554/test" required="">
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="col-sm-2 col-form-label">辨識模組</label>
<div class="add"></div>
<!-- <div class="form-group row">
<label class="col-sm-2 col-form-label">來源串流</label>
<div class="col-sm-10">
<select class="form-control" id="exampleFormControlSelect1" name="identify_module">
@foreach($docker_tag as $tag)
<option>{{$tag['RepoTags'][0]}}</option>
<select class="form-control" name="origin_stream">
@foreach($total_stream as $stream)
<option>{{$stream['path']}}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">目的串流</label>
<div class="col-sm-10">
<input name="dis_stream" class="form-control" type="text" placeholder="請輸入英文或數字共3個字以上" class="input-large" value="rtsp://192.168.5.208:554/test" required="">
</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">
......@@ -53,9 +58,9 @@
<div class="invalid-feedback">Example invalid custom file feedback</div>
</div>
</div>
</div>
</div> -->
<div class="form-group row">
<!-- <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">
......@@ -64,7 +69,7 @@
<div class="invalid-feedback">Example invalid custom file feedback</div>
</div>
</div>
</div>
</div> -->
<div class="form-group row">
<label for="inputPassword3" class="col-sm-2 col-form-label">是否輸出</label>
......@@ -110,3 +115,84 @@
</div>
@stop
@section('script')
<script>
$("#module").change(function(){
switch ($(this).val()){
case 'docker-lpr:latest':
console.log($(this).val());
$( ".add" ).empty();
var str='';
str+=("<div class=\"form-group row\" id=\"stream\" >");
str+=("<label class=\"col-sm-2 col-form-label\" >"+"STREAM"+"</label>");
str+=("<div class=\"col-sm-10\" >");
str+=("<input name=\"STREAM\" class=\"form-control\" type=\"text\" placeholder=\"請輸入英文或數字共3個字以上\" value=\"rtsp://admin:Ecom84253675@120.108.24.89:554/onvif/profile2/media.smp\" required=\"\">");
str+=("</div>");
str+=("</div>");
str+=("<div class=\"form-group row\" id=\"channel\" >");
str+=("<label class=\"col-sm-2 col-form-label\" >"+"channel"+"</label>");
str+=("<div class=\"col-sm-10\" >");
str+=("<input name=\"channel\" class=\"form-control\" type=\"text\" value=\"mmout\" required=\"\">");
str+=("</div>");
str+=("</div>");
str+=("<div class=\"form-group row\" id=\"tsdbserver\" >");
str+=("<label class=\"col-sm-2 col-form-label\" >"+"TSDBSERVER"+"</label>");
str+=("<div class=\"col-sm-10\" >");
str+=("<input name=\"TSDBSERVER\" class=\"form-control\" type=\"text\" value=\"192.168.5.17\" required=\"\">");
str+=("</div>");
str+=("</div>");
str+=("<div class=\"form-group row\" id=\"tsdbport\" >");
str+=("<label class=\"col-sm-2 col-form-label\" >"+"TSDBPORT"+"</label>");
str+=("<div class=\"col-sm-10\" >");
str+=("<input name=\"TSDBPORT\" class=\"form-control\" type=\"text\" value=\"8086\" required=\"\">");
str+=("</div>");
str+=("</div>");
$( ".add" ).append(str);
break;
case 'ffmpeg-transfer:latest':
$( ".add" ).empty();
var str='';
var total_stream=<?php echo json_encode($total_stream); ?>;
str+=("<div class=\"form-group row\" id=\"origin\">");
str+=("<label class=\"col-sm-2 col-form-label\" >"+"來源串流"+"</label>");
str+=("<div class=\"col-sm-10\">");
str+=("<select class=\"form-control\" name=\"origin_stream\">");
for(var i=0; i<total_stream.length; i++){
str+=("<option>"+total_stream[i]['path']+"</option>");
}
str+=("</select>");
str+=("</div>");
str+=("</div>");
str+=("<div class=\"form-group row\" id=\"dis\" >");
str+=("<label class=\"col-sm-2 col-form-label\" >"+"目的串流"+"</label>");
str+=("<div class=\"col-sm-10\" >");
str+=("<input name=\"dis_stream\" class=\"form-control\" type=\"text\" placeholder=\"請輸入英文或數字共3個字以上\" value=\"rtsp://192.168.5.208:554/test\" required=\"\">");
str+=("</div>");
str+=("</div>");
$( ".add" ).append(str);
break;
default:
$( ".add" ).empty();
// $( "#channel" ).remove();
// $( "#tsdbserver" ).remove();
// $( "#tsdbport" ).remove();
// $( "#origin" ).remove();
// $( "#dis" ).remove();
}
});
</script>
@stop
\ No newline at end of file
......@@ -8,7 +8,15 @@
@section('content')
<H1>Los Angeles</H1>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div id="demo" class="carousel slide" data-ride="carousel">
<ul class="carousel-indicators">
<li data-target="#demo" data-slide-to="0" class="active"></li>
......
......@@ -26,32 +26,15 @@
<div class="tm-bg-primary-dark tm-block tm-block-products">
<div class="row">
<div class="col-sm-8">
<form name='form' id='form' class="form-inline">
<input style="width: 280px" type='text' name='name' id='src' class="form-control mr-sm-2" placeholder="切換網址"/>
<input class="btn btn-outline-warning my-2 my-sm-0" type='button' name='submit' value='切換' onclick='processFormData();' />
</form>
</div>
<div class="col-sm">
<span id="RtmpName" class="btn btn-info" style="width: auto;text-align: center;font-weight:bold;">Rtmp-Play0</span>
</div>
</div>
<br>
<div class="row">
<div class="col-sm-4">
<button class="btn btn-primary btn-block text-uppercase rounded" onclick="inter_stream()">
入口
</button>
</div>
<div class="col-sm-4">
<button class="btn btn-primary btn-block text-uppercase rounded" onclick="outer_stream()">
出口
</button>
</div>
<div class="col-sm-4">
<button class="btn btn-primary btn-block text-uppercase rounded" onclick="startdemo()">
demo
</button>
<select id="stream_option" class="form-control" name="identify_module">
@foreach($docker_tag as $content)
@if(isset($content['Labels']['des_stream']))
<option>{{$content['Labels']['des_stream']}}</option>
@endif
@endforeach
</select>
</div>
</div>
<br>
......@@ -127,14 +110,16 @@
var getplate = function(){
if (stream === "inter"){
$.ajax({
url: 'http://192.168.5.17:8086/query?q=select+last(plate)%2C*+from+%22in%22&db=NCUT_MM&pretty=true',
// url: 'http://192.168.5.17:8086/query?q=select+last(plate)%2C*+from+%22in%22&db=NCUT_MM&pretty=true',
url: 'http://192.168.5.17:8086/query?q=select++last(plate)+from+mmin&db=LPR&pretty=true',
success:function (data) {
var time=data.results[0].series[0].values[0][0].split(".")[0];
var img=data.results[0].series[0].values[0][1];
var lp=data.results[0].series[0].values[0][3];
var lp=data.results[0].series[0].values[0][1];
let UTCTimeObj = new Date(time=time+'z');
document.getElementById("time").innerHTML = UTCTimeObj.toLocaleString();
document.getElementById('img').src='http://192.168.5.103:8001/result?filename='+img;
console.log(lp);
document.getElementById("lp").innerHTML = lp;
},
complete: function () {
......@@ -144,11 +129,12 @@
});
}else if (stream === "outer"){
$.ajax({
url: 'http://192.168.5.17:8086/query?q=select+last(plate)%2C*+from+%22out%22&db=NCUT_MM&pretty=true',
// url: 'http://192.168.5.17:8086/query?q=select+last(plate)%2C*+from+%22out%22&db=NCUT_MM&pretty=true',
url: 'http://192.168.5.17:8086/query?q=select++last(plate)+from+mmout&db=LPR&pretty=true',
success:function (data) {
var time=data.results[0].series[0].values[0][0].split(".")[0];
var img=data.results[0].series[0].values[0][1];
var lp=data.results[0].series[0].values[0][3];
var lp=data.results[0].series[0].values[0][1];
let UTCTimeObj = new Date(time=time+'z');
document.getElementById("time").innerHTML = UTCTimeObj.toLocaleString();
document.getElementById('img').src =' http://192.168.5.103:8001/result?filename='+img;
......@@ -198,8 +184,8 @@
stream="inter";
}
function outer_stream() {
document.getElementById("AreaBox").innerHTML='出口';
document.getElementById("RtmpName").innerHTML='Rtmp-Play1';
// document.getElementById("AreaBox").innerHTML='出口';
// document.getElementById("RtmpName").innerHTML='Rtmp-Play1';
let player=videojs("my-video");
player.src("http://192.168.5.17/live/out.flv");
player.play();
......@@ -224,5 +210,10 @@
player.play();
stream="outer";
}
$("#stream_option").change(function(){
outer_stream();
});
</script>
@stop
\ No newline at end of file
<html>
<head>
<script src="https://aframe.io/releases/0.9.2/aframe.min.js"></script>
</head>
<body>
<a-scene>
<a-cylinder color="red" position="0 2 -5" rotation="30 45 45" scale="1 1 1">
</a-cylinder>
<a-sky src="./image/3.jpg"></a-sky>
</a-scene>
</body>
</html>
\ No newline at end of file
......@@ -28,7 +28,7 @@ Route::get('line','PageController@line');
// Route::get('HRM','PageController@HRM');
//reg login logout controller
Route::group(['prefix'=>'process'],function (){
Route::group([],function (){
Route::post('reg','ProcessController@reg')->name('reg'); ;
Route::post('login','ProcessController@login')->name('login');
Route::get('logout','ProcessController@logout')->name('logout');
......@@ -104,7 +104,7 @@ Route::group(['prefix'=>'people'],function (){
});
Route::group([],function (){
Route::group(['middleware'=>'auth'],function (){
Route::get('new','PageController@new')->name('new');
Route::post('/service_create','DockerController@container_create')->name('container_create');
......@@ -115,3 +115,7 @@ Route::group([],function (){
Route::post('api','DockerController@ctrl_docker_service')->name('api');
});
Route::get('tt',function(){
return view('tt');
});
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