fix: v-has权限调整

This commit is contained in:
@changcode
2022-01-11 17:05:21 +08:00
parent 95366a23c8
commit caef757c04
23 changed files with 44 additions and 42 deletions

View File

@@ -52,11 +52,11 @@
</el-tooltip>
</span>
<span class="chart-header__tool">
<el-dropdown v-clickoutside="clickos" trigger="click">
<el-dropdown v-clickoutside="clickos" v-has="['main_edit','main_delete','main_add']" trigger="click">
<i class="el-icon-more tool__icon" @click.stop="dropdownMenuShow = !dropdownMenuShow"></i>
<el-dropdown-menu style="display: none"></el-dropdown-menu>
<ul v-show="dropdownMenuShow" slot="dropdown" class="el-dropdown-menu nz-chart-dropdown">
<li class="el-dropdown-menu__item" @click="editChart">
<li class="el-dropdown-menu__item" v-has="'main_edit'" @click="editChart">
<i class="nz-icon nz-icon-edit" style="font-size: 16px;"></i>
<span>{{$t('dashboard.edit')}}</span>
</li>

View File

@@ -42,8 +42,8 @@
id="model"
:params="searchLabel"
:permissions="{
import: 'dc_edit',
export: 'dc_view'
import: 'dc_add',
export: 'dc_edit'
}"
class="top-tool-export margin-r-10"
export-file-name="cabinet"

View File

@@ -22,7 +22,7 @@
export-url="/endpoint/export"
import-url="/endpoint/import"
:params="endpointSearchLabel"
:permissions="{import: 'asset_endpoint_import', export: 'asset_endpoint_export'}"
:permissions="{import: 'monitor_endpoint_add', export: 'monitor_endpoint_edit'}"
@afterImport="getTableData"
class="margin-l-20"
>

View File

@@ -28,7 +28,7 @@
id="asset-list"
:params="filter"
:params-type="paramsType"
:permissions="{import: 'main_add', export: 'panel_view'}"
:permissions="{import: 'main_add', export: 'panel_edit'}"
class="top-tool-export margin-r-10"
export-file-name="asset-charts"
export-url="visual/panel/export"
@@ -64,7 +64,7 @@
id="asset-list"
:link="obj"
:params="filter"
:permissions="{import: 'main_add', export: 'panel_view'}"
:permissions="{import: 'main_add', export: 'main_edit'}"
:showCur="false"
:params-type="paramsType"
:showLock="from === fromRoute.endpoint"

View File

@@ -9,10 +9,10 @@
</el-dropdown-item>
<!-- importexport之前的内容 -->
<slot name="before"></slot>
<el-dropdown-item v-if="importUrl">
<el-dropdown-item v-has="permissions.import" v-if="importUrl">
<div id="chart-import" @click="showImportBox(1)"><i class="nz-icon nz-icon-upload"></i>{{$t('overall.importExcel')}}</div>
</el-dropdown-item>
<el-dropdown-item v-if="exportUrl">
<el-dropdown-item v-has="permissions.export" v-if="exportUrl">
<div id="chart-export"@click="showImportBox(2)"><i class="nz-icon nz-icon-download1"></i>{{$t('overall.exportExcel')}}</div>
</el-dropdown-item>
<!-- importexport之后的内容 -->

View File

@@ -122,6 +122,7 @@ export default {
self.menus = response.data.menus
self.selectedIds = response.data.selectedIds
self.menus[0].children[0].disabled = true
console.log(self.menus[0].children[0])
} else {
self.$message.error('load menu faild')
}

View File

