mirror of
https://github.com/jumpserver/lina.git
synced 2026-01-29 21:28:52 +00:00
perf: change asset permission detail bug
This commit is contained in:
@@ -2,10 +2,10 @@
|
||||
<div>
|
||||
<img v-if="icon" :src="icon" alt="icon" class="icon">
|
||||
<el-link
|
||||
:class="{ 'clicked': linkClicked }"
|
||||
:disabled="disabled"
|
||||
:type="col.type || 'info'"
|
||||
class="detail"
|
||||
:class="{ 'clicked': linkClicked }"
|
||||
@click="goDetail"
|
||||
>
|
||||
<slot>
|
||||
@@ -70,8 +70,11 @@ export default {
|
||||
row: this.row,
|
||||
cellValue: this.cellValue
|
||||
})
|
||||
},
|
||||
detailRoute() {
|
||||
}
|
||||
|
||||
},
|
||||
methods: {
|
||||
getDetailRoute() {
|
||||
// const defaultRoute = this.$route.name.replace('List', 'Detail')
|
||||
let route = this.formatterArgs.route
|
||||
if (this.formatterArgs.getRoute && typeof this.formatterArgs.getRoute === 'function') {
|
||||
@@ -96,22 +99,17 @@ export default {
|
||||
const routeQuery = this.formatterArgs.routeQuery
|
||||
if (routeQuery && typeof routeQuery === 'object') {
|
||||
detailRoute.query = this.formatterArgs.routeQuery
|
||||
|
||||
if (detailRoute.query.tab) {
|
||||
detailRoute.name = detailRoute.query.tab
|
||||
}
|
||||
}
|
||||
return detailRoute
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
},
|
||||
goDetail() {
|
||||
const detailRoute = this.getDetailRoute()
|
||||
if (this.formatterArgs.openInNewPage) {
|
||||
this.linkClicked = this.formatterArgs.removeColorOnClick
|
||||
const { href } = this.$router.resolve(this.detailRoute)
|
||||
const { href } = this.$router.resolve(detailRoute)
|
||||
window.open(href, '_blank')
|
||||
} else {
|
||||
this.$router.push(this.detailRoute)
|
||||
this.$router.push(detailRoute)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,12 +19,13 @@
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
border-radius: 10px;
|
||||
border: 1px solid #f0f0f0;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
border-radius: 8px;
|
||||
box-shadow: 8px 10px 20px #C6C6C6 inset;
|
||||
border: 2px solid rgba(0, 0, 0, 0);
|
||||
border-left: 2px solid rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
@@ -147,6 +148,7 @@ button, input, optgroup, select, textarea {
|
||||
.el-tooltip__popper.is-light {
|
||||
background-color: #ebeef5 !important;
|
||||
}
|
||||
|
||||
.el-tooltip__popper.is-dark {
|
||||
max-width: 500px;
|
||||
opacity: 0.9;
|
||||
@@ -264,6 +266,7 @@ input[type=file] {
|
||||
.sort-caret.ascending {
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.sort-caret.descending {
|
||||
bottom: 0;
|
||||
}
|
||||
@@ -362,7 +365,7 @@ input[type=file] {
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.el-link.is-underline:hover:after {
|
||||
.el-link.is-underline:hover:after {
|
||||
border-bottom: 1px solid #007bff !important;
|
||||
}
|
||||
|
||||
@@ -415,6 +418,7 @@ input[type=file] {
|
||||
label {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.el-input__icon {
|
||||
vertical-align: super
|
||||
}
|
||||
@@ -427,7 +431,7 @@ input[type=file] {
|
||||
|
||||
.el-input input::placeholder {
|
||||
font-weight: 400 !important;
|
||||
font-family: "Open Sans", sans-serif ;
|
||||
font-family: "Open Sans", sans-serif;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
@@ -474,12 +478,15 @@ $tooltip-arrow-color: #c2d1e1;
|
||||
&[x-placement^=right] .popper__arrow {
|
||||
border-right-color: $tooltip-arrow-color !important;
|
||||
}
|
||||
|
||||
&[x-placement^=left] .popper__arrow {
|
||||
border-left-color: $tooltip-arrow-color !important;
|
||||
}
|
||||
|
||||
&[x-placement^=top] .popper__arrow {
|
||||
border-top-color: $tooltip-arrow-color !important;
|
||||
}
|
||||
|
||||
&[x-placement^=bottom] .popper__arrow {
|
||||
border-bottom-color: $tooltip-arrow-color !important;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
<template>
|
||||
<GenericDetailPage :active-menu.sync="config.activeMenu" :object.sync="AssetPermission" v-bind="config" v-on="$listeners" @tab-click="TabClick">
|
||||
<GenericDetailPage
|
||||
:active-menu.sync="config.activeMenu"
|
||||
:object.sync="AssetPermission"
|
||||
v-bind="config"
|
||||
v-on="$listeners"
|
||||
@tab-click="TabClick"
|
||||
>
|
||||
<keep-alive>
|
||||
<component :is="config.activeMenu" :object="AssetPermission" />
|
||||
</keep-alive>
|
||||
@@ -25,7 +31,8 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
AssetPermission: {
|
||||
name: '', users_amount: 0, user_groups_amount: 0, assets_amount: 0, nodes_amount: 0, system_users_amount: 0,
|
||||
name: '', users_amount: 0, user_groups_amount: 0, assets_amount: 0,
|
||||
nodes_amount: 0, system_users_amount: 0,
|
||||
date_start: '', date_expired: ''
|
||||
},
|
||||
config: {
|
||||
|
||||
@@ -66,6 +66,7 @@ export const AssetPermissionTableMeta = {
|
||||
formatter: AmountFormatter,
|
||||
formatterArgs: {
|
||||
async: true,
|
||||
route: 'AssetPermissionDetail',
|
||||
routeQuery: {
|
||||
tab: 'AssetPermissionUser'
|
||||
}
|
||||
@@ -76,6 +77,7 @@ export const AssetPermissionTableMeta = {
|
||||
formatter: AmountFormatter,
|
||||
formatterArgs: {
|
||||
async: true,
|
||||
route: 'AssetPermissionDetail',
|
||||
routeQuery: {
|
||||
tab: 'AssetPermissionUser'
|
||||
}
|
||||
@@ -85,6 +87,7 @@ export const AssetPermissionTableMeta = {
|
||||
formatter: AmountFormatter,
|
||||
formatterArgs: {
|
||||
async: true,
|
||||
route: 'AssetPermissionDetail',
|
||||
routeQuery: {
|
||||
tab: 'AssetPermissionAsset'
|
||||
}
|
||||
@@ -95,6 +98,7 @@ export const AssetPermissionTableMeta = {
|
||||
formatter: AmountFormatter,
|
||||
formatterArgs: {
|
||||
async: true,
|
||||
route: 'AssetPermissionDetail',
|
||||
routeQuery: {
|
||||
tab: 'AssetPermissionAsset'
|
||||
}
|
||||
@@ -108,6 +112,7 @@ export const AssetPermissionTableMeta = {
|
||||
return AccountLabelMapper[item] || item
|
||||
}
|
||||
},
|
||||
route: 'AssetPermissionDetail',
|
||||
routeQuery: {
|
||||
tab: 'AssetPermissionAccount'
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user