Commit e7732d2a authored by chenjiahao's avatar chenjiahao

修复已知问题

parent ae6ac637
......@@ -7,22 +7,22 @@
preIcon="carbon:cloud-upload"
:disabled="disabled"
>
{{ t('component.upload.upload') }}
<slot name="uploadBtnName">{{ t('component.upload.upload') }}</slot>
</a-button>
<!-- <Tooltip placement="bottom" v-if="showPreview">-->
<!-- <template #title>-->
<!-- {{ t('component.upload.uploaded') }}-->
<!-- <template v-if="fileList.length">-->
<!-- {{ fileList.length }}-->
<!-- </template>-->
<!-- </template>-->
<!-- <a-button @click="openPreviewModal">-->
<!-- <Icon icon="bi:eye" />-->
<!-- <template v-if="fileList.length && showPreviewNumber">-->
<!-- {{ fileList.length }}-->
<!-- </template>-->
<!-- </a-button>-->
<!-- </Tooltip>-->
<!-- <Tooltip placement="bottom" v-if="showPreview">-->
<!-- <template #title>-->
<!-- {{ t('component.upload.uploaded') }}-->
<!-- <template v-if="fileList.length">-->
<!-- {{ fileList.length }}-->
<!-- </template>-->
<!-- </template>-->
<!-- <a-button @click="openPreviewModal">-->
<!-- <Icon icon="bi:eye" />-->
<!-- <template v-if="fileList.length && showPreviewNumber">-->
<!-- {{ fileList.length }}-->
<!-- </template>-->
<!-- </a-button>-->
<!-- </Tooltip>-->
</Space>
<UploadModal
v-bind="bindValue"
......
......@@ -68,20 +68,45 @@
@register="registerSourceSideConfigurationForm"
style="width: 30%; margin-right: 30px"
>
<template #dataSourceAlert>
<Alert
show-icon
style="font-size: 12px"
message="目标端为Inceptor、Argodb,若与源端数据源跨集群或租户,则需要配置互信"
type="info"
/>
</template>
<template #DataDischargeLakeIsCustomSQLAlert>
<Alert
show-icon
style="font-size: 10px; white-space: break-spaces"
message="! 自定义的SQL模式,仅支持查询SQL,且更新SQL必须进行解析操作,否则任务可能执行失败。
! 自定义SQL只支持填写一条查询SQL,否则解析SQL可能失败。
! 建议非必要不要在抽数中进行多表联查,否则抽数效率较低。"
type="info"
/>
</template>
<template #getMetadata>
<a-button @click="handleGetMetadata" type="primary">获取元数据</a-button>
</template>
<template #importFile>
<div style="display: flex">
<a-button style="margin-right: 5px">下载文件模板</a-button>
<a-button @click="handleDownloadTemplateFile" style="margin-right: 5px"
>下载文件模板</a-button
>
<!-- <a-button type="primary">导入文件</a-button>-->
<BasicUpload
:maxSize="20"
:maxNumber="1"
@change="handleChange"
@click="handleUpload"
:api="userImport"
:accept="['.xlsx, .xls']"
/>
>
<template #uploadBtnName>
{{ 1231231 }}
</template>
</BasicUpload>
</div>
</template>
</BasicForm>
......@@ -109,12 +134,13 @@
<div style="display: flex; justify-content: space-between">
<strong>自定义查询SQL</strong>
<a-button type="primary" style="margin-right: 5px" @click="handleParsingSQL"
>解析SQL</a-button
>
>解析SQL
</a-button>
</div>
<CodeEditor v-model:value="sql" style="height: 100%" />
</div>
</div>
<!-- 右侧表单 --->
<BasicForm
v-if="isGetMeta === 'true'"
@register="registerLoadingStrategyForm"
......@@ -201,21 +227,27 @@
</template>
<template #executionSequence="{ index }">
<div style="display: flex; justify-content: center; color: dimgray">
<Icon
style="font-size: 30px !important"
icon="material-symbols-light:keyboard-double-arrow-up"
@click="handleMoveTop(index)"
/>
<Icon
style="font-size: 20px !important; margin-right: 5px"
icon="oui:arrow-down"
@click="handleMoveDown(index)"
/>
<Icon
style="font-size: 20px !important"
icon="oui:arrow-up"
@click="handleMoveUp(index)"
/>
<Tooltip title="移至顶部" placement="bottom">
<Icon
style="font-size: 30px !important"
icon="material-symbols-light:keyboard-double-arrow-up"
@click="handleMoveTop(index)"
/>
</Tooltip>
<Tooltip title="下移" placement="bottom">
<Icon
style="font-size: 20px !important; margin-right: 5px"
icon="oui:arrow-down"
@click="handleMoveDown(index)"
/>
</Tooltip>
<Tooltip title="上移" placement="bottom">
<Icon
style="font-size: 20px !important"
icon="oui:arrow-up"
@click="handleMoveUp(index)"
/>
</Tooltip>
</div>
</template>
<template #bodyCell="{ column, record }">
......@@ -225,10 +257,12 @@
:actions="[
{
icon: 'iconamoon:edit',
tooltip: '编辑',
onClick: handleEdit.bind(null, record),
},
{
icon: 'ic:outline-delete-outline',
tooltip: '删除',
onClick: handleDeleteRule.bind(null, record),
},
]"
......@@ -523,8 +557,9 @@
Select,
CheckboxGroup,
Checkbox,
Tooltip,
} from 'ant-design-vue';
import { h, ref, onMounted } from 'vue';
import { h, ref, onMounted, onBeforeMount } from 'vue';
import { BasicTree } from '@/components/Tree';
import { BasicForm, FormSchema, useForm } from '@/components/Form';
import {
......@@ -583,6 +618,8 @@
import FieldTypeMappingRuleModal from '@/views/dataIntegration/dataLoading/dataEntryLake/fieldTypeMappingRuleModal.vue';
import DataTransformationRuleModal from '@/views/dataIntegration/dataLoading/dataEntryLake/dataTransformationRuleModal.vue';
import SingleTableFieldMappingRuleModal from '@/views/dataIntegration/dataLoading/dataEntryLake/singleTableFieldMappingRuleModal.vue';
import { exportRoleList } from '@/api/system/role/role';
import { downloadByData } from '@/utils/file/download';
const route = useRoute();
const emit = defineEmits(['success', 'register']);
......@@ -613,6 +650,8 @@
let customSQLFlag = ref();
let isAutomaticTableConstructionFlag = ref(false);
let isParsingSQL = ref(false);
let isImport = ref(false);
let isDataDischargeLake = ref(false);
let isClearTargetTable = ref('否');
const isSave = ref('false');
const isRun = ref('false');
......@@ -634,7 +673,7 @@
},
{
label: 'V3',
value: 'V4',
value: 'V3',
},
];
const actionList = [
......@@ -651,18 +690,6 @@
},
];
const [registerNewFieldRuleModal, { openModal: openNewFieldRuleModal }] = useModal();
const [registerFieldNameMappingRuleModal, { openModal: openFieldNameMappingRuleModal }] =
useModal();
const [registerFieldTypeMappingRuleModal, { openModal: openFieldTypeMappingRuleModal }] =
useModal();
const [registerDataTransformationRuleModal, { openModal: openDataTransformationRuleModal }] =
useModal();
const [
registerSingleTableFieldMappingRuleModal,
{ openModal: openSingleTableFieldMappingRuleModal },
] = useModal();
const sourceSideConfigurationFormSchema: FormSchema[] = [
{
field: 'loadType',
......@@ -673,10 +700,12 @@
onChange: () => {
loadType.value = formModel.loadType;
const flag = formModel.loadType === '增量数据加载';
updateSchema([{ field: 'incrementalRepresentationColumn', ifShow: flag }]);
updateSchema([{ field: 'site', ifShow: flag }]);
updateSchema([{ field: 'incrementalRepresentationColumnAlert', ifShow: flag }]);
updateSchema([{ field: 'incrementalRepresentationColumnAlertDivider', ifShow: flag }]);
updateDestinationConfigurationSchema([
{ field: 'incrementalRepresentationColumn', ifShow: flag },
{ field: 'site', ifShow: flag },
{ field: 'incrementalRepresentationColumnAlert', ifShow: flag },
{ field: 'incrementalRepresentationColumnAlertDivider', ifShow: flag },
]);
},
options: [
{ label: '全量数据加载', value: '全量数据加载' },
......@@ -692,27 +721,56 @@
componentProps: ({ formModel, formActionType }) => ({
onChange: () => {
isParsingSQL.value = false;
isGetMeta.value = formModel.metadataAcquisitionMode === '自定义SQL' ? 'true' : 'false';
metadataAcquisitionModeFlag.value = formModel.metadataAcquisitionMode === '自定义SQL';
const flag = !metadataAcquisitionModeFlag.value;
const isImport = formModel.metadataAcquisitionMode === '导入元数据文件';
updateSchema([{ field: 'filterCondition', ifShow: flag && customSQLFlag.value }]);
updateSchema([{ field: 'notCustomSQLTable', ifShow: flag && customSQLFlag.value }]);
updateSchema([{ field: 'customSQL', ifShow: flag }]);
updateSchema([{ field: 'querySQL', ifShow: flag && !customSQLFlag.value }]);
updateSchema([{ field: 'parsingSQL', ifShow: flag && !customSQLFlag.value }]);
updateSchema([{ field: 'isCustomSQLAlert', ifShow: flag && !customSQLFlag.value }]);
updateSchema([
isImport.value = formModel.metadataAcquisitionMode === '导入元数据文件';
updateLoadingStrategyFormSchema([
{ field: 'filterCondition', ifShow: flag && customSQLFlag.value },
{ field: 'notCustomSQLTable', ifShow: flag && customSQLFlag.value },
{ field: 'customSQL', ifShow: flag },
{ field: 'querySQL', ifShow: flag && !customSQLFlag.value },
{ field: 'parsingSQL', ifShow: flag && !customSQLFlag.value },
{ field: 'parsingSQL', ifShow: flag && !customSQLFlag.value },
{
field: 'isCustomSQLTable',
ifShow: flag && !customSQLFlag.value && isParsingSQL.value,
},
{ field: 'sourceDataTableName', ifShow: !flag },
{ field: 'isBatchCustomSQLTable', ifShow: !flag && isParsingSQL.value },
]);
if (isDataDischargeLake.value === true) {
formActionType.updateSchema([
{
field: 'dataBase',
label: 'Schema',
ifShow: isDataDischargeLake.value && flag && !isImport.value,
},
]);
} else {
formActionType.updateSchema([
{
field: 'dataBase',
label: '数据库',
ifShow: isDataDischargeLake.value && flag && !isImport.value,
},
]);
}
formActionType.updateSchema([
{ field: 'metadataType', ifShow: flag && !isImport.value },
{ field: 'getMetadata', ifShow: flag && !isImport.value },
{ field: 'importFile', ifShow: flag && isImport.value },
{
field: 'dataSourceAlert',
ifShow: isDataDischargeLake.value && flag && !isImport.value,
},
{
field: 'HDFSDataSource',
ifShow: isDataDischargeLake.value && flag && !isImport.value,
},
{ field: 'useResources', ifShow: isDataDischargeLake.value && flag && !isImport.value },
{ field: 'DataDischargeLakeIsCustomSQLAlert', ifShow: !flag },
]);
updateSchema([{ field: 'sourceDataTableName', ifShow: !flag }]);
updateSchema([{ field: 'isBatchCustomSQLTable', ifShow: !flag && isParsingSQL.value }]);
formActionType.updateSchema([{ field: 'dataBase', ifShow: flag && !isImport }]);
formActionType.updateSchema([{ field: 'metadataType', ifShow: flag && !isImport }]);
formActionType.updateSchema([{ field: 'getMetadata', ifShow: flag && !isImport }]);
formActionType.updateSchema([{ field: 'importFile', ifShow: flag && isImport }]);
},
options: [
{ label: '从JDBC获取元数据', value: '从JDBC获取元数据' },
......@@ -727,14 +785,66 @@
component: 'Select',
required: true,
defaultValue: 'KunDB数据源',
componentProps: {
componentProps: ({ formModel, formActionType }) => ({
onChange: () => {
isParsingSQL.value = false;
isDataDischargeLake.value = ['Argodb', 'Inceptor'].includes(formModel.dataSource);
formActionType.updateSchema([
{
field: 'dataSourceAlert',
ifShow:
isDataDischargeLake.value && !isImport.value && !metadataAcquisitionModeFlag.value,
},
{
field: 'maximumNumberOfDatabaseConnections',
ifShow: !isDataDischargeLake.value,
},
{
field: 'HDFSDataSource',
ifShow:
isDataDischargeLake.value && !isImport.value && !metadataAcquisitionModeFlag.value,
},
{
field: 'useResources',
ifShow:
isDataDischargeLake.value && !isImport.value && !metadataAcquisitionModeFlag.value,
},
{ field: 'dataBase', label: 'Schema' },
{ field: 'dataBase', label: '数据库' },
]);
updateDestinationConfigurationSchema([
{ field: 'objectLibrary', ifShow: !isDataDischargeLake.value },
{ field: 'catalog', ifShow: isDataDischargeLake.value },
{ field: 'HDFSDataSource', ifShow: !isDataDischargeLake.value },
{ field: 'isTargetTableSnapshot', ifShow: !isDataDischargeLake.value },
{
field: 'isAutomaticTableConstruction',
ifShow: !isDataDischargeLake.value,
},
{
field: 'withOutAutomaticTableConstruction',
ifShow: isDataDischargeLake.value,
},
]);
isAutomaticTableConstructionFlag.value = false;
setColumns(noConfigurationColumns);
},
placeholder: '请选择数据源',
options: [
{ label: 'KunDB数据源', value: 'KunDB数据源' },
{ label: 'MongoDB数据源', value: 'MongoDB数据源' },
{ label: 'AmazonS3', value: 'AmazonS3' },
{ label: 'Argodb', value: 'Argodb' },
{ label: 'Inceptor', value: 'Inceptor' },
],
},
}),
},
{
field: 'dataSourceAlert',
label: '',
slot: 'dataSourceAlert',
ifShow: false,
},
{
field: 'dataBase',
......@@ -742,45 +852,12 @@
component: 'Select',
required: true,
componentProps: {
placeholder: '',
options: [
{ label: 'maoyanceshi1', value: 'maoyanceshi1' },
{ label: 'bigevent', value: 'bigevent' },
{ label: 'database1', value: 'database1' },
],
},
// componentProps: {
// placeholder: '请选择数据源',
// displayRender: ({ labels }) => {
// return labels[labels.length - 1];
// },
// options: [
// {
// value: '数据库对象资源',
// label: '数据库对象资源',
// children: [
// {
// value: '数据中台工作区01',
// label: '数据中台工作区01',
// children: [
// {
// value: 'ArgoDB_Dev01',
// label: 'ArgoDB_Dev01',
// },
// {
// value: 'ArgoDB_Dev02',
// label: 'ArgoDB_Dev02',
// },
// {
// value: 'GbaseDB_Dev01',
// label: 'GbaseDB_Dev01',
// },
// ],
// },
// ],
// },
// ],
// },
},
{
field: 'metadataType',
......@@ -806,13 +883,56 @@
{
field: 'maximumNumberOfDatabaseConnections',
label: '源库最大连接数',
defaultValue: '10',
component: 'Input',
componentProps: {
placeholder: '请输入源库最大连接数',
},
},
{
field: 'HDFSDataSource',
label: 'HDFS数据源',
component: 'Select',
componentProps: {
placeholder: '',
options: [
{ label: '546-hdfs', value: '546-hdfs' },
{ label: 'cluster1-hdfs', value: 'cluster1-hdfs' },
{ label: 'cluster2-hdfs', value: 'cluster2-hdfs' },
{ label: 'prod-hdfs', value: 'prod-hdfs' },
{ label: 'dev-hdfs', value: 'dev-hdfs' },
{ label: 'test-hdfs', value: 'test-hdfs' },
{ label: 'backup-hdfs', value: 'backup-hdfs' },
],
},
ifShow: false,
required: true,
},
{
field: 'useResources',
label: '使用资源',
component: 'RadioGroup',
defaultValue: '源端',
ifShow: false,
componentProps: ({ formModel, formActionType }) => ({
onChange: () => {
// loadType.value = formModel.loadType;
// const flag = formModel.loadType === '增量数据加载';
// updateSchema([{ field: 'incrementalRepresentationColumn', ifShow: flag }]);
// updateSchema([{ field: 'site', ifShow: flag }]);
},
options: [
{ label: '源端', value: '源端' },
{ label: '目标端', value: '目标端' },
],
}),
},
{
field: 'DataDischargeLakeIsCustomSQLAlert',
slot: 'DataDischargeLakeIsCustomSQLAlert',
ifShow: false,
},
];
const LoadingStrategyFormSchema: FormSchema[] = [
{
field: 'incrementalRepresentationColumn',
......@@ -887,11 +1007,14 @@
required: true,
componentProps: ({ formModel, formActionType }) => ({
onChange: () => {
isParsingSQL.value = false;
// isParsingSQL.value = false;
customSQLFlag.value = formModel.customSQL === '否';
formActionType.updateSchema([{ field: 'filterCondition', ifShow: customSQLFlag.value }]);
formActionType.updateSchema([
{ field: 'notCustomSQLTable', ifShow: customSQLFlag.value },
{
field: 'notCustomSQLTable',
ifShow: !metadataAcquisitionModeFlag.value && customSQLFlag.value,
},
]);
formActionType.updateSchema([{ field: 'querySQL', ifShow: !customSQLFlag.value }]);
formActionType.updateSchema([{ field: 'parsingSQL', ifShow: !customSQLFlag.value }]);
......@@ -943,25 +1066,20 @@
{
field: 'isCustomSQLTable',
slot: 'isCustomSQLTable',
ifShow: isParsingSQL.value,
ifShow: false,
},
{
field: 'sourceDataTableName',
label: '源端标识表名',
component: 'Input',
defaultValue: 'user_info,customer_details,order_history,product_inventory',
colProps: { lg: 11, md: 11 },
componentProps: {
placeholder: '',
},
ifShow: false,
},
{
field: 'isBatchCustomSQLTable',
slot: 'isBatchCustomSQLTable',
ifShow: isParsingSQL.value,
},
];
const DestinationConfigurationFormSchema: FormSchema[] = [
{
field: 'dataSource',
......@@ -1018,6 +1136,22 @@
},
required: true,
},
{
field: 'catalog',
label: 'catalog',
component: 'Select',
colProps: { lg: 12, md: 12 },
componentProps: {
placeholder: '',
options: [
{ label: 'maoyanceshi1', value: 'maoyanceshi1' },
{ label: 'bigevent', value: 'bigevent' },
{ label: 'database1', value: 'database1' },
],
},
ifShow: false,
required: true,
},
{
field: 'theMaximumNumberOfConcurrentRequestsAllowed',
label: '允许最大并发数',
......@@ -1094,6 +1228,24 @@
],
}),
},
{
field: 'withOutAutomaticTableConstruction',
label: '是否自动建表',
component: 'RadioGroup',
defaultValue: '否',
ifShow: false,
colProps: { lg: 12, md: 12 },
componentProps: ({ formModel, formActionType }) => ({
onChange: () => {
isAutomaticTableConstructionFlag.value =
formModel.withOutAutomaticTableConstruction === '是';
setColumns(noConfigurationColumns);
// formActionType.updateSchema([{ field: 'quantityBasedAlert', ifShow: flag }]);
// formActionType.updateSchema([{ field: 'conditionBasedAlert', ifShow: !flag }]);
},
options: [{ label: '否', value: '否' }],
}),
},
{
field: 'span',
label: ' ',
......@@ -1161,7 +1313,6 @@
ifShow: ['0'].includes(configurationModeFlag.value),
},
];
const ConfigurationItemFormSchema: FormSchema[] = [
{
slot: 'reviewSQL',
......@@ -1312,6 +1463,17 @@
},
];
const [registerNewFieldRuleModal, { openModal: openNewFieldRuleModal }] = useModal();
const [registerFieldNameMappingRuleModal, { openModal: openFieldNameMappingRuleModal }] =
useModal();
const [registerFieldTypeMappingRuleModal, { openModal: openFieldTypeMappingRuleModal }] =
useModal();
const [registerDataTransformationRuleModal, { openModal: openDataTransformationRuleModal }] =
useModal();
const [
registerSingleTableFieldMappingRuleModal,
{ openModal: openSingleTableFieldMappingRuleModal },
] = useModal();
const [registerGetMetadataModal, { openModal: openGetMetadataModal }] = useModal();
const [registerDeplysModal, { openModal: openDeplysModal }] = useModal();
const [registerViewLogsModal, { openModal: openViewLogsModal }] = useModal();
......@@ -1327,14 +1489,13 @@
] = useModal();
const [registerBatchScaleNameMappingModal, { openModal: openBatchScaleNameMappingModal }] =
useModal();
const [registerBatchConfigurationModal, { openModal: openBatchConfigurationModal }] = useModal();
const [registerClearConfigurationModal, { openModal: openClearConfigurationModal }] = useModal();
const [
registerSourceSideConfigurationForm,
{
updateSchema: updateSourceSideConfigurationSechema,
getFieldsValue,
validate: validateSourceSideConfigurationForm,
submit: submitSourceSideConfiguration,
......@@ -1349,8 +1510,10 @@
span: 23,
},
});
const [registerLoadingStrategyForm, { updateSchema, setFieldsValue }] = useForm({
const [
registerLoadingStrategyForm,
{ updateSchema: updateLoadingStrategyFormSchema, setFieldsValue },
] = useForm({
labelWidth: 120,
labelAlign: 'left',
baseColProps: { lg: 24, md: 24 },
......@@ -1360,7 +1523,6 @@
span: 23,
},
});
const [
registerDestinationConfigurationForm,
{
......@@ -1377,7 +1539,6 @@
span: 23,
},
});
const [
registerConfigurationItemForm,
{
......@@ -1394,7 +1555,6 @@
span: 23,
},
});
const [registerIsCustomSQLTable, { reload: isCustomSQLTableReload }] = useTable({
api: async () => {
isCustomSQLTable.value = isCustomSQLTableList.filter((item) => {
......@@ -1418,7 +1578,6 @@
showIndexColumn: false,
bordered: false,
});
const [registerIsBatchCustomSQLTable] = useTable({
api: async () => {
const response = {
......@@ -1439,7 +1598,6 @@
showIndexColumn: false,
bordered: false,
});
const [registerNotCustomSQLTable, { reload: notCustomSQLTableReload }] = useTable({
api: async () => {
notCustomSQLTable.value = notCustomSQLTableList.filter(
......@@ -1473,7 +1631,6 @@
// slots: { customRender: 'action' },
},
});
const [
registerMappingRuleConfigurationTable,
{ getRowSelection: getMappingRuleConfigurationRowSelection },
......@@ -1505,7 +1662,6 @@
// slots: { customRender: 'action' },
},
});
const [
registerConfigurationTable,
{
......@@ -1538,7 +1694,6 @@
showIndexColumn: true,
bordered: false,
});
const [
registerPartitionKeyTable,
{ reload: reloadPartitionKeyTable, getDataSource: getPartitionKeyDataSource },
......@@ -1571,7 +1726,6 @@
dataIndex: 'action',
},
});
const [
registerPartitionRangeTable,
{ reload: reloadPartitionRangeTable, getDataSource: getPartitionRangeDataSource },
......@@ -1604,7 +1758,6 @@
dataIndex: 'action',
},
});
const [
registerOtherConfigurationTable,
{ reload: reloadOtherConfigurationTable, getDataSource: getOtherConfigurationDataSource },
......@@ -1637,7 +1790,6 @@
dataIndex: 'action',
},
});
const [
registerTabularPresentationTable,
{ reload: reloadTabularPresentationTable, getDataSource: getTabularPresentationDataSource },
......@@ -1677,7 +1829,6 @@
dataIndex: 'action',
},
});
const [
registerCompareTable,
{ reload: reloadCompareTable, getDataSource: getCompareDataSource },
......@@ -1718,11 +1869,15 @@
pagination: false,
bordered: false,
});
onBeforeMount(() => {
key.value = '3';
});
onMounted(() => {
setFieldsValue({
sourceDataTableName: 'user_info,customer_details,order_history,product_inventory',
});
key.value = '1';
isEdit.value = route.query.isEdit;
});
......@@ -1741,7 +1896,6 @@
},
});
};
function handleDelete() {
Modal.confirm({
title: '确认删除',
......@@ -1765,7 +1919,6 @@
// },
// });
}
function handleSelect(keys) {
isParsingSQL.value = false;
console.log('keys', getFieldsValue());
......@@ -1776,16 +1929,16 @@
notCustomSQLTableReload();
// emit('select', keys[0]);
}
function goBack() {
router.back();
}
function handleUpload() {
isGetMeta.value = 'true';
}
function handleChange(list: string[]) {
console.log('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', list);
createMessage.success(`文件上传成功`);
}
function handleDebug() {
isEdit.value = 'debug';
key.value = '4';
......@@ -1833,11 +1986,9 @@
];
reloadTabularPresentationTable();
}
function handleExitDebug() {
isEdit.value = 'true';
}
async function handleSave() {
try {
const isValid = await validateSourceSideConfigurationForm();
......@@ -1853,7 +2004,6 @@
createMessage.error('表单校验未通过,请检查输入');
}
}
function handlePublish() {
openSaveModal(true, {
title: '发布新版本',
......@@ -1874,15 +2024,12 @@
myCheckedKeys,
});
}
function handleViewLogs() {
openViewLogsModal(true);
}
function handleGetMetadata() {
openGetMetadataModal(true);
}
function handleAddRule() {
openAddRuleModal();
}
......@@ -2162,6 +2309,13 @@
});
}
function handleDownloadTemplateFile() {
console.log('导出----');
const params = Object.assign({}, {});
const data = exportRoleList(params);
downloadByData(data, '导入模板' + '.xlsx');
}
function handleDeletePartitionKey(record) {
createMessage.success('删除成功!');
deletePartitionKeyIds.value.push(record.businessId);
......
......@@ -39,7 +39,7 @@
allow-clear
v-model:value="inputValue"
placeholder="请输入关键字"
style="width: 200px"
style="width: 200px; margin-left: 24px"
@search="onSearch"
/>
<Select
......@@ -74,7 +74,7 @@
<template v-for="item in cardListData" :key="item.title">
<Col :span="6">
<ListItem>
<Card :hoverable="true" style="height: 250px; width: 300px; position: relative">
<Card :hoverable="true" style="height: 300px; width: 300px; position: relative">
<div style="display: flex; justify-content: space-between">
<div style="display: flex; align-items: center; gap: 5px">
<Checkbox
......
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