Former-commit-id: e2c9c16188d8f26d578b7fa069c51b00271610e9
Former-commit-id: bf13d430483830c6773d477c7138dc5ad9b3cf4a
1.0
wanggang 4 years ago
parent 6630b2ec8c
commit 0039fce2a8

@ -14,6 +14,7 @@ namespace Platform.Api
public List<AppModule> Modules { get; set; }
public List<Organ> Organs { get; set; }
public ClaimsIdentity User { get; set; }
public List<string> Roles { get; set; }
public Guid? CurrentOrganId { get; set; }
}
}

@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
@ -26,9 +27,9 @@ namespace Platform.Api
private readonly IRepository<Building> _buildingRepo;
private readonly IRepository<Statistic> _statisticRepo;
public SiteController(ISettingService settingService,
IRepository<User> userRepo,
IRepository<AppModule> appModuleRepo,
public SiteController(ISettingService settingService,
IRepository<User> userRepo,
IRepository<AppModule> appModuleRepo,
IRepository<OrganUser> organUserRepo,
IRepository<Area> areaRepo,
IRepository<Organ> organRepo,
@ -38,7 +39,7 @@ namespace Platform.Api
this._settingService = settingService;
this._userRepo = userRepo;
this._appModuleRepo = appModuleRepo;
this._organUserRepo = organUserRepo;
this._organUserRepo = organUserRepo;
this._areaRepo = areaRepo;
this._organRepo = organRepo;
this._buildingRepo = buildingRepo;
@ -60,6 +61,7 @@ namespace Platform.Api
.Where(o => o.User.UserName == userName)
.Select(o => o.Organ)
.ToList();
var organId = User.GetOrganId();
var model = new LayoutModel
{
Name = this._settingService.GetValue("name"),
@ -69,7 +71,15 @@ namespace Platform.Api
Modules = modules,
Organs = organs,
CurrentOrganId = User.GetOrganId(),
User = User == null ? null : User.Identity as ClaimsIdentity
User = User == null ? null : User.Identity as ClaimsIdentity,
Roles = User == null
? new List<string>()
: this._organUserRepo.ReadOnlyTable()
.Where(o => o.User.UserName == userName)
.Where(o => o.OrganId == organId)
.SelectMany(o => o.UserRoles)
.Select(o => o.OrganRole.Name)
.ToList()
};
if (platformUser != null && model.User != null)
{

@ -6,7 +6,7 @@
<i v-if="device.isOnline" class="text-success ion ion-ios-wifi"></i>
<i v-else class="text-danger ion ion-ios-wifi"></i>
</h3>
<div class="card-tools">
<div class="card-tools" v-if="hasDevicePermission()">
<span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div>
</div>

@ -4,7 +4,7 @@
<h3 class="card-title">
{{device.displayName}}
</h3>
<div class="card-tools">
<div class="card-tools" v-if="hasDevicePermission()">
<span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div>
</div>

@ -6,7 +6,7 @@
<i v-if="device.isOnline" class="text-success ion ion-ios-wifi"></i>
<i v-else class="text-danger ion ion-ios-wifi"></i>
</h3>
<div class="card-tools">
<div class="card-tools" v-if="hasDevicePermission()">
<span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div>
</div>

@ -6,7 +6,7 @@
<i v-if="device.isOnline" class="text-success ion ion-ios-wifi"></i>
<i v-else class="text-danger ion ion-ios-wifi"></i>
</h3>
<div class="card-tools">
<div class="card-tools" v-if="hasDevicePermission()">
<span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div>
</div>

@ -6,7 +6,7 @@
<i v-if="device.isOnline" class="text-success ion ion-ios-wifi"></i>
<i v-else class="text-danger ion ion-ios-wifi"></i>
</h3>
<div class="card-tools">
<div class="card-tools" v-if="hasDevicePermission()">
<span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div>
</div>

@ -6,7 +6,7 @@
<i v-if="device.isOnline" class="text-success ion ion-ios-wifi"></i>
<i v-else class="text-danger ion ion-ios-wifi"></i>
</h3>
<div class="card-tools">
<div class="card-tools" v-if="hasDevicePermission()">
<span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div>
</div>

@ -6,7 +6,7 @@
<i v-if="device.isOnline" class="text-success ion ion-ios-wifi"></i>
<i v-else class="text-danger ion ion-ios-wifi"></i>
</h3>
<div class="card-tools">
<div class="card-tools" v-if="hasDevicePermission()">
<span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div>
</div>

@ -6,7 +6,7 @@
<i v-if="device.isOnline" class="text-success ion ion-ios-wifi"></i>
<i v-else class="text-danger ion ion-ios-wifi"></i>
</h3>
<div class="card-tools">
<div class="card-tools" v-if="hasDevicePermission()">
<span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div>
</div>

@ -4,7 +4,7 @@
<h3 class="card-title">
{{device.displayName}}
</h3>
<div class="card-tools">
<div class="card-tools" v-if="hasDevicePermission()">
<span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div>
</div>

@ -6,7 +6,7 @@
<i v-if="device.isOnline" class="text-success ion ion-ios-wifi"></i>
<i v-else class="text-danger ion ion-ios-wifi"></i>
</h3>
<div class="card-tools">
<div class="card-tools" v-if="hasDevicePermission()">
<span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div>
</div>

@ -6,7 +6,7 @@
<i v-if="device.isOnline" class="text-success ion ion-ios-wifi"></i>
<i v-else class="text-danger ion ion-ios-wifi"></i>
</h3>
<div class="card-tools">
<div class="card-tools" v-if="hasDevicePermission()">
<span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div>
</div>

@ -140,6 +140,14 @@ function getIoTDataValue(device, name) {
};
Vue.prototype.getIoTDataValue = getIoTDataValue;
Vue.prototype.moment = moment;
Vue.prototype.hasDevicePermission = function () {
if (store.state.layout) {
if (Enumerable.from(store.state.layout.roles).any(o => o.indexOf('管理员')>-1)) {
return true;
}
}
return false;
}
function getIoTDataUnit(device, name) {
var data = Enumerable.from(device.data).where(o => o.name === name).firstOrDefault();
if (data) {

Loading…
Cancel
Save