Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
laravel_IS
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
odlai
laravel_IS
Commits
dd311f2e
Commit
dd311f2e
authored
Nov 20, 2019
by
odlai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
03c730e6
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
464 additions
and
260 deletions
+464
-260
AttendanceController.php
app/Http/Controllers/AttendanceController.php
+195
-103
DockerController.php
app/Http/Controllers/DockerController.php
+4
-2
CameraController.php
app/Http/Controllers/Parking/CameraController.php
+13
-1
templatemo-style.css
public/css/templatemo-style.css
+2
-2
3.jpg
public/image/3.jpg
+0
-0
attendance.blade.php
resources/views/attendance.blade.php
+85
-88
new.blade.php
resources/views/docker/new.blade.php
+105
-19
service.blade.php
resources/views/docker/service.blade.php
+10
-10
page.blade.php
resources/views/page.blade.php
+9
-1
camera.blade.php
resources/views/smart_parking/camera.blade.php
+23
-32
tt.blade.php
resources/views/tt.blade.php
+12
-0
web.php
routes/web.php
+6
-2
No files found.
app/Http/Controllers/AttendanceController.php
View file @
dd311f2e
...
...
@@ -8,133 +8,225 @@ use Illuminate\Http\Request;
class
AttendanceController
extends
Controller
{
private
$docker_ip
=
"http://192.168.5.
150
:8086"
;
private
$docker_ip
=
"http://192.168.5.
222
:8086"
;
public
function
atten
(
Request
$request
)
{
//一開始顯示所有資料
$query
=
Path
::
all
();
$main
=
Car
::
all
();
$client
=
new
\GuzzleHttp\Client
();
$res
=
$client
->
get
(
$this
->
docker_ip
.
"/query?db=test&q=select%20*%20from%20people2"
);
$response
=
json_decode
(
$res
->
getBody
()
->
__toString
(),
true
);
//$client_influxDB = new InfluxDB\Client($host, $port);
//$database = $client_influxDB->selectDB('people');
// dd($response_test);
$res_emp
=
$client
->
get
(
$this
->
docker_ip
.
"/query?db=people&q=select%20*%20from%20employee"
);
$res_on_work
=
$client
->
get
(
$this
->
docker_ip
.
"/query?db=people&q=select%20*%20from%20on_work"
);
$res_off_work
=
$client
->
get
(
$this
->
docker_ip
.
"/query?db=people&q=select%20*%20from%20off_work"
);
$res_go_out
=
$client
->
get
(
$this
->
docker_ip
.
"/query?db=people&q=select%20*%20from%20go_out"
);
$res_come_back
=
$client
->
get
(
$this
->
docker_ip
.
"/query?db=people&q=select%20*%20from%20come_back"
);
$response_emp
=
json_decode
(
$res_emp
->
getBody
()
->
__toString
(),
true
);
$response_on
=
json_decode
(
$res_on_work
->
getBody
()
->
__toString
(),
true
);
$response_off
=
json_decode
(
$res_off_work
->
getBody
()
->
__toString
(),
true
);
$response_go
=
json_decode
(
$res_go_out
->
getBody
()
->
__toString
(),
true
);
$response_back
=
json_decode
(
$res_come_back
->
getBody
()
->
__toString
(),
true
);
dd
(
$response_off
);
// dd($response_back);
$maxcount
=
max
(
count
(
$response_emp
[
'results'
][
0
][
'series'
][
0
][
'values'
]),
count
(
$response_on
[
'results'
][
0
][
'series'
][
0
][
'values'
]),
count
(
$response_off
[
'results'
][
0
][
'series'
][
0
][
'values'
]),
count
(
$response_go
[
'results'
][
0
][
'series'
][
0
][
'values'
]),
count
(
$response_back
[
'results'
][
0
][
'series'
][
0
][
'values'
]));
// for($z=0;$z<$maxcount;$z++){
$emp_count
=
count
(
$response_emp
[
'results'
][
0
][
'series'
][
0
][
'values'
]);
$result_content
=
array
();
for
(
$j
=
0
;
$j
<
$emp_count
;
$j
++
){
$id
=
$response_emp
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$j
][
1
];
$people_count
=
count
(
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
]);
$result_content
=
array
();
// dd($response[0]['Ports']);
$name0
=
$response_emp
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$j
][
3
];
for
(
$i
=
0
;
$i
<
$people_count
;
$i
++
){
$dbname
=
$response
[
'results'
][
0
][
'series'
][
0
][
'name'
];
$time
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
6
];
$time
=
date
(
'Y-m-d H:i:s'
,
$time
);
$come_back
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
1
];
$go_out
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
2
];
$name
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
3
];
$off_work
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
4
];
$on_work
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
5
];
// array_push($result_content,['id'=>$id,'name'=>$name0]);
// $array = Arr::add('Id',$response[$i]['Id']);
array_push
(
$result_content
,[
'Names'
=>
$dbname
,
'time'
=>
$time
,
'come_back'
=>
$come_back
,
'go_out'
=>
$go_out
,
'name'
=>
$name
,
'off_work'
=>
$off_work
,
'on_work'
=>
$on_work
]);
$result_content
[
$id
]
=
$name0
;
}
// dd($result_content);
$on_count
=
count
(
$response_on
[
'results'
][
0
][
'series'
][
0
][
'values'
]);
return
View
(
'index'
,[
'page'
=>
'attendance'
,
'result'
=>
$query
,
'iresult'
=>
$main
,
'content'
=>
$result_content
,
'navbar_li'
=>
'layouts.navbar_li'
,
'title'
=>
'tt'
]);
}
public
function
attend
(
Request
$request
)
{
//時間戳記轉換及接收姓名欄位
$start
=
$request
->
input
(
'start_time'
);
$end
=
$request
->
input
(
'end_time'
);
$people
=
$request
->
input
(
'people'
);
$start
=
strtotime
(
$start
);
$end
=
strtotime
(
$end
.
"now"
);
//搜尋姓名及開始結束時間,有資料
$query
=
Path
::
all
();
$main
=
Car
::
all
();
$client
=
new
\GuzzleHttp\Client
();
$res
=
$client
->
get
(
$this
->
docker_ip
.
"/query?db=test&q=select%20*%20from%20people2%20WHERE
\"
name
\"
='
$people
' AND timestamp>=
$start
AND timestamp<=
$end
"
);
$response
=
json_decode
(
$res
->
getBody
()
->
__toString
(),
true
);
if
(
count
(
$response
[
'results'
][
0
])
>
1
){
$people_count
=
count
(
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
]);
$result_content
=
array
();
for
(
$i
=
0
;
$i
<
$people_count
;
$i
++
){
$dbname
=
$response
[
'results'
][
0
][
'series'
][
0
][
'name'
];
$time
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
6
];
$time
=
date
(
'Y-m-d H:i:s'
,
$time
);
$come_back
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
1
];
$go_out
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
2
];
$name
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
3
];
$off_work
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
4
];
$on_work
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
5
];
// $array = Arr::add('Id',$response[$i]['Id']);
array_push
(
$result_content
,[
'Names'
=>
$dbname
,
'time'
=>
$time
,
'come_back'
=>
$come_back
,
'go_out'
=>
$go_out
,
'name'
=>
$name
,
'off_work'
=>
$off_work
,
'on_work'
=>
$on_work
]);
}
return
View
(
'index'
,[
'page'
=>
'attendance'
,
'result'
=>
$query
,
'iresult'
=>
$main
,
'content'
=>
$result_content
,
'navbar_li'
=>
'layouts.navbar_li'
,
'title'
=>
'tt'
]);
// array_push($result_content,['on_work'=>"null"]);
// dd($response[0]['Ports']);
// Allen teach
$contents
=
array
();
for
(
$i
=
0
;
$i
<
$on_count
;
$i
++
){
$name
=
$response_on
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
1
];
$date
=
$response_on
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
0
];
$on_work
=
$response_on
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
0
];
$replace_dateon
=
explode
(
"T"
,
$date
);
// dd($replace_dateon);
$replace_onwork0
=
explode
(
"T"
,
$on_work
);
$replace_onwork
=
explode
(
"."
,
$replace_onwork0
[
1
]);
// dd($time);
// if($replace_date==$$on_work) {
// return $replace_example;
// if($id==$name){
// array_push($result_content,['dateon'=>$replace_dateon[0],'on_work0'=>$replace_onwork0[0],'on_work'=>$replace_onwork[0]]);
// $content=array(["$replace_dateon[0]"=>$replace_dateon[0],["name"=>$name0],['dateon'=>$replace_dateon[0],'on_work0'=>$replace_onwork0[0],'on_work'=>$replace_onwork[0]]]);
// }
if
(
array_key_exists
(
$replace_dateon
[
0
],
$contents
))
{
$contents
[
$replace_dateon
[
0
]][
$result_content
[
$name
]]
=
array
(
"dateon"
=>
$replace_onwork
[
1
]);
}
else
{
//查無資料,顯示全部資料列
$query
=
Path
::
all
();
$main
=
Car
::
all
();
$client
=
new
\GuzzleHttp\Client
();
$res
=
$client
->
get
(
$this
->
docker_ip
.
"/query?db=test&q=select%20*%20from%20people2"
);
$response
=
json_decode
(
$res
->
getBody
()
->
__toString
(),
true
);
else
{
$contents
[
$replace_dateon
[
0
]]
=
array
(
$result_content
[
$name
]
=>
array
(
"dateon"
=>
$replace_onwork
[
1
]));
}
}
$people_count
=
count
(
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
]);
$result_content
=
array
();
// dd($response[0]['Ports']);
// ivy did
for
(
$i
=
0
;
$i
<
$on_count
;
$i
++
){
$name
=
$response_on
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
1
];
$date
=
$response_on
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
0
];
$on_work
=
$response_on
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
0
];
$replace_dateon
=
explode
(
"T"
,
$date
);
$replace_onwork0
=
explode
(
"T"
,
$on_work
);
$replace_onwork
=
explode
(
"."
,
$on_work
);
// if($replace_date==$$on_work) {
// return $replace_example;
if
(
$id
==
$name
){
array_push
(
$result_content
,[
'dateon'
=>
$replace_dateon
[
0
],
'on_work0'
=>
$replace_onwork0
[
0
],
'on_work'
=>
$replace_onwork
[
0
]]);
// $content=array(["$replace_dateon[0]"=>$replace_dateon[0],["name"=>$name0],['dateon'=>$replace_dateon[0],'on_work0'=>$replace_onwork0[0],'on_work'=>$replace_onwork[0]]]);
for
(
$i
=
0
;
$i
<
$people_count
;
$i
++
){
$dbname
=
$response
[
'results'
][
0
][
'series'
][
0
][
'name'
];
$time
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
6
];
$time
=
date
(
'Y-m-d H:i:s'
,
$time
);
$come_back
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
1
];
$go_out
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
2
];
$name
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
3
];
$off_work
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
4
];
$on_work
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
5
];
// $array = Arr::add('Id',$response[$i]['Id']);
array_push
(
$result_content
,[
'Names'
=>
$dbname
,
'time'
=>
$time
,
'come_back'
=>
$come_back
,
'go_out'
=>
$go_out
,
'name'
=>
$name
,
'off_work'
=>
$off_work
,
'on_work'
=>
$on_work
]);
}
echo
"<script>alert('查無此資料');</script>"
;
}
return
View
(
'index'
,[
'page'
=>
'attendance'
,
'result'
=>
$query
,
'iresult'
=>
$main
,
'content'
=>
$result_content
,
'navbar_li'
=>
'layouts.navbar_li'
,
'title'
=>
'tt'
]);
// $array = Arr::add('Id',$response[$i]['Id']);
// return( $result_content);
// if(isset($response_select_on['results'][0]['series']))
// array_push($result_content,['on_work'=>null]);
$off_count
=
count
(
$response_off
[
'results'
][
0
][
'series'
][
0
][
'values'
]);
for
(
$i
=
0
;
$i
<
$off_count
;
$i
++
){
$name
=
$response_off
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
1
];
$off_work
=
$response_off
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
0
];
$date
=
$response_off
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
0
];
$replace_dateoff
=
explode
(
"T"
,
$date
);
$replace_offwork0
=
explode
(
"T"
,
$off_work
);
$replace_offwork
=
explode
(
"."
,
$off_work
);
if
(
array_key_exists
(
$replace_dateoff
[
0
],
$contents
))
{
$contents
[
$replace_dateoff
[
0
]][
$result_content
[
$name
]][
"dateoff"
]
=
$replace_offwork
[
1
];
}
else
{
$contents
[
$replace_dateoff
[
0
]]
=
array
(
$result_content
[
$name
]
=>
array
(
"dateoff"
=>
$replace_offwork
[
1
]));
}
}
// dd($contents);
if
(
isset
(
$response_select_off
[
'results'
][
0
][
'series'
]))
array_push
(
$result_content
,[
'off_work'
=>
null
]);
$go_count
=
count
(
$response_go
[
'results'
][
0
][
'series'
][
0
][
'values'
]);
// dd($response[0]['Ports']);
for
(
$i
=
0
;
$i
<
$go_count
;
$i
++
){
$name
=
$response_go
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
1
];
$go_out
=
$response_go
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
0
];
$date
=
$response_go
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
0
];
$replace_datego
=
explode
(
"T"
,
$date
);
$replace_goout0
=
explode
(
"T"
,
$go_out
);
$replace_goout
=
explode
(
"."
,
$go_out
);
if
(
array_key_exists
(
$replace_datego
[
0
],
$contents
))
{
$contents
[
$replace_datego
[
0
]][
$result_content
[
$name
]][
"goout"
]
=
$replace_goout
[
1
];
}
else
{
$contents
[
$replace_datego
[
0
]]
=
array
(
$result_content
[
$name
]
=>
array
(
"goout"
=>
$replace_goout
[
1
]));
}
}
dd
(
$contents
);
$back_count
=
count
(
$response_back
[
'results'
][
0
][
'series'
][
0
][
'values'
]);
// dd($response[0]['Ports']);
for
(
$i
=
0
;
$i
<
$back_count
;
$i
++
){
$name
=
$response_back
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
1
];
$come_back
=
$response_back
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
0
];
$date
=
$response_back
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
0
];
$replace_datecome
=
explode
(
"T"
,
$date
);
$replace_come_back0
=
explode
(
"T"
,
$come_back
);
$replace_come_back
=
explode
(
"."
,
$come_back
);
if
(
array_key_exists
(
$replace_datecome
[
0
],
$contents
))
{
$contents
[
$replace_datecome
[
0
]][
$result_content
[
$name
]][
"comeback"
]
=
$replace_come_back
[
1
];
}
else
{
$contents
[
$replace_datecome
[
0
]]
=
array
(
$result_content
[
$name
]
=>
array
(
"comeback"
=>
$replace_come_back
[
1
]));
}
}
return
View
(
'index'
,[
'page'
=>
'attendance'
,
'result'
=>
$query
,
'iresult'
=>
$main
,
'contents'
=>
$contents
,
'navbar_li'
=>
'layouts.navbar_li'
,
'title'
=>
'tt'
]);
}
// return View('index',['page' => 'attendance','result'=>$query,'iresult'=>$main,'on_content'=>$on_result_content,'off_content'=>$off_result_content,
// 'go_content'=>$go_result_content,'back_content'=>$back_result_content,'navbar_li'=>'layouts.navbar_li','title'=>'tt']);
}
public
function
attend
(
Request
$request
)
{
$start
=
$request
->
input
(
'start_time'
);
$end
=
$request
->
input
(
'end_time'
);
$start
=
strtotime
(
"
$start
,now"
);
$end
=
strtotime
(
"
$end
,now"
);
$response_emp
=
json_decode
(
$res_emp
->
getBody
()
->
__toString
(),
true
);
$response_on
=
json_decode
(
$res_on_work
->
getBody
()
->
__toString
(),
true
);
// $replace_date = explode("T",$date);
dd
(
$start
);
return
$start
.
$end
;
echo
$time
;
// dd($result_content);
}
public
function
user
(
Request
$request
)
{
$query
=
Path
::
all
();
$main
=
Car
::
all
();
$client
=
new
\GuzzleHttp\Client
();
$res
=
$client
->
get
(
$this
->
docker_ip
.
"/query?db=test&q=select%20*%20from%20people2%20 "
);
$response
=
json_decode
(
$res
->
getBody
()
->
__toString
(),
true
);
$people_count
=
count
(
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
]);
$result_content
=
array
();
for
(
$i
=
0
;
$i
<
$people_count
;
$i
++
){
$name
=
$response
[
'results'
][
0
][
'series'
][
0
][
'values'
][
$i
][
3
];
array_push
(
$result_content
,[
'name'
=>
$name
]);
return
View
(
'index'
,[
'page'
=>
'attendance'
,
'result'
=>
$query
,
'iresult'
=>
$main
,
'content'
=>
$result_content
,
'navbar_li'
=>
'layouts.navbar_li'
,
'title'
=>
'tt'
]);
}
}
}
}
\ No newline at end of file
app/Http/Controllers/DockerController.php
View file @
dd311f2e
...
...
@@ -38,8 +38,9 @@ class DockerController extends Controller
$query
=
Path
::
all
();
$main
=
Car
::
all
();
$client
=
new
\GuzzleHttp\Client
();
$res
=
$client
->
get
(
$this
->
docker_ip
.
"/
container
s/json?all=1"
);
$res
=
$client
->
get
(
$this
->
docker_ip
.
"/
image
s/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
)
]
]);
...
...
app/Http/Controllers/Parking/CameraController.php
View file @
dd311f2e
...
...
@@ -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
)]);
}
}
public/css/templatemo-style.css
View file @
dd311f2e
...
...
@@ -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
:
#
435c7
0
;
background-color
:
#
343a4
0
;
}
.tm-bg-primary-black
{
background-color
:
#090909
;
...
...
public/image/3.jpg
0 → 100644
View file @
dd311f2e
1.41 MB
resources/views/attendance.blade.php
View file @
dd311f2e
...
...
@@ -2,91 +2,108 @@
@
section
(
'content'
)
<
div
class
="
thumbnail
">
<div class="
row
justify
-
content
-
center
">
<form class="
col
-
6
" 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="
form
-
group
row
" >
<label for="
text
" class="
col
-
sm
-
2
col
-
form
-
label
">開始時間</label>
<div class="
col
-
sm
-
10
">
<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="">
<
div
class
="
input
-
group
-
append
" data-target="
#datetimepicker1" data-toggle="datetimepicker">
<
div
class
="
input
-
group
-
text
"><i class="
fa
fa
-
calendar
"></i></div>
</div>
<
form
id
=
"send"
action
=
"/attend"
method
=
"POST"
>
{{
csrf_field
()
}}
<
div
class
="
row
" >
<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' 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 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
" id="
datetimepicker2
" data-target-input="
nearest
">
<input id="
end_time
" 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>
</div>
<div class="
row
"><div class="
col
-
md
-
6
" style="
margin
-
left
:
2
%
">到</div></div>
<div class="
row
">
<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' 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>
</div>
</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
">
<tr>
<td>時間</td>
<table class="
table
table
-
dark
table
-
striped
" style="
text
-
align
:
center
">
<tr>
<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>
@endforeach
</tbody>
</table>
<span id='buttom'></span>
</div>
</div>
</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
</table>
</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 物件 -->
<script type="
text
/
javascript
">
...
...
@@ -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
@endsection
\ No newline at end of file
resources/views/docker/new.blade.php
View file @
dd311f2e
...
...
@@ -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>
...
...
@@ -109,4 +114,85 @@
</div>
</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
resources/views/docker/service.blade.php
View file @
dd311f2e
...
...
@@ -58,16 +58,16 @@
<div class="
container
" >
<div class="
form
-
group
">
<!-- Show Numbers Of Rows -->
<div class="
col
-
sm
-
2
"><h3>每頁</h3>
<select class="
form
-
control
" name="
state
" id="
maxRows
">
<option value="
5000
">All</option>
<option value="
5
">5</option>
<option value="
10
">10</option>
<option value="
15
">15</option>
<option value="
20
">20</option>
<option value="
50
">50</option>
</select>
<h3>筆</h3>
<div class="
col
-
sm
-
2
"><h3>每頁</h3>
<select class="
form
-
control
" name="
state
" id="
maxRows
">
<option value="
5000
">All</option>
<option value="
5
">5</option>
<option value="
10
">10</option>
<option value="
15
">15</option>
<option value="
20
">20</option>
<option value="
50
">50</option>
</select>
<h3>筆</h3>
</div>
...
...
resources/views/page.blade.php
View file @
dd311f2e
...
...
@@ -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>
...
...
resources/views/smart_parking/camera.blade.php
View file @
dd311f2e
...
...
@@ -24,34 +24,17 @@
<div class="
col
-
sm
-
12
col
-
md
-
12
col
-
lg
-
8
col
-
xl
-
8
tm
-
block
-
col
">
<!-- <div class="
thumbnail
"> -->
<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
:
280
px
" 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>
<div class="
col
-
sm
-
8
">
<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
)
%
2
C
*+
from
+%
22
in
%
22
&
db
=
NCUT_MM
&
pretty
=
true
',
// url: '
http
://
192.168
.
5.17
:
8086
/
query
?
q
=
select
+
last
(
plate
)
%
2
C
*+
from
+%
22
in
%
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
)
%
2
C
*+
from
+%
22
out
%
22
&
db
=
NCUT_MM
&
pretty
=
true
',
// url: '
http
://
192.168
.
5.17
:
8086
/
query
?
q
=
select
+
last
(
plate
)
%
2
C
*+
from
+%
22
out
%
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
resources/views/tt.blade.php
0 → 100644
View file @
dd311f2e
<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
routes/web.php
View file @
dd311f2e
...
...
@@ -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'
);
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment