Commit 612ff947 authored by 罗林杰's avatar 罗林杰

修改元数据

parent a8cb68c9
<template>
<BasicModal
width="80%"
v-bind="$attrs"
@register="registerModal"
:title="title"
@ok="handleSubmit"
>
<div style="display: flex; justify-content: flex-end; padding-bottom: 10px">
<a-button style="margin-right: 5px" type="primary" @click="refresh">更新名单</a-button>
<a-button style="margin-right: 5px" type="primary" @click="handleSave">保存</a-button>
</div>
<Description size="middle" title="基本信息" :bordered="false" />
<BasicForm @register="registerForm" />
<Description
size="large"
title="存储信息"
:bordered="false"
:column="2"
:data="refundData"
:schema="refundSchema"
/>
<BasicForm @register="registerStorageForm" />
<Description size="middle" title="名单数据" :bordered="false" />
<BasicTable @register="registerPartitionTable">
<template #toolbar>
<a-button type="primary" @click="handleDownload">下载查找结果</a-button>
<a-button type="primary" @click="handleDownload">下载全部</a-button>
</template>
</BasicTable>
</BasicModal>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { useMessage } from '@/hooks/web/useMessage';
import { BasicForm, useForm } from '@/components/Form';
import { Description } from '@/components/Description';
import {
basicSchema,
refundSchema,
storageSchema,
partitionColumns,
searchTableFormSchema,
} from './data';
import { refundData, partitionData } from './dataQualityWhiteData';
import { BasicTable, useTable } from '@/components/Table';
defineOptions({ name: 'KnowledgeModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const title = ref();
const tableData = ref([]);
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { resetFields }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: basicSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const [registerStorageForm, { resetFields: resetStorageFields }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: storageSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const [registerPartitionTable] = useTable({
dataSource: partitionData,
columns: partitionColumns,
pagination: false,
showIndexColumn: false,
useSearchForm: true,
formConfig: {
schemas: searchTableFormSchema,
autoSubmitOnEnter: true,
},
scroll: { y: 300 },
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields();
resetStorageFields();
setModalProps({ confirmLoading: false });
title.value = data.title;
});
function handleDownload() {
createMessage.success('下载成功');
}
function handleSave() {
createMessage.success('保存成功');
}
function refresh() {
createMessage.success('保存成功');
}
async function handleSubmit() {
closeModal();
createMessage.success('提交成功');
resetFields();
resetStorageFields();
}
</script>
...@@ -23,22 +23,24 @@ ...@@ -23,22 +23,24 @@
<TreeTwo class="w-1/4 xl:w-1/5" /> <TreeTwo class="w-1/4 xl:w-1/5" />
</div> </div>
</BasicModal> </BasicModal>
<ConnectBodyModal @register="registerConnectBodyModal" />
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref } from 'vue'; import { ref } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal'; import { BasicModal, useModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form'; import { BasicForm, useForm } from '@/components/Form';
import { formSchemaMain } from './data'; import { formSchemaMain } from './data';
import TreeTwo from './treeTwo.vue'; import TreeTwo from './treeTwo.vue';
import { useMessage } from '@/hooks/web/useMessage'; import { useMessage } from '@/hooks/web/useMessage';
import Icon from '@/components/Icon/Icon.vue'; import Icon from '@/components/Icon/Icon.vue';
import ConnectBodyModal from '@/views/dataQuality/agentClass/qualityWhitelist/connectBodyModal.vue';
defineOptions({ name: 'AccountModal' }); defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const isUpdate = ref(true);
const title = ref(''); const title = ref('');
const [registerConnectBodyModal, { openModal: openConnectBodyModal }] = useModal();
//获取接口数据并放在下拉框里(这里是打开了一个弹框) //获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单 //初始化表单
const [registerForm, { resetFields }] = useForm({ const [registerForm, { resetFields }] = useForm({
...@@ -56,6 +58,9 @@ ...@@ -56,6 +58,9 @@
title.value = data.title; title.value = data.title;
}); });
async function handleSubmit() { async function handleSubmit() {
openConnectBodyModal(true, {
title: '白名单详情',
});
createMessage.success('提交成功'); createMessage.success('提交成功');
} }
</script> </script>
......
import { BasicColumn, FormSchema } from '@/components/Table'; import { BasicColumn, FormSchema } from '@/components/Table';
import { DescItem } from '@/components/Description';
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
{ {
title: '文件名称', title: '名称',
dataIndex: 'fileName', dataIndex: 'fileName',
width: 150, width: 150,
slots: { customRender: 'fileName' }, slots: { customRender: 'fileName' },
}, },
{ {
title: '创建时间', title: '描述',
dataIndex: 'createDate', dataIndex: 'remark',
width: 150, width: 150,
}, },
{ {
...@@ -17,11 +18,6 @@ export const columns: BasicColumn[] = [ ...@@ -17,11 +18,6 @@ export const columns: BasicColumn[] = [
dataIndex: 'updateDate', dataIndex: 'updateDate',
width: 150, width: 150,
}, },
{
title: '拥有者',
dataIndex: 'holder',
width: 150,
},
{ {
title: '权属工作组', title: '权属工作组',
dataIndex: 'workGroupName', dataIndex: 'workGroupName',
...@@ -263,3 +259,147 @@ export const formSchemaMain: any = [ ...@@ -263,3 +259,147 @@ export const formSchemaMain: any = [
}, },
}, },
]; ];
export const basicSchema: FormSchema[] = [
{
field: 'name',
label: '关联主体',
component: 'TreeSelect',
componentProps: {
treeData: [
{
title: '质量主体',
businessId: '1',
parentId: '0',
children: [
{
title: 'DMP_admin-个人工作区',
businessId: '11',
parentId: '1',
children: [
{
title: '贫困毕业生',
businessId: '111',
parentId: '11',
},
{
title: 'test',
businessId: '112',
parentId: '11',
},
{
title: 'sql_test',
businessId: '121',
parentId: '11',
},
],
},
{
title: '共享工作区',
businessId: '12',
parentId: '1',
children: [
{
title: '质量主体1',
businessId: '122',
parentId: '12',
},
],
},
],
},
],
fieldNames: {
label: 'title',
value: 'businessId',
},
},
colProps: { lg: 12, md: 12 },
},
{
field: 'key',
label: '主键',
component: 'Input',
colProps: { lg: 12, md: 12 },
},
{
field: 'remark',
label: '描述',
component: 'InputTextArea',
colProps: { lg: 12, md: 12 },
},
];
export const refundSchema: DescItem[] = [
{
field: 'dataSource',
label: '目标数据源',
},
{
field: 'dataBase',
label: '目标数据库',
},
];
export const storageSchema: FormSchema[] = [
{
field: 'name',
label: '名单表名',
component: 'Input',
colProps: { lg: 12, md: 12 },
required: true,
},
];
export const partitionColumns: BasicColumn[] = [
{
title: 'id',
dataIndex: 'key',
width: 120,
},
{
title: '维护人',
dataIndex: 'user',
width: 120,
},
{
title: '名单更新时间',
dataIndex: 'date',
width: 120,
},
];
export const searchTableFormSchema: FormSchema[] = [
{
field: 'dateBegin',
label: '名单更新时间',
component: 'DatePicker',
componentProps: {},
colProps: { span: 4 },
},
{
field: 'dateEnd',
label: '-',
component: 'DatePicker',
componentProps: {},
colProps: { span: 4 },
},
{
field: 'user',
label: '维护人',
component: 'Select',
componentProps: {
options: [
{
label: 'admin',
value: 'admin',
},
{
label: 'test',
value: 'test',
},
{
label: 'test2',
value: 'test2',
},
],
},
labelWidth: 80,
colProps: { span: 4 },
},
];
...@@ -610,3 +610,8 @@ export const treeDataList = [ ...@@ -610,3 +610,8 @@ export const treeDataList = [
], ],
}, },
]; ];
export const refundData = {
dataSource: 'mysql24.connector_foundation1.tb_1',
dataBase: 'gyh',
};
export const partitionData: any[] = [];
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
<MoveFile @register="registerMoveFile" /> <MoveFile @register="registerMoveFile" />
<CreateFile @register="registerCreateFileModal" /> <CreateFile @register="registerCreateFileModal" />
<CreateWhite @register="registerCreateWhiteFile" /> <CreateWhite @register="registerCreateWhiteFile" />
<ConnectBodyModal @register="registerConnectBodyModal" />
</PageWrapper> </PageWrapper>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
...@@ -49,6 +50,7 @@ ...@@ -49,6 +50,7 @@
import MoveFile from './moveFile.vue'; import MoveFile from './moveFile.vue';
import CreateFile from './createFile.vue'; import CreateFile from './createFile.vue';
import CreateWhite from './createWhiteModal.vue'; import CreateWhite from './createWhiteModal.vue';
import ConnectBodyModal from './connectBodyModal.vue';
defineOptions({ name: 'AccountManagement' }); defineOptions({ name: 'AccountManagement' });
const { createMessage, createConfirm } = useMessage(); const { createMessage, createConfirm } = useMessage();
...@@ -58,10 +60,10 @@ ...@@ -58,10 +60,10 @@
const tableData = ref([]); const tableData = ref([]);
const [registerMoveFile, { openModal: openMoveFileModal }] = useModal(); const [registerMoveFile, { openModal: openMoveFileModal }] = useModal();
const [registerCreateWhiteFile, { openModal: openCreateWhiteModal }] = useModal(); const [registerCreateWhiteFile, { openModal: openCreateWhiteModal }] = useModal();
const [registerConnectBodyModal, { openModal: openConnectBodyModal }] = useModal();
const [registerCreateFileModal, { openModal: openCreateFileModal }] = useModal(); // 新建文件夹弹窗 const [registerCreateFileModal, { openModal: openCreateFileModal }] = useModal(); // 新建文件夹弹窗
const [registerTable, { reload, getSearchInfo, getForm }] = useTable({ const [registerTable, { reload, getSearchInfo, getForm }] = useTable({
api: async (params) => { api: async (params) => {
//过滤掉tableData.value中,businessId等于100的
var data = []; var data = [];
if (params.taskId == undefined || params.taskId == '') { if (params.taskId == undefined || params.taskId == '') {
data = tableData.value.filter((item) => item.businessId >= 200); data = tableData.value.filter((item) => item.businessId >= 200);
...@@ -141,7 +143,11 @@ ...@@ -141,7 +143,11 @@
} }
/** 编辑按钮*/ /** 编辑按钮*/
function handleEdit(record: Recordable) {} function handleEdit() {
openConnectBodyModal(true, {
title: '白名单详情',
});
}
/** 删除按钮*/ /** 删除按钮*/
function handleDelete(record: Recordable) { function handleDelete(record: Recordable) {
......
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