|
|
|
@ -6,7 +6,10 @@
|
|
|
|
|
<a class="nav-link" data-widget="pushmenu" href="#"><i class="fas fa-bars"></i></a>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item d-none d-sm-inline-block">
|
|
|
|
|
<router-link :to="{path:'/'}" class="nav-link">首页</router-link>
|
|
|
|
|
<router-link to="/" :class="'nav-link'+(area==='default'?' active':'')">首页</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item d-none d-sm-inline-block">
|
|
|
|
|
<router-link to="/router/admin/home.html?area=admin" :class="'nav-link'+(area==='admin'?' active':'')">管理</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<ul class="navbar-nav ml-auto" v-if="model.username">
|
|
|
|
@ -28,60 +31,63 @@
|
|
|
|
|
</nav>
|
|
|
|
|
<aside class="main-sidebar sidebar-dark-primary elevation-4">
|
|
|
|
|
<a class="brand-link" href="/">
|
|
|
|
|
<img class="brand-image img-circle elevation-3" style="opacity: .8" :src="model.logo" />
|
|
|
|
|
<img class="brand-image img-circle elevation-3" :src="model.logo" />
|
|
|
|
|
<span class="brand-text font-weight-light">{{model.name}}</span>
|
|
|
|
|
</a>
|
|
|
|
|
<div class="sidebar">
|
|
|
|
|
<nav class="mt-2">
|
|
|
|
|
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
|
|
|
|
|
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false" v-if="area==='default'">
|
|
|
|
|
<li class="nav-item">
|
|
|
|
|
<router-link to="/" :class="getPageClass('/','/router/product.html','/router/device.html')">
|
|
|
|
|
<i class="fa fa-folder nav-icon"></i>
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
产品
|
|
|
|
|
首页
|
|
|
|
|
</p>
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item">
|
|
|
|
|
<router-link to="/router/nodes.html" :class="getPageClass('/router/nodes.html','/router/node.html')">
|
|
|
|
|
<i class="fa fa-cube nav-icon"></i>
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
节点
|
|
|
|
|
</p>
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Setting')">
|
|
|
|
|
<router-link to="/router/admin/home.html" :class="getPageClass('/router/admin/home.html')">
|
|
|
|
|
<i class="fa fa-folder nav-icon"></i>
|
|
|
|
|
</ul>
|
|
|
|
|
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false" v-if="area==='admin'">
|
|
|
|
|
<li class="nav-item">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/admin/index.html?entity=Setting" :class="getPageClass('/router/admin/home.html')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
控制台?
|
|
|
|
|
首页
|
|
|
|
|
</p>
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Setting')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=Setting" :class="getLinkClass('Setting')">
|
|
|
|
|
<i class="fa fa-folder nav-icon"></i>
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=Setting" :class="getLinkClass('Setting')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
设置?
|
|
|
|
|
</p>
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-User')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=User" :class="getLinkClass('User')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=User" :class="getLinkClass('User')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
用户管理
|
|
|
|
|
</p>
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<!--角色权限-->
|
|
|
|
|
<li :class="getGroupLiClass('Role','Permission')" v-if="hasPermission('Read-Role')||hasPermission('Read-Permission')">
|
|
|
|
|
<a href="javascript:;" :class="getGroupLinkClass('Role','Permission')" @click.stop="toggle($event)">
|
|
|
|
|
<i class="fa fa-user"></i>
|
|
|
|
|
<i class="fa fa-folder nav-icon"></i>
|
|
|
|
|
<p>角色权限<i class="right fas fa-angle-left"></i></p>
|
|
|
|
|
</a>
|
|
|
|
|
<ul class="nav nav-treeview">
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Role')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=Role" :class="getLinkClass('Role')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=Role" :class="getLinkClass('Role')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
角色管理
|
|
|
|
@ -89,7 +95,7 @@
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Permission')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=Permission" :class="getLinkClass('Permission')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=Permission" :class="getLinkClass('Permission')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
权限管理
|
|
|
|
@ -98,14 +104,15 @@
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
<!--产品-->
|
|
|
|
|
<li :class="getGroupLiClass('Product','Api','Parameter')" v-if="hasPermission('Read-Product')||hasPermission('Read-Api')||hasPermission('Read-Parameter')">
|
|
|
|
|
<a href="javascript:;" :class="getGroupLinkClass('Product','Api','Parameter')" @click.stop="toggle($event)">
|
|
|
|
|
<i class="fa fa-user"></i>
|
|
|
|
|
<i class="fa fa-folder nav-icon"></i>
|
|
|
|
|
<p>产品管理<i class="right fas fa-angle-left"></i></p>
|
|
|
|
|
</a>
|
|
|
|
|
<ul class="nav nav-treeview">
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Product')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=Product" :class="getLinkClass('Product')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=Product" :class="getLinkClass('Product')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
产品管理
|
|
|
|
@ -113,7 +120,7 @@
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Api')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=Api" :class="getLinkClass('Api')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=Api" :class="getLinkClass('Api')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
接口管理
|
|
|
|
@ -121,7 +128,7 @@
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Parameter')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=Parameter" :class="getLinkClass('Parameter')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=Parameter" :class="getLinkClass('Parameter')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
参数管理
|
|
|
|
@ -130,14 +137,15 @@
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
<!--节点-->
|
|
|
|
|
<li :class="getGroupLiClass('Node','Device','Data','Command')" v-if="hasPermission('Read-Node')||hasPermission('Read-Device')||hasPermission('Read-Data')||hasPermission('Read-Command')">
|
|
|
|
|
<a href="javascript:;" :class="getGroupLinkClass('Node','Device','Data','Command')" @click.stop="toggle($event)">
|
|
|
|
|
<i class="fa fa-user"></i>
|
|
|
|
|
<i class="fa fa-folder nav-icon"></i>
|
|
|
|
|
<p>节点管理<i class="right fas fa-angle-left"></i></p>
|
|
|
|
|
</a>
|
|
|
|
|
<ul class="nav nav-treeview">
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Node')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=Node" :class="getLinkClass('Node')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=Node" :class="getLinkClass('Node')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
节点管理
|
|
|
|
@ -145,7 +153,7 @@
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Device')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=Device" :class="getLinkClass('Device')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=Device" :class="getLinkClass('Device')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
设备管理
|
|
|
|
@ -153,7 +161,7 @@
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Data')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=Data" :class="getLinkClass('Data')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=Data" :class="getLinkClass('Data')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
数据管理?
|
|
|
|
@ -161,7 +169,7 @@
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Command')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=Command" :class="getLinkClass('Command')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=Command" :class="getLinkClass('Command')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
命令管理?
|
|
|
|
@ -170,14 +178,15 @@
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
<!--节点场景-->
|
|
|
|
|
<li :class="getGroupLiClass('Scene','SceneCommand','SceneTimer','SceneTigger')" v-if="hasPermission('Read-Scene')||hasPermission('Read-SceneCommand')||hasPermission('Read-SceneTimer')||hasPermission('Read-SceneTigger')">
|
|
|
|
|
<a href="javascript:;" :class="getGroupLinkClass('Scene','SceneCommand','SceneTimer','SceneTigger')" @click.stop="toggle($event)">
|
|
|
|
|
<i class="fa fa-user"></i>
|
|
|
|
|
<i class="fa fa-folder nav-icon"></i>
|
|
|
|
|
<p>节点场景<i class="right fas fa-angle-left"></i></p>
|
|
|
|
|
</a>
|
|
|
|
|
<ul class="nav nav-treeview">
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Scene')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=Scene" :class="getLinkClass('Scene')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=Scene" :class="getLinkClass('Scene')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
场景管理
|
|
|
|
@ -185,7 +194,7 @@
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-SceneCommand')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=SceneCommand" :class="getLinkClass('SceneCommand')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=SceneCommand" :class="getLinkClass('SceneCommand')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
场景命令管理
|
|
|
|
@ -193,7 +202,7 @@
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-SceneTimer')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=SceneTimer" :class="getLinkClass('SceneTimer')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=SceneTimer" :class="getLinkClass('SceneTimer')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
定时器管理
|
|
|
|
@ -201,7 +210,7 @@
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-SceneTigger')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?entity=SceneTigger" :class="getLinkClass('SceneTigger')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=SceneTigger" :class="getLinkClass('SceneTigger')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
触发器管理
|
|
|
|
@ -210,6 +219,79 @@
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
<!--平台场景-->
|
|
|
|
|
<li :class="getGroupLiClass('GlobalScene','GlobalSceneCommand','GlobalSceneTimer','GlobalSceneTigger')" v-if="hasPermission('Read-GlobalScene')||hasPermission('Read-GlobalSceneCommand')||hasPermission('Read-GlobalSceneTimer')||hasPermission('Read-GlobalSceneTigger')">
|
|
|
|
|
<a href="javascript:;" :class="getGroupLinkClass('GlobalScene','GlobalSceneCommand','GlobalSceneTimer','GlobalSceneTigger')" @click.stop="toggle($event)">
|
|
|
|
|
<i class="fa fa-folder nav-icon"></i>
|
|
|
|
|
<p>平台场景<i class="right fas fa-angle-left"></i></p>
|
|
|
|
|
</a>
|
|
|
|
|
<ul class="nav nav-treeview">
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-GlobalScene')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=GlobalScene" :class="getLinkClass('GlobalScene')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
场景管理
|
|
|
|
|
</p>
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-GlobalSceneCommand')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=GlobalSceneCommand" :class="getLinkClass('GlobalSceneCommand')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
场景命令管理
|
|
|
|
|
</p>
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-GlobalSceneTimer')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=GlobalSceneTimer" :class="getLinkClass('GlobalSceneTimer')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
定时器管理
|
|
|
|
|
</p>
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-GlobalSceneTigger')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=GlobalSceneTigger" :class="getLinkClass('GlobalSceneTigger')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
触发器管理
|
|
|
|
|
</p>
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-NodeCategory')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=NodeCategory" :class="getLinkClass('NodeCategory')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
节点分类
|
|
|
|
|
</p>
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-Organ')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=Organ" :class="getLinkClass('Organ')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
机构管理
|
|
|
|
|
</p>
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-LiveRecord')">
|
|
|
|
|
<router-link :key="$route.fullPath" to="/router/shared/list.html?area=admin&entity=LiveRecord" :class="getLinkClass('LiveRecord')">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
回放管理
|
|
|
|
|
</p>
|
|
|
|
|
</router-link>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" v-if="hasPermission('Read-LiveRecord')">
|
|
|
|
|
<a class="nav-link" href="//JobServer/job">
|
|
|
|
|
<i class="far fa-circle nav-icon"></i>
|
|
|
|
|
<p>
|
|
|
|
|
定时任务
|
|
|
|
|
</p>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</nav>
|
|
|
|
|
</div>
|
|
|
|
@ -254,6 +336,7 @@
|
|
|
|
|
export default {
|
|
|
|
|
data: function () {
|
|
|
|
|
return {
|
|
|
|
|
area: this.$route.query.area || 'default',
|
|
|
|
|
activeIndex: 1,
|
|
|
|
|
openKeys: ['sub1'],
|
|
|
|
|
url: config.baseUrl + '/IoTCenter/api/v1/site/getSite',
|
|
|
|
|