v1版本
<?php use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\DetailView;
use yii\grid\GridView;
use app\models\DeviceStatus;
use yii\widgets\ActiveForm;
use yii\bootstrap\Modal;
use yii\bootstrap\Alert;
/* @var $this yii\web\View */
/* @var $model app\models\Device */ $this->title = "设备详情-$model->station_name 编号: $model->device_id";
$this->params['breadcrumbs'][] = ['label' => '自救设备', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
if( Yii::$app->getSession()->hasFlash('error') ) {
echo Alert::widget([
'options' => [
'class' => 'alert-error',
],
'body' => Yii::$app->getSession()->getFlash('error'),
]);
}
if( Yii::$app->getSession()->hasFlash('success') ) {
echo Alert::widget([
'options' => [
'class' => 'alert-success', //这里是提示框的class
],
'body' => Yii::$app->getSession()->getFlash('success'), //消息体
]);
}
?>
<script type="text/javascript">
window.onpageshow = function(event){
if (event.persisted) {
window.location.reload();
}
}
</script>
<style>
.box-header a{
display:inline-block;
}
body{
font-size:16px;
}
a:link,a:visited,a:hover,a:active { color:white; text-decoration: none;}
.close{
line-height:72%;
font-size:300%;
}
.bg-yellow {
background-color: #f39c12 !important
}
</style>
<div id="dialog1" style="display:none">
<div class="weui-mask"></div>
<div class="weui-dialog">
<div class="weui-dialog__hd"><strong class="weui-dialog__title">故障确认</strong></div>
<div style="color:#696969;font-size:16px" class="weui-dialog__bd">您确认已知道<?=$model->station_name?>的故障情况吗?</div>
<div class="weui-dialog__ft">
<a style="color:red" href="<?=yii\helpers\Url::toRoute(['know','device_id'=>$model->device_id])?>" class="weui-dialog__btn weui-dialog__btn_default">确认</a>
<a style="color:green" href="javascript:quKnow()" class="weui-dialog__btn weui-dialog__btn_primary">再看看</a>
</div>
</div>
</div> <h4 style="display:inline-block;line-height:20px">设备信息</h4>
<span style="sange">
<?php if($isopen_flag){
if($model->status == 0){
echo '<a href="javascript:meKnow()" class="weui-btn weui-btn_mini weui-btn_warn">点击已知道</a>';
}else if($model->status == 1){
echo '<a href="javascript:;" class="weui-btn weui-btn_mini bg-yellow">您已知道此设备故障情况</a>';
}
?>
<script type="text/javascript">
function meKnow(){
document.getElementById('dialog1').style.display='block';
}
function quKnow(){
document.getElementById('dialog1').style.display='none';
}
</script> <!-- <?= Html::a('取消关注', ['delete', 'id' => $model->device_id], [
'class' => 'weui-btn weui-btn_mini weui-btn_warn',
'data' => [
'confirm' => '您确定取消关注'.$model->station_name.'吗?',
'method' => 'post',
],
]) ?> --> <?php }?> </span> <?php
// Modal::begin([
// 'id' => 'map-modal',
// 'header' => '<h4 class="modal-title">设备地图信息</h4>',
// ]);
// echo '<iframe style="width:100%;height:380px"
// src="http://apis.map.qq.com/tools/poimarker?type=0&marker=coord:39.98146,116.314966;title: '.$model->device_id.' '.$model->station_name.';&key=2GSBZ-SYKKI-7GXG6-5FHIP-KF4SV-6WBJX&referer=myapp">
// </iframe>';
// Modal::end();
?> <div class="weui-form-preview">
<?= DetailView::widget([
'model' => $model,
'template' => '<div style="margin-top:-5px" class="weui-cells">
<div class="weui-cell">
<div style="text-align:left;width:100%;color:#666666" class="weui-cell__ft">{value}</div>
</div></div>', 'options' => ['class' => ''],
'attributes' => [
[
'label' => '设备详情',
'format' => 'raw',
'value' => '设备号码:'.$model->phone.'<br>基站名称:'.$model->station_name.'<br>设备编号:'.$model->device_id.'<br>设备地址:'.$model->province.' '.$model->city.' '.$model->location.'<br>长按关注设备微信二维码:'.Html::img('@web/'.$model->wcode, ['width' => 42]),
// Html::a('查看设备地图', '#', [
// 'id' => 'map',
// 'data-toggle' => 'modal',
// 'data-target' => '#map-modal',
// 'class' => 'weui-btn weui-btn_mini weui-btn_primary',
// ]),
],
],
]) ?>
</div> <h4>设备当前状态
<?php if ($model->type!=0&&$model->type!=1) {
$guzhang='<span style="color:red;font-size:16px">故障:';
switch ($model->type) {
case 2:
$guzhang.='放电';
break;
case 3:
$guzhang.='电压小于48V';
break;
case 4:
$guzhang.='剩余工作时间小于3小时';
break;
case 5:
$guzhang.='设备失联';
break;
case 6:
$guzhang.='设备故障';
break;
case 0:
$guzhang.='运转良好';
break;
}
echo $guzhang.'<span>';
}else{
echo '<span style="color:green;font-size:16px">运转良好</span>';
} ?></h4> <?php if($device_status){?>
<?= DetailView::widget([
'model' => $device_status,
'template' => '<div style="margin-top:-8px" class="weui-cells">
<div class="weui-cell">
<div style="text-align:left;width:100%;color:#666666;padding-bottom:8px" class="weui-cell__ft">{value}</div>
</div>', 'options' => ['class' => ''],
'attributes' => [
[
'label'=>'记录时间',
'attribute'=>'create_time',
'value'=>function($device_status){
return '记录时间:'.date('Y/m/d H:i:s',$device_status->create_time);
},
],
[
'label'=>'IP地址',
'attribute'=>'ip',
'value'=>function($device_status){
return 'ip地址:'.$device_status->ip;
},
],
[
'label'=>'落后电池数量',
'attribute'=>'bad_battery_count',
'value'=>function($device_status){
return '落后电池数量:'.$device_status->bad_battery_count;
},
],
[
'label'=>'落后电池',
'attribute'=>'v1',
'format'=>'raw',
'value'=>function($device_status){
if($device_status->bad_battery_status==0){
return "落后电池:<span style='color:green'>没有电池落后,运转良好</span>";
}else{
$msg='';
foreach($device_status->bad_battery_status as $key=>$value){
if($value==1) $msg.=($key*2+1).',' . ($key*2+2) .',';
}
$msg=rtrim($msg,',');
if(strlen($msg)<1){
return "落后电池:<span style='color:green'>没有电池落后,运转良好</span>";
}else{
return "落后电池:<span style='color:red'>第".$msg."节电池为落后电池,请及时检修。</span>";
}
}
}
],
[
'label' => '状态详情',
'format' => 'raw',
'value' => '工作状态:'.DeviceStatus::$status_names[$device_status->status].
'<br>充电状态:'.DeviceStatus::$charge_names[$device_status->status_charge].
'<br>电压:'.$device_status->volt.'V'.
'<br>电流:'.$device_status->current.'A'.
'<br>工作时间:'.$device_status->work_min.'分钟(约'.round($device_status->work_min/60,1).'小时)'.
'<br>均衡电量:'.$device_status->zijiu_ah.'AH'.
'<br>均衡时间:'.$device_status->zijiu_min.'分钟(约'.round($device_status->zijiu_min/60,1).'小时)'.
'<br>充放电量:'.$device_status->output_ah.'AH'.
'<br>充放时间:'.$device_status->output_min.'分钟(约'.round($device_status->output_min/60,1).'小时)'.
'<br>剩余电量:'.$device_status->remain_ah.'AH'.
'<br>剩余时间:'.$device_status->remain_min.'分钟(约'.round($device_status->remain_min/60,1).'小时)'
],
[
'label'=>'电池组电压',
'attribute'=>'v1',
'format'=>'raw',
'value'=>function($device_status){
$bad=$device_status->bad_battery_status?$device_status->bad_battery_status:[0=>0,1=>0,2=>0,3=>0,4=>0,5=>0,6=>0,7=>0,8=>0,9=>0,10=>0,11=>0];
$badcount=count($bad);
if($badcount<12){
for($i = 0; $i <(12-$badcount); $i++) {
array_push($bad,0);
}
}
$dcolor='电池组电压:<br>';
$count=0;
foreach($bad as $key=>$value){
$keyv='v'.($key+1);
if($value==1){
$dcolor.='<span style="color:red">【'.($key+1).'】'.$device_status->$keyv.'V</span>';
}else{
$dcolor.='【'.($key+1).'】'.$device_status->$keyv.'V';
}
$count++;
if($count%3==0){$dcolor.='<br>';}
}
return $dcolor;
}
], ],
]) ?> <?php }else{echo '当前没有设备状态';}?>
<h4>消息通知 </h4>
<div class="wmsg-search">
<div style="margin-top:10px;" class="form">
<?= \yii\widgets\ListView::widget([
'dataProvider' => $wmsg,
'itemView'=>'_wmsg_item'
]);?>
</div>
</div>
</div>
v1版本的更多相关文章
- CQRS之旅——旅程5(准备发布V1版本)
旅程5:准备发布V1版本 添加功能和重构,为V1版本发布做准备. "大多数人在完成一件事之后,就像留声机的唱片一样,一遍又一遍地使用它,直到它破碎,忘记了过去是用来创造更多未来的东西.&qu ...
- ubuntu上pyecharts V1版本环境搭建
1 背景 今天想用pyecharts画图,在新的环境下使用pip安装之后发现,导入pyecharts模块一直失败,报错如下. 图 1 导入pyecharts错误图 请注意:我这里使用的python版本 ...
- Kubernetes概念介绍和v1版本部署过程
简介: k8s一个开源的,跨主机管理容器应用集群的编排系统,为应用提供了基础的部署.维护和扩缩容机制. 编排:跨Docker主机同一管理容器集群. 目的 简化开发和运维容器集群的工作. 让开发和运维能 ...
- 区块链V1版本实现之五
代码重构: block.go文件: package main import ( "crypto/sha256" ) //定义区块结构 type Block struct { //前 ...
- 区块链V1版本实现之二
部分程序代码(生成并调用hash代码): 1 //创建区块,对Block的每一个字段填充数据 2 func NewBlock(data string, prevBlockHash []byte) *B ...
- 区块链V1版本实现之一
1. 程序地址:https://gitee.com/Jame_sz/beijing_go_term2.git 2. 程序编写流程: //1. 定义结构(区块头的字段比正常的少) //>1. 前区 ...
- 网易云音乐综合爬虫python库NetCloud v1版本发布
以前写的太烂了,这次基本把之前的代码全部重构了一遍.github地址是:NetCloud.下面是简单的介绍以及quick start. NetCloud--一个完善的网易云音乐综合爬虫Python库 ...
- pyecharts v1 版本 学习笔记 饼图,玫瑰图
饼图: 普通案例 from example.commons import Faker from pyecharts import options as opts from pyecharts.char ...
- pyecharts v1 版本 学习笔记 折线图,面积图
折线图 折线图 基本demo import pyecharts.options as opts from pyecharts.charts import Line c = ( Line() .add_ ...
随机推荐
- python的数据库链接
https://blog.csdn.net/canofy/article/details/83294330#-*-coding:utf-8-*-import MySQLdb #yum update p ...
- 2018/09/05《涂抹MySQL》【权限管理】学习笔记(二)
读 第四章<管理MySQL库与表> 第五章<MySQL的权限管理> 总结 1:当配置好 MySQL 数据库后,发现有几个默认的库,他们的意义和作用?(这里只做简单了解,之后用到 ...
- MonkeyRunner_手机触摸屏幕坐标获取
坐标单位为像素,获取方式包括手机自带.画图软件和photoshop软件. 方式一.android4.0以上系统手机自带坐标功能,在设置->开发者选项->显示指针位置 方式二.画图或phot ...
- router 设置时 模板的新引法
{ path: '/Index1', name: 'Index', component: () => import ('@/components/Index.vue') },
- 4.0-uC/OS-III目录结构
本文章都是基于学习野火STMF4系列的开发板的学习做的,大部分都是开发手册的内容,做笔记用,具体请参考野火官方的开发手册. 1. uC/OS-III 文件结构 ①配置文件,通过定义这些文件里宏的值可以 ...
- 【Mock】【接口测试】【面试】mock-server 环境搭建—加分项!
mock-server 环境搭建 前言 mock 除了用在单元测试过程中,还有一个用途,当前端开发在开发页面的需要服务端提供 API 接口 此时服务端没开发完成,或者说没搭建测试环境,这个时候前端开发 ...
- 安全需求-建模归类——By Me
漏洞与Bug并不等同,他们之间的关系基本可以描述为:大部分的Bug影响功能性,并不涉及安全性,也就不构成漏洞:大部分的漏洞来源于Bug,但并不是全部,它们之间只是有一个很大的交集.可以用如下这个图来展 ...
- windows版mysql5.7.18安装
windows版mysql5.7.18安装 初始化命令:C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe --defaults-file=& ...
- 下载以及安装VMware Player Pro 64位
1.下载地址:https://download3.vmware.com/software/wkst/file/VMware-workstation-full-14.0.0-6661328.exe 2. ...
- 轻量级ORM工具Simple.Data
今天推举的这篇文章,本意不是要推举文章的内容,而是据此介绍一下Simple.Data这个很有意思的类ORM工具. 现在大家在.NET开发中如果需要进行数据访问,那么基本都会使用一些ORM工具,比如微软 ...