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<AppModule> Modules { get; set; }
public List<Organ> Organs { get; set; } public List<Organ> Organs { get; set; }
public ClaimsIdentity User { get; set; } public ClaimsIdentity User { get; set; }
public List<string> Roles { get; set; }
public Guid? CurrentOrganId { get; set; } public Guid? CurrentOrganId { get; set; }
} }
} }

@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System; using System;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Security.Claims; using System.Security.Claims;
@ -60,6 +61,7 @@ namespace Platform.Api
.Where(o => o.User.UserName == userName) .Where(o => o.User.UserName == userName)
.Select(o => o.Organ) .Select(o => o.Organ)
.ToList(); .ToList();
var organId = User.GetOrganId();
var model = new LayoutModel var model = new LayoutModel
{ {
Name = this._settingService.GetValue("name"), Name = this._settingService.GetValue("name"),
@ -69,7 +71,15 @@ namespace Platform.Api
Modules = modules, Modules = modules,
Organs = organs, Organs = organs,
CurrentOrganId = User.GetOrganId(), 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) 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-if="device.isOnline" class="text-success ion ion-ios-wifi"></i>
<i v-else class="text-danger ion ion-ios-wifi"></i> <i v-else class="text-danger ion ion-ios-wifi"></i>
</h3> </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> <span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div> </div>
</div> </div>

@ -4,7 +4,7 @@
<h3 class="card-title"> <h3 class="card-title">
{{device.displayName}} {{device.displayName}}
</h3> </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> <span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div> </div>
</div> </div>

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

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

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

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

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

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

@ -4,7 +4,7 @@
<h3 class="card-title"> <h3 class="card-title">
{{device.displayName}} {{device.displayName}}
</h3> </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> <span @click="visible = true" title="操作"><i class="ion ion-md-settings"></i></span>
</div> </div>
</div> </div>

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

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

@ -140,6 +140,14 @@ function getIoTDataValue(device, name) {
}; };
Vue.prototype.getIoTDataValue = getIoTDataValue; Vue.prototype.getIoTDataValue = getIoTDataValue;
Vue.prototype.moment = moment; 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) { function getIoTDataUnit(device, name) {
var data = Enumerable.from(device.data).where(o => o.name === name).firstOrDefault(); var data = Enumerable.from(device.data).where(o => o.name === name).firstOrDefault();
if (data) { if (data) {

Loading…
Cancel
Save