@@ -50,16 +50,16 @@
fixed="right">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<button class="table-operation-item" @click="showBottomBox('panel', scope.row)"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['main_edit','main_delete']" trigger="click" @command="tableOperation">
<button class="table-operation-item" @click="showBottomBox('panel', scope.row)"><i class="nz-icon nz-icon-view1"></i></button>
<el-dropdown size="medium" v-has="['chartTemplate_edit','chartTemplate_delete']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more">
<i class="nz-icon nz-icon-more3"></i>
</div>
<el-dropdown-menu slot="dropdown" class="right-box-select-top right-public-box-dropdown-top">
<el-dropdown-item v-has="'main_edit'" :command="['edit', scope.row]"><i class="nz-icon nz-icon-edit"></i><span class="operation-dropdown-text">{{$t('overall.edit')}}</span></el-dropdown-item>
<el-dropdown-item v-has="'main_delete'" :command="['delete', scope.row]"><i class="nz-icon nz-icon-delete"></i><span class="operation-dropdown-text">{{$t('overall.delete')}}</span></el-dropdown-item>
<el-dropdown-item v-has="'main_edit'" :command="['copy', scope.row]"><i class="nz-icon nz-icon-override"></i><span class="operation-dropdown-text">{{$t('overall.duplicate')}}</span></el-dropdown-item>
<el-dropdown-item v-has="'main_edit'" :command="['sync', scope.row]"><i class="nz-icon nz-icon-sync"></i><span class="operation-dropdown-text">{{$t('overall.syncChart')}}</span></el-dropdown-item>
<el-dropdown-item v-has="'chartTemplate_edit'" :command="['edit', scope.row]"><i class="nz-icon nz-icon-edit"></i><span class="operation-dropdown-text">{{$t('overall.edit')}}</span></el-dropdown-item>
<el-dropdown-item v-has="'chartTemplate_delete'" :command="['delete', scope.row]"><i class="nz-icon nz-icon-delete"></i><span class="operation-dropdown-text">{{$t('overall.delete')}}</span></el-dropdown-item>
<el-dropdown-item v-has="'chartTemplate_edit'" :command="['copy', scope.row]"><i class="nz-icon nz-icon-override"></i><span class="operation-dropdown-text">{{$t('overall.duplicate')}}</span></el-dropdown-item>
<el-dropdown-item v-has="'chartTemplate_edit'" :command="['sync', scope.row]"><i class="nz-icon nz-icon-sync"></i><span class="operation-dropdown-text">{{$t('overall.syncChart')}}</span></el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>

View File

@@ -27,7 +27,7 @@
id="model"
:params="searchLabel"
:params2="searchCheckBox"
:permissions="{import: 'alertRule_add', export: 'alertRule_view'}"
:permissions="{import: 'alertRule_add', export: 'alertRule_edit'}"
class="top-tool-export margin-l-10 margin-r-10"
export-file-name="AlertRule"
export-url="/alert/rule/export"
@@ -90,7 +90,7 @@
ref="export"
id="alert-rule"
:params="searchLabel"
:permissions="{import: 'alertRule_add', export: 'alertRule_view'}"
:permissions="{import: 'alertRule_add', export: 'alertRule_edit'}"
class="top-tool-export margin-l-10 margin-r-10"
export-file-name="AlertRule"
export-url="/alert/rule/export"

View File

@@ -29,7 +29,7 @@
:params2="searchCheckBox"
:permissions="{
import: 'asset_add',
export: 'asset_view'
export: 'asset_edit'
}"
class="top-tool-export margin-l-10 margin-r-10"
export-file-name="asset"
@@ -101,7 +101,7 @@
:params2="searchCheckBox"
:permissions="{
import: 'asset_add',
export: 'asset_view'
export: 'asset_edit'
}"
class="top-tool-export margin-l-10 margin-r-10"
export-file-name="asset"

View File

@@ -29,7 +29,7 @@
:params2="searchCheckBox"
:permissions="{
import: 'dc_add',
export: 'dc_view'
export: 'dc_edit'
}"
class="top-tool-export margin-r-10"
export-file-name="datacenter"
@@ -95,7 +95,7 @@
:params="searchLabel"
:permissions="{
import: 'dc_add',
export: 'dc_view'
export: 'dc_edit'
}"
class="top-tool-export margin-r-10"
export-file-name="datacenter"

View File

@@ -21,7 +21,7 @@
:params="searchLabel"
:permissions="{
import: 'model_add',
export: 'model_view'
export: 'model_edit'
}"
class="top-tool-export margin-r-10"
export-file-name="asset-model"

View File

@@ -87,7 +87,7 @@
:width="operationWidth"
fixed="right">
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<div slot-scope="scope" v-has="['system_apiKey_edit','system_apiKey_delete']" class="table-operation-items">
<template v-if="scope.row.edit">
<button v-has="'system_apiKey_edit'" :disabled="prevent_opt.save" class="nz-btn nz-btn-size-mini nz-btn-style-normal" style="margin-right: 10px" type="button" @click="save(scope.row)"><span>{{$t('overall.save')}}</span></button>
<button :disabled="prevent_opt.save" class="nz-btn nz-btn-size-mini nz-btn-style-light" type="button" @click="cancel(scope.row)"><span>{{$t('overall.cancel')}}</span></button>

View File

@@ -51,6 +51,7 @@
ref="upload"
accept=".xml"
action=""
v-has="'system_license_edit'"
class="license-left-footer-upload"
:file-list="uploadFileList"
:auto-upload="false"

View File

@@ -12,7 +12,7 @@
</template>
<template v-slot:top-tool-right>
<button id="link-add" v-has="'snmp_mibFile_add'" :title="$t('config.system.notification.create')" class="top-tool-btn" type="button" @click="addLink">
<button id="link-add" v-has="'system_link_add'" :title="$t('config.system.notification.create')" class="top-tool-btn" type="button" @click="addLink">
<i class="nz-icon-create-square nz-icon"></i>
</button>
</template>

View File

@@ -61,17 +61,17 @@
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<template v-if="scope.row.edit">
<button :disabled="prevent_opt.save" class="nz-btn nz-btn-size-mini nz-btn-style-normal" style="margin-right: 10px" type="button" @click="saveOrUpdate(scope.row)"><span>{{$t('overall.save')}}</span></button>
<button :disabled="prevent_opt.save" class="nz-btn nz-btn-size-mini nz-btn-style-normal" v-has="'system_link_edit'" style="margin-right: 10px" type="button" @click="saveOrUpdate(scope.row)"><span>{{$t('overall.save')}}</span></button>
<button :disabled="prevent_opt.save" class="nz-btn nz-btn-size-mini nz-btn-style-light" type="button" @click="cancel(scope.row)"><span>{{$t('overall.cancel')}}</span></button>
</template>
<template v-else>
<button class="table-operation-item" @click="toEdit(scope.row)"><i class="nz-icon nz-icon-edit"></i></button>
<el-dropdown size="medium" trigger="click" @command="tableOperation">
<button class="table-operation-item" v-has="'system_link_edit'" @click="toEdit(scope.row)"><i class="nz-icon nz-icon-edit"></i></button>
<el-dropdown size="medium" v-has="['system_link_delete']" trigger="click" @command="tableOperation">
<div class="table-operation-item table-operation-item--more">
<i class="nz-icon nz-icon-more3"></i>
</div>
<el-dropdown-menu slot="dropdown" class="right-box-select-top right-public-box-dropdown-top">
<el-dropdown-item :command="['delete', scope.row]"><i class="nz-icon nz-icon-delete"></i><span class="operation-dropdown-text">{{$t('overall.delete')}}</span></el-dropdown-item>
<el-dropdown-item v-has="'system_link_delete'" :command="['delete', scope.row]"><i class="nz-icon nz-icon-delete"></i><span class="operation-dropdown-text">{{$t('overall.delete')}}</span></el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>

View File

@@ -13,7 +13,7 @@
</template>
<template v-slot:top-tool-right>
<button id="notify-add" v-has="'snmp_mibFile_add'" :title="$t('config.system.notification.create')" class="top-tool-btn" type="button" @click="addNotify">
<button id="notify-add" v-has="'system_notification_add'" :title="$t('config.system.notification.create')" class="top-tool-btn" type="button" @click="addNotify">
<i class="nz-icon-create-square nz-icon"></i>
</button>
</template>

View File

@@ -71,17 +71,17 @@
<div slot="header" class="table-operation-title">{{$t('overall.option')}}</div>
<div slot-scope="scope" class="table-operation-items">
<template v-if="scope.row.edit">
<button :disabled="prevent_opt.save" class="nz-btn nz-btn-size-mini nz-btn-style-normal" style="margin-right: 10px" type="button" @click="saveOrUpdate(scope.row)"><span>{{$t('overall.save')}}</span></button>
<button :disabled="prevent_opt.save" class="nz-btn nz-btn-size-mini nz-btn-style-normal" v-has="'system_notification_edit'" style="margin-right: 10px" type="button" @click="saveOrUpdate(scope.row)"><span>{{$t('overall.save')}}</span></button>
<button :disabled="prevent_opt.save" class="nz-btn nz-btn-size-mini nz-btn-style-light" type="button" @click="cancel(scope.row)"><span>{{$t('overall.cancel')}}</span></button>
</template>
<template v-else>
<button :class="{'table-operation-item--disable':isBuiltIn(scope.row)}" :disabled="isBuiltIn(scope.row)" class="table-operation-item" @click="toEdit(scope.row)"><i class="nz-icon nz-icon-edit"></i></button>
<el-dropdown size="medium" trigger="click" @command="tableOperation">
<button v-has="'system_notification_edit'" :class="{'table-operation-item--disable':isBuiltIn(scope.row)}" :disabled="isBuiltIn(scope.row)" class="table-operation-item" @click="toEdit(scope.row)"><i class="nz-icon nz-icon-edit"></i></button>
<el-dropdown size="medium" trigger="click" v-has="['system_notification_delete']" @command="tableOperation">
<div class="table-operation-item table-operation-item--more">
<i class="nz-icon nz-icon-more3"></i>
</div>
<el-dropdown-menu slot="dropdown" class="right-box-select-top right-public-box-dropdown-top">
<el-dropdown-item :command="['delete', scope.row]"><i class="nz-icon nz-icon-delete"></i><span class="operation-dropdown-text">{{$t('overall.delete')}}</span></el-dropdown-item>
<el-dropdown-item v-has="'system_notification_delete'" :command="['delete', scope.row]"><i class="nz-icon nz-icon-delete"></i><span class="operation-dropdown-text">{{$t('overall.delete')}}</span></el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>

View File

@@ -51,7 +51,7 @@
groupId: 0
}"
:paramsType="'template'"
:permissions="{import: 'expressionTemplate_add', export: 'expressionTemplate_view'}"
:permissions="{import: 'expressionTemplate_add', export: 'expressionTemplate_edit'}"
class="top-tool-export margin-r-10"
@afterImport="getTableData"
>

View File

@@ -30,7 +30,7 @@
import-url="expression/tmpl/import"
export-file-name="expression-template"
:params="searchLabel"
:permissions="{import: 'expressionTemplate_add', export: 'expressionTemplate_view'}"
:permissions="{import: 'expressionTemplate_add', export: 'expressionTemplate_edit'}"
class="top-tool-export margin-l-10 margin-r-10"
@afterImport="getTableData"
>

View File

@@ -66,7 +66,7 @@ export default {
},
created () {
},
mounted() {
mounted () {
this.templateHas()
this.switchTab = this.$route.query.switchTab || this.templateHasTab
}

View File

@@ -53,7 +53,7 @@
:params="filter"
:permissions="{
import: 'main_add',
export: 'panel_view'
export: 'main_edit'
}"
:paramsType="'dashboard'"
class="top-tool-export"
@@ -71,7 +71,7 @@
<el-dropdown-item v-has="'main_add'">
<div id="chart-temp-add" @click="addChartByTemp"><i class="nz-icon nz-icon-add"></i>{{$t('overall.AddByTemplate')}}</div>
</el-dropdown-item>
<el-dropdown-item v-has="'main_edit'">
<el-dropdown-item v-has="'panel_view'">
<div id="chart-temp-sync" @click="chartBySync"><i class="nz-icon nz-icon-sync"></i>{{ $t('overall.syncChart') }}</div>
</el-dropdown-item>
</template>

View File

@@ -27,7 +27,7 @@
id="model"
:params="searchLabel"
:params2="searchCheckBox"
:permissions="{import: 'monitor_endpoint_add', export: 'monitor_module_view'}"
:permissions="{import: 'monitor_endpoint_add', export: 'monitor_module_edit'}"
class="top-tool-export margin-l-10 margin-r-10"
export-file-name="endpoint"
export-url="monitor/endpoint/export"
@@ -96,7 +96,7 @@
id="endpoint-template-list"
:params="searchLabel"
:params2="searchCheckBox"
:permissions="{import: 'monitor_endpoint_add', export: 'monitor_module_view'}"
:permissions="{import: 'monitor_endpoint_add', export: 'monitor_module_edit'}"
class="top-tool-export margin-l-10 margin-r-10"
export-file-name="endpoint"
export-url="monitor/endpoint/export"

View File

@@ -27,7 +27,7 @@
id="model"
:params="searchLabel"
:params2="searchCheckBox"
:permissions="{import: 'monitor_endpoint_add', export: 'monitor_module_view'}"
:permissions="{import: 'monitor_endpoint_add', export: 'monitor_module_edit'}"
class="top-tool-export margin-l-10 margin-r-10"
export-file-name="module"
export-url="monitor/module/export"
@@ -92,7 +92,7 @@
id="endpoint-template-list"
:params="searchLabel"
:params2="searchCheckBox"
:permissions="{import: 'monitor_endpoint_add', export: 'monitor_module_view'}"
:permissions="{import: 'monitor_endpoint_add', export: 'monitor_module_edit'}"
class="top-tool-export margin-l-10 margin-r-10"
export-file-name="module"
export-url="monitor/module/export"