优化设置-权限页面
This commit is contained in:
parent
81f6620bf1
commit
4703036062
@ -32,16 +32,20 @@
|
|||||||
@update:selections="(e) => (selectedItems = e)"
|
@update:selections="(e) => (selectedItems = e)"
|
||||||
>
|
>
|
||||||
<template #header-left="{ listResource }">
|
<template #header-left="{ listResource }">
|
||||||
<n-dropdown :options="getDropdownOptions(listResource)" trigger="click">
|
<n-dropdown
|
||||||
<n-button>
|
:options="getDropdownOptions(listResource)"
|
||||||
<template #icon>
|
trigger="click"
|
||||||
<n-icon><AppWindowIcon /></n-icon>
|
@select="(key) => handleDropdownSelect(key, listResource)"
|
||||||
</template>
|
>
|
||||||
|
<n-button>
|
||||||
|
<template #icon>
|
||||||
|
<n-icon><AppWindowIcon /></n-icon>
|
||||||
|
</template>
|
||||||
|
<span class="flex items-center gap-2">
|
||||||
{{ currentDropdownOption.label }}
|
{{ currentDropdownOption.label }}
|
||||||
<template #suffix>
|
<n-icon class="ml-1"><ChevronDownIcon /></n-icon>
|
||||||
<n-icon><ChevronDownIcon /></n-icon>
|
</span>
|
||||||
</template>
|
</n-button>
|
||||||
</n-button>
|
|
||||||
</n-dropdown>
|
</n-dropdown>
|
||||||
</template>
|
</template>
|
||||||
</ObjectList>
|
</ObjectList>
|
||||||
@ -61,11 +65,11 @@
|
|||||||
<span class="text-lg font-semibold">{{ $t('Add Permission') }}</span>
|
<span class="text-lg font-semibold">{{ $t('Add Permission') }}</span>
|
||||||
</template>
|
</template>
|
||||||
<n-space vertical :size="20">
|
<n-space vertical :size="20">
|
||||||
<n-form-item :label="$t('Select {type}', { type: currentDropdownOption.pagetype === 'Release Group' ? $t('Release Group') : currentDropdownOption.pagetype })">
|
<n-form-item :label="$t('Select {type}', { type: getTypeLabel(currentDropdownOption.pagetype) })">
|
||||||
<!-- 这里需要使用 LinkControl 或类似的组件来选择文档 -->
|
<!-- 这里需要使用 LinkControl 或类似的组件来选择文档 -->
|
||||||
<n-input
|
<n-input
|
||||||
v-model:value="selectedDocument"
|
v-model:value="selectedDocument"
|
||||||
:placeholder="$t('Select {type}', { type: currentDropdownOption.pagetype === 'Release Group' ? $t('Release Group') : currentDropdownOption.pagetype })"
|
:placeholder="$t('Select {type}', { type: getTypeLabel(currentDropdownOption.pagetype) })"
|
||||||
:size="inputSize"
|
:size="inputSize"
|
||||||
class="w-full"
|
class="w-full"
|
||||||
readonly
|
readonly
|
||||||
@ -188,27 +192,31 @@ function getDropdownOptions(listResource) {
|
|||||||
return {
|
return {
|
||||||
label: option.label,
|
label: option.label,
|
||||||
key: option.pagetype,
|
key: option.pagetype,
|
||||||
onClick: () => {
|
|
||||||
currentDropdownOption.value = option;
|
|
||||||
let filters = {
|
|
||||||
role: props.roleId,
|
|
||||||
};
|
|
||||||
if (option.pagetype === 'Site') {
|
|
||||||
filters.site = ['is', 'set'];
|
|
||||||
}
|
|
||||||
if (option.pagetype === 'Release Group') {
|
|
||||||
filters.release_group = ['is', 'set'];
|
|
||||||
}
|
|
||||||
if (option.pagetype === 'Server') {
|
|
||||||
filters.server = ['is', 'set'];
|
|
||||||
}
|
|
||||||
listResource.update({ filters });
|
|
||||||
listResource.reload();
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleDropdownSelect(key, listResource) {
|
||||||
|
const option = dropdownOptions.find(opt => opt.pagetype === key);
|
||||||
|
if (!option) return;
|
||||||
|
|
||||||
|
currentDropdownOption.value = option;
|
||||||
|
let filters = {
|
||||||
|
role: props.roleId,
|
||||||
|
};
|
||||||
|
if (option.pagetype === 'Site') {
|
||||||
|
filters.site = ['is', 'set'];
|
||||||
|
}
|
||||||
|
if (option.pagetype === 'Release Group') {
|
||||||
|
filters.release_group = ['is', 'set'];
|
||||||
|
}
|
||||||
|
if (option.pagetype === 'Server') {
|
||||||
|
filters.server = ['is', 'set'];
|
||||||
|
}
|
||||||
|
listResource.update({ filters });
|
||||||
|
listResource.reload();
|
||||||
|
}
|
||||||
|
|
||||||
const rolePermissions = ref({
|
const rolePermissions = ref({
|
||||||
pagetype: 'Jcloud Role Permission',
|
pagetype: 'Jcloud Role Permission',
|
||||||
fields: [
|
fields: [
|
||||||
@ -231,6 +239,12 @@ const rolePermissions = ref({
|
|||||||
if (pagetype === 'Release Group') {
|
if (pagetype === 'Release Group') {
|
||||||
return $t('Release Group');
|
return $t('Release Group');
|
||||||
}
|
}
|
||||||
|
if (pagetype === 'Site') {
|
||||||
|
return $t('Site');
|
||||||
|
}
|
||||||
|
if (pagetype === 'Server') {
|
||||||
|
return $t('Server');
|
||||||
|
}
|
||||||
return pagetype;
|
return pagetype;
|
||||||
}),
|
}),
|
||||||
format(_value, row) {
|
format(_value, row) {
|
||||||
@ -289,6 +303,19 @@ const rolePermissions = ref({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function getTypeLabel(pagetype) {
|
||||||
|
if (pagetype === 'Release Group') {
|
||||||
|
return $t('Release Group');
|
||||||
|
}
|
||||||
|
if (pagetype === 'Site') {
|
||||||
|
return $t('Site');
|
||||||
|
}
|
||||||
|
if (pagetype === 'Server') {
|
||||||
|
return $t('Server');
|
||||||
|
}
|
||||||
|
return pagetype;
|
||||||
|
}
|
||||||
|
|
||||||
async function handleAddPermission() {
|
async function handleAddPermission() {
|
||||||
if (!selectedDocument.value || !permissionsResourceRef.value) return;
|
if (!selectedDocument.value || !permissionsResourceRef.value) return;
|
||||||
if (addPermissionLoading.value) return;
|
if (addPermissionLoading.value) return;
|
||||||
|
|||||||
@ -541,6 +541,7 @@ Deployed at {date},部署于 {date},
|
|||||||
Attention required!,需要关注!,
|
Attention required!,需要关注!,
|
||||||
Deployer,部署者,
|
Deployer,部署者,
|
||||||
Config,配置,
|
Config,配置,
|
||||||
|
Configure,配置,
|
||||||
Config Name,配置名称,
|
Config Name,配置名称,
|
||||||
Config Value,配置值,
|
Config Value,配置值,
|
||||||
Add Config,添加配置,
|
Add Config,添加配置,
|
||||||
@ -938,6 +939,7 @@ Delete Role,删除角色,
|
|||||||
Are you sure you want to delete role <b>{role}</b>?,确定要删除角色 <b>{role}</b> 吗?,
|
Are you sure you want to delete role <b>{role}</b>?,确定要删除角色 <b>{role}</b> 吗?,
|
||||||
Deleting role...,正在删除角色...,
|
Deleting role...,正在删除角色...,
|
||||||
Role {role} deleted,角色 {role} 已删除,
|
Role {role} deleted,角色 {role} 已删除,
|
||||||
|
Role created successfully,角色创建成功,
|
||||||
New Role,新建角色,
|
New Role,新建角色,
|
||||||
Create Role,创建角色,
|
Create Role,创建角色,
|
||||||
All Roles,所有角色,
|
All Roles,所有角色,
|
||||||
|
|||||||
|
Can't render this file because it has a wrong number of fields in line 400.
|
Loading…
x
Reference in New Issue
Block a user