You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
3.5 KiB
116 lines
3.5 KiB
5 months ago
|
<template>
|
||
|
<PageWrapper dense>
|
||
|
<BasicTable @register="registerTable">
|
||
|
<template #toolbar>
|
||
|
<a-button
|
||
|
@click="downloadExcel(DocumentTasksPermissionsExport, '文档任务权限数据', getForm().getFieldsValue())"
|
||
|
v-auth="'productManagement:DocumentTasksPermissions:export'"
|
||
|
>导出</a-button
|
||
|
>
|
||
|
<a-button
|
||
|
type="primary"
|
||
|
danger
|
||
|
@click="multipleRemove(DocumentTasksPermissionsRemove)"
|
||
|
:disabled="!selected"
|
||
|
v-auth="'productManagement:DocumentTasksPermissions:remove'"
|
||
|
>删除</a-button
|
||
|
>
|
||
|
<a-button
|
||
|
type="primary"
|
||
|
@click="handleAdd"
|
||
|
v-auth="'productManagement:DocumentTasksPermissions:add'"
|
||
|
>新增</a-button
|
||
|
>
|
||
|
</template>
|
||
|
<template #bodyCell="{ column, record }">
|
||
|
<template v-if="column.key === 'action'">
|
||
|
<TableAction
|
||
|
stopButtonPropagation
|
||
|
:actions="[
|
||
|
{
|
||
|
label: '修改',
|
||
|
icon: IconEnum.EDIT,
|
||
|
type: 'primary',
|
||
|
ghost: true,
|
||
|
auth: 'productManagement:DocumentTasksPermissions:edit',
|
||
|
onClick: handleEdit.bind(null, record),
|
||
|
},
|
||
|
{
|
||
|
label: '删除',
|
||
|
icon: IconEnum.DELETE,
|
||
|
type: 'primary',
|
||
|
danger: true,
|
||
|
ghost: true,
|
||
|
auth: 'productManagement:DocumentTasksPermissions:remove',
|
||
|
popConfirm: {
|
||
|
placement: 'left',
|
||
|
title: '是否删除文档任务权限[' + record.id + ']?',
|
||
|
confirm: handleDelete.bind(null, record),
|
||
|
},
|
||
|
},
|
||
|
]"
|
||
|
/>
|
||
|
</template>
|
||
|
</template>
|
||
|
</BasicTable>
|
||
|
<DocumentTasksPermissionsModal @register="registerModal" @reload="reload" />
|
||
|
</PageWrapper>
|
||
|
</template>
|
||
|
|
||
|
<script setup lang="ts">
|
||
|
import { PageWrapper } from '@/components/Page';
|
||
|
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
||
|
import { DocumentTasksPermissionsList, DocumentTasksPermissionsExport, DocumentTasksPermissionsRemove } from '@/api/taskPermissions/DocumentTasksPermissions';
|
||
|
import { downloadExcel } from '@/utils/file/download';
|
||
|
import { useModal } from '@/components/Modal';
|
||
|
import DocumentTasksPermissionsModal from './DocumentTasksPermissionsModal.vue';
|
||
|
import { formSchemas, columns } from './DocumentTasksPermissions.data';
|
||
|
import { IconEnum } from '@/enums/appEnum';
|
||
|
|
||
|
defineOptions({ name: 'DocumentTasksPermissions' });
|
||
|
|
||
|
const [registerTable, { reload, multipleRemove, selected, getForm }] = useTable({
|
||
|
rowSelection: {
|
||
|
type: 'checkbox',
|
||
|
},
|
||
|
title: '文档任务权限列表',
|
||
|
api: DocumentTasksPermissionsList,
|
||
|
showIndexColumn: false,
|
||
|
rowKey: 'id',
|
||
|
useSearchForm: true,
|
||
|
formConfig: {
|
||
|
schemas: formSchemas,
|
||
|
baseColProps: {
|
||
|
xs: 24,
|
||
|
sm: 24,
|
||
|
md: 24,
|
||
|
lg: 6,
|
||
|
},
|
||
|
},
|
||
|
columns: columns,
|
||
|
actionColumn: {
|
||
|
width: 200,
|
||
|
title: '操作',
|
||
|
key: 'action',
|
||
|
fixed: 'right',
|
||
|
},
|
||
|
});
|
||
|
|
||
|
const [registerModal, { openModal }] = useModal();
|
||
|
|
||
|
function handleEdit(record: Recordable) {
|
||
|
openModal(true, { record, update: true });
|
||
|
}
|
||
|
|
||
|
function handleAdd() {
|
||
|
openModal(true, { update: false });
|
||
|
}
|
||
|
|
||
|
async function handleDelete(record: Recordable) {
|
||
|
await DocumentTasksPermissionsRemove([record.id]);
|
||
|
await reload();
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style scoped></style>
|