Commit b5b81738 authored by YONG-LIN SU's avatar YONG-LIN SU

修改即時頁面

parent fcb1d8e9
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": 12,
"links": [],
"panels": [
{
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 12,
"w": 12,
"x": 3,
"y": 0
},
"header_js": "{}",
"id": 2,
"method": "GET",
"mode": "template",
"params_js": "{\r\nnow:Date.now()\r\n}",
"pluginVersion": "7.1.3",
"request": "query",
"responseType": "json",
"showErrors": false,
"showTime": false,
"showTimeFormat": "LTS",
"showTimePrefix": null,
"showTimeValue": "request",
"skipSameURL": false,
"targets": [
{
"alias": "",
"groupBy": [],
"hide": false,
"measurement": "punch",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT \"image\", \"name\",\"temperature\", \"location\" FROM \"punch\" WHERE $timeFilter order by DESC limit 1",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"*"
],
"type": "field"
}
]
],
"tags": []
}
],
"template": "<style>\n.panel-title-text {\nfont-size: 45px;\ncolor:#000000 ;\nline-height: 45px;\n}\n.panel-title {\n height: 50px;\n background-color: #BFC7CF;\n}\n.panel-container {\nheight: 100%;\nbackground-color: #dae3ec !important;\ntext-align:center;\n}\n.big-label{\n font-size: 45px;\n}\n.dashboard-content{\n background-color: #e0e6ec !important;\n}\n</style>\n<div ng-repeat=\"face in response[0].datapoints\">\n <br>\n <br>\n<table>\n <tbody>\n <tr>\n <td align=\"center\" valign=\"center\" rowspan=\"5\">&nbsp&nbsp<img height=\"300px\" src={{\"http://192.168.6.240:5000/punch/card/image/\"+face[0].split(\".jpg\")[0].split(\"static/face/\")[1]}}>&nbsp&nbsp&nbsp</td>\n <td><label class=\"big-label\" style=\"color:#000000\">日期</label></td>\n <td align=\"center\" valign=\"center\" width=\"300px\"><label class=\"big-label\" style=\"color:#000000\">{{ face[1] | date:'yyyy-MM-dd' }}</label></td>\n </tr>\n <tr>\n <td><label class=\"big-label\" style=\"color:#000000\">時間</label></td>\n <td align=\"center\" valign=\"center\"><label class=\"big-label\" style=\"color:#000000\">{{ face[1] | date:'HH:mm:ss' }}</label></td>\n </tr>\n <tr>\n <td><label class=\"big-label\" style=\"color:#000000\">姓名</label></td>\n <td align=\"center\" valign=\"center\"><label class=\"big-label\" style=\"color:#000000\">{{ response[1].datapoints[$index][0] }}</label></td>\n </tr>\n <tr>\n <td><label class=\"big-label\" style=\"color:#000000\">溫度</label></td>\n <td align=\"center\" valign=\"center\"><label class=\"big-label\" style=\"color:#000000\">{{ response[2].datapoints[$index][0] }}</label></td>\n </tr>\n <tr>\n <td><label class=\"big-label\" style=\"color:#000000\">地點</label></td>\n <td align=\"center\" valign=\"center\"><label class=\"big-label\" style=\"color:#000000\">{{ response[3].datapoints[$index][0] }}</label></td>\n </tr>\n </tbody>\n</table>",
"templateResponse": true,
"timeFrom": null,
"timeShift": null,
"title": "即時記錄",
"transparent": true,
"type": "ryantxu-ajax-panel",
"url": "http://192.168.6.240:5000/punch/card/now",
"withCredentials": false
},
{
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 21,
"w": 6,
"x": 18,
"y": 0
},
"header_js": "{}",
"id": 3,
"method": "GET",
"mode": "template",
"params_js": "{\r\nnow:Date.now()\r\n}",
"pluginVersion": "7.1.3",
"request": "query",
"responseType": "json",
"showErrors": false,
"showTime": false,
"showTimeFormat": "LTS",
"showTimePrefix": null,
"showTimeValue": "request",
"skipSameURL": true,
"targets": [
{
"alias": "",
"groupBy": [],
"measurement": "punch",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT \"image\",\"name\", \"temperature\", \"location\" FROM \"punch\" WHERE $timeFilter order by DESC",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"image"
],
"type": "field"
}
],
[
{
"params": [
"temperature"
],
"type": "field"
}
],
[
{
"params": [
"location"
],
"type": "field"
}
]
],
"tags": []
}
],
"template": "<style>\n.panel-title-text {\nfont-size: 25px;\ncolor:#000000 ;\n}\n.panel-title {\n background-color: #C4C9CF;\n}\n.panel-container {\nheight: 100%;\nbackground-color: #e0e6ec !important;\nwhite-space: nowrap;\n}\n</style>\n<div ng-repeat=\"face in response[0].datapoints\">\n<br>\n<table>\n <tbody>\n <tr>\n <td align=\"center\" valign=\"center\" rowspan=\"5\">&nbsp&nbsp&nbsp&nbsp&nbsp<img height=\"125px\" src={{\"http://192.168.6.240:5000/punch/card/image/\"+face[0].split(\".jpg\")[0].split(\"static/face/\")[1]}}>&nbsp&nbsp</td>\n <td><h4 style=\"color:#000000\">日期</h4></td>\n <td align=\"center\" valign=\"center\" width=\"150px\"><h4 style=\"color:#000000\">{{ face[1] | date:'yyyy-MM-dd' }}</h4></td>\n </tr>\n <tr>\n <td><h4 style=\"color:#000000\">時間</h4></td>\n <td align=\"center\" valign=\"center\"><h4 style=\"color:#000000\">{{ face[1] | date:'HH:mm:ss' }}</h4></td>\n </tr>\n <tr>\n <td><h4 style=\"color:#000000\">姓名</h4></td>\n <td align=\"center\" valign=\"center\" style=\"color:#000000\"><h4 style=\"color:#000000\">{{ response[1].datapoints[$index][0] }}</h4></td>\n </tr>\n <tr>\n <td><h4 style=\"color:#000000\">溫度</h4></td>\n <td align=\"center\" valign=\"center\"><h4 style=\"color:#000000\">{{ response[2].datapoints[$index][0] }}</h4></td>\n </tr>\n <tr>\n <td><h4 style=\"color:#000000\">地點</h4></td>\n <td align=\"center\" valign=\"center\"><h4 style=\"color:#000000\">{{ response[3].datapoints[$index][0] }}</h4></td>\n </tr>\n <tr>\n <td><br></td>\n <td></td>\n </tr>\n </tbody>\n</table>\n</div>\n",
"templateResponse": true,
"timeFrom": null,
"timeShift": null,
"title": "近期紀錄",
"transparent": true,
"type": "ryantxu-ajax-panel",
"url": "http://192.168.50.77:5000/punch/card/now",
"withCredentials": false
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 17,
"x": 1,
"y": 12
},
"header_js": "{}",
"id": 5,
"method": "GET",
"mode": "template",
"params_js": "{\n from:ctrl.range.from.format('x'), // x is unix ms timestamp\n to:ctrl.range.to.format('x'), \n height:ctrl.height,\n now:Date.now(),\n interval: ctrl.template('$__interval'),\n sample: 'Not escaped: $__interval',\n since:ctrl.lastRequestTime\n}",
"pluginVersion": "7.4.5",
"request": "query",
"responseType": "text",
"showErrors": true,
"showTime": false,
"showTimeFormat": "LTS",
"showTimePrefix": null,
"showTimeValue": "request",
"skipSameURL": true,
"targets": [
{
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT \"image\",\"name\", \"temperature\", \"location\" FROM \"punch\" WHERE $timeFilter and \"temperature\">36.0 order by DESC",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"template": "<style>\n.panel-title-text {\nfont-size: 25px;\ncolor:#000000 ;\n}\n.panel-title {\n background-color: #C4C9CF;\n}\n div.scrollmenu {\n /*background-color: #333;*/\n overflow: auto;\n white-space: nowrap\t\t\t\t;\n}\n\ndiv.scrollmenu a {\n display: inline-block;\n /*color: white;*/\n text-align: center;\n padding: 20px;\n text-decoration: none;\n}\n\ndiv.scrollmenu a:hover {\n /*background-color: #777;*/\n}\n.panel-container {\nheight: 100%;\nbackground-color: #e0e6ec !important;\n\n}\n</style>\n\n<div class=\"scrollmenu\">\n <br>\n<table>\n <tbody>\n <tr>\n <td ng-repeat=\"face in response[0].datapoints\">\n <table>\n <tbody>\n <tr>\n <td align=\"center\" valign=\"center\" rowspan=\"5\"> <img height=\"150px\" src={{\"http://192.168.6.240:5000/punch/card/image/\"+face[0].split(\".jpg\")[0].split(\"static/face/\")[1]}}>&nbsp&nbsp</td>\n <td><h4 style=\"color:#000000\">日期&nbsp</h4></td>\n <td align=\"center\" valign=\"center\" width=\"150px\"><h4 style=\"color:#000000\">{{ face[1] | date:'yyyy-MM-dd' }}&nbsp&nbsp&nbsp&nbsp</h4></td>\n </tr>\n <tr>\n <td><h4 style=\"color:#000000\">時間&nbsp</h4></td>\n <td align=\"center\" valign=\"center\"><h4 style=\"color:#000000\">{{ face[1] | date:'HH:mm:ss' }}</h4></td>\n </tr>\n <tr>\n <td><h4 style=\"color:#000000\">姓名&nbsp</h4></td>\n <td align=\"center\" valign=\"center\"><h4 style=\"color:#000000\">{{ response[1].datapoints[$index][0] }}</h4></td>\n </tr>\n <tr>\n <td><h4 style=\"color:#000000\">溫度&nbsp</h4></td>\n <td align=\"center\" valign=\"center\"><h4 style=\"color:#000000\">{{ response[2].datapoints[$index][0] }}</h4></td>\n </tr>\n <tr>\n <td><h4 style=\"color:#000000\">地點&nbsp</h4></td>\n <td align=\"center\" valign=\"center\"><h4 style=\"color:#000000\">{{ response[3].datapoints[$index][0] }}&nbsp&nbsp&nbsp&nbsp</h4></td>\n </tr>\n </tbody>\n </table>\n <br>\n </td>\n <td><br><br></td>\n </tr>\n </tbody>\n \n</table>\n</div>",
"templateResponse": true,
"timeFrom": null,
"timeShift": null,
"title": "異常紀錄",
"transparent": true,
"type": "ryantxu-ajax-panel",
"url": "https://raw.githubusercontent.com/ryantxu/ajax-panel/master/static/example.txt",
"withCredentials": false
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"custom": {
"align": "center",
"filterable": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 11,
"w": 17,
"x": 1,
"y": 20
},
"header_js": "{}",
"id": 7,
"method": "GET",
"mode": "template",
"params_js": "{\n from:ctrl.range.from.format('x'), // x is unix ms timestamp\n to:ctrl.range.to.format('x'), \n height:ctrl.height,\n now:Date.now(),\n interval: ctrl.template('$__interval'),\n sample: 'Not escaped: $__interval',\n since:ctrl.lastRequestTime\n}",
"pluginVersion": "7.3.0",
"request": "query",
"responseType": "text",
"showErrors": true,
"showTime": false,
"showTimeFormat": "LTS",
"showTimePrefix": null,
"showTimeValue": "request",
"skipSameURL": true,
"targets": [
{
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT \"image\",\"name\", \"temperature\", \"location\" FROM \"punch\" WHERE $timeFilter and \"temperature\">36.0 order by DESC",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"template": "<style>\n.panel-title-text {\nfont-size: 25px;\ncolor:#000000 ;\n}\n.panel-title {\n background-color: #C4C9CF;\n}\n div.scrollmenu {\n /*background-color: #333;*/\n overflow: auto;\n white-space: nowrap\t\t\t\t;\n}\n\ndiv.scrollmenu a {\n display: inline-block;\n /*color: white;*/\n text-align: center;\n padding: 20px;\n text-decoration: none;\n}\n\ndiv.scrollmenu a:hover {\n /*background-color: #777;*/\n}\n.panel-container {\nheight: 100%;\nbackground-color: #e0e6ec !important;\n\n}\n</style>\n\n<div class=\"scrollmenu\">\n<br>\n<table>\n <tbody>\n <tr>\n <td ng-repeat=\"face in response[0].datapoints\">\n <table>\n <tbody>\n <tr>\n <td align=\"center\" valign=\"center\"><h4 style=\"color:#000000\">{{ face[1] | date:'HH:mm:ss' }}&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</h4></td>\n </tr>\n <tr>\n <td align=\"center\" valign=\"center\"><img height=\"150px\" src={{\"http://192.168.6.240:5000/punch/card/image/\"+face[0].split(\".jpg\")[0].split(\"static/face/\")[1]}}>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</td>\n </tr>\n\n <tr>\n <td align=\"center\" valign=\"center\"><h1 style=\"color:#000000\">{{ response[2].datapoints[$index][0] }}&nbsp&nbsp&nbsp&nbsp</h4></td>\n </tr>\n </tbody>\n </table>\n <br>\n </td>\n </tr>\n </tbody>\n \n</table>\n</div>",
"templateResponse": true,
"timeFrom": null,
"timeShift": null,
"title": "異常紀錄",
"transparent": true,
"type": "ryantxu-ajax-panel",
"url": "https://raw.githubusercontent.com/ryantxu/ajax-panel/master/static/example.txt",
"withCredentials": false
}
],
"refresh": "10s",
"schemaVersion": 26,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now/d",
"to": "now/d"
},
"timepicker": {
"hidden": false,
"refresh_intervals": [
"1s",
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "即時畫面-doctor-3",
"uid": "zKSsBwRgkzzzz",
"version": 18
}
\ No newline at end of file
......@@ -112,7 +112,7 @@
<a id="23" class="nav-link" href="{{ Route("check_overtime") }}" style="color: #ffffff;display: none">加班審核</a>
<a id="22" class="nav-link" href="{{ Route("statistics_index") }}" style="color: #ffffff;display: none">請假統計</a>
<a id="10" class="nav-link" href="{{ Route("attendance") }}" style="color: #ffffff;display: none">出勤管理</a>
<a id="11" class="nav-link" href="{{ Route("graph_attendance") }}" style="color: #ffffff;background: rgba(255,255,255,0.2);display: none">差勤圖表</a>
<a id="11" class="nav-link" href="{{ Route("graph_attendance") }}" style="color: #ffffff;background: rgba(255,255,255,0.2);display: none">測溫管理</a>
</div>
</div>
<a id="title_device"class="nav-link" data-toggle="collapse" href="#collapseDevice" role="button" aria-expanded="false" aria-controls="collapseDevice" href="#" style="color: #ffffff;display: none">設備管理</a>
......@@ -155,6 +155,20 @@
<input class="btn btn-outline-light" style="font-size:16px;text-align: center" type="submit" id="logout" name="logout" value="登出" >
</div>
</form>
<div style="height: 5vh"></div>
<div class="row">
<div class="col-3">
<img id="face-img-preview" class="img-fluid" src="{{ asset("/black-gold.png") }}" style="height:100px; vertical-align:middle;" >
</div>
<div class="col-9">
<font size="4">譽華科技有限公司</font><br>
<font size="2">Yu Hwa Technology Co., Ltd.</font><br>
<font size="4">電話:07-3382270</font><br>
<font size="4">聯絡人:周大慶</font>
</div>
</div>
</div>
{{--攝影機 畫面區--}}
<div id="Screen-aria" class="col-md-10" style="background:#e0e6ec">
......@@ -165,15 +179,50 @@
{{-- </div>--}}
{{--保留區域--}}
<div style="height: 5vh;width: 100%"></div>
<div id="Screens" style="height: 90vh;width: 100%">
<div style="height: 1vh;width: 100%"></div>
<div style="height: 10vh;width: 100%">
<img id="face-img-preview" class="img-fluid" src="{{ asset("/doctor-logo.png") }}" style="height:10vh; vertical-align:middle; display: inline-block;" >
<font size="7">社團法人中華民國家庭牙醫學會</font><br>
</div>
<div id="Screens" style="height: 85vh;width: 100%">
{{-- <iframe src="http://192.168.6.240:6080/d-solo/AklC-YWGz/punch-card?orgId=1&from=1592982397729&to=1592983096037&panelId=24" height="500vh" width="500vh" frameborder="0"></iframe>--}}
{{-- <iframe src="http://192.168.6.72:3000/d-solo/AklC-YWGz/punch-card?orgId=1&from=1592982397729&to=1592983096037&panelId=24" height="500vh" width="500vh" frameborder="0"></iframe>--}}
{{-- <iframe src="http://192.168.6.72:3000/d-solo/AklC-YWGz/punch-card?orgId=1&refresh=10s&from=now/d&to=now/d&panelId=24" height="45%" width="40%" frameborder="0"></iframe>--}}
{{-- <iframe src="http://192.168.6.72:3000/d-solo/AklC-YWGz/punch-card?orgId=1&from=1592982397729&to=1592983096037&panelId=29" height="500vh" width="500vh" frameborder="0"></iframe>--}}
<iframe src="http://192.168.50.155:6080/d/zKSsBwRgk/ji-shi-hua-mian?orgId=1&refresh=5s&from=now%2Fd&to=now%2Fd&kiosk&theme=light" height="100%" width="100%" frameborder="0" id="grafana_iframe" onload="grafana_loaded()">
{{-- <iframe src="http://192.168.50.155:6080/d/zKSsBwRgk/ji-shi-hua-mian?orgId=1&refresh=5s&from=now%2Fd&to=now%2Fd&kiosk&theme=light" height="100%" width="100%" frameborder="0" id="grafana_iframe" onload="grafana_loaded()">--}}
{{--異常紀錄舊的--}}
{{-- <div class="row">--}}
{{-- <div class="col-9" align="center">--}}
{{-- <iframe src="http://192.168.6.72:3000/d-solo/zKSsBwRgkzzzz/ji-shi-hua-mian-doctor-1?orgId=1&refresh=5s&from=now/d&to=now/d&panelId=2" width="70%" height="125%" frameborder="0"></iframe>--}}
{{-- <div style="height: 5vh;" class="col-9"></div>--}}
{{-- <iframe src="http://192.168.6.72:3000/d-solo/zKSsBwRgkzzzz/ji-shi-hua-mian-doctor-2?orgId=1&from=now/d&to=now/d&viewPanel=5&refresh=5s&from=now/d&to=now/d&panelId=5" width="95%" height="85%" frameborder="0"></iframe>--}}
{{-- </div>--}}
{{-- <div class="col-3">--}}
{{-- <iframe src="http://192.168.6.72:3000/d-solo/zKSsBwRgkzzzz/ji-shi-hua-mian-doctor-1?orgId=1&refresh=5s&from=now/d&to=now/d&panelId=3" width="100%" height="220%" frameborder="0"></iframe>--}}
{{-- </div>--}}
{{-- </div>--}}
{{--異常紀錄新的--}}
<div class="row">
<div class="col-9" align="center">
<iframe src="http://192.168.6.72:3000/d-solo/zKSsBwRgkzzzz/ji-shi-hua-mian-doctor-1?orgId=1&refresh=5s&from=now/d&to=now/d&panelId=2" width="70%" height="125%" frameborder="0"></iframe>
<div style="height: 5vh;" class="col-9"></div>
<iframe src="http://192.168.6.72:3000/d-solo/zKSsBwRgkzzzz/ji-shi-hua-mian-doctor-2?orgId=1&from=now/d&to=now/d&viewPanel=5&refresh=5s&from=now/d&to=now/d&panelId=7" width="95%" height="87%" frameborder="0"></iframe>
</div>
<div class="col-3">
<iframe src="http://192.168.6.72:3000/d-solo/zKSsBwRgkzzzz/ji-shi-hua-mian-doctor-1?orgId=1&refresh=5s&from=now/d&to=now/d&panelId=3" width="100%" height="220%" frameborder="0"></iframe>
</div>
</div>
{{-- <div class="row">--}}
{{-- <div class="col-6" align="center">--}}
{{-- <iframe src="http://192.168.6.72:3000/d-solo/zKSsBwRgkz/ji-shi-hua-mian-doctor?orgId=1&refresh=5s&from=now/d&to=now/d&panelId=5" width="100%" height="400%" frameborder="0"></iframe>--}}
{{-- </div>--}}
{{-- <div class="col-6">--}}
{{-- <iframe src="http://192.168.6.72:3000/d-solo/zKSsBwRgkz/ji-shi-hua-mian-doctor?orgId=1&refresh=5s&from=now/d&to=now/d&panelId=3" width="100%" height="400%" frameborder="0"></iframe>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- <iframe src="http://192.168.6.72:3000/d/zKSsBwRgkz/ji-shi-hua-mian-doctor?orgId=1&refresh=5s&from=now%2Fd&to=now%2Fd&kiosk&theme=light" height="100%" width="100%" frameborder="0" id="grafana_iframe" onload="grafana_loaded()"></iframe>--}}
</iframe>
{{--現有人員資訊區--}}
{{-- <table class="table table-striped table-bordered table-hover fixed-height" id="tableL01"></table>--}}
</div>
......
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