Commit 9d1f59b3 authored by 曹泽华's avatar 曹泽华

数据治理-数据标准版本管理

parent 3de9dca2
<template>
<BasicModal width="40%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<div>当前选中标准共 2条,其中1条已在其他审批流程中,本次申请不再二次提交,示例如下:</div>
<BasicTable @register="registerTable" ></BasicTable>
<template #footer>
<a-button @click="handleCancel"> 取消发布</a-button>
<a-button type="primary" @click="handleSubmitApplication"> 继续发布</a-button>
</template>
</BasicModal>
</template>
<script lang="ts" setup>
import { BasicTable, useTable, TableAction } from '@/components/Table';
import {ref, computed, unref, reactive} from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { batchColumns } from './referenceDocument.data';
import { useMessage } from '@/hooks/web/useMessage';
import {router} from "@/router";
defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const isUpdate = ref(true);
const rowId = ref('');
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
setModalProps({ confirmLoading: false,showCancelBtn:false,showOkBtn:false });
isUpdate.value = !!data?.isUpdate;
if (unref(isUpdate)) {
}
});
const [registerTable, { reload, updateTableDataRecord, getSearchInfo,getForm,getRowSelection }] = useTable({
title: '',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: 0,
code:'',
message:'',
data: [],
};
return { ...response};
},
columns:batchColumns,
showTableSetting: false,
bordered: true,
});
const getTitle = computed(() => ('批量发布'));
function handleCancel() {
closeModal();
}
function handleSubmitApplication() {
closeModal();
router.push({
path: '/dataStandards/publicCode/applyPublication',
});
}
async function handleSubmit() {
try {
setModalProps({ confirmLoading: true });
// TODO custom api
closeModal();
} finally {
setModalProps({ confirmLoading: false });
}
}
</script>
<template>
<BasicModal width="40%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<div>当前选中标准共 2条,其中1条已在其他审批流程中,本次申请不再二次提交,示例如下:</div>
<BasicTable @register="registerTable" ></BasicTable>
<template #footer>
<a-button @click="handleCancel"> 取消发布</a-button>
<a-button type="primary" @click="handleSubmitApplication"> 继续发布</a-button>
</template>
</BasicModal>
</template>
<script lang="ts" setup>
import { BasicTable, useTable, TableAction } from '@/components/Table';
import {ref, computed, unref, reactive} from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { batchColumns } from './referenceDocument.data';
import { useMessage } from '@/hooks/web/useMessage';
import {router} from "@/router";
defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const isUpdate = ref(true);
const rowId = ref('');
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
setModalProps({ confirmLoading: false,showCancelBtn:false,showOkBtn:false });
isUpdate.value = !!data?.isUpdate;
if (unref(isUpdate)) {
}
});
const [registerTable, { reload, updateTableDataRecord, getSearchInfo,getForm,getRowSelection }] = useTable({
title: '',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: 0,
code:'',
message:'',
data: [],
};
return { ...response};
},
columns:batchColumns,
showTableSetting: false,
bordered: true,
});
const getTitle = computed(() => ('批量发布'));
function handleCancel() {
closeModal();
}
function handleSubmitApplication() {
closeModal();
router.push({
path: '/dataStandards/publicCode/applyPublication',
});
}
async function handleSubmit() {
try {
setModalProps({ confirmLoading: true });
// TODO custom api
closeModal();
} finally {
setModalProps({ confirmLoading: false });
}
}
</script>
......@@ -48,6 +48,7 @@
<!-- 版本管理 弹窗-->
<VersionModal @register="registerModal" @success="handleSuccess" />
<PublishModal @register="registerModalPublish" />
</div>
</template>
<script lang="ts" setup>
......@@ -66,6 +67,7 @@
import { useModal } from '@/components/Modal';
import { useMessage } from '@/hooks/web/useMessage';
import { columnsTwo } from './referenceDocument.data';
import PublishModal from "@/views/dataStandards/namingDictionary/domain/publishModal.vue";
const route = useRoute();
const title = ref('');
......@@ -74,6 +76,7 @@
const isShow = ref(false);
const optionValue = ref('v1');
const [registerModal, { openModal }] = useModal();
const [registerModalPublish, { openModal: openModalPublish }] = useModal();
const { createMessage, createConfirm } = useMessage();
const [registerForm1, { setFieldsValue: setFieldsValue1 }] = useForm({
labelWidth: 100,
......@@ -146,15 +149,7 @@
}
function handlePublish() {
createConfirm({
iconType: 'info',
title: '发布',
okText: '发布',
content: '确认发布选中数据?',
onOk() {
createMessage.success('发布成功!');
},
});
openModalPublish(true, {});
}
function handleDelete() {}
/**版本管理 弹窗*/
......
......@@ -70,6 +70,7 @@
<ImportModalInfo @register="registerModalImport" />
<CopyModal @register="registerCopyModal" />
<MoveModal @register="registerMOveModal" />
<BatchPublish @register="registerModalBatch" />
</PageWrapper>
</template>
<script lang="ts" setup>
......@@ -92,6 +93,7 @@
import MoveModal from '@/views/dataStandards/namingDictionary/domain/MoveModal.vue';
import CopyModal from '@/views/dataStandards/namingDictionary/domain/CopyModal.vue';
import ImportModalInfo from '@/views/dataStandards/namingDictionary/domain/importModalInfo.vue';
import BatchPublish from "@/views/dataStandards/namingDictionary/domain/batchPublish.vue";
defineOptions({ name: 'AccountManagement' });
const { createMessage, createConfirm } = useMessage();
......@@ -101,6 +103,7 @@
const [registerModal, { openModal }] = useModal();
const [registerModalManage, { openModal: openModalManage }] = useModal();
const [registerModalImport, { openModal: openImportModalInfo }] = useModal();
const [registerModalBatch, { openModal: openModalBatch }] = useModal();
const [registerModalRemove, { openModal: openModalRemove }] = useModal();
const [registerMOveModal, { openModal: openMoveModal }] = useModal();
const [registerCopyModal, { openModal: openCopyModal }] = useModal();
......@@ -185,15 +188,7 @@
function handleExport() {}
function handlePublish() {
createConfirm({
iconType: 'info',
title: '批量发布',
okText: '发布',
content: '确认发布选中数据?',
onOk() {
createMessage.success('发布成功!');
},
});
openModalBatch(true, {});
}
function handleRemove() {
openModalRemove(true, {});
......
<template>
<BasicModal
width="40%"
v-bind="$attrs"
@register="registerModal"
:title="getTitle"
@ok="handleSubmit"
>
<BasicForm @register="registerForm" />
<Divider />
<BasicForm @register="registerFormTwo" />
<div class="table-container">
<div class="table-row">
<div class="table-cell label">
<div>
<Icon icon="ant-design:database-outlined" :size="20" :color="'#42C465'" />
<span>短编号</span>
<div>域/共享工作区/短编号</div>
</div>
</div>
<div class="table-cell value">
<div>
<Icon icon="ant-design:database-outlined" :size="20" :color="'#42C465'" />
<span>短编号</span>
<div>域/共享工作区/短编号</div>
</div>
</div>
</div>
<div class="table-row">
<div class="table-cell label">版本:1</div>
<div class="table-cell value">版本:下个版本</div>
</div>
<div class="table-row">
<div class="table-cell label">
<step-header title="属性" />
<Row>
<Col :span="6"> 域名称 </Col>
<Col :span="18"> 短编号 </Col>
</Row>
</div>
<div class="table-cell value">
<step-header title="属性" />
<Row>
<Col :span="6"> 域名称 </Col>
<Col :span="18"> 短编号 </Col>
</Row>
</div>
</div>
</div>
<template #footer>
<a-button @click="handleCancel"> 取消</a-button>
<a-button type="primary" @click="handleSubmitApplication"> 提交申请</a-button>
</template>
</BasicModal>
</template>
<script lang="ts" setup>
import Icon from '@/components/Icon/Icon.vue';
import { ref, computed, unref, reactive } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import { formSchemaPublish, formSchemaPublishTwo } from './referenceDocument.data';
import { Divider, Form, Col, Row } from 'ant-design-vue';
import { useMessage } from '@/hooks/web/useMessage';
defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const isUpdate = ref(true);
const rowId = ref('');
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
labelWidth: 100,
baseColProps: { lg: 24, md: 24 },
schemas: formSchemaPublish,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const [registerFormTwo] = useForm({
labelWidth: 100,
baseColProps: { lg: 24, md: 24 },
schemas: formSchemaPublishTwo,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields();
setModalProps({ confirmLoading: false, showOkBtn: false, showCancelBtn: false });
isUpdate.value = !!data?.isUpdate;
if (unref(isUpdate)) {
}
updateSchema({});
});
const getTitle = computed(() => '发布申请');
function handleCancel() {
closeModal();
}
function handleSubmitApplication() {
closeModal();
createMessage.success('发布成功!');
}
async function handleSubmit() {
try {
const values = await validate();
setModalProps({ confirmLoading: true });
// TODO custom api
closeModal();
emit('success', { isUpdate: unref(isUpdate), values: { ...values, id: rowId.value } });
} finally {
setModalProps({ confirmLoading: false });
}
}
</script>
<style lang="scss" scoped>
.info_title {
font-size: 15px;
font-weight: bold;
}
.table-container {
display: grid;
grid-template-columns: 2fr 2fr; /* Define two columns with 1:2 ratio */
gap: 0; /* Space between cells, to create border effect */
border: 1px solid #ddd; /* Border around the entire table */
max-width: 600px;
margin: 10px 10px 0;
.table-row {
display: contents;
.table-cell {
padding: 3%;
border: 1px solid #ddd;
}
}
}
</style>
......@@ -614,6 +614,19 @@ export const copyFormSchema: any[] = [
},
},
];
export const batchColumns: BasicColumn[] = [
{
title: '日期类',
dataIndex: 'name',
width: 120,
},
{
title: '共享工作区/日期类',
dataIndex: 'type',
width: 120,
},
];
export const importSchema: any[] = [
{
field: 'fileMethods',
......@@ -636,3 +649,95 @@ export const importSchema: any[] = [
},
},
];
export const formSchemaPublishTwo: any = [
{
field: '',
label: '数据标准详情',
component: 'BasicTitle',
componentProps: {
readonly: true,
style: {
border: 'none',
backgroundColor: 'transparent',
marginLeft: '15px',
fontWeight: 'bold',
},
},
colProps: { lg: 24, md: 24 },
},
{
field: 'valueOne',
label: '数据标准路径',
component: 'Input',
defaultValue: '域/共享工作区/短编号',
componentProps: {
readonly: true,
disabled: true,
style: {
border: 'none',
backgroundColor: 'transparent',
},
},
},
];
export const formSchemaPublish: any = [
{
field: 'title',
label: '申请标题',
component: 'Input',
rules: [
{
required: true,
message: '请选择上级菜单',
},
],
colProps: { span: 24 },
componentProps: {
placeholder: '',
},
},
{
field: 'reason',
label: '申请理由',
component: 'Input',
rules: [
{
required: true,
message: '请选择上级菜单',
},
],
colProps: { span: 24 },
componentProps: {
placeholder: '',
},
},
{
field: 'user',
label: '申请人',
component: 'Input',
defaultValue: 'admin',
componentProps: {
readonly: true,
disabled: true,
style: {
border: 'none',
backgroundColor: 'transparent',
},
},
},
{
field: 'organization',
label: '申请人组织',
component: 'Input',
defaultValue: '-',
componentProps: {
readonly: true,
disabled: true,
style: {
border: 'none',
backgroundColor: 'transparent',
},
},
},
];
......@@ -61,8 +61,6 @@
import { formSchemaPublish, formSchemaPublishTwo } from './referenceDocument.data';
import { Divider, Form, Col, Row } from 'ant-design-vue';
import { useMessage } from '@/hooks/web/useMessage';
import stepHeader from '../../../components/stepHeader.vue';
import StepHeader from '@/components/stepHeader.vue';
defineOptions({ name: 'AccountModal' });
......
......@@ -49,6 +49,19 @@ export const columns: BasicColumn[] = [
},
];
export const batchColumns: BasicColumn[] = [
{
title: '日期类',
dataIndex: 'name',
width: 120,
},
{
title: '共享工作区/日期类',
dataIndex: 'type',
width: 120,
},
];
export const searchFormSchema: FormSchema[] = [
{
field: 'name',
......
<template>
<BasicModal width="40%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<BasicModal
width="40%"
v-bind="$attrs"
@register="registerModal"
:title="getTitle"
@ok="handleSubmit"
>
<div>当前选中标准共 2条,其中1条已在其他审批流程中,本次申请不再二次提交,示例如下:</div>
<BasicTable @register="registerTable" ></BasicTable>
<BasicTable @register="registerTable" />
<template #footer>
<a-button @click="handleCancel"> 取消发布</a-button>
<a-button type="primary" @click="handleSubmitApplication"> 继续发布</a-button>
......@@ -9,73 +15,68 @@
</BasicModal>
</template>
<script lang="ts" setup>
import { BasicTable, useTable, TableAction } from '@/components/Table';
import {ref, computed, unref, reactive} from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import {batchColumns, formSchemaImport, searchFormSchema} from './referenceDocument.data';
import { useMessage } from '@/hooks/web/useMessage';
import {router} from "@/router";
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { ref, computed, unref, reactive } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { batchColumns, formSchemaImport, searchFormSchema } from './referenceDocument.data';
import { useMessage } from '@/hooks/web/useMessage';
import { router } from '@/router';
defineOptions({ name: 'AccountModal' });
defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const isUpdate = ref(true);
const rowId = ref('');
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const isUpdate = ref(true);
const rowId = ref('');
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
setModalProps({ confirmLoading: false,showCancelBtn:false,showOkBtn:false });
isUpdate.value = !!data?.isUpdate;
if (unref(isUpdate)) {
}
});
const [registerTable, { reload, updateTableDataRecord, getSearchInfo,getForm,getRowSelection }] = useTable({
title: '',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: 0,
code:'',
message:'',
data: [],
};
return { ...response};
},
columns:batchColumns,
showTableSetting: false,
bordered: true,
});
const getTitle = computed(() => ('批量发布'));
function handleCancel() {
closeModal();
}
function handleSubmitApplication() {
closeModal();
router.push({
path: '/dataStandards/referenceDocument/applyPublication',
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
setModalProps({ confirmLoading: false, showCancelBtn: false, showOkBtn: false });
isUpdate.value = !!data?.isUpdate;
if (unref(isUpdate)) {
}
});
createMessage.success('发布成功!');
}
const [
registerTable,
{ reload, updateTableDataRecord, getSearchInfo, getForm, getRowSelection },
] = useTable({
title: '',
api: async (params) => {
const response = {
pageNu: '1',
pageSize: '10',
pages: '1',
total: 0,
code: '',
message: '',
data: [],
};
async function handleSubmit() {
try {
return { ...response };
},
columns: batchColumns,
showTableSetting: false,
bordered: true,
});
setModalProps({ confirmLoading: true });
// TODO custom api
const getTitle = computed(() => '批量发布');
function handleCancel() {
closeModal();
} finally {
setModalProps({ confirmLoading: false });
}
}
function handleSubmitApplication() {
closeModal();
router.push({
path: '/dataStandards/referenceDocument/applyPublication',
});
}
async function handleSubmit() {
try {
setModalProps({ confirmLoading: true });
// TODO custom api
closeModal();
} finally {
setModalProps({ confirmLoading: false });
}
}
</script>
......@@ -11,8 +11,9 @@
</div>
</div>
<div style="margin-top: 10px;display: flex" v-if="!isShow">
<a-button type="primary" @click="editButton">保存修改</a-button>
<a-button type="primary" style="margin-left: 10px" @click="editButton">退出编辑</a-button>
<a-button type="primary" @click="publishButton">发布</a-button>
<a-button type="primary" style="margin: 0 10px" @click="editButton">保存修改</a-button>
<a-button type="primary" @click="editButton">退出编辑</a-button>
</div>
</div>
<Divider />
......@@ -60,6 +61,7 @@
<!-- 版本管理 弹窗-->
<VersionModal @register="registerModal" @success="handleSuccess" />
<PublishModal @register="registerModalPublish" />
</div>
</template>
<script lang="ts" setup>
......@@ -79,6 +81,7 @@ import VersionModal from '@/views/dataStandards/basicStandards/VersionModal.vue'
import {useModal} from "@/components/Modal";
import { useMessage } from '@/hooks/web/useMessage';
import { columnsTwo } from './referenceDocument.data';
import PublishModal from "@/views/dataStandards/namingDictionary/domain/publishModal.vue";
const route = useRoute()
const title = ref('')
const formData = ref({})
......@@ -87,6 +90,7 @@ const isShow = ref(false)
const optionValue = ref('v1')
const [registerModal, { openModal }] = useModal();
const { createMessage, createConfirm } = useMessage();
const [registerModalPublish, { openModal: openModalPublish }] = useModal();
const [registerForm1, { setFieldsValue: setFieldsValue1 }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
......@@ -148,6 +152,10 @@ function handleChange(value) {
}
function publishButton () {
openModalPublish(true, {});
}
/**回滚*/
function resetButton(value) {
createMessage.success('回滚成功!')
......
......@@ -797,3 +797,92 @@ export const copyFormSchema: any[] = [
},
},
];
export const contrastSchema: any[] = [
{
field: 'valueOne',
label: '所属主题',
component: 'Input',
colProps: { lg: 12, md: 8 },
defaultValue: '标准文件管理',
componentProps: {
placeholder: '请输入所属主题',
},
},
{
field: 'valueTwo',
label: '标准编号',
component: 'Input',
defaultValue: 'REF000023',
colProps: { lg: 12, md: 8 },
componentProps: {
placeholder: '请输入标准编号',
},
},
{
field: 'valueThree',
label: '标准中文名称',
component: 'Input',
defaultValue: '标准文件A',
colProps: { lg: 12, md: 8 },
rules: [
{
required: true,
message: '请输入标准中文名称',
},
],
componentProps: {
placeholder: '请输入标准中文名称',
},
},
{
field: 'valueFour',
label: '来源定义',
component: 'Input',
colProps: { lg: 12, md: 8 },
defaultValue: '-',
componentProps: {
placeholder: '请输入来源定义',
},
},
{
field: 'valueFive',
label: '发文机构',
component: 'Input',
defaultValue: '某部队',
colProps: { lg: 12, md: 8 },
componentProps: {
placeholder: '请输入发文机构',
},
},
{
field: 'valueSix',
label: '发文日期',
component: 'Input',
defaultValue: '202304',
colProps: { lg: 12, md: 8 },
componentProps: {
placeholder: '请输入发文机构',
},
},
{
field: 'valueSeven',
label: '发布文号',
component: 'Input',
defaultValue: '2023001',
colProps: { lg: 12, md: 8 },
componentProps: {
placeholder: '请输入发布文号',
},
},
{
field: 'valueEight',
label: '重点摘录',
component: 'Input',
defaultValue: '-',
colProps: { lg: 12, md: 8 },
componentProps: {
placeholder: '请输入重点摘录',
},
},
]
<template>
<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="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="registerLeftForm">
<template #businessRule="{ model, field }">
<span style="color: red" v-if="startContrastFlag">{{model.businessRule}}</span>
<span style="color: black" v-else>{{model.businessRule}}</span>
</template>
</BasicForm>
</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="optionValue1"
show-search
placeholder="请选择版本"
style="width: 200px;margin-left: 10px"
:options="options1"
@change="handleChange"
></Select>
</div>
</div>
</div>
</div>
<div>
<BasicForm @register="registerRightForm">
<template #businessRule="{ model, field }">
<span style="color: red" v-if="startContrastFlag">{{model.businessRule}}</span>
<span style="color: black" v-else>{{model.businessRule}}</span>
</template>
</BasicForm>
</div>
</div>
</PageWrapper>
</template>
<script lang="ts" setup>
import { BasicTable, useTable } from '@/components/Table';
import { PageWrapper } from '@/components/Page';
import {contrastSchema} from './referenceDocument.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';
import {router} from "@/router";
import { useRoute,onBeforeRouteLeave } from 'vue-router';
defineOptions({ name: 'Metadata' });
const route = useRoute();
const title = ref('标准文件A')
const startContrastFlag = ref(false)
const options = ref<any>([
{ value: 'V1', label: 'V1' },
{ value: 'V2', label: 'V2' },
{ value: 'V3', label: 'V3' },
]);
const options1 = ref<any>([
{ value: 'V1', label: 'V1' },
{ value: 'V2', label: 'V2' },
{ value: 'V3', label: 'V3' },
]);
const optionValue = ref('')
const optionValue1 = ref('')
const { createMessage } = useMessage();
const [registerLeftForm,{setFieldsValue:setLeftFieldsValue}] = useForm({
labelWidth: 100,
schemas: contrastSchema,
showActionButtonGroup: false,
});
const [registerRightForm,{setFieldsValue:setRightFieldsValue}] = useForm({
labelWidth: 100,
schemas: contrastSchema,
showActionButtonGroup: false,
});
/**开始对比*/
function startContrast() {
createMessage.info('开始对比');
startContrastFlag.value = true
}
/**结束对比*/
function endContrast() {
createMessage.info('结束对比');
router.go(-1);
// startContrastFlag.value = false
// router.push({
// path: '/dataStandards/basicStandards/detailStandard',
// query: {
// businessId:route.query.businessId,
// },
// });
}
onMounted(() => {
optionValue.value = 'V3'
optionValue1.value = 'V1'
setLeftFieldsValue({
...leftContrastData[0],
})
setRightFieldsValue({
...rightContrastData[0],
})
});
</script>
......@@ -247,6 +247,37 @@ export const detailTableData: any[] = [
targetWriteCount: '1',
syncPoint: '5912330',
},
{
businessId: '8',
checkBatch: '2023-06-21 19:25:00',
statisticalTime: '2023-06-21 19:25:00',
sourceParseCount: '4',
kafkaWriteCount: '4',
kafkaConsumeCount: '1',
targetWriteCount: '4',
syncPoint: '5912330',
},
{
businessId: '9',
checkBatch: '2023-06-21 19:25:00',
statisticalTime: '2023-06-21 19:25:00',
sourceParseCount: '3',
kafkaWriteCount: '3',
kafkaConsumeCount: '1',
targetWriteCount: '3',
syncPoint: '5912330',
},
{
businessId: '10',
checkBatch: '2023-06-21 19:25:00',
statisticalTime: '2023-06-21 19:25:00',
sourceParseCount: '2',
kafkaWriteCount: '2',
kafkaConsumeCount: '1',
targetWriteCount: '2',
syncPoint: '5912330',
},
];
/**详情页列表 数据2*/
export const detailTableData2: any[] = [
......
......@@ -41,8 +41,8 @@
</div>
<div style="margin-right: 10px">
<RadioGroup v-model:value="selectRadio" button-style="solid">
<RadioButton value="1">展示所有批次</RadioButton>
<RadioButton value="2">过滤有差异批次</RadioButton>
<RadioButton value="1" @click="handleOut('1')">展示所有批次</RadioButton>
<RadioButton value="2" @click="handleOut('2')">过滤有差异批次</RadioButton>
</RadioGroup>
</div>
</div>
......@@ -880,7 +880,7 @@
type RangeValue = [Dayjs, Dayjs];
const value1 = ref<RangeValue>();
const value2 = ref<RangeValue>();
const selectRadio = ref('');
const selectRadio = ref('1');
const optionValue = ref('1');
const options = ref([
{
......@@ -923,21 +923,35 @@
getColor();
});
});
// 返回数据
if (selectRadio.value === '1') {
return detailTableData;
} else {
return detailTableData.filter((item) => {
return !(
item.sourceParseCount !== item.kafkaWriteCount ||
item.kafkaWriteCount !== item.targetWriteCount
);
});
}
}
const [registerTable1, { setTableData, reload }] = useTable({
title: '',
api: async (params) => {
getData();
const response = {
pageNu: '1',
pageSize: '10',
pages: '1',
total: detailTableData.length,
code: '',
message: '',
data: [],
const data = getData();
return {
data: data,
};
return { ...response, data: detailTableData };
// const response = {
// pageNu: '1',
// pageSize: '10',
// pages: '1',
// total: [].length,
// code: '',
// message: '',
// data: [],
// };
// return { ...response, data: detailTableData };
},
columns: detailColumns,
useSearchForm: false,
......@@ -1738,11 +1752,15 @@
const tdList = item.querySelectorAll('td');
console.log('text', tdList[0].text);
if (tdList[0].text) {
}
// domList[item].style.backgroundColor = '#FFEDD8';
}
}
function handleOut(data) {
selectRadio.value = data;
reload();
}
/**初始化*/
onMounted(() => {
getEchartsData();
......
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