<template>
|
<div>
|
<BasicTable @register="registerTable">
|
<template #toolbar>
|
<a-button type="primary" @click="handleCreate" preIcon="add_02|svg"> 新增 </a-button>
|
</template>
|
<template #action="{ record }">
|
<TableAction
|
:actions="[
|
{
|
icon: 'clarity:note-edit-line',
|
onClick: handleEdit.bind(null, record),
|
},
|
{
|
icon: 'ant-design:delete-outlined',
|
color: 'error',
|
popConfirm: {
|
title: '是否确认删除?',
|
placement: 'left',
|
confirm: handleDelete.bind(null, record),
|
},
|
},
|
]"
|
/>
|
</template>
|
</BasicTable>
|
</div>
|
</template>
|
<script lang="ts" setup>
|
import { onMounted, ref } from 'vue';
|
import { BasicTable, useTable, TableAction, BasicColumn, FormSchema } from '/@/components/Table';
|
import { DeleteEntity, fetchJson, getListByPage } from '/@/api/tigerapi/system';
|
import { useGlobSetting } from '/@/hooks/setting';
|
import { useGo } from '/@/hooks/web/usePage';
|
import { buildUUID } from '/@/utils/uuid';
|
|
const go = useGo();
|
const globSetting = useGlobSetting();
|
const _columns = ref([]);
|
const _searchFormSchema = ref([]);
|
const [registerTable, { reload }] = useTable({
|
title: '列表信息',
|
api: getListByPage,
|
searchInfo: { TABLE_NAME: 'SYS_LOW_CODE' },
|
columns: _columns as unknown as BasicColumn[],
|
formConfig: {
|
labelWidth: 120,
|
schemas: _searchFormSchema as unknown as FormSchema[],
|
},
|
useSearchForm: true,
|
showTableSetting: true,
|
bordered: true,
|
canResize: true,
|
showIndexColumn: false,
|
actionColumn: {
|
width: 80,
|
title: '操作',
|
dataIndex: 'action',
|
slots: { customRender: 'action' },
|
fixed: undefined,
|
},
|
});
|
|
function handleCreate() {
|
const ID = { Update: '0', ID: buildUUID(), Name: '' };
|
go(`/PageDetail/${encodeURI(JSON.stringify(ID))}`);
|
}
|
|
function handleEdit(record: Recordable) {
|
const ID = { Update: '1', ID: record.ID, Name: record.ASSEMBLY_NAME };
|
go(`/PageDetail/${encodeURI(JSON.stringify(ID))}`);
|
}
|
|
function handleDelete(record: Recordable) {
|
console.log(record);
|
//删除
|
const apiAction = DeleteEntity(record, 'SYS_LOW_CODE');
|
apiAction.then((action) => {
|
if (action.IsSuccessed) {
|
reload();
|
}
|
});
|
}
|
|
function handleSuccess() {
|
reload();
|
}
|
|
onMounted(async () => {
|
_searchFormSchema.value = await fetchJson(
|
`${globSetting.downloadUrl}/LowCode/SYS_LOW_CODE/SYS_LOW_CODE_Searchform.json`,
|
);
|
_columns.value = await fetchJson(
|
`${globSetting.downloadUrl}/LowCode/SYS_LOW_CODE/SYS_LOW_CODE_Baseform.json`,
|
);
|
});
|
</script>
|