Commit 64d5eec8 authored by liwei's avatar liwei

新增了对比页面以及跳转路由

parent c41d1fb0
......@@ -296,13 +296,13 @@ export const ModelRoute: AppRouteRecordRaw = {
],
};
/**基础标准*/
export const BasicStandardRoute: AppRouteRecordRaw = {
/**数据标准*/
export const DataStandardRoute: AppRouteRecordRaw = {
path: '/dataStandards',
name: 'dataStandards',
component: LAYOUT,
meta: {
title: '基础标准',
title: '数据标准',
icon: '',
hidden: true,
currentActiveMenu: '/dataStandards',
......@@ -326,6 +326,15 @@ export const BasicStandardRoute: AppRouteRecordRaw = {
icon: '',
},
},
{
path: 'basicStandards/basicStandardsContrast',
name: 'basicStandardsContrast',
component: () => import('@/views/dataStandards/basicStandards/basicStandardsContrast.vue'),
meta: {
title: '基础标准对比',
icon: '',
},
},
],
};
......@@ -386,7 +395,7 @@ export const basicRoutes = [
CommonFileRoute,
ModelRoute,
DataSourceRoute,
BasicStandardRoute,
DataStandardRoute,
// RootRoute,
...mainOutRoutes,
REDIRECT_ROUTE,
......
<template>
<PageWrapper title="元数据对比" contentFullHeight contentBackground contentClass="flex">
<PageWrapper title="版本对比" contentFullHeight contentBackground contentClass="flex">
<template #footer>
<div style="display: flex; justify-content: flex-end; padding-bottom: 10px">
<a-button style="margin-right: 5px" type="primary" @click="handleImport">导出</a-button>
<a-button style="margin-right: 5px" type="primary" @click="startContrast">开始对比</a-button>
<a-button style="margin-right: 5px" type="primary" @click="endContrast">结束对比</a-button>
</div>
</template>
<div class="w-1/2 xl:w-1/2 pl-4">
<div style="display: flex;justify-content: space-between; align-items: center;margin-bottom: 10px;margin-left: 12px">
<div style="margin-top: 10px;display: flex;font-weight: bold;font-size: 20px;margin-left: 10px">
<Icon icon="ion:layers-outline" :size="25" :color="'#1091FE'" />
{{title}}
<div style="font-size: 15px;padding-left: 10px;padding-left: 50px">
<div>
版本<Select
v-model:value="optionValue"
show-search
placeholder="请选择版本"
style="width: 200px;margin-left: 10px"
:options="options"
@change="handleChange"
></Select>
</div>
</div>
</div>
</div>
<div>
<BasicForm @register="registerMainForm" />
<Description
size="middle"
title="基本信息"
:bordered="false"
:column="2"
:data="mainData"
:schema="refundSchema"
/>
<Description size="middle" title="列信息" :bordered="false" />
<BasicTable @register="registerMainTable" />
<Description size="middle" title="索引" :bordered="false" />
<BasicTable @register="registerMainIndexTable" />
<BasicForm @register="registerLeftForm" />
</div>
</div>
<div class="w-1/2 xl:w-1/2">
<div style="display: flex;justify-content: space-between; align-items: center;margin-bottom: 10px;margin-left: 12px">
<div style="margin-top: 10px;display: flex;font-weight: bold;font-size: 20px;margin-left: 10px">
<Icon icon="ion:layers-outline" :size="25" :color="'#1091FE'" />
{{title}}
<div style="font-size: 15px;padding-left: 10px;padding-left: 50px">
<div>
版本<Select
v-model:value="optionValue"
show-search
placeholder="请选择版本"
style="width: 200px;margin-left: 10px"
:options="options"
@change="handleChange"
></Select>
</div>
</div>
</div>
</div>
<div>
<BasicForm @register="registerLastForm" />
<Description
size="middle"
title="基本信息"
:bordered="false"
:column="2"
:data="lastData"
:schema="refundSchema"
/>
<Description size="middle" title="列信息" :bordered="false" />
<BasicTable @register="registerLastTable" />
<Description size="middle" title="索引" :bordered="false" />
<BasicTable @register="registerLastIndexTable" />
<BasicForm @register="registerRightForm" />
</div>
</div>
</PageWrapper>
......@@ -44,67 +57,49 @@
<script lang="ts" setup>
import { BasicTable, useTable } from '@/components/Table';
import { PageWrapper } from '@/components/Page';
import { Description } from '@/components/Description';
import {
refundSchema,
columns,
indexColumns,
mainSchema,
lastSchema,
} from '@/views/metadata/metadataComparison/data';
import {
lastData,
lastTableData,
lastTableIndexData,
mainData,
mainTableData,
mainTableIndexData,
} from '@/views/metadata/metadataComparison/metadataComparisomData';
import {contrastSchema} from '@/views/dataStandards/basicStandards/basicStandards.data';
import {leftContrastData,rightContrastData} from '@/views/dataStandards/basicStandards/basicStandardsData';
import { useMessage } from '@/hooks/web/useMessage';
import { BasicForm, useForm } from '@/components/Form';
import {onMounted,ref} from "vue";
import { Select } from 'ant-design-vue';
import Icon from '@/components/Icon/Icon.vue';
defineOptions({ name: 'Metadata' });
const title = ref('对外投资出资方式')
const options = ref<any>([
{ value: 'V1', label: 'V1' },
{ value: 'V2', label: 'V2' },
{ value: 'V3', label: 'V3' },
]);
const { createMessage } = useMessage();
const [registerMainForm] = useForm({
const [registerLeftForm,{setFieldsValue:setLeftFieldsValue}] = useForm({
labelWidth: 100,
schemas: mainSchema,
schemas: contrastSchema,
showActionButtonGroup: false,
});
const [registerLastForm] = useForm({
const [registerRightForm,{setFieldsValue:setRightFieldsValue}] = useForm({
labelWidth: 100,
schemas: lastSchema,
schemas: contrastSchema,
showActionButtonGroup: false,
});
const [registerMainTable] = useTable({
dataSource: mainTableData,
columns,
pagination: false,
showIndexColumn: false,
scroll: { y: 300 },
});
const [registerLastTable] = useTable({
dataSource: lastTableData,
columns,
pagination: false,
showIndexColumn: false,
scroll: { y: 300 },
});
const [registerMainIndexTable] = useTable({
dataSource: mainTableIndexData,
columns: indexColumns,
pagination: false,
showIndexColumn: false,
scroll: { y: 300 },
});
const [registerLastIndexTable] = useTable({
dataSource: lastTableIndexData,
columns: indexColumns,
pagination: false,
showIndexColumn: false,
scroll: { y: 300 },
});
function handleImport() {
createMessage.success('导出完成');
/**开始对比*/
function startContrast() {
createMessage.success('开始对比');
}
/**结束对比*/
function endContrast() {
createMessage.success('结束对比');
}
onMounted(() => {
setLeftFieldsValue({
...leftContrastData[0],
})
setRightFieldsValue({
...rightContrastData[0],
})
});
</script>
......@@ -362,179 +362,6 @@ export const TreeData: any[] = [
}
];
export const DetailTreeData: any[] = [
{
"delFlag" : "0",
"flag" : "1",
"businessId" : 100,
"fileName" : "任务",
"parentId" : 0,
"code:": "001",
"ancestors" : "0",
"orderNum" : 0,
// "children" : [ ],
"selectType" : null,
"fileSize": '1024KB',
"location":"位置1",
"holder":"admin",
"createDate": "2024-10-24 10:04:04",
"updateDate": "2024-10-24 10:04:04",
},
{
"delFlag" : "0",
"flag" : "1",
"businessId" : 101,
"fileName" : "代码文件",
"parentId" : 100,
"code:": "002",
"ancestors" : "0,100",
"orderNum" : 1,
// "children" : [ ],
"selectType" : null,
"fileSize": '1024KB',
"location":"位置1",
"holder":"admin",
"createDate": "2024-10-24 10:04:04",
"updateDate": "2024-10-24 10:04:04",
},
{
"delFlag" : "0",
"flag" : "1",
"businessId" : 102,
"fileName" : "数据处理",
"parentId" : 100,
"code:": "003",
"ancestors" : "0,100",
"orderNum" : 2,
// "children" : [ ],
"selectType" : null,
"fileSize": '1024KB',
"location":"位置1",
"holder":"admin",
"createDate": "2024-10-24 10:04:04",
"updateDate": "2024-10-24 10:04:04",
},
{
"delFlag" : "0",
"flag" : "1",
"businessId" : 103,
"fileName" : "任务流",
"parentId" : 100,
"code:": "003",
"ancestors" : "0,100",
"orderNum" : 2,
// "children" : [ ],
"selectType" : null,
"fileSize": '1024KB',
"location":"位置1",
"holder":"admin",
"createDate": "2024-10-24 10:04:04",
"updateDate": "2024-10-24 10:04:04",
},
{
"delFlag" : "0",
"flag" : "1",
"businessId" : 401,
"fileName" : "脚本",
"parentId" : 101,
"code:": "002",
"ancestors" : "0,100,101",
"orderNum" : 1,
// "children" : [ ],
"selectType" : null,
"fileSize": '1024KB',
"location":"位置1",
"holder":"admin",
"createDate": "2024-10-24 10:04:04",
"updateDate": "2024-10-24 10:04:04",
},
{
"delFlag" : "0",
"flag" : "1",
"businessId" : 402,
"fileName" : "SQL",
"parentId" : 101,
"code:": "002",
"ancestors" : "0,100,101",
"orderNum" : 1,
// "children" : [ ],
"selectType" : null,
"fileSize": '1024KB',
"location":"位置1",
"holder":"admin",
"createDate": "2024-10-24 10:04:04",
"updateDate": "2024-10-24 10:04:04",
},
{
"delFlag" : "0",
"flag" : "1",
"businessId" : 403,
"fileName" : "数据加载",
"parentId" : 102,
"code:": "002",
"ancestors" : "0,100,102",
"orderNum" : 1,
// "children" : [ ],
"selectType" : null,
"fileSize": '1024KB',
"location":"位置1",
"holder":"admin",
"createDate": "2024-10-24 10:04:04",
"updateDate": "2024-10-24 10:04:04",
},
{
"delFlag" : "0",
"flag" : "1",
"businessId" : 404,
"fileName" : "数据同步",
"parentId" : 102,
"code:": "002",
"ancestors" : "0,100,102",
"orderNum" : 1,
// "children" : [ ],
"selectType" : null,
"fileSize": '1024KB',
"location":"位置1",
"holder":"admin",
"createDate": "2024-10-24 10:04:04",
"updateDate": "2024-10-24 10:04:04",
},
{
"delFlag" : "0",
"flag" : "1",
"businessId" : 405,
"fileName" : "数据质量",
"parentId" : 102,
"code:": "002",
"ancestors" : "0,100,102",
"orderNum" : 1,
// "children" : [ ],
"selectType" : null,
"fileSize": '1024KB',
"location":"位置1",
"holder":"admin",
"createDate": "2024-10-24 10:04:04",
"updateDate": "2024-10-24 10:04:04",
},
{
"delFlag" : "0",
"flag" : "1",
"businessId" : 406,
"fileName" : "嵌套任务流",
"parentId" : 103,
"code:": "002",
"ancestors" : "0,100,103",
"orderNum" : 1,
// "children" : [ ],
"selectType" : null,
"fileSize": '1024KB',
"location":"位置1",
"holder":"admin",
"createDate": "2024-10-24 10:04:04",
"updateDate": "2024-10-24 10:04:04",
},
];
export const fileData: any[] = [
{
"delFlag" : "0",
......@@ -624,9 +451,6 @@ export const versionData: any[] = [
},
];
export const accountFormSchema: any[] = [
];
/**首页 新增表单树 数据*/
export const treeDataListTwo = [
......@@ -702,3 +526,100 @@ export const chooseDictoryTreeData = [
icon: 'ion:settings-outline',
},
]
/**对比左侧数据*/
export const leftContrastData: any[] = [
{
"businessId": 201,
"standardChineseName": "对外投资出资方式",
"anotherName": "对外投资出资方式",
"parentId": 102,
"publishStatus": "已发布",
"businessDefinition": "对外投资出资方式",
"standardCode": "BAS000004",
"referenceStandard":[
{ icon: '🌐🔍', text: '数据源1' },
],
"ancestors": "0,100,102",
"location": "/基础标准/个人工作区/对外投资出资方式",
"holderGroup": "个人工作区",
"createDate": "2024-10-22 8:04:04",
"updateDate": "2024-10-22 8:04:04",
"icon": "ant-design:partition-outlined",
"businessAttribute": "财务",
"standardNumber": "BAS-004",
"standardEnglishName": "Investment Contribution Method",
"standardAlias": "Investment Contribution Method",
"standardSource": "国家标准化管理委员会",
"definitionBasis": "相关法律法规",
"businessRule": "对外投资的出资方式必须明确记录。",
"dataType": "1",
"tecDataType": "varchar",
"valueRange": "非空字符串",
"codeNumber": "CODE-201",
"adaptability": "1",
"technicalAttribute": "通用技术属性",
"dataDisplay": "文本显示",
"dataPrecision": "无",
"dataLength": "255",
"measurementUnit": "无",
"managementAttribute": "通用管理属性",
"creator": "王五",
"updater": "赵六",
"secondaryAuthorityDepartment": "技术部",
"tertiaryAuthorityDepartment": "运维组",
"coreSystem": "核心系统B",
"dataStandardStatus": "有效",
"expirationDate": "2025-10-24",
"expirationReason": "无",
"collaborativeDepartment": "人力资源部, 技术部"
},
]
/**对比右侧数据*/
export const rightContrastData = [
{
"businessId": 201,
"standardChineseName": "对外投资出资方式",
"anotherName": "对外投资出资方式",
"parentId": 102,
"publishStatus": "已发布",
"businessDefinition": "对外投资出资方式",
"standardCode": "BAS000004",
"referenceStandard":[
{ icon: '🌐🔍', text: '数据源1' },
],
"ancestors": "0,100,102",
"location": "/基础标准/个人工作区/对外投资出资方式",
"holderGroup": "个人工作区",
"createDate": "2024-10-22 8:04:04",
"updateDate": "2024-10-22 8:04:04",
"icon": "ant-design:partition-outlined",
"businessAttribute": "财务",
"standardNumber": "BAS-004",
"standardEnglishName": "Investment Contribution Method",
"standardAlias": "Investment Contribution Method",
"standardSource": "国家标准化管理委员会",
"definitionBasis": "相关法律法规",
"businessRule": "对外投资的出资方式必须明确记录。",
"dataType": "1",
"tecDataType": "varchar",
"valueRange": "非空字符串",
"codeNumber": "CODE-201",
"adaptability": "1",
"technicalAttribute": "通用技术属性",
"dataDisplay": "文本显示",
"dataPrecision": "无",
"dataLength": "255",
"measurementUnit": "无",
"managementAttribute": "通用管理属性",
"creator": "王五",
"updater": "赵六",
"secondaryAuthorityDepartment": "技术部",
"tertiaryAuthorityDepartment": "运维组",
"coreSystem": "核心系统B",
"dataStandardStatus": "有效",
"expirationDate": "2025-10-24",
"expirationReason": "无",
"collaborativeDepartment": "人力资源部, 技术部"
},
]
......@@ -13,7 +13,7 @@
></Select>
</div>
<div>
<a-button type="primary" @click="editButton">版本对比</a-button>
<a-button type="primary" @click="contrastButton">版本对比</a-button>
<a-button type="primary" style="margin-left: 10px" @click="resetButton">回滚</a-button>
<a-button type="primary" style="margin-left: 10px" @click="exitButton">退出查看</a-button>
</div>
......@@ -115,6 +115,16 @@ function editButton(record) {
});
}
/**基本标准对比*/
function contrastButton(record) {
router.push({
path: '/dataStandards/basicStandards/basicStandardsContrast',
query: {
businessId:businessId.value,
},
});
}
/**版本管理 弹窗*/
function versionButton(record) {
openModal(true, {
......@@ -168,4 +178,5 @@ onMounted(() => {
padding: 16px;
background-color: @component-background;
}
</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