<!--
|
* @Description: file content
|
* @Author: Ben Lin
|
* @version:
|
* @Date: 2024-06-18 15:09:48
|
* @LastEditors: Ben Lin
|
* @LastEditTime: 2024-10-23 22:27:39
|
-->
|
<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),
|
name: '',
|
},
|
{
|
icon: 'ant-design:delete-outlined',
|
color: 'error',
|
popConfirm: {
|
title: '是否确认删除?',
|
placement: 'left',
|
confirm: handleDelete.bind(null, record),
|
},
|
name: '',
|
},
|
]"
|
/>
|
</template>
|
</BasicTable>
|
</div>
|
</template>
|
<script lang="ts" setup>
|
import { onMounted, ref, unref } from 'vue';
|
import { BasicTable, useTable, TableAction, BasicColumn, FormSchema } from '/@/components/Table';
|
import { DeleteEntity, fetchJson, getEntity, getListByPage } from '/@/api/tigerapi/system';
|
import { useGlobSetting } from '/@/hooks/setting';
|
import { useGo } from '/@/hooks/web/usePage';
|
import { buildUUID } from '/@/utils/uuid';
|
import { useRouter } from 'vue-router';
|
import { afterFetchFn, SearchInfoFn } from '../data';
|
import { useQueryStore } from '/@/store/modules/queryInpage';
|
|
const go = useGo();
|
const globSetting = useGlobSetting();
|
const { currentRoute } = useRouter();
|
const useQuery = useQueryStore();
|
const route = unref(currentRoute);
|
const _columns = ref([]);
|
const _searchFormSchema = ref([]);
|
const [registerTable, { reload, getForm }] = useTable({
|
title: '列表信息',
|
api: getListByPage,
|
searchInfo: { TABLE_NAME: 'SYS_LOW_CODE' },
|
beforeFetch: (t) => SearchInfoFn(t, route.name, false),
|
afterFetch: afterFetch,
|
columns: _columns as unknown as BasicColumn[],
|
formConfig: {
|
labelWidth: 120,
|
schemas: _searchFormSchema as unknown as FormSchema[],
|
submitFunc: () => Search(), //自定义查询提交按钮的方法,触发查询提交事件
|
resetFunc: () => useQuery.resetFunc(route.name, getForm(), false),
|
},
|
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();
|
}
|
});
|
}
|
|
/**
|
* @description: 查询提交
|
* @return {*}
|
*/
|
async function Search() {
|
useQuery.submitFunc(route.name, getForm(), false).then(() => {
|
reload();
|
});
|
}
|
|
/**
|
* @description: 请求之后对返回值进行处理
|
* @param {*} t
|
* @return {*}
|
*/
|
function afterFetch(t) {
|
afterFetchFn(t, route.name, getForm());
|
}
|
|
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`,
|
// );
|
const data = await getEntity({
|
sqlcmd: "ASSEMBLY_NAME ='SYS_LOW_CODE'",
|
entityName: 'SYS_LOW_CODE',
|
order: '',
|
});
|
_searchFormSchema.value = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON);
|
_columns.value = JSON.parse(data.Data.Items[0].BASE_FORM_JSON);
|
});
|
</script>
|