fix: 🧩 系统配置权限按钮显示完成
This commit is contained in:
parent
397dbcfdff
commit
7cc97f162a
|
@ -12,32 +12,26 @@ import { selectUserinfo } from '@/components/Table/Userinfo/columns';
|
||||||
import { $t } from '@/plugins/i18n';
|
import { $t } from '@/plugins/i18n';
|
||||||
import { useEmailTemplateStore } from '@/store/configuration/emailTemplate.ts';
|
import { useEmailTemplateStore } from '@/store/configuration/emailTemplate.ts';
|
||||||
import { useRenderIcon } from '@/components/CommonIcon/src/hooks';
|
import { useRenderIcon } from '@/components/CommonIcon/src/hooks';
|
||||||
|
import { auth } from '@/views/configuration/emailTemplate/utils/auth';
|
||||||
|
import { hasAuth } from '@/router/utils';
|
||||||
|
|
||||||
const tableRef = ref();
|
const tableRef = ref();
|
||||||
const formRef = ref();
|
const formRef = ref();
|
||||||
const emailTemplateStore = useEmailTemplateStore();
|
const emailTemplateStore = useEmailTemplateStore();
|
||||||
|
|
||||||
/**
|
/** 当前页改变时 */
|
||||||
* * 当前页改变时
|
|
||||||
*/
|
|
||||||
const onCurrentPageChange = async (value: number) => {
|
const onCurrentPageChange = async (value: number) => {
|
||||||
emailTemplateStore.pagination.currentPage = value;
|
emailTemplateStore.pagination.currentPage = value;
|
||||||
await onSearch();
|
await onSearch();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** 当分页发生变化 */
|
||||||
* * 当分页发生变化
|
|
||||||
* @param value
|
|
||||||
*/
|
|
||||||
const onPageSizeChange = async (value: number) => {
|
const onPageSizeChange = async (value: number) => {
|
||||||
emailTemplateStore.pagination.pageSize = value;
|
emailTemplateStore.pagination.pageSize = value;
|
||||||
await onSearch();
|
await onSearch();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** 重置表单 */
|
||||||
* 重置表单
|
|
||||||
* @param formEl
|
|
||||||
*/
|
|
||||||
const resetForm = async formEl => {
|
const resetForm = async formEl => {
|
||||||
if (!formEl) return;
|
if (!formEl) return;
|
||||||
formEl.resetFields();
|
formEl.resetFields();
|
||||||
|
@ -57,31 +51,35 @@ onMounted(() => {
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<el-form ref="formRef" :inline="true" :model="emailTemplateStore.form" class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px] overflow-auto">
|
<Auth :value="auth.search">
|
||||||
<el-form-item :label="$t('emailTemplate_templateName')" prop="templateName">
|
<el-form ref="formRef" :inline="true" :model="emailTemplateStore.form" class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px] overflow-auto">
|
||||||
<el-input v-model="emailTemplateStore.form.templateName" :placeholder="`${$t('input')}${$t('emailTemplate_templateName')}`" class="!w-[180px]" clearable />
|
<el-form-item :label="$t('emailTemplate_templateName')" prop="templateName">
|
||||||
</el-form-item>
|
<el-input v-model="emailTemplateStore.form.templateName" :placeholder="`${$t('input')}${$t('emailTemplate_templateName')}`" class="!w-[180px]" clearable />
|
||||||
<el-form-item :label="$t('emailTemplate_subject')" prop="subject">
|
</el-form-item>
|
||||||
<el-input v-model="emailTemplateStore.form.subject" :placeholder="`${$t('input')}${$t('emailTemplate_subject')}`" class="!w-[180px]" clearable />
|
<el-form-item :label="$t('emailTemplate_subject')" prop="subject">
|
||||||
</el-form-item>
|
<el-input v-model="emailTemplateStore.form.subject" :placeholder="`${$t('input')}${$t('emailTemplate_subject')}`" class="!w-[180px]" clearable />
|
||||||
<el-form-item :label="$t('emailTemplate_body')" prop="body">
|
</el-form-item>
|
||||||
<el-input v-model="emailTemplateStore.form.body" :placeholder="`${$t('input')}${$t('emailTemplate_body')}`" class="!w-[180px]" clearable />
|
<el-form-item :label="$t('emailTemplate_body')" prop="body">
|
||||||
</el-form-item>
|
<el-input v-model="emailTemplateStore.form.body" :placeholder="`${$t('input')}${$t('emailTemplate_body')}`" class="!w-[180px]" clearable />
|
||||||
<el-form-item :label="$t('emailTemplate_type')" prop="type">
|
</el-form-item>
|
||||||
<el-input v-model="emailTemplateStore.form.type" :placeholder="`${$t('input')}${$t('emailTemplate_type')}`" class="!w-[180px]" clearable />
|
<el-form-item :label="$t('emailTemplate_type')" prop="type">
|
||||||
</el-form-item>
|
<el-input v-model="emailTemplateStore.form.type" :placeholder="`${$t('input')}${$t('emailTemplate_type')}`" class="!w-[180px]" clearable />
|
||||||
<el-form-item>
|
</el-form-item>
|
||||||
<el-button :icon="useRenderIcon('ri:search-line')" :loading="emailTemplateStore.loading" type="primary" @click="onSearch"> {{ $t('search') }} </el-button>
|
<el-form-item>
|
||||||
<el-button :icon="useRenderIcon(Refresh)" @click="resetForm(formRef)"> {{ $t('buttons.reset') }}</el-button>
|
<el-button :icon="useRenderIcon('ri:search-line')" :loading="emailTemplateStore.loading" type="primary" @click="onSearch"> {{ $t('search') }} </el-button>
|
||||||
</el-form-item>
|
<el-button :icon="useRenderIcon(Refresh)" @click="resetForm(formRef)"> {{ $t('buttons.reset') }}</el-button>
|
||||||
</el-form>
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</Auth>
|
||||||
|
|
||||||
<PureTableBar :columns="columns" :title="$t('emailTemplate')" @fullscreen="tableRef.setAdaptive()" @refresh="onSearch">
|
<PureTableBar :columns="columns" :title="$t('emailTemplate')" @fullscreen="tableRef.setAdaptive()" @refresh="onSearch">
|
||||||
<template #buttons>
|
<template #buttons>
|
||||||
<el-button :icon="useRenderIcon(AddFill)" type="primary" @click="onAdd"> {{ $t('addNew') }}</el-button>
|
<el-button v-if="hasAuth(auth.add)" :icon="useRenderIcon(AddFill)" type="primary" @click="onAdd">
|
||||||
|
{{ $t('addNew') }}
|
||||||
|
</el-button>
|
||||||
|
|
||||||
<!-- 批量删除按钮 -->
|
<!-- 批量删除按钮 -->
|
||||||
<el-button :disabled="!(selectRows.length > 0)" :icon="useRenderIcon(Delete)" type="danger" @click="onDeleteBatch">
|
<el-button v-if="hasAuth(auth.deleted)" :disabled="!(selectRows.length > 0)" :icon="useRenderIcon(Delete)" type="danger" @click="onDeleteBatch">
|
||||||
{{ $t('deleteBatches') }}
|
{{ $t('deleteBatches') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -124,8 +122,8 @@ onMounted(() => {
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #operation="{ row }">
|
<template #operation="{ row }">
|
||||||
<el-button :icon="useRenderIcon(EditPen)" :size="size" class="reset-margin" link type="primary" @click="onUpdate(row)"> {{ $t('modify') }} </el-button>
|
<el-button v-if="hasAuth(auth.update)" :icon="useRenderIcon(EditPen)" :size="size" class="reset-margin" link type="primary" @click="onUpdate(row)"> {{ $t('modify') }} </el-button>
|
||||||
<el-popconfirm :title="`${$t('delete')} ${row.templateName}?`" @confirm="onDelete(row)">
|
<el-popconfirm v-if="hasAuth(auth.deleted)" :title="`${$t('delete')} ${row.templateName}?`" @confirm="onDelete(row)">
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-button :icon="useRenderIcon(Delete)" :size="size" class="reset-margin" link type="primary">
|
<el-button :icon="useRenderIcon(Delete)" :size="size" class="reset-margin" link type="primary">
|
||||||
{{ $t('delete') }}
|
{{ $t('delete') }}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
export const auth = {
|
||||||
|
// 分页查询
|
||||||
|
search: ['emailTemplate::getEmailTemplateList'],
|
||||||
|
// 添加操作
|
||||||
|
add: ['emailTemplate::addEmailTemplate'],
|
||||||
|
// 更新操作
|
||||||
|
update: ['emailTemplate::updateEmailTemplate'],
|
||||||
|
// 删除操作
|
||||||
|
deleted: ['emailTemplate::deleteEmailTemplate'],
|
||||||
|
};
|
|
@ -14,6 +14,8 @@ import { useEmailUsersStore } from '@/store/configuration/emailUsers';
|
||||||
import { useRenderIcon } from '@/components/CommonIcon/src/hooks';
|
import { useRenderIcon } from '@/components/CommonIcon/src/hooks';
|
||||||
import { usePublicHooks } from '@/views/hooks';
|
import { usePublicHooks } from '@/views/hooks';
|
||||||
import { FormInstance } from 'element-plus';
|
import { FormInstance } from 'element-plus';
|
||||||
|
import { auth } from '@/views/configuration/emailUsers/utils/auth';
|
||||||
|
import { hasAuth } from '@/router/utils';
|
||||||
|
|
||||||
const tableRef = ref();
|
const tableRef = ref();
|
||||||
const formRef = ref();
|
const formRef = ref();
|
||||||
|
@ -21,37 +23,26 @@ const emailUsersStore = useEmailUsersStore();
|
||||||
// 用户是否停用样式
|
// 用户是否停用样式
|
||||||
const { switchStyle } = usePublicHooks();
|
const { switchStyle } = usePublicHooks();
|
||||||
|
|
||||||
/**
|
/** 当前页改变时 */
|
||||||
* * 当前页改变时
|
|
||||||
*/
|
|
||||||
const onCurrentPageChange = async (value: number) => {
|
const onCurrentPageChange = async (value: number) => {
|
||||||
emailUsersStore.pagination.currentPage = value;
|
emailUsersStore.pagination.currentPage = value;
|
||||||
await onSearch();
|
await onSearch();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** 当分页发生变化 */
|
||||||
* * 当分页发生变化
|
|
||||||
* @param value
|
|
||||||
*/
|
|
||||||
const onPageSizeChange = async (value: number) => {
|
const onPageSizeChange = async (value: number) => {
|
||||||
emailUsersStore.pagination.pageSize = value;
|
emailUsersStore.pagination.pageSize = value;
|
||||||
await onSearch();
|
await onSearch();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** 重置表单 */
|
||||||
* 重置表单
|
|
||||||
* @param formEl
|
|
||||||
*/
|
|
||||||
const resetForm = async (formEl: FormInstance | undefined) => {
|
const resetForm = async (formEl: FormInstance | undefined) => {
|
||||||
if (!formEl) return;
|
if (!formEl) return;
|
||||||
formEl.resetFields();
|
formEl.resetFields();
|
||||||
await onSearch();
|
await onSearch();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** 选择多行 */
|
||||||
* * 选择多行
|
|
||||||
* @param rows
|
|
||||||
*/
|
|
||||||
const onSelectionChange = (rows: Array<any>) => {
|
const onSelectionChange = (rows: Array<any>) => {
|
||||||
deleteIds.value = rows.map((row: any) => row.id);
|
deleteIds.value = rows.map((row: any) => row.id);
|
||||||
};
|
};
|
||||||
|
@ -63,39 +54,43 @@ onMounted(() => {
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<el-form ref="formRef" :inline="true" :model="emailUsersStore.form" class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px] overflow-auto">
|
<Auth :value="auth.search">
|
||||||
<!-- 邮箱-->
|
<el-form ref="formRef" :inline="true" :model="emailUsersStore.form" class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px] overflow-auto">
|
||||||
<el-form-item :label="$t('emailUsers_email')" prop="email">
|
<!-- 邮箱-->
|
||||||
<el-input v-model="emailUsersStore.form.email" :placeholder="`${$t('input')}${$t('emailUsers_email')}`" class="!w-[180px]" clearable />
|
<el-form-item :label="$t('emailUsers_email')" prop="email">
|
||||||
</el-form-item>
|
<el-input v-model="emailUsersStore.form.email" :placeholder="`${$t('input')}${$t('emailUsers_email')}`" class="!w-[180px]" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<!-- host地址-->
|
<!-- host地址-->
|
||||||
<el-form-item :label="$t('emailUsers_host')" prop="host">
|
<el-form-item :label="$t('emailUsers_host')" prop="host">
|
||||||
<el-input v-model="emailUsersStore.form.host" :placeholder="`${$t('input')}${$t('emailUsers_host')}`" class="!w-[180px]" clearable />
|
<el-input v-model="emailUsersStore.form.host" :placeholder="`${$t('input')}${$t('emailUsers_host')}`" class="!w-[180px]" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 端口号-->
|
<!-- 端口号-->
|
||||||
<el-form-item :label="$t('emailUsers_port')" prop="port">
|
<el-form-item :label="$t('emailUsers_port')" prop="port">
|
||||||
<el-input v-model="emailUsersStore.form.port" :placeholder="`${$t('input')}${$t('emailUsers_port')}`" class="!w-[180px]" clearable max="99999" min="0" type="number" />
|
<el-input v-model="emailUsersStore.form.port" :placeholder="`${$t('input')}${$t('emailUsers_port')}`" class="!w-[180px]" clearable max="99999" min="0" type="number" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 协议 -->
|
<!-- 协议 -->
|
||||||
<el-form-item :label="$t('emailUsers_smtpAgreement')" prop="smtpAgreement">
|
<el-form-item :label="$t('emailUsers_smtpAgreement')" prop="smtpAgreement">
|
||||||
<el-input v-model="emailUsersStore.form.smtpAgreement" :placeholder="`${$t('input')}${$t('emailUsers_smtpAgreement')}`" class="!w-[180px]" clearable />
|
<el-input v-model="emailUsersStore.form.smtpAgreement" :placeholder="`${$t('input')}${$t('emailUsers_smtpAgreement')}`" class="!w-[180px]" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button :icon="useRenderIcon('ri:search-line')" :loading="emailUsersStore.loading" type="primary" @click="onSearch"> {{ $t('search') }} </el-button>
|
<el-button :icon="useRenderIcon('ri:search-line')" :loading="emailUsersStore.loading" type="primary" @click="onSearch"> {{ $t('search') }} </el-button>
|
||||||
<el-button :icon="useRenderIcon(Refresh)" @click="resetForm(formRef)"> {{ $t('buttons.reset') }}</el-button>
|
<el-button :icon="useRenderIcon(Refresh)" @click="resetForm(formRef)"> {{ $t('buttons.reset') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
</Auth>
|
||||||
|
|
||||||
<PureTableBar :columns="columns" :title="$t('email_user_send_config')" @fullscreen="tableRef.setAdaptive()" @refresh="onSearch">
|
<PureTableBar :columns="columns" :title="$t('email_user_send_config')" @fullscreen="tableRef.setAdaptive()" @refresh="onSearch">
|
||||||
<template #buttons>
|
<template #buttons>
|
||||||
<el-button :icon="useRenderIcon(AddFill)" type="primary" @click="onAdd"> {{ $t('addNew') }}</el-button>
|
<el-button v-if="hasAuth(auth.add)" :icon="useRenderIcon(AddFill)" type="primary" @click="onAdd">
|
||||||
|
{{ $t('addNew') }}
|
||||||
|
</el-button>
|
||||||
|
|
||||||
<!-- 批量删除按钮 -->
|
<!-- 批量删除按钮 -->
|
||||||
<el-button :disabled="!(deleteIds.length > 0)" :icon="useRenderIcon(Delete)" type="danger" @click="onDeleteBatch">
|
<el-button v-if="hasAuth(auth.deleted)" :disabled="!(deleteIds.length > 0)" :icon="useRenderIcon(Delete)" type="danger" @click="onDeleteBatch">
|
||||||
{{ $t('deleteBatches') }}
|
{{ $t('deleteBatches') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -148,8 +143,8 @@ onMounted(() => {
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #operation="{ row }">
|
<template #operation="{ row }">
|
||||||
<el-button :icon="useRenderIcon(EditPen)" :size="size" class="reset-margin" link type="primary" @click="onUpdate(row)"> {{ $t('modify') }} </el-button>
|
<el-button v-if="hasAuth(auth.update)" :icon="useRenderIcon(EditPen)" :size="size" class="reset-margin" link type="primary" @click="onUpdate(row)"> {{ $t('modify') }} </el-button>
|
||||||
<el-popconfirm :title="`${$t('delete')}${row.email}?`" @confirm="onDelete(row)">
|
<el-popconfirm v-if="hasAuth(auth.deleted)" :title="`${$t('delete')}${row.email}?`" @confirm="onDelete(row)">
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-button :icon="useRenderIcon(Delete)" :size="size" class="reset-margin" link type="primary">
|
<el-button :icon="useRenderIcon(Delete)" :size="size" class="reset-margin" link type="primary">
|
||||||
{{ $t('delete') }}
|
{{ $t('delete') }}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
export const auth = {
|
||||||
|
// 分页查询
|
||||||
|
search: ['emailUsers::getEmailUsersList'],
|
||||||
|
// 添加操作
|
||||||
|
add: ['emailUsers::addEmailUsers'],
|
||||||
|
// 更新操作
|
||||||
|
update: ['emailUsers::updateEmailUsers'],
|
||||||
|
// 删除操作
|
||||||
|
deleted: ['emailUsers::deleteEmailUsers'],
|
||||||
|
};
|
|
@ -13,40 +13,31 @@ import { selectUserinfo } from '@/components/Table/Userinfo/columns';
|
||||||
import { $t } from '@/plugins/i18n';
|
import { $t } from '@/plugins/i18n';
|
||||||
import { useMenuIconStore } from '@/store/configuration/menuIcon';
|
import { useMenuIconStore } from '@/store/configuration/menuIcon';
|
||||||
import MenuIconSelectIconName from '@/views/configuration/menuIcon/menu-icon-select-icon-name.vue';
|
import MenuIconSelectIconName from '@/views/configuration/menuIcon/menu-icon-select-icon-name.vue';
|
||||||
|
import { auth } from '@/views/configuration/menuIcon/utils/auth';
|
||||||
|
import { hasAuth } from '@/router/utils';
|
||||||
|
|
||||||
const tableRef = ref();
|
const tableRef = ref();
|
||||||
const formRef = ref();
|
const formRef = ref();
|
||||||
const menuIconStore = useMenuIconStore();
|
const menuIconStore = useMenuIconStore();
|
||||||
|
|
||||||
/**
|
/** 当前页改变时 */
|
||||||
* * 当前页改变时
|
|
||||||
*/
|
|
||||||
const onCurrentPageChange = async (value: number) => {
|
const onCurrentPageChange = async (value: number) => {
|
||||||
menuIconStore.pagination.currentPage = value;
|
menuIconStore.pagination.currentPage = value;
|
||||||
await onSearch();
|
await onSearch();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** 当分页发生变化 */
|
||||||
* * 当分页发生变化
|
|
||||||
* @param value
|
|
||||||
*/
|
|
||||||
const onPageSizeChange = async (value: number) => {
|
const onPageSizeChange = async (value: number) => {
|
||||||
menuIconStore.pagination.pageSize = value;
|
menuIconStore.pagination.pageSize = value;
|
||||||
await onSearch();
|
await onSearch();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** 选择多行 */
|
||||||
* * 选择多行
|
|
||||||
* @param rows
|
|
||||||
*/
|
|
||||||
const onSelectionChange = (rows: Array<any>) => {
|
const onSelectionChange = (rows: Array<any>) => {
|
||||||
deleteIds.value = rows.map((row: any) => row.id);
|
deleteIds.value = rows.map((row: any) => row.id);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/** 重置表单 */
|
||||||
* 重置表单
|
|
||||||
* @param formEl
|
|
||||||
*/
|
|
||||||
const resetForm = async formEl => {
|
const resetForm = async formEl => {
|
||||||
if (!formEl) return;
|
if (!formEl) return;
|
||||||
formEl.resetFields();
|
formEl.resetFields();
|
||||||
|
@ -60,25 +51,29 @@ onMounted(() => {
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<el-form ref="formRef" :inline="true" :model="menuIconStore.form" class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px] overflow-auto">
|
<Auth :value="auth.search">
|
||||||
<el-form-item :label="$t('menuIcon_iconCode')" prop="iconCode">
|
<el-form ref="formRef" :inline="true" :model="menuIconStore.form" class="search-form bg-bg_color w-[99/100] pl-8 pt-[12px] overflow-auto">
|
||||||
<el-input v-model="menuIconStore.form.iconCode" :placeholder="`${$t('input')} ${$t('iconCode')}`" class="!w-[180px]" clearable />
|
<el-form-item :label="$t('menuIcon_iconCode')" prop="iconCode">
|
||||||
</el-form-item>
|
<el-input v-model="menuIconStore.form.iconCode" :placeholder="`${$t('input')} ${$t('iconCode')}`" class="!w-[180px]" clearable />
|
||||||
<el-form-item :label="$t('menuIcon_iconName')" prop="iconName">
|
</el-form-item>
|
||||||
<MenuIconSelectIconName :form-inline="menuIconStore.form" class="!w-[180px]" />
|
<el-form-item :label="$t('menuIcon_iconName')" prop="iconName">
|
||||||
</el-form-item>
|
<MenuIconSelectIconName :form-inline="menuIconStore.form" class="!w-[180px]" />
|
||||||
<el-form-item>
|
</el-form-item>
|
||||||
<el-button :icon="useRenderIcon('ri:search-line')" :loading="menuIconStore.loading" type="primary" @click="onSearch"> {{ $t('search') }} </el-button>
|
<el-form-item>
|
||||||
<el-button :icon="useRenderIcon(Refresh)" @click="resetForm(formRef)"> {{ $t('buttons.reset') }}</el-button>
|
<el-button :icon="useRenderIcon('ri:search-line')" :loading="menuIconStore.loading" type="primary" @click="onSearch"> {{ $t('search') }} </el-button>
|
||||||
</el-form-item>
|
<el-button :icon="useRenderIcon(Refresh)" @click="resetForm(formRef)"> {{ $t('buttons.reset') }}</el-button>
|
||||||
</el-form>
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</Auth>
|
||||||
|
|
||||||
<PureTableBar :columns="columns" :title="$t('menuIcon')" @fullscreen="tableRef.setAdaptive()" @refresh="onSearch">
|
<PureTableBar :columns="columns" :title="$t('menuIcon')" @fullscreen="tableRef.setAdaptive()" @refresh="onSearch">
|
||||||
<template #buttons>
|
<template #buttons>
|
||||||
<el-button :icon="useRenderIcon(AddFill)" type="primary" @click="onAdd"> {{ $t('addNew') }}</el-button>
|
<el-button v-if="hasAuth(auth.add)" :icon="useRenderIcon(AddFill)" type="primary" @click="onAdd">
|
||||||
|
{{ $t('addNew') }}
|
||||||
|
</el-button>
|
||||||
|
|
||||||
<!-- 批量删除按钮 -->
|
<!-- 批量删除按钮 -->
|
||||||
<el-button :disabled="!(deleteIds.length > 0)" :icon="useRenderIcon(Delete)" type="danger" @click="onDeleteBatch">
|
<el-button v-if="hasAuth(auth.deleted)" :disabled="!(deleteIds.length > 0)" :icon="useRenderIcon(Delete)" type="danger" @click="onDeleteBatch">
|
||||||
{{ $t('deleteBatches') }}
|
{{ $t('deleteBatches') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -123,8 +118,8 @@ onMounted(() => {
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #operation="{ row }">
|
<template #operation="{ row }">
|
||||||
<el-button :icon="useRenderIcon(EditPen)" :size="size" class="reset-margin" link type="primary" @click="onUpdate(row)"> {{ $t('modify') }} </el-button>
|
<el-button v-if="hasAuth(auth.update)" :icon="useRenderIcon(EditPen)" :size="size" class="reset-margin" link type="primary" @click="onUpdate(row)"> {{ $t('modify') }} </el-button>
|
||||||
<el-popconfirm :title="`${$t('delete')}${row.iconName}?`" @confirm="onDelete(row)">
|
<el-popconfirm v-if="hasAuth(auth.deleted)" :title="`${$t('delete')}${row.iconName}?`" @confirm="onDelete(row)">
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-button :icon="useRenderIcon(Delete)" :size="size" class="reset-margin" link type="primary">
|
<el-button :icon="useRenderIcon(Delete)" :size="size" class="reset-margin" link type="primary">
|
||||||
{{ $t('delete') }}
|
{{ $t('delete') }}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
export const auth = {
|
||||||
|
// 分页查询
|
||||||
|
search: ['menuIcon::getMenuIconList'],
|
||||||
|
// 添加操作
|
||||||
|
add: ['menuIcon::addMenuIcon'],
|
||||||
|
// 更新操作
|
||||||
|
update: ['menuIcon::updateMenuIcon'],
|
||||||
|
// 删除操作
|
||||||
|
deleted: ['menuIcon::deleteMenuIcon'],
|
||||||
|
};
|
|
@ -7,6 +7,8 @@ import { form, onSearch, submitForm } from '@/views/configuration/webConifg/util
|
||||||
import { rules } from '@/views/configuration/webConifg/utils/columns';
|
import { rules } from '@/views/configuration/webConifg/utils/columns';
|
||||||
import { userI18nTypeStore } from '@/store/i18n/i18nType';
|
import { userI18nTypeStore } from '@/store/i18n/i18nType';
|
||||||
import { usePublicHooks } from '@/views/hooks';
|
import { usePublicHooks } from '@/views/hooks';
|
||||||
|
import { auth } from '@/views/configuration/webConifg/utils/auth';
|
||||||
|
import { hasAuth } from '@/router/utils';
|
||||||
|
|
||||||
const ruleFormRef = ref<FormInstance>();
|
const ruleFormRef = ref<FormInstance>();
|
||||||
const i18nTypeStore = userI18nTypeStore();
|
const i18nTypeStore = userI18nTypeStore();
|
||||||
|
@ -216,7 +218,7 @@ onMounted(() => {
|
||||||
</re-col>
|
</re-col>
|
||||||
|
|
||||||
<!-- 提交内容 -->
|
<!-- 提交内容 -->
|
||||||
<re-col :sm="24" :value="12" :xs="24">
|
<re-col v-if="hasAuth(auth.update)" :sm="24" :value="12" :xs="24">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="submitForm(ruleFormRef)"> {{ $t('modifyingConfiguration') }}</el-button>
|
<el-button type="primary" @click="submitForm(ruleFormRef)"> {{ $t('modifyingConfiguration') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -224,5 +226,3 @@ onMounted(() => {
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped></style>
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
export const auth = {
|
||||||
|
// 更新操作
|
||||||
|
update: ['config::updateWebConfiguration'],
|
||||||
|
};
|
|
@ -0,0 +1,10 @@
|
||||||
|
export const auth = {
|
||||||
|
// 分页查询
|
||||||
|
search: ['emailTemplate::getEmailTemplateList'],
|
||||||
|
// 添加操作
|
||||||
|
add: ['emailTemplate::addEmailTemplate'],
|
||||||
|
// 更新操作
|
||||||
|
update: ['emailTemplate::updateEmailTemplate'],
|
||||||
|
// 删除操作
|
||||||
|
deleted: ['emailTemplate::deleteEmailTemplate'],
|
||||||
|
};
|
|
@ -0,0 +1,8 @@
|
||||||
|
// 分页查询
|
||||||
|
export const search = [];
|
||||||
|
// 添加操作
|
||||||
|
export const add = [];
|
||||||
|
// 更新操作
|
||||||
|
export const update = [];
|
||||||
|
// 删除操作
|
||||||
|
export const deleted = [];
|
|
@ -0,0 +1,8 @@
|
||||||
|
// 分页查询
|
||||||
|
export const search = [];
|
||||||
|
// 添加操作
|
||||||
|
export const add = [];
|
||||||
|
// 更新操作
|
||||||
|
export const update = [];
|
||||||
|
// 删除操作
|
||||||
|
export const deleted = [];
|
|
@ -0,0 +1,8 @@
|
||||||
|
// 分页查询
|
||||||
|
export const search = [];
|
||||||
|
// 添加操作
|
||||||
|
export const add = [];
|
||||||
|
// 更新操作
|
||||||
|
export const update = [];
|
||||||
|
// 删除操作
|
||||||
|
export const deleted = [];
|
|
@ -0,0 +1,8 @@
|
||||||
|
// 分页查询
|
||||||
|
export const search = [];
|
||||||
|
// 添加操作
|
||||||
|
export const add = [];
|
||||||
|
// 更新操作
|
||||||
|
export const update = [];
|
||||||
|
// 删除操作
|
||||||
|
export const deleted = [];
|
|
@ -0,0 +1,8 @@
|
||||||
|
// 分页查询
|
||||||
|
export const search = [];
|
||||||
|
// 添加操作
|
||||||
|
export const add = [];
|
||||||
|
// 更新操作
|
||||||
|
export const update = [];
|
||||||
|
// 删除操作
|
||||||
|
export const deleted = [];
|
|
@ -0,0 +1,8 @@
|
||||||
|
// 分页查询
|
||||||
|
export const search = [];
|
||||||
|
// 添加操作
|
||||||
|
export const add = [];
|
||||||
|
// 更新操作
|
||||||
|
export const update = [];
|
||||||
|
// 删除操作
|
||||||
|
export const deleted = [];
|
|
@ -0,0 +1,8 @@
|
||||||
|
// 分页查询
|
||||||
|
export const search = [];
|
||||||
|
// 添加操作
|
||||||
|
export const add = [];
|
||||||
|
// 更新操作
|
||||||
|
export const update = [];
|
||||||
|
// 删除操作
|
||||||
|
export const deleted = [];
|
|
@ -0,0 +1,8 @@
|
||||||
|
// 分页查询
|
||||||
|
export const search = [];
|
||||||
|
// 添加操作
|
||||||
|
export const add = [];
|
||||||
|
// 更新操作
|
||||||
|
export const update = [];
|
||||||
|
// 删除操作
|
||||||
|
export const deleted = [];
|
|
@ -0,0 +1,8 @@
|
||||||
|
// 分页查询
|
||||||
|
export const search = [];
|
||||||
|
// 添加操作
|
||||||
|
export const add = [];
|
||||||
|
// 更新操作
|
||||||
|
export const update = [];
|
||||||
|
// 删除操作
|
||||||
|
export const deleted = [];
|
|
@ -0,0 +1,8 @@
|
||||||
|
// 分页查询
|
||||||
|
export const search = [];
|
||||||
|
// 添加操作
|
||||||
|
export const add = [];
|
||||||
|
// 更新操作
|
||||||
|
export const update = [];
|
||||||
|
// 删除操作
|
||||||
|
export const deleted = [];
|
|
@ -7,8 +7,6 @@ export const auth = {
|
||||||
search: ['files::getFilesList'],
|
search: ['files::getFilesList'],
|
||||||
// 删除操作
|
// 删除操作
|
||||||
deleted: ['files::deleteFiles'],
|
deleted: ['files::deleteFiles'],
|
||||||
// 上传
|
|
||||||
upload: ['files::upload'],
|
|
||||||
// 下载文件
|
// 下载文件
|
||||||
downloadFilesByFileId: ['files::downloadFilesByFileId'],
|
downloadFilesByFileId: ['files::downloadFilesByFileId'],
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
export const auth = {
|
export const auth = {
|
||||||
// 更新操作
|
// 更新操作
|
||||||
update: ['router::updateMenu'],
|
update: ['router::updateMenu'],
|
||||||
// 修改菜单排序
|
|
||||||
updateMenuByIdWithRank: ['router::updateMenuByIdWithRank'],
|
|
||||||
// 添加操作
|
// 添加操作
|
||||||
add: ['router::addMenu'],
|
add: ['router::addMenu'],
|
||||||
// 分页查询
|
// 分页查询
|
||||||
|
@ -13,8 +11,6 @@ export const auth = {
|
||||||
assignRolesToRouter: ['routerRole::assignRolesToRouter'],
|
assignRolesToRouter: ['routerRole::assignRolesToRouter'],
|
||||||
// 批量为菜单添加角色
|
// 批量为菜单添加角色
|
||||||
assignAddBatchRolesToRouter: ['routerRole::assignAddBatchRolesToRouter'],
|
assignAddBatchRolesToRouter: ['routerRole::assignAddBatchRolesToRouter'],
|
||||||
// 根据菜单id获取所有角色
|
|
||||||
getRoleListByRouterId: ['routerRole::getRoleListByRouterId'],
|
|
||||||
// 清除选中菜单所有角色
|
// 清除选中菜单所有角色
|
||||||
clearAllRolesSelect: ['routerRole::clearAllRolesSelect'],
|
clearAllRolesSelect: ['routerRole::clearAllRolesSelect'],
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
export const auth = {
|
export const auth = {
|
||||||
// 分页查询
|
// 分页查询
|
||||||
search: ['power::getPowerList'],
|
search: ['power::getPowerList'],
|
||||||
// 获取所有权限
|
|
||||||
getAllPowers: ['power::getAllPowers'],
|
|
||||||
// 添加操作
|
// 添加操作
|
||||||
add: ['power::addPower'],
|
add: ['power::addPower'],
|
||||||
// 更新操作
|
// 更新操作
|
||||||
|
|
Loading…
Reference in New Issue