Commit ca0ed871 authored by 罗林杰's avatar 罗林杰

修改元数据

parent 553bc71e
...@@ -612,3 +612,93 @@ export const analysisColumns: BasicColumn[] = [ ...@@ -612,3 +612,93 @@ export const analysisColumns: BasicColumn[] = [
width: 120, width: 120,
}, },
]; ];
export const physicsColumns: BasicColumn[] = [
{
title: '名称',
dataIndex: 'name',
width: 120,
},
{
title: '所属元模型',
dataIndex: 'dataBase',
width: 120,
},
{
title: '路径',
dataIndex: 'path',
width: 120,
},
{
title: '关联时间',
dataIndex: 'connectTime',
width: 120,
},
{
title: '同步时间',
dataIndex: 'date',
width: 120,
},
{
title: '操作用户',
dataIndex: 'user',
width: 120,
},
];
export const physicsSchema: FormSchema[] = [
{
field: 'path',
label: '路径',
component: 'TreeSelect',
componentProps: {
treeData: [
{
title: '物理模型',
businessId: '1',
parentId: '0',
children: [
{
title: '工作区1',
businessId: '11',
parentId: '1',
children: [
{
title: '元模型1',
businessId: '111',
parentId: '11',
},
{
title: '元模型2',
businessId: '112',
parentId: '11',
},
],
},
{
title: '工作区2',
businessId: '12',
parentId: '1',
children: [
{
title: '元模型3',
businessId: '121',
parentId: '12',
},
{
title: '元模型4',
businessId: '122',
parentId: '12',
},
],
},
],
},
],
fieldNames: {
label: 'title',
value: 'businessId',
},
},
colProps: { lg: 24, md: 24 },
required: true,
},
];
...@@ -907,3 +907,29 @@ export const analysisData: any[] = [ ...@@ -907,3 +907,29 @@ export const analysisData: any[] = [
level: '2', level: '2',
}, },
]; ];
export const physicsData: any[] = [
{
name: '文件A',
dataBase: '元模型X',
path: '/modelX/files',
connectTime: '2024-05-01T10:00:00Z',
date: '2024-05-01T12:00:00Z',
user: '张三',
},
{
name: '文件B',
dataBase: '元模型Y',
path: '/modelY/files',
connectTime: '2024-06-15T11:00:00Z',
date: '2024-06-15T13:00:00Z',
user: '李四',
},
{
name: '文件C',
dataBase: '元模型Z',
path: '/modelZ/files',
connectTime: '2024-07-20T09:00:00Z',
date: '2024-07-20T11:00:00Z',
user: '王五',
},
];
<template>
<BasicModal
width="55%"
v-bind="$attrs"
@register="registerModal"
:title="title"
@ok="handleSubmit"
>
<BasicForm @register="registerForm" />
</BasicModal>
</template>
<script lang="ts" setup>
import { onMounted, ref } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { useMessage } from '@/hooks/web/useMessage';
import { recommendData } from '@/views/metadata/metadataData';
import { BasicForm, useForm } from '@/components/Form';
import { physicsSchema } from '@/views/metadata/data';
defineOptions({ name: 'KnowledgeModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const title = ref();
const tableData = ref([]);
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: physicsSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields;
setModalProps({ confirmLoading: false });
title.value = data.title;
});
async function handleSubmit() {
closeModal();
createMessage.success('提交成功');
resetFields;
}
onMounted(() => {
tableData.value = recommendData;
});
</script>
...@@ -79,17 +79,38 @@ ...@@ -79,17 +79,38 @@
<img src="../../assets/images/features.png" style="width: 100%" alt="Logo" /> <img src="../../assets/images/features.png" style="width: 100%" alt="Logo" />
</div> </div>
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="8" tab="物理模映射"> <a-tab-pane key="8" tab="物理模型映射">
<div v-if="page === '8'"> 物理模映射 </div> <div v-if="page === '8'">
<BasicTable @register="registerPhysicsTable">
<template #toolbar>
<a-button type="primary" @click="addPhysics">生成物理模型</a-button>
<a-button type="primary" @click="connectPhysics">关联物理模型</a-button>
</template>
<template #bodyCell="{ column }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
// icon: 'clarity:unpin-line',
label: '解绑',
onClick: handleEdit.bind(null),
},
]"
/>
</template>
</template>
</BasicTable>
</div>
</a-tab-pane> </a-tab-pane>
</Tabs> </Tabs>
</div> </div>
</BasicModal> </BasicModal>
<recommendModal @register="registerRecommendModal" /> <recommendModal @register="registerRecommendModal" />
<quotationModal @register="registerQuotationModal" /> <quotationModal @register="registerQuotationModal" />
<physicsModal @register="registerPhysicsModal" />
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { BasicTable, useTable } from '@/components/Table'; import { BasicTable, TableAction, useTable } from '@/components/Table';
import BasicModal from '@/components/Modal/src/BasicModal.vue'; import BasicModal from '@/components/Modal/src/BasicModal.vue';
import { ref } from 'vue'; import { ref } from 'vue';
import { Tabs } from 'ant-design-vue'; import { Tabs } from 'ant-design-vue';
...@@ -105,6 +126,7 @@ ...@@ -105,6 +126,7 @@
informationColumns, informationColumns,
partitionColumns, partitionColumns,
partitionSchema, partitionSchema,
physicsColumns,
refundSchema, refundSchema,
SampleDataColumns, SampleDataColumns,
} from '@/views/metadata/data'; } from '@/views/metadata/data';
...@@ -118,6 +140,7 @@ ...@@ -118,6 +140,7 @@
informationData, informationData,
partitionData, partitionData,
partitionTypeData, partitionTypeData,
physicsData,
refundData, refundData,
SampleData, SampleData,
} from '@/views/metadata/metadataData'; } from '@/views/metadata/metadataData';
...@@ -125,6 +148,7 @@ ...@@ -125,6 +148,7 @@
import { Description } from '@/components/Description'; import { Description } from '@/components/Description';
import recommendModal from './recommendModal.vue'; import recommendModal from './recommendModal.vue';
import quotationModal from './quotationModal.vue'; import quotationModal from './quotationModal.vue';
import physicsModal from './physicsModal.vue';
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const page = ref('1'); const page = ref('1');
...@@ -133,6 +157,7 @@ ...@@ -133,6 +157,7 @@
const tableTitle = ref(''); const tableTitle = ref('');
const [registerRecommendModal, { openModal: openRecommendModal }] = useModal(); const [registerRecommendModal, { openModal: openRecommendModal }] = useModal();
const [registerQuotationModal, { openModal: openQuotationModal }] = useModal(); const [registerQuotationModal, { openModal: openQuotationModal }] = useModal();
const [registerPhysicsModal, { openModal: openPhysicsModal }] = useModal();
const [registerTable, { reload, getForm }] = useTable({ const [registerTable, { reload, getForm }] = useTable({
api: async () => { api: async () => {
const response = { const response = {
...@@ -215,6 +240,18 @@ ...@@ -215,6 +240,18 @@
showIndexColumn: false, showIndexColumn: false,
scroll: { y: 400 }, scroll: { y: 400 },
}); });
const [registerPhysicsTable] = useTable({
dataSource: physicsData,
columns: physicsColumns,
pagination: true,
showIndexColumn: false,
scroll: { y: 400 },
actionColumn: {
width: 150,
title: '操作',
dataIndex: 'action',
},
});
const [registerDbModal, { closeModal }] = useModalInner(async (data) => { const [registerDbModal, { closeModal }] = useModalInner(async (data) => {
title.value = data.workSpaceName; title.value = data.workSpaceName;
tableTitle.value = data.name; tableTitle.value = data.name;
...@@ -235,5 +272,18 @@ ...@@ -235,5 +272,18 @@
title: '引用数据标准', title: '引用数据标准',
}); });
} }
function connectPhysics() {
openPhysicsModal(true, {
title: '关联物理模型',
});
}
function addPhysics() {
openPhysicsModal(true, {
title: '生成物理模型',
});
}
function handleEdit() {
createMessage.success('解绑成功');
}
</script> </script>
<style scoped lang="less"></style> <style scoped lang="less"></style>
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