fix: 权限管理

This commit is contained in:
easy 2023-03-13 16:03:14 +08:00
parent 5c65ca9c50
commit 4b63114795
3 changed files with 38 additions and 24 deletions

View File

@ -45,8 +45,8 @@
label="名称"
name="name"
:rules="[
{ required: true, message: '请输入名称' },
{ max: 64, message: '最多可输入64个字符' },
{ required: true, message: '请输入名称',trigger: 'change', },
{ max: 64, message: '最多可输入64个字符', trigger: 'change', },
]"
>
<j-input v-model:value="form.data.name" />
@ -57,8 +57,8 @@
label="编码"
name="code"
:rules="[
{ required: true, message: '' },
{ max: 64, message: '' },
{ required: true, message: '请输入编码', trigger: 'change', },
{ max: 64, message: '最多可输入64个字符', trigger: 'change', },
{
validator: form.checkCode,
trigger: 'blur',

View File

@ -12,7 +12,16 @@
<j-form-item
name="id"
:rules="[
{ required: true, message: '请输入标识(ID)' },
{
required: true,
message: '请输入标识(ID)',
trigger: 'change',
},
{
max: 64,
message: '最多可输入64个字符',
trigger: 'change',
},
{ validator: form.rules.idCheck, trigger: 'blur' },
]"
class="question-item"
@ -33,19 +42,23 @@
<j-input
v-model:value="form.data.id"
placeholder="请输入标识(ID)"
:maxlength="64"
:disabled="dialogTitle === '编辑'"
/>
</j-form-item>
<j-form-item
name="name"
label="名称"
:rules="[{ required: true, message: '请输入名称' }]"
:rules="[
{ required: true, message: '请输入名称' },
{
max: 64,
message: '最多可输入64个字符',
},
]"
>
<j-input
v-model:value="form.data.name"
placeholder="请输入名称"
:maxlength="64"
/>
</j-form-item>
</j-form>
@ -146,16 +159,17 @@ const form = reactive({
},
rules: {
//
idCheck: (_rule: Rule, id: string, cb: Function) => {
if (props.data.id) return cb();
else if (!id) return cb('请输入标识(ID)');
checkId_api({ id })
.then((resp: any) => {
if (resp.status === 200 && !resp.result.passed)
cb(resp.result.reason);
else cb();
})
.catch(() => cb('验证失败'));
idCheck: async (_rule: Rule, id: string): Promise<any> => {
if (!id) return Promise.reject('请输入标识(ID)');
else if (id.length > 64)
return Promise.reject('最多可输入64个字符');
else if (props.data.id && props.data.id === form.data.id)
return Promise.resolve();
else {
const resp: any = await checkId_api({ id });
if (resp.result.passed) return Promise.resolve();
else return Promise.reject(resp.result.reason);
}
},
},
submit: () => {

View File

@ -17,7 +17,7 @@
<template #headerTitle>
<PermissionButton
type="primary"
:uhasPermission="`${permission}:add`"
:hasPermission="`${permission}:add`"
@click="table.openDialog(undefined)"
>
<AIcon type="PlusOutlined" />新增
@ -27,7 +27,7 @@
<template #overlay>
<j-menu>
<j-menu-item>
<j-upload
<a-upload
name="file"
action="#"
accept=".json"
@ -44,11 +44,11 @@
>
导入
</PermissionButton>
</j-upload>
</a-upload>
</j-menu-item>
<j-menu-item>
<PermissionButton
:uhasPermission="`${permission}:export`"
:hasPermission="`${permission}:export`"
:popConfirm="{
title: `确认导出?`,
onConfirm: () =>
@ -86,7 +86,7 @@
</PermissionButton>
<PermissionButton
:uhasPermission="`${permission}:action`"
:hasPermission="`${permission}:action`"
type="link"
:popConfirm="{
title: `确定要${
@ -108,7 +108,7 @@
</PermissionButton>
<PermissionButton
:uhasPermission="`${permission}:delete`"
:hasPermission="`${permission}:delete`"
type="link"
:tooltip="{
title: slotProps.status