Commit 1d2167bb authored by 罗林杰's avatar 罗林杰

修改数据源管理

parent 4376146d
<template> <template>
<!-- 数据源-连接-新增或修改 抽屉 --> <!-- 数据源-连接-新增或修改 抽屉 -->
<BasicDrawer <BasicModal
v-bind="$attrs" v-bind="$attrs"
@register="registerDrawer" @register="registerModal"
showFooter showFooter
:title="getTitle" :title="getTitle"
width="500px" width="40%"
@ok="handleSubmit" @ok="handleSubmit"
> >
<BasicForm @register="registerForm" /> <BasicForm @register="registerForm" />
</BasicDrawer> </BasicModal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref, computed, unref } from 'vue'; import { ref, computed, unref } from 'vue';
import { BasicForm, useForm } from '@/components/Form'; import { BasicForm, useForm } from '@/components/Form';
import { BasicDrawer, useDrawerInner } from '@/components/Drawer';
import { useMessage } from '@/hooks/web/useMessage'; import { useMessage } from '@/hooks/web/useMessage';
import { formSchema } from '@/views/dataSourceManage/dataSource/dataSource.data'; import { formSchema } from '@/views/dataSourceManage/dataSource/dataSource.data';
import { addDataSource, updateDataSource } from '@/api/system/dataSource/dataSource'; import { addDataSource, updateDataSource } from '@/api/system/dataSource/dataSource';
import BasicModal from '@/components/Modal/src/BasicModal.vue';
import { useModalInner } from '@/components/Modal';
defineOptions({ name: 'DataSourceDrawer' }); defineOptions({ name: 'DataSourceDrawer' });
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
...@@ -26,9 +27,9 @@ ...@@ -26,9 +27,9 @@
const connectId = ref(null); const connectId = ref(null);
// 初始化抽屉 // 初始化抽屉
const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields(); resetFields();
setDrawerProps({ confirmLoading: false }); setModalProps({ confirmLoading: false });
handleType.value = data?.handleType; handleType.value = data?.handleType;
setFieldsValue({ setFieldsValue({
...data?.record, ...data?.record,
...@@ -36,7 +37,6 @@ ...@@ -36,7 +37,6 @@
// 更新表单的 disabled 属性 // 更新表单的 disabled 属性
setProps({ disabled: data?.handleType === 'view' }); setProps({ disabled: data?.handleType === 'view' });
}); });
const [registerForm, { resetFields, setFieldsValue, validate, setProps }] = useForm({ const [registerForm, { resetFields, setFieldsValue, validate, setProps }] = useForm({
labelWidth: 90, labelWidth: 90,
baseColProps: { span: 24 }, baseColProps: { span: 24 },
...@@ -64,14 +64,13 @@ ...@@ -64,14 +64,13 @@
async function handleSubmit() { async function handleSubmit() {
try { try {
const formData = await validate(); const formData = await validate();
setDrawerProps({ confirmLoading: true });
// 编辑 // 编辑
if (unref(handleType)) { if (unref(handleType)) {
formData.id = connectId.value; formData.id = connectId.value;
updateDataSource(formData).then((res) => { updateDataSource(formData).then((res) => {
if (res.code === 200) { if (res.code === 200) {
createMessage.success('编辑成功'); createMessage.success('编辑成功');
closeDrawer(); closeModal();
emit('success', { emit('success', {
handleType: unref(handleType), handleType: unref(handleType),
values: { ...formData, id: connectId.value }, values: { ...formData, id: connectId.value },
...@@ -92,7 +91,7 @@ ...@@ -92,7 +91,7 @@
addDataSource(paramsAdd).then((res) => { addDataSource(paramsAdd).then((res) => {
if (res.code === 200) { if (res.code === 200) {
createMessage.success('新增成功'); createMessage.success('新增成功');
closeDrawer(); closeModal();
emit('success', { emit('success', {
handleType: unref(handleType), handleType: unref(handleType),
values: { ...formData, id: connectId.value }, values: { ...formData, id: connectId.value },
...@@ -101,7 +100,7 @@ ...@@ -101,7 +100,7 @@
}); });
} }
} finally { } finally {
setDrawerProps({ confirmLoading: false }); setModalProps({ confirmLoading: false });
} }
} }
</script> </script>
...@@ -192,3 +192,36 @@ export const restColumns: BasicColumn[] = [ ...@@ -192,3 +192,36 @@ export const restColumns: BasicColumn[] = [
edit: true, edit: true,
}, },
]; ];
export const pageConfigFormSchema: FormSchema[] = [
{
field: 'flag',
label: '映射策略',
component: 'RadioGroup',
colProps: { lg: 24, md: 24 },
componentProps: {
options: [
{ label: '全部生效', value: '0' },
{ label: '数据库生效', value: '1' },
],
},
required: true,
},
];
export const pageConfigColumns: BasicColumn[] = [
{
title: '分层名称',
dataIndex: 'pageConfigName',
width: 150,
},
{
title: '分层英文名称',
dataIndex: 'name',
width: 150,
},
{
title: '映射规则',
dataIndex: 'rule',
width: 150,
edit: true,
},
];
// 数据源 列表数据 // 数据源 列表数据
export const dataSourceListData: any[] = [ export const dataSourceListData: any[] = [
{ {
"id": 0, id: 0,
"dataSourceName": "Inceptor", dataSourceName: 'Inceptor',
"connectName": "Inceptor", connectName: 'Inceptor',
"connectType": "INCEPTOR", connectType: 'INCEPTOR',
"authStatus": "可连接", authStatus: '可连接',
"dataSourceID": "eff1daef6bac8a249531ed973d2e02a5", dataSourceID: 'eff1daef6bac8a249531ed973d2e02a5',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "Inceptor描述", dataSourceDescription: 'Inceptor描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "inceptor1", defaultConnect: 'inceptor1',
"connectParams": "inceptor1", connectParams: 'inceptor1',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-10-24 10:04:04", createDate: '2024-10-24 10:04:04',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-10-24 10:04:04" updateDate: '2024-10-24 10:04:04',
}, },
{ {
"id": 1, id: 1,
"dataSourceName": "oracle", dataSourceName: 'oracle',
"connectName": "oracle", connectName: 'oracle',
"connectType": "ORACLE", connectType: 'ORACLE',
"authStatus": "可连接", authStatus: '可连接',
"dataSourceID": "cd4f179df58a62a67c0e5778d8248341", dataSourceID: 'cd4f179df58a62a67c0e5778d8248341',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "oracle描述", dataSourceDescription: 'oracle描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "oracle1", defaultConnect: 'oracle1',
"connectParams": "oracle1", connectParams: 'oracle1',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-10-24 11:24:44", createDate: '2024-10-24 11:24:44',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-10-24 11:24:44" updateDate: '2024-10-24 11:24:44',
}, },
{ {
"id": 2, id: 2,
"dataSourceName": "oracle2", dataSourceName: 'oracle2',
"connectName": "oracle2", connectName: 'oracle2',
"connectType": "ORACLE", connectType: 'ORACLE',
"authStatus": "可连接", authStatus: '可连接',
"dataSourceID": "e05ef05ae23288ad9ce26d17c2604be9", dataSourceID: 'e05ef05ae23288ad9ce26d17c2604be9',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "Oracle描述", dataSourceDescription: 'Oracle描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "oracle2", defaultConnect: 'oracle2',
"connectParams": "oracle2", connectParams: 'oracle2',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-10-25 07:39:58", createDate: '2024-10-25 07:39:58',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-10-25 07:39:58" updateDate: '2024-10-25 07:39:58',
}, },
{ {
"id": 3, id: 3,
"dataSourceName": "kundb", dataSourceName: 'kundb',
"connectName": "kundb2", connectName: 'kundb2',
"connectType": "KUNDB", connectType: 'KUNDB',
"authStatus": "不可连接", authStatus: '不可连接',
"dataSourceID": "25a9b97cbd3cd41db0bbc796a9d21808", dataSourceID: '25a9b97cbd3cd41db0bbc796a9d21808',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "Kundb描述", dataSourceDescription: 'Kundb描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "kundb2", defaultConnect: 'kundb2',
"connectParams": "kundb2", connectParams: 'kundb2',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-10-20 17:21:36", createDate: '2024-10-20 17:21:36',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-10-20 17:21:36" updateDate: '2024-10-20 17:21:36',
}, },
{ {
"id": 4, id: 4,
"dataSourceName": "mysql", dataSourceName: 'mysql',
"connectName": "mysql2", connectName: 'mysql2',
"connectType": "MYSQL", connectType: 'MYSQL',
"authStatus": "可连接", authStatus: '可连接',
"dataSourceID": "12b1d3c4d5791a089ad417c87c100154", dataSourceID: '12b1d3c4d5791a089ad417c87c100154',
"workingGroup": "-", workingGroup: '-',
"isShow": "否", isShow: '否',
"dataSourceDescription": "mysql描述", dataSourceDescription: 'mysql描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "mysql2", defaultConnect: 'mysql2',
"connectParams": "mysql2", connectParams: 'mysql2',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-10-29 13:29:06", createDate: '2024-10-29 13:29:06',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-10-29 13:29:06" updateDate: '2024-10-29 13:29:06',
}, },
{ {
"id": 5, id: 5,
"dataSourceName": "postgresql", dataSourceName: 'postgresql',
"connectName": "postgresql", connectName: 'postgresql',
"connectType": "POSTGRESQL", connectType: 'POSTGRESQL',
"authStatus": "可连接", authStatus: '可连接',
"dataSourceID": "78e5f9c8b91e54f0e2d89c0a7e6f8345", dataSourceID: '78e5f9c8b91e54f0e2d89c0a7e6f8345',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "PostgreSql描述", dataSourceDescription: 'PostgreSql描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "postgresql1", defaultConnect: 'postgresql1',
"connectParams": "postgresql1", connectParams: 'postgresql1',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-10-30 14:45:22", createDate: '2024-10-30 14:45:22',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-10-30 14:45:22" updateDate: '2024-10-30 14:45:22',
}, },
{ {
"id": 6, id: 6,
"dataSourceName": "sqlserver", dataSourceName: 'sqlserver',
"connectName": "sqlserver", connectName: 'sqlserver',
"connectType": "SQLSERVER", connectType: 'SQLSERVER',
"authStatus": "可连接", authStatus: '可连接',
"dataSourceID": "9a7b8c9d0e1f2g3h4i5j6k7l8m9n0o1p", dataSourceID: '9a7b8c9d0e1f2g3h4i5j6k7l8m9n0o1p',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "sqlserver描述", dataSourceDescription: 'sqlserver描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "sqlserver1", defaultConnect: 'sqlserver1',
"connectParams": "sqlserver1", connectParams: 'sqlserver1',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-10-31 09:10:34", createDate: '2024-10-31 09:10:34',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-10-31 09:10:34" updateDate: '2024-10-31 09:10:34',
}, },
{ {
"id": 7, id: 7,
"dataSourceName": "mongodb", dataSourceName: 'mongodb',
"connectName": "mongodb", connectName: 'mongodb',
"connectType": "MONGODB", connectType: 'MONGODB',
"authStatus": "可连接", authStatus: '可连接',
"dataSourceID": "abcd1234efgh5678ijkl90mn", dataSourceID: 'abcd1234efgh5678ijkl90mn',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "mongodb描述", dataSourceDescription: 'mongodb描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "mongodb1", defaultConnect: 'mongodb1',
"connectParams": "mongodb1", connectParams: 'mongodb1',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-11-01 11:22:33", createDate: '2024-11-01 11:22:33',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-11-01 11:22:33" updateDate: '2024-11-01 11:22:33',
}, },
{ {
"id": 8, id: 8,
"dataSourceName": "redis", dataSourceName: 'redis',
"connectName": "redis", connectName: 'redis',
"connectType": "REDIS", connectType: 'REDIS',
"authStatus": "不可连接", authStatus: '不可连接',
"dataSourceID": "zxyw1234vuts5678rqpo90mn", dataSourceID: 'zxyw1234vuts5678rqpo90mn',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "redis描述", dataSourceDescription: 'redis描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "redis1", defaultConnect: 'redis1',
"connectParams": "redis1", connectParams: 'redis1',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-11-02 12:34:56", createDate: '2024-11-02 12:34:56',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-11-02 12:34:56" updateDate: '2024-11-02 12:34:56',
}, },
{ {
"id": 9, id: 9,
"dataSourceName": "elasticsearch", dataSourceName: 'elasticsearch',
"connectName": "elasticsearch", connectName: 'elasticsearch',
"connectType": "ELASTICSEARCH", connectType: 'ELASTICSEARCH',
"authStatus": "可连接", authStatus: '可连接',
"dataSourceID": "poiuytrewqasdcfvghb", dataSourceID: 'poiuytrewqasdcfvghb',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "elasticsearch描述", dataSourceDescription: 'elasticsearch描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "elasticsearch1", defaultConnect: 'elasticsearch1',
"connectParams": "elasticsearch1", connectParams: 'elasticsearch1',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-11-03 13:45:21", createDate: '2024-11-03 13:45:21',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-11-03 13:45:21" updateDate: '2024-11-03 13:45:21',
}, },
{ {
"id": 10, id: 10,
"dataSourceName": "hive", dataSourceName: 'hive',
"connectName": "hive", connectName: 'hive',
"connectType": "HIVE", connectType: 'HIVE',
"authStatus": "可连接", authStatus: '可连接',
"dataSourceID": "lkjhgfdsaqwertyuip", dataSourceID: 'lkjhgfdsaqwertyuip',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "hive描述", dataSourceDescription: 'hive描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "hive1", defaultConnect: 'hive1',
"connectParams": "hive1", connectParams: 'hive1',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-11-04 14:56:32", createDate: '2024-11-04 14:56:32',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-11-04 14:56:32" updateDate: '2024-11-04 14:56:32',
}, },
{ {
"id": 11, id: 11,
"dataSourceName": "hbase", dataSourceName: 'hbase',
"connectName": "hbase", connectName: 'hbase',
"connectType": "HBASE", connectType: 'HBASE',
"authStatus": "不可连接", authStatus: '不可连接',
"dataSourceID": "mnbvcxzlkjhgfdsa", dataSourceID: 'mnbvcxzlkjhgfdsa',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "hbase描述", dataSourceDescription: 'hbase描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "hbase1", defaultConnect: 'hbase1',
"connectParams": "hbase1", connectParams: 'hbase1',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-11-05 15:23:45", createDate: '2024-11-05 15:23:45',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-11-05 15:23:45" updateDate: '2024-11-05 15:23:45',
}, },
{ {
"id": 12, id: 12,
"dataSourceName": "cassandra", dataSourceName: 'cassandra',
"connectName": "cassandra", connectName: 'cassandra',
"connectType": "CASSANDRA", connectType: 'CASSANDRA',
"authStatus": "可连接", authStatus: '可连接',
"dataSourceID": "poiuytrewqlkjhgfdsa", dataSourceID: 'poiuytrewqlkjhgfdsa',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "cassandra描述", dataSourceDescription: 'cassandra描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "cassandra1", defaultConnect: 'cassandra1',
"connectParams": "cassandra1", connectParams: 'cassandra1',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-11-06 16:34:50", createDate: '2024-11-06 16:34:50',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-11-06 16:34:50" updateDate: '2024-11-06 16:34:50',
}, },
{ {
"id": 13, id: 13,
"dataSourceName": "sqlite", dataSourceName: 'sqlite',
"connectName": "sqlite", connectName: 'sqlite',
"connectType": "SQLITE", connectType: 'SQLITE',
"authStatus": "可连接", authStatus: '可连接',
"dataSourceID": "zxcvbnmlkjhgfdsa", dataSourceID: 'zxcvbnmlkjhgfdsa',
"workingGroup": "-", workingGroup: '-',
"isShow": "否", isShow: '否',
"dataSourceDescription": "sqlite描述", dataSourceDescription: 'sqlite描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "sqlite1", defaultConnect: 'sqlite1',
"connectParams": "sqlite1", connectParams: 'sqlite1',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-11-07 17:45:01", createDate: '2024-11-07 17:45:01',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-11-07 17:45:01" updateDate: '2024-11-07 17:45:01',
}, },
{ {
"id": 14, id: 14,
"dataSourceName": "derby", dataSourceName: 'derby',
"connectName": "derby", connectName: 'derby',
"connectType": "DERBY", connectType: 'DERBY',
"authStatus": "可连接", authStatus: '可连接',
"dataSourceID": "poiuytrewqasdfghjkl", dataSourceID: 'poiuytrewqasdfghjkl',
"workingGroup": "-", workingGroup: '-',
"isShow": "是", isShow: '是',
"dataSourceDescription": "derby描述", dataSourceDescription: 'derby描述',
"collectionType": "0", collectionType: '0',
"defaultConnect": "derby1", defaultConnect: 'derby1',
"connectParams": "derby1", connectParams: 'derby1',
"delFlag": "0", delFlag: '0',
"flag": "1", flag: '1',
"createBy": "admin", createBy: 'admin',
"createDate": "2024-11-08 18:56:12", createDate: '2024-11-08 18:56:12',
"updateBy": "admin", updateBy: 'admin',
"updateDate": "2024-11-08 18:56:12" updateDate: '2024-11-08 18:56:12',
} },
] ];
export const pageConfigData = [
{
id: 1,
pageConfigName: '源系统层',
name: 'SRC',
},
{
id: 2,
pageConfigName: '目标系统层',
name: 'DST',
},
{
id: 3,
pageConfigName: '数据质量层',
name: 'DQC',
},
{
id: 4,
pageConfigName: '数据质量层',
name: 'DQC',
},
];
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<PageWrapper dense contentFullHeight fixedHeight contentClass="flex"> <PageWrapper dense contentFullHeight fixedHeight contentClass="flex">
<BasicTable @register="registerTable"> <BasicTable @register="registerTable">
<template #toolbar> <template #toolbar>
<a-button type="primary" @click="pageConfig">默认分层配置</a-button>
<a-button type="primary" @click="handleDataSourceReplace">数据源替换</a-button> <a-button type="primary" @click="handleDataSourceReplace">数据源替换</a-button>
<a-button type="primary" @click="handleReload">刷新</a-button> <a-button type="primary" @click="handleReload">刷新</a-button>
<a-button type="primary" @click="handleAdd">新增</a-button> <a-button type="primary" @click="handleAdd">新增</a-button>
...@@ -48,6 +49,7 @@ ...@@ -48,6 +49,7 @@
<DataSourceDrawer @register="registerDataSourceDrawer" /> <DataSourceDrawer @register="registerDataSourceDrawer" />
<ConnectModal @register="registerConnectModal" /> <ConnectModal @register="registerConnectModal" />
<RestModal @register="registerRestModal" /> <RestModal @register="registerRestModal" />
<PageConfigModal @register="registerpageConfigModal" />
</PageWrapper> </PageWrapper>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
...@@ -59,17 +61,18 @@ ...@@ -59,17 +61,18 @@
import { columns, searchFormSchema } from '@/views/dataSourceManage/dataSource/dataSource.data'; import { columns, searchFormSchema } from '@/views/dataSourceManage/dataSource/dataSource.data';
import ConnectModal from '@/views/dataSourceManage/connect/ConnectModal.vue'; import ConnectModal from '@/views/dataSourceManage/connect/ConnectModal.vue';
import DataSourceDrawer from '@/views/dataSourceManage/dataSource/DataSourceDrawer.vue'; import DataSourceDrawer from '@/views/dataSourceManage/dataSource/DataSourceDrawer.vue';
import { useDrawer } from '@/components/Drawer';
import { dataSourceListData } from '@/views/dataSourceManage/dataSource/dataSourceData'; import { dataSourceListData } from '@/views/dataSourceManage/dataSource/dataSourceData';
import RestModal from './resetModal.vue'; import RestModal from './resetModal.vue';
import PageConfigModal from './pageConfigModal.vue';
defineOptions({ name: 'AccountManagement' }); defineOptions({ name: 'AccountManagement' });
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const [registerModal, { openModal }] = useModal(); const [registerModal, { openModal }] = useModal();
const tableData = ref([]); const tableData = ref([]);
const [registerDataSourceDrawer, { openDrawer: openDataSourceDrawer }] = useDrawer(); const [registerDataSourceDrawer, { openModal: openDataSourceDrawer }] = useModal();
const [registerConnectModal, { openModal: openConnectModal }] = useModal(); const [registerConnectModal, { openModal: openConnectModal }] = useModal();
const [registerRestModal, { openModal: openRestModal }] = useModal(); const [registerRestModal, { openModal: openRestModal }] = useModal();
const [registerpageConfigModal, { openModal: openpageConfigModal }] = useModal();
const [registerTable, { reload, getForm }] = useTable({ const [registerTable, { reload, getForm }] = useTable({
api: async () => { api: async () => {
const response = { const response = {
...@@ -105,7 +108,9 @@ ...@@ -105,7 +108,9 @@
function handleDataSourceReplace() { function handleDataSourceReplace() {
openRestModal(true, {}); openRestModal(true, {});
} }
function pageConfig() {
openpageConfigModal(true, {});
}
/** 刷新 按钮 */ /** 刷新 按钮 */
function handleReload() { function handleReload() {
reload(); reload();
......
<template>
<PageWrapper dense contentFullHeight fixedHeight contentClass="flex">
<BasicTable @register="registerTable">
<template #toolbar>
<a-button type="primary" @click="handleDataSourceReplace">数据源替换</a-button>
<a-button type="primary" @click="handleReload">刷新</a-button>
<a-button type="primary" @click="handleAdd">新增</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
icon: 'ant-design:signature-outlined',
// label: '重命名',
onClick: handleRename.bind(null, record),
},
{
icon: 'ant-design:api-outlined',
// label: '查看连接',
onClick: handleViewConnect.bind(null, record),
},
{
icon: 'clarity:note-edit-line',
// label: '编辑数据源',
onClick: handleEdit.bind(null, record),
},
{
icon: 'clarity:info-standard-line',
// label: '查看详情',
onClick: handleViewDetails.bind(null, record),
},
{
icon: 'ant-design:delete-outlined',
// label: '删除',
color: 'error',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: handleDelete.bind(null, record),
},
},
]"
/>
</template>
</template>
</BasicTable>
</PageWrapper>
<DataSourceDrawer @register="registerDataSourceDrawer"/>
<ConnectModal @register="registerConnectModal"/>
</template>
<script lang="ts" setup>
import {ref} from 'vue';
import {PageWrapper} from '@/components/Page';
import {BasicTable, useTable, TableAction} from '@/components/Table';
import {useMessage} from '@/hooks/web/useMessage';
import {useModal} from '@/components/Modal';
import {useDrawer} from '@/components/Drawer';
import {columns, searchFormSchema} from "@/views/dataSourceManage/dataSource/dataSource.data";
import {
getDataSourceListByPage,
deleteById
} from "@/api/system/dataSource/dataSource";
import DataSourceDrawer from "@/views/dataSourceManage/dataSource/DataSourceDrawer.vue";
import ConnectModal from "@/views/dataSourceManage/connect/ConnectModal.vue";
const {createMessage} = useMessage();
const [registerDataSourceDrawer, {openDrawer: openDataSourceDrawer}] = useDrawer();
const [registerConnectModal, {openModal: openConnectModal}] = useModal();
const [registerTable, {reload, getForm}] = useTable({
api: getDataSourceListByPage,
columns,
formConfig: {
labelWidth: 120,
schemas: searchFormSchema,
},
useSearchForm: true,
showTableSetting: false,
bordered: true,
showIndexColumn: false,
actionColumn: {
width: 200,
title: '操作',
dataIndex: 'action',
fixed: undefined,
},
});
/** 数据源替换 按钮 */
function handleDataSourceReplace() {
createMessage.info('正在进行数据源替换');
setTimeout(() => {
createMessage.success('数据源替换成功');
reload();
}, Math.floor(Math.random() * 2000) + 100)
}
/** 刷新 按钮 */
function handleReload() {
reload();
}
/** 新增 按钮 */
function handleAdd() {
openDataSourceDrawer(true, {
handleType: 'add',
})
}
/** 重命名 按钮 */
function handleRename(record: Recordable) {
openDataSourceDrawer(true, {
handleType: 'rename',
record
})
}
/** 查看连接 按钮 */
function handleViewConnect(record: Recordable) {
openConnectModal(true, {
handleType: 'view',
record
})
}
/** 编辑数据源 按钮 */
function handleEdit(record: Recordable) {
openDataSourceDrawer(true, {
handleType: 'edit',
record
})
}
/** 查看详情 按钮 */
function handleViewDetails(record: Recordable) {
openDataSourceDrawer(true, {
handleType: 'view',
record
})
}
/** 删除 按钮 */
async function handleDelete(record: Recordable) {
await deleteById(record.id);
await reload();
}
/** 成功时返回的方法 */
function handleSuccess() {
reload();
}
</script>
<template>
<BasicModal
v-bind="$attrs"
@register="registerModal"
showFooter
:title="getTitle"
width="50%"
@ok="handleSubmit"
>
<BasicForm @register="registerForm" />
<BasicTable @register="registerTable" />
</BasicModal>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
import { useModalInner } from '@/components/Modal';
import BasicModal from '@/components/Modal/src/BasicModal.vue';
import { useMessage } from '@/hooks/web/useMessage';
import { BasicTable, useTable } from '@/components/Table';
import { pageConfigData } from '@/views/dataSourceManage/dataSource/dataSourceData';
import {
pageConfigColumns,
pageConfigFormSchema,
} from '@/views/dataSourceManage/dataSource/dataSource.data';
import { BasicForm, useForm } from '@/components/Form';
defineOptions({ name: 'ResetNameModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
// 初始化弹窗
const [registerModal, { setModalProps, closeModal }] = useModalInner(async () => {});
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: pageConfigFormSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const [registerTable, { reload, getForm }] = useTable({
api: async () => {
const response = {
pageNu: '1',
pageSize: '10',
pages: '1',
total: pageConfigData.length,
code: '',
message: '',
data: [],
};
return { ...response, data: pageConfigData };
},
columns: pageConfigColumns,
pagination: false,
useSearchForm: false,
showTableSetting: false,
bordered: true,
showIndexColumn: false,
});
const getTitle = ref('数据分层映射规则配置');
/** 确认按钮 */
function handleSubmit() {
createMessage.success('修改配置成功');
resetFields;
closeModal();
}
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment