权限按钮控制

This commit is contained in:
Jason 2022-08-15 11:46:57 +08:00
parent 0831d571a9
commit 5b108d78b7
11 changed files with 46 additions and 50 deletions

View File

@ -17,7 +17,7 @@
<el-card class="!border-none mt-4" shadow="never" v-loading="pager.loading">
<div class="flex">
<data-table
v-perms="['tools.generator/selectTable']"
v-perms="['gen:importTable']"
class="inline-block mr-[10px]"
@success="getLists"
>
@ -29,7 +29,7 @@
</el-button>
</data-table>
<el-button
v-perms="['tools.generator/delete']"
v-perms="['gen:delTable']"
:disabled="!selectData.length"
@click="handleDelete(selectData)"
type="danger"
@ -40,7 +40,7 @@
删除
</el-button>
<el-button
v-perms="['tools.generator/generate']"
v-perms="['gen:genCode', 'gen:downloadCode']"
:disabled="!selectData.length"
@click="handleGenerate(selectData)"
>
@ -58,11 +58,11 @@
<el-table-column label="表描述" prop="tableComment" min-width="180" />
<el-table-column label="创建时间" prop="createTime" min-width="180" />
<el-table-column label="更新时间" prop="updateTime" min-width="180" />
<el-table-column label="操作" width="150" fixed="right">
<el-table-column label="操作" width="160" fixed="right">
<template #default="{ row }">
<div class="flex items-center">
<el-button
v-perms="['tools.generator/preview']"
v-perms="['gen:previewCode']"
type="primary"
link
@click="handlePreview(row.id)"
@ -70,9 +70,8 @@
预览
</el-button>
<el-button type="primary" link>
<el-button type="primary" link v-perms="['gen:editTable']">
<router-link
v-perms="['tools.generator/edit']"
:to="{
path: '/dev_tools/code/edit',
query: {
@ -83,7 +82,16 @@
编辑
</router-link></el-button
>
<el-dropdown class="ml-2" @command="handleCommand($event, row)">
<el-dropdown
class="ml-2"
@command="handleCommand($event, row)"
v-perms="[
'gen:genCode',
'gen:downloadCode',
'gen:syncTable',
'gen:delTable'
]"
>
<el-button type="primary" link>
更多
<icon name="el-icon-ArrowDown" :size="14" />
@ -91,21 +99,21 @@
<template #dropdown>
<el-dropdown-menu>
<div v-perms="['tools.generator/']">
<div v-perms="['gen:genCode', 'gen:downloadCode']">
<el-dropdown-item command="generate">
<el-button type="primary" link>
生成代码
</el-button>
</el-dropdown-item>
</div>
<div v-perms="['tools.generator/']">
<div v-perms="['gen:syncTable']">
<el-dropdown-item command="sync">
<el-button type="primary" link>
同步
</el-button>
</el-dropdown-item>
</div>
<div v-perms="['tools.generator/']">
<div v-perms="['gen:delTable']">
<el-dropdown-item command="delete">
<el-button type="danger" link> 删除 </el-button>
</el-dropdown-item>

View File

@ -20,7 +20,7 @@
</el-card>
<el-card class="!border-none mt-4" shadow="never">
<div>
<el-button v-perms="['dept.dept/add']" type="primary" @click="handleAdd()">
<el-button v-perms="['system:dept:add']" type="primary" @click="handleAdd()">
<template #icon>
<icon name="el-icon-Plus" />
</template>
@ -55,7 +55,7 @@
<el-table-column label="操作" width="160" fixed="right">
<template #default="{ row }">
<el-button
v-perms="['dept.dept/add']"
v-perms="['system:dept:add']"
type="primary"
link
@click="handleAdd(row.id)"
@ -63,7 +63,7 @@
新增
</el-button>
<el-button
v-perms="['dept.dept/edit']"
v-perms="['system:dept:edit']"
type="primary"
link
@click="handleEdit(row)"
@ -72,7 +72,7 @@
</el-button>
<el-button
v-if="row.pid !== 0"
v-perms="['dept.dept/delete']"
v-perms="['system:dept:del']"
type="danger"
link
@click="handleDelete(row.id)"

View File

@ -23,7 +23,7 @@
</el-card>
<el-card class="!border-none mt-4" shadow="never">
<div>
<el-button v-perms="['dept.jobs/add']" type="primary" @click="handleAdd()">
<el-button v-perms="['system:post:add']" type="primary" @click="handleAdd()">
<template #icon>
<icon name="el-icon-Plus" />
</template>
@ -45,7 +45,7 @@
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<el-button
v-perms="['dept.jobs/edit']"
v-perms="['system:post:edit']"
type="primary"
link
@click="handleEdit(row)"
@ -53,7 +53,7 @@
编辑
</el-button>
<el-button
v-perms="['dept.jobs/delete']"
v-perms="['system:post:del']"
type="danger"
link
@click="handleDelete(row.id)"

View File

@ -15,7 +15,7 @@
v-model="formData.username"
:disabled="isRoot"
placeholder="请输入账号"
></el-input>
/>
</el-form-item>
<el-form-item label="头像">
<div>
@ -54,7 +54,7 @@
:key="index"
:label="item.name"
:value="item.id"
></el-option>
/>
</el-select>
</el-form-item>
@ -65,22 +65,18 @@
class="flex-1"
placeholder="请选择角色"
>
<el-option v-if="isRoot" label="系统管理员" value="0"></el-option>
<el-option v-if="isRoot" label="系统管理员" value="0" />
<el-option
v-for="(item, index) in optionsData.role"
:key="index"
:label="item.name"
:value="String(item.id)"
></el-option>
/>
</el-select>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input
v-model="formData.password"
show-password
placeholder="请输入密码"
></el-input>
<el-input v-model="formData.password" show-password placeholder="请输入密码" />
</el-form-item>
<el-form-item label="确认密码" prop="passwordConfirm">
@ -88,7 +84,7 @@
v-model="formData.passwordConfirm"
show-password
placeholder="请输入确认密码"
></el-input>
/>
</el-form-item>
<el-form-item label="管理员状态" v-if="!isRoot">

View File

@ -47,13 +47,10 @@
<el-table-column label="创建时间" prop="createTime" min-width="180" />
<el-table-column label="最近登录时间" prop="lastLoginTime" min-width="180" />
<el-table-column label="最近登录IP" prop="lastLoginIp" min-width="120" />
<el-table-column
label="状态"
min-width="100"
v-perms="['system:admin:disable']"
>
<el-table-column label="状态" min-width="100">
<template #default="{ row }">
<el-switch
v-perms="['system:admin:disable']"
v-if="row.id != 1"
:model-value="row.isDisable"
:active-value="0"

View File

@ -71,7 +71,7 @@
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<el-button
v-perms="['setting.dict.dict_data/edit']"
v-perms="['setting:dict:data:edit']"
link
type="primary"
@click="handleEdit(row)"
@ -79,7 +79,7 @@
编辑
</el-button>
<el-button
v-perms="['setting.dict.dict_data/delete']"
v-perms="['setting:dict:data:del']"
link
type="danger"
@click="handleDelete(row.id)"

View File

@ -21,7 +21,7 @@
<el-table-column label="操作" min-width="80" fixed="right">
<template #default="{ row }">
<el-button
v-perms="['setting.storage/setup']"
v-perms="['setting:storage:edit']"
type="primary"
link
@click="handleSet(row.alias)"

View File

@ -23,10 +23,10 @@
</el-form-item>
<el-form-item label="访问时间">
<data-picker
v-model:start_time="formData.startTime"
v-model:end_time="formData.endTime"
></data-picker>
<daterange-picker
v-model:startTime="formData.startTime"
v-model:endTime="formData.endTime"
/>
</el-form-item>
<el-form-item label="访问链接">

View File

@ -2,13 +2,7 @@
<template>
<div class="website-information">
<el-card shadow="never" class="!border-none">
<el-form
ref="formRef"
:rules="rules"
class="ls-form"
:model="formData"
label-width="120px"
>
<el-form ref="formRef" :rules="rules" :model="formData" label-width="120px">
<el-form-item label="网站名称" prop="name">
<div class="w-80">
<el-input
@ -40,7 +34,7 @@
</el-form>
</el-card>
<footer-btns v-perms="['setting.web.web_setting/setWebsite']">
<footer-btns v-perms="['setting:website:save']">
<el-button type="primary" @click="handleSubmit">保存</el-button>
</footer-btns>
</div>

View File

@ -25,7 +25,7 @@
<editor class="mb-10" v-model="formData.privacy.content" height="500"></editor>
</el-card>
</div>
<footer-btns v-perms="['setting.web.web_setting/setAgreement']">
<footer-btns v-perms="['setting:protocol:save']">
<el-button type="primary" @click="handelSave">保存</el-button>
</footer-btns>
</template>

View File

@ -97,7 +97,8 @@ const { pager, getLists, resetPage, resetParams } = usePaging({
//
const { dictData } = useDictData<{
dict_sex: any[]
}>(['dict_sex'])
dict_1: any[]
}>(['dict_sex', 'dict_1'])
const handleAdd = async () => {
showEdit.value = true