1
0
Files
gringotts/gringotts-frontend/pages/index/tab-permissions.js

135 lines
6.0 KiB
JavaScript

import {
apiGet,
confirmationStateMapping,
crudCommonOptions,
mappingField,
providerOnly,
userOnly
} from "../../components/constants.js";
import {
permissionAddDialog,
permissionDetailDialog,
permissionEditeDialog
} from "../../components/permission/dialog-permission.js";
export function tabPermissions() {
return {
visibleOn: userOnly,
title: '权属管理',
icon: 'fa fa-user-shield',
reload: true,
body: {
type: 'tabs',
tabs: [
{
visibleOn: providerOnly,
title: '确权管理',
body: {
type: 'crud',
api: {
...apiGet('${base}/confirmation/list')
},
...crudCommonOptions(),
headerToolbar: [
'reload',
{
type: 'action',
label: '',
icon: 'fa fa-plus',
...permissionAddDialog()
},
],
columns: [
{
label: '名称',
name: 'name',
width: 200,
},
{
label: '描述',
name: 'description',
},
{
label: '状态',
width: 80,
align: 'center',
...mappingField('state', confirmationStateMapping)
},
{
label: '创建时间',
width: 150,
align: 'center',
type: 'tpl',
tpl: "${IF(createdTime, DATETOSTR(createdTime), '-')}"
},
{
label: '操作',
width: 100,
type: 'operation',
fixed: 'right',
className: 'nowrap',
buttons: [
{
type: 'action',
label: '查看',
level: 'link',
...permissionDetailDialog(),
},
{
visibleOn: "${state === 'CHECKING'}",
type: 'action',
label: '撤销',
level: 'link',
confirmTitle: '确认撤销',
confirmText: '确认撤销名称为「${name}」的确权申请吗?',
actionType: 'ajax',
api: apiGet('${base}/confirmation/retract/${id}'),
},
{
visibleOn: "${state === 'DRAFT' || state === 'REJECT'}",
type: 'action',
label: '提交',
level: 'link',
confirmTitle: '确认提交',
confirmText: '确认提交名称为「${name}」的确权申请吗?',
actionType: 'ajax',
api: apiGet('${base}/confirmation/submit/${id}'),
},
{
type: 'dropdown-button',
level: 'link',
icon: 'fa fa-ellipsis-h',
hideCaret: true,
trigger: 'hover',
buttons: [
{
disabledOn: "${state === 'CHECKING'}",
type: 'action',
label: '编辑',
level: 'link',
...permissionEditeDialog(),
},
{
disabledOn: "${state === 'CHECKING'}",
type: 'action',
label: "删除",
confirmTitle: '确认删除',
confirmText: '确认删除名称为「${name}」的确权申请吗?',
actionType: 'ajax',
api: apiGet('${base}/confirmation/remove/${id}'),
},
]
},
]
},
]
}
},
{
title: '授权管理',
body: []
}
]
}
}
}