更新Demo设备详情页

TangShanKaiPing
wanggang 6 years ago
parent f9f5a16f5d
commit 5d39a2af57

@ -23,7 +23,7 @@
</f7-app>
</div>
<template id="page-home">
<f7-page :page-content="false" @page:beforein="vm.init">
<f7-page :page-content="false" @page:reinit="vm.init">
<f7-navbar>
<f7-nav-title>{{vm.Title}}</f7-nav-title>
</f7-navbar>
@ -165,7 +165,7 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('检测器','监测器')">
<div class="row">
<a class="button button-raised" :href="'/node/'+device.Number+'/name/'+device.Name||device.DisplayName">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<div class="row" v-if="device.Name==='温湿度检测器'">
<div class="col">{{getData(device,"温度")}}</div>
@ -193,7 +193,7 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('感应器')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<div class="row">
<div class="col">{{getData(device,"状态")}}</div>
@ -208,11 +208,16 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('主机')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<div class="row">
<div class="col">{{getData(device,"计算机名")}}</div>
</div>
<div class="row">
<a class="button button-raised button-fill" href="javascript: ;" v-on:click="call(device.Id,'21boot')"></a>
<a class="button button-raised button-fill" href="javascript: ;" v-on:click="call(device.Id,'23shot')">截图</a>
<a class="button button-raised button-fill" href="javascript: ;" v-on:click="call(device.Id,'22shutdown')"></a>
</div>
</div>
</div>
</div>
@ -223,7 +228,7 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('AP')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<div class="row">
<div class="row">IP {{getData(device,"IP")}}</div>
@ -242,7 +247,7 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('一路可调窗帘')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<div class="row">
<div class="col">{{getData(device,"状态")}}</div>
@ -273,7 +278,7 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('计量开关')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<template v-if="device.Name==='计量开关'">
<div class="row">
@ -301,7 +306,7 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('一路照明开关')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<template v-if="device.Name==='一路照明开关'">
<div class="row">
@ -329,7 +334,7 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('二路灯开关')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<template v-else-if="device.Name==='二路灯开关'">
<div class="row">
@ -365,7 +370,7 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('三路照明开关')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<template v-if="device.Name==='三路照明开关'">
<div class="row">
@ -401,7 +406,7 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('墙面插座')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<template v-if="device.Name==='墙面插座'">
<div class="row">
@ -429,7 +434,7 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('一路插座')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<template v-if="device.Name==='一路插座'">
<div class="row">
@ -457,7 +462,7 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('二路插座')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<template v-if="device.Name==='二路插座'">
<div class="row">
@ -485,7 +490,7 @@
<div class="row">
<div class="col-33 tablet-20 desktop-10" v-for="device in getDevices('密码门锁')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<template v-if="device.Name==='密码门锁'">
<div class="row">
@ -511,7 +516,7 @@
<div class="row">
<div class="col" v-for="device in getDevices('红外转发器')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<div class="row">
<template v-for="data in _.orderBy(device.Data,['DisplayOrder','Name'])">
@ -530,7 +535,7 @@
<div class="row">
<div class="col" v-for="device in getDevices('串口控制器')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<div class="row">
<template v-for="data in _.orderBy(device.Data,['DisplayOrder','Name'])">
@ -556,7 +561,7 @@
<div class="row">
<div class="col" v-for="device in getDevices('摄像头')">
<div class="row">
<a class="button button-raised">{{device.Name||device.DisplayName}}</a>
<a class="button button-raised" :href="'/device/'+device.Number+'/name/'+device.Name">{{device.DisplayName||device.Name}}</a>
</div>
<div class="row">
<a class="button button-raised button-fill" href="javascript: ;" v-on:click="call(device.Id,'20shot')">截图</a>
@ -570,8 +575,50 @@
<template id="page-device">
<f7-page>
<f7-navbar>
<f7-navbar title="Device.DisplayName||Device.Name" back-link="Back"></f7-navbar>
<f7-navbar :title="Device.DisplayName||Device.Name" back-link="Back"></f7-navbar>
</f7-navbar>
<div class="block-title">属性{{Device.Data.length}}</div>
<div class="list">
<ul v-if="Device.Data.length">
<template v-for="data in Device.Data">
<li v-if="data.Name!=='hidden'">
<div class="item-content">
<div class="item-media"><i class="f7-icons">info</i></div>
<div class="item-inner">
<div class="item-title">{{data.Name}}</div>
<div class="item-after">
<span class="badge color-blue">
{{data.Value}}
</span>
<span>&nbsp;</span>
<span class="badge color-blue" v-if="data.Unit">
{{data.Unit}}
</span>
<span>&nbsp;</span>
<span class="badge color-blue" v-if="data.Description">
{{data.Description}}
</span>
</div>
</div>
</div>
</li>
</template>
</ul>
</div>
<div class="block-title">操作{{Device.Apis.length}}</div>
<div class="list">
<ul v-if="Device.Apis.length">
<li v-for="api in Device.Apis">
<div class="item-content">
<div class="item-media"><i class="f7-icons">info</i></div>
<div class="item-inner">
<div class="item-title">{{api.Name}}</div>
<div class="item-after"></div>
</div>
</div>
</li>
</ul>
</div>
</f7-page>
</template>
<!-- Page Not Found Template -->

@ -47,5 +47,15 @@ namespace IoTCenter.Controllers
.FirstOrDefault(o => o.Number == number);
return Json(model, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore });
}
public IActionResult GetDevice(string token, string number)
{
var userName = this._jwtHelper.GetPayload(token)["UserName"].ToString();
var model = this._deviceRepo.ReadOnlyTable()
.Include(o => o.Data)
.Include(o => o.Apis).ThenInclude(o => o.Parameters)
.FirstOrDefault(o => o.Number == number);
return Json(model, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore });
}
}
}
Loading…
Cancel
Save