Commit 8d4fc805 authored by LiXuyang's avatar LiXuyang

Merge remote-tracking branch 'origin/master'

parents c0e066b0 2c3a7512
...@@ -835,6 +835,29 @@ export const kinshipParseRoute: AppRouteRecordRaw = { ...@@ -835,6 +835,29 @@ export const kinshipParseRoute: AppRouteRecordRaw = {
}, },
], ],
}; };
/**血缘分析*/
export const kinshipAnalysisRoute: AppRouteRecordRaw = {
path: '/kinship/kinshipAnalysis',
name: 'kinshipAnalysis',
component: LAYOUT,
meta: {
title: '血缘分析',
icon: '',
hidden: true,
currentActiveMenu: '/kinship/kinshipAnalysis',
},
children: [
{
path: 'kinshipAnalysisDetail',
name: 'KinshipAnalysisDetail',
component: () => import('@/views/kinship/kinshipAnalysis/kinshipAnalysisDetail.vue'),
meta: {
title: '血缘分析详情',
icon: '',
},
},
],
};
/**Sql开发*/ /**Sql开发*/
export const sqlExecuteRoute: AppRouteRecordRaw = { export const sqlExecuteRoute: AppRouteRecordRaw = {
...@@ -1186,6 +1209,7 @@ export const basicRoutes = [ ...@@ -1186,6 +1209,7 @@ export const basicRoutes = [
DataSourceRoute, DataSourceRoute,
DataStandardRoute, DataStandardRoute,
kinshipParseRoute, kinshipParseRoute,
kinshipAnalysisRoute,
serviceDevelopmentRoute, serviceDevelopmentRoute,
dataBaseToDataBaseRoute, dataBaseToDataBaseRoute,
RootRoute, RootRoute,
......
...@@ -7,7 +7,13 @@ ...@@ -7,7 +7,13 @@
@ok="handleSubmit" @ok="handleSubmit"
> >
<div style="display: flex; justify-content: flex-end; padding-bottom: 10px"> <div style="display: flex; justify-content: flex-end; padding-bottom: 10px">
<a-button style="margin-right: 5px" type="primary" @click="upload">更新名单</a-button> <a-button
style="margin-right: 5px"
type="primary"
:disabled="isSave === 'false'"
@click="upload"
>更新名单</a-button
>
<a-button style="margin-right: 5px" type="primary" @click="handleSave">保存</a-button> <a-button style="margin-right: 5px" type="primary" @click="handleSave">保存</a-button>
</div> </div>
<Description size="middle" title="基本信息" :bordered="false" /> <Description size="middle" title="基本信息" :bordered="false" />
...@@ -24,8 +30,12 @@ ...@@ -24,8 +30,12 @@
<Description size="middle" title="名单数据" :bordered="false" /> <Description size="middle" title="名单数据" :bordered="false" />
<BasicTable @register="registerPartitionTable"> <BasicTable @register="registerPartitionTable">
<template #toolbar> <template #toolbar>
<a-button type="primary" @click="handleDownload">下载查找结果</a-button> <a-button type="primary" @click="handleDownload" :disabled="isSave === 'false'"
<a-button type="primary" @click="handleDownload">下载全部</a-button> >下载查找结果</a-button
>
<a-button type="primary" @click="handleDownload" :disabled="isSave === 'false'"
>下载全部</a-button
>
</template> </template>
</BasicTable> </BasicTable>
</BasicModal> </BasicModal>
...@@ -53,6 +63,7 @@ ...@@ -53,6 +63,7 @@
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const title = ref(); const title = ref();
const isSave = ref('false');
const [registerUploadModal, { openModal: openUploadModal }] = useModal(); const [registerUploadModal, { openModal: openUploadModal }] = useModal();
//获取接口数据并放在下拉框里(这里是打开了一个弹框) //获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单 //初始化表单
...@@ -98,6 +109,7 @@ ...@@ -98,6 +109,7 @@
createMessage.success('下载成功'); createMessage.success('下载成功');
} }
function handleSave() { function handleSave() {
isSave.value = 'true';
createMessage.success('保存成功'); createMessage.success('保存成功');
} }
function upload() { function upload() {
......
...@@ -100,9 +100,9 @@ export const storageManagementData: any[] = [ ...@@ -100,9 +100,9 @@ export const storageManagementData: any[] = [
pointNum: '5000', pointNum: '5000',
num: '2000', num: '2000',
user: '张三', user: '张三',
parameterName: 'check_date', parameterName: Math.random().toString(36).substring(2, 12),
parameterType: '字符类', parameterType: '字符类',
parameterValue: '参数值', parameterValue: Math.random().toString(36).substring(7),
}, },
{ {
id: '2', id: '2',
...@@ -114,9 +114,9 @@ export const storageManagementData: any[] = [ ...@@ -114,9 +114,9 @@ export const storageManagementData: any[] = [
pointNum: '7000', pointNum: '7000',
num: '3500', num: '3500',
user: '李四', user: '李四',
parameterName: 'check_date', parameterName: Math.random().toString(36).substring(2, 12),
parameterType: '时间类', parameterType: '时间类',
parameterValue: '参数值', parameterValue: Math.random().toString(36).substring(7),
}, },
{ {
id: '3', id: '3',
...@@ -128,9 +128,9 @@ export const storageManagementData: any[] = [ ...@@ -128,9 +128,9 @@ export const storageManagementData: any[] = [
pointNum: '6000', pointNum: '6000',
num: '3000', num: '3000',
user: '王五', user: '王五',
parameterName: 'check_date', parameterName: Math.random().toString(36).substring(2, 12),
parameterType: '数值类', parameterType: '数值类',
parameterValue: '参数值', parameterValue: Math.random().toString(36).substring(7),
}, },
{ {
id: '4', id: '4',
...@@ -142,9 +142,9 @@ export const storageManagementData: any[] = [ ...@@ -142,9 +142,9 @@ export const storageManagementData: any[] = [
pointNum: '4500', pointNum: '4500',
num: '2250', num: '2250',
user: '赵六', user: '赵六',
parameterName: 'check_date', parameterName: Math.random().toString(36).substring(2, 12),
parameterType: '自定义类', parameterType: '自定义类',
parameterValue: '参数值', parameterValue: Math.random().toString(36).substring(7),
}, },
{ {
id: '5', id: '5',
...@@ -156,9 +156,9 @@ export const storageManagementData: any[] = [ ...@@ -156,9 +156,9 @@ export const storageManagementData: any[] = [
pointNum: '5500', pointNum: '5500',
num: '2750', num: '2750',
user: '孙七', user: '孙七',
parameterName: 'check_date', parameterName: Math.random().toString(36).substring(2, 12),
parameterType: '数值类', parameterType: '数值类',
parameterValue: '参数值', parameterValue: Math.random().toString(36).substring(7),
}, },
]; ];
export const storageManagementBasicFormSchema: FormSchema[] = [ export const storageManagementBasicFormSchema: FormSchema[] = [
...@@ -216,4 +216,85 @@ export const storageManagementBasicFormSchema: FormSchema[] = [ ...@@ -216,4 +216,85 @@ export const storageManagementBasicFormSchema: FormSchema[] = [
span: 24, span: 24,
}, },
}, },
{
field: 'divider-linked',
component: 'Divider',
label: '计划逻辑正确',
colProps: {
span: 24,
},
},
{
field: 'field122',
component: 'InputTextArea',
label: '',
componentProps: {
disabled: true,
defaultValue: Math.random().toString(36).substring(2, 52),
},
colProps: {
span: 24,
},
},
{
field: 'divider-linked',
component: 'Divider',
label: '标题逻辑正确',
colProps: {
span: 24,
},
},
{
field: 'field123',
component: 'InputTextArea',
label: '',
componentProps: {
disabled: true,
defaultValue: Math.random().toString(36).substring(2, 52),
},
colProps: {
span: 24,
},
},
{
field: 'divider-linked',
component: 'Divider',
label: '名称逻辑正确',
colProps: {
span: 24,
},
},
{
field: 'field122',
component: 'InputTextArea',
label: '',
componentProps: {
disabled: true,
defaultValue: Math.random().toString(36).substring(2, 52),
},
colProps: {
span: 24,
},
},
{
field: 'divider-linked',
component: 'Divider',
label: '时刻逻辑',
colProps: {
span: 24,
},
},
{
field: 'field123',
component: 'InputTextArea',
label: '',
componentProps: {
disabled: true,
defaultValue: Math.random().toString(36).substring(2, 52),
},
colProps: {
span: 24,
},
},
]; ];
...@@ -22,7 +22,11 @@ ...@@ -22,7 +22,11 @@
style="margin-right: 10px; margin-bottom: 20px" style="margin-right: 10px; margin-bottom: 20px"
>查看报告</a-button >查看报告</a-button
> >
<a-button type="primary" style="margin-right: 10px; margin-bottom: 20px" @click="handleSave" <a-button
type="primary"
style="margin-right: 10px; margin-bottom: 20px"
@click="handleSave"
:disabled="isDisabled"
>保存</a-button >保存</a-button
> >
<a-button <a-button
...@@ -52,7 +56,7 @@ ...@@ -52,7 +56,7 @@
>运行</a-button >运行</a-button
></div ></div
> >
<BasicForm @register="registerForm" /> <BasicForm @register="registerForm" :disabled="isDisabled" />
<PageWrapper dense contentFullHeight fixedHeight contentClass="flex"> <PageWrapper dense contentFullHeight fixedHeight contentClass="flex">
<DeptTree class="w-1/4" @select="handleSelect" /> <DeptTree class="w-1/4" @select="handleSelect" />
<BasicTable @register="registerTable" class="w-3/4" :searchInfo="searchInfo" /> <BasicTable @register="registerTable" class="w-3/4" :searchInfo="searchInfo" />
...@@ -89,6 +93,7 @@ ...@@ -89,6 +93,7 @@
const tableData = ref([]); const tableData = ref([]);
const isOnline = ref(true); const isOnline = ref(true);
const isOffline = ref(false); const isOffline = ref(false);
const isDisabled = ref(false);
const rowId = ref(''); const rowId = ref('');
const searchInfo = reactive<Recordable>({}); const searchInfo = reactive<Recordable>({});
...@@ -177,15 +182,40 @@ ...@@ -177,15 +182,40 @@
go('/dataQuality/dataSheet/task/viewTaskOperation', false); go('/dataQuality/dataSheet/task/viewTaskOperation', false);
} }
/** 上线 未完成 应为弹窗*/ /** 上线 */
function handleQualityTaskOnline() { function handleQualityTaskOnline() {
isOnline.value = false; Modal.confirm({
isOffline.value = true; title: '确认上线',
content: '是否确认上线?',
onOk: () => {
go('/dataQuality/dataSheet/task');
isOnline.value = false;
isOffline.value = true;
isDisabled.value = true;
createMessage.success('上线成功!');
},
onCancel: () => {
console.log('取消上线');
},
});
} }
/** 下线 未完成 应为弹窗*/
/** 下线 */
function handleQualityTaskOffline() { function handleQualityTaskOffline() {
isOnline.value = true; Modal.confirm({
isOffline.value = false; title: '确认下线',
content: '是否确认下线?',
onOk: () => {
go('/dataQuality/dataSheet/task');
isOnline.value = true;
isOffline.value = false;
isDisabled.value = false;
createMessage.success('下线成功!');
},
onCancel: () => {
console.log('取消下线');
},
});
} }
/** 配置运行 正在做 应为弹窗*/ /** 配置运行 正在做 应为弹窗*/
......
...@@ -45,12 +45,20 @@ ...@@ -45,12 +45,20 @@
<a-button type="primary" @click="handleAddMainBody" style="margin-right: 10px" <a-button type="primary" @click="handleAddMainBody" style="margin-right: 10px"
>新增质量任务 >新增质量任务
</a-button> </a-button>
<a-button type="primary" @click="handleAddQualityRule" style="margin-right: 10px"
>新增质量规则
</a-button>
<a-button
type="primary"
@click="handleQualityTaskRunSetting"
:disabled="getRowSelection().selectedRowKeys <= 0"
>配置运行</a-button
>
<!-- <a-button type="primary" @click="handleQualityTaskSetting" style="margin-right: 10px" <!-- <a-button type="primary" @click="handleQualityTaskSetting" style="margin-right: 10px"
>配置质量任务文件 >配置质量任务文件
</a-button> --> </a-button> -->
<!-- --> <!-- -->
<!-- <a-button type="primary" @click="handleAddQualityRule" style="margin-right: 10px">新增质量规则--> <!-- -->
<!-- </a-button>-->
<!-- <a-button--> <!-- <a-button-->
<!-- type="primary"--> <!-- type="primary"-->
<!-- @click="handleAlarmSetting"--> <!-- @click="handleAlarmSetting"-->
...@@ -161,6 +169,7 @@ ...@@ -161,6 +169,7 @@
import AddFolder from '@/views/dataQuality/dataSheet/task/addFolder.vue'; import AddFolder from '@/views/dataQuality/dataSheet/task/addFolder.vue';
import RemoveModal from '@/views/dataQuality/dataSheet/task/removeModal.vue'; import RemoveModal from '@/views/dataQuality/dataSheet/task/removeModal.vue';
import MainBodyModal from '@/views/dataQuality/dataSheet/task/mainBodyModal.vue'; import MainBodyModal from '@/views/dataQuality/dataSheet/task/mainBodyModal.vue';
import QualityRunSettingModal from './QualityTaskRunSetting.vue';
import QualitySettingModal from './QualityTaskSetting.vue'; import QualitySettingModal from './QualityTaskSetting.vue';
import NewRuleModal from './QualityTaskNewRule.vue'; import NewRuleModal from './QualityTaskNewRule.vue';
import AlarmSettingModal from './QualityTaskAlarmSetting.vue'; import AlarmSettingModal from './QualityTaskAlarmSetting.vue';
...@@ -307,18 +316,38 @@ ...@@ -307,18 +316,38 @@
openCheckRangePlusModal(true, {}); openCheckRangePlusModal(true, {});
} }
/** 上线 未完成 应为弹窗*/ /** 上线 */
function handleQualityTaskOnline() { function handleQualityTaskOnline() {
go('/dataQuality/dataSheet/task'); Modal.confirm({
isOnline.value = false; title: '确认上线',
isOffline.value = true; content: '是否确认上线?',
onOk: () => {
go('/dataQuality/dataSheet/task');
isOnline.value = false;
isOffline.value = true;
createMessage.success('上线成功!');
},
onCancel: () => {
console.log('取消上线');
},
});
} }
/** 下线 未完成 应为弹窗*/ /** 下线 */
function handleQualityTaskOffline() { function handleQualityTaskOffline() {
go('/dataQuality/dataSheet/task'); Modal.confirm({
isOnline.value = true; title: '确认下线',
isOffline.value = false; content: '是否确认下线?',
onOk: () => {
go('/dataQuality/dataSheet/task');
isOnline.value = true;
isOffline.value = false;
createMessage.success('下线成功!');
},
onCancel: () => {
console.log('取消下线');
},
});
} }
/** 设置业务标签 */ /** 设置业务标签 */
...@@ -341,11 +370,11 @@ ...@@ -341,11 +370,11 @@
} }
function handleDeleteIds() { function handleDeleteIds() {
createConfirm({ Modal.confirm({
iconType: 'warning',
title: '确认删除', title: '确认删除',
content: '确认批量删除选中数据吗?', content: '确认批量删除选中数据吗?',
onOk() { onOk: () => {
// Your code to delete the selected items goes here.
createMessage.success('批量删除成功!'); createMessage.success('批量删除成功!');
}, },
}); });
......
...@@ -4,6 +4,7 @@ export const columns: BasicColumn[] = [ ...@@ -4,6 +4,7 @@ export const columns: BasicColumn[] = [
{ {
title: '名称', title: '名称',
dataIndex: 'name', dataIndex: 'name',
slots: { customRender: 'name' },
width: 120, width: 120,
}, },
{ {
......
...@@ -6,6 +6,9 @@ ...@@ -6,6 +6,9 @@
<template #toolbar> <template #toolbar>
<a-button type="primary" @click="handleManage">存储管理</a-button> <a-button type="primary" @click="handleManage">存储管理</a-button>
</template> </template>
<template #name="{ text }">
<a @click="handleDetail"> {{ text }}</a>
</template>
</BasicTable> </BasicTable>
</div> </div>
<storageManagementModal @register="registerStorageManagementModal" /> <storageManagementModal @register="registerStorageManagementModal" />
...@@ -21,6 +24,7 @@ ...@@ -21,6 +24,7 @@
import GroupTree from './GroupTree.vue'; import GroupTree from './GroupTree.vue';
import { metadataData } from '@/views/metadata/metadataData'; import { metadataData } from '@/views/metadata/metadataData';
import storageManagementModal from './storageManagementModal.vue'; import storageManagementModal from './storageManagementModal.vue';
import { router } from '@/router';
defineOptions({ name: 'Metadata' }); defineOptions({ name: 'Metadata' });
...@@ -97,6 +101,12 @@ ...@@ -97,6 +101,12 @@
}); });
} }
function handleDetail() {
router.push({
path: '/kinship/kinshipAnalysis/kinshipAnalysisDetail',
});
}
// 设置图表选项 // 设置图表选项
onMounted(() => { onMounted(() => {
tableData.value = metadataData; tableData.value = metadataData;
......
<template>
<PageWrapper class="content-padding" contentBackground>
<div class="container">
<div style="margin-top: 20px">
<span style="font-size: 20px; font-weight: bold; margin-left: 20px">血缘影响分析</span>
<span style="margin-left: 1000px; font-size: 20px">深度</span>
<Input style="width: 100px;height: 40px; margin-left: 10px" v-model:value="key" />
<icon
style="font-size: 30px; margin-left: 10px"
icon="heroicons:magnifying-glass-plus-solid"
/>
<icon style="font-size: 30px; margin-left: 10px" icon="ph:magnifying-glass-minus" />
<icon style="font-size: 30px; margin-left: 10px" icon="hugeicons:reload" />
<icon style="font-size: 30px; margin-left: 10px" icon="lets-icons:full-alt-light" />
<a-button style="margin-left: 20px" type="primary" @click="back">退出</a-button>
</div>
<div class="image-container">
<img src="../../../assets/images/kinshipAnalysisDetail.png" alt="Logo" class="image" />
</div>
</div>
</PageWrapper>
</template>
<script lang="ts" setup>
import { PageWrapper } from '@/components/Page';
import Icon from '@/components/Icon/Icon.vue';
import { router } from '@/router';
import { Input } from 'ant-design-vue';
import { ref } from 'vue';
const key = ref('5');
function back() {
router.back();
}
</script>
<style scoped>
.container {
display: flex;
background-color: white;
width: 3000px;
flex-direction: column; /* 确保子元素垂直排列 */
gap: 16px; /* 子元素之间的间距 */
}
.image-container {
background-color: white;
width: 100%; /* 图片容器宽度为100% */
text-align: center; /* 居中对齐图片 */
}
.image {
width: 1650px;
height: 1000px; /* 保持图片的原始比例 */
}
</style>
...@@ -4,10 +4,9 @@ import { BasicColumn } from '@/components/Table'; ...@@ -4,10 +4,9 @@ import { BasicColumn } from '@/components/Table';
export const formSchema: FormSchema[] = [ export const formSchema: FormSchema[] = [
{ {
field: 'file', field: 'file',
component: 'Upload',
label: '血缘编辑文件', label: '血缘编辑文件',
slot: 'file',
colProps: { lg: 24, md: 24 }, colProps: { lg: 24, md: 24 },
rules: [{ required: true, message: '请选择上传文件' }],
}, },
]; ];
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
......
...@@ -8,7 +8,16 @@ ...@@ -8,7 +8,16 @@
</template> </template>
<div class="pt-4 m-4 desc-wrap"> <div class="pt-4 m-4 desc-wrap">
<template v-if="currentKey == '1'"> <template v-if="currentKey == '1'">
<BasicForm @register="registerForm" /> <BasicForm @register="registerForm">
<template #file>
<div style="display: flex">
<div>
<a-button>下载文件模板</a-button>
<a-button type="primary" style="margin-left: 5px">选择文件</a-button>
</div>
</div>
</template>
</BasicForm>
<div style="padding-left: 100px"> <div style="padding-left: 100px">
<a-button type="primary" @click="handleSubmit">提交</a-button> <a-button type="primary" @click="handleSubmit">提交</a-button>
</div> </div>
......
<template> <template>
<div class="step1"> <div class="step1">
<div > <div>
<Description size="middle" title="SQL脚本解析器" :bordered="false" /> <Description size="middle" title="SQL脚本解析器" :bordered="false" />
<BasicForm @register="registerForm" /> <BasicForm @register="registerForm" />
<div style="padding-left: 100px"> <div style="padding-left: 100px">
...@@ -9,7 +9,9 @@ ...@@ -9,7 +9,9 @@
<Description size="middle" title="日志" :bordered="false" /> <Description size="middle" title="日志" :bordered="false" />
<img src="../../../assets/images/config.png" style="width: 100%" alt="Logo" /> <img src="../../../assets/images/config.png" style="width: 100%" alt="Logo" />
<div style="display: flex; justify-content: flex-end; margin-top: 20px"> <div style="display: flex; justify-content: flex-end; margin-top: 20px">
<a-button style="margin-right: 50px" type="primary" @click="customSubmitFunc">下一步</a-button> <a-button style="margin-right: 50px" type="primary" @click="customSubmitFunc"
>下一步</a-button
>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
//详情 //详情
icon: 'clarity:note-edit-line', icon: 'clarity:note-edit-line',
label: '', label: '',
onClick: handleEdit.bind(null),
}, },
{ {
icon: 'ant-design:delete-outlined', icon: 'ant-design:delete-outlined',
...@@ -42,7 +41,7 @@ ...@@ -42,7 +41,7 @@
> >
</div> </div>
</div> </div>
<detailModal @register="registerModal"/> <detailModal @register="registerModal" />
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
...@@ -88,6 +87,9 @@ ...@@ -88,6 +87,9 @@
} }
async function customSubmitFunc() { async function customSubmitFunc() {
openModal(true, {
title: '血缘导入结果',
});
createMessage.success('提交成功'); createMessage.success('提交成功');
} }
function handleSubmit() { function handleSubmit() {
...@@ -96,11 +98,6 @@ ...@@ -96,11 +98,6 @@
function handleDelete() { function handleDelete() {
createMessage.success('删除成功'); createMessage.success('删除成功');
} }
function handleEdit() {
openModal(true, {
title: '血缘导入结果'
});
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.step1 { .step1 {
......
<template> <template>
<BasicModal width="55%" v-bind="$attrs" @register="registerModal" :title="title"> <BasicModal width="40%" v-bind="$attrs" @register="registerModal" :title="title">
<template #footer> <template #footer>
<a-button type="primary" @click="handleDownload">下载导入结果</a-button> <a-button type="primary" @click="handleDownload">下载导入结果</a-button>
<a-button type="primary" @click="handleSubmit">完成</a-button> <a-button type="primary" @click="handleSubmit">完成</a-button>
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
showTableSetting: false, showTableSetting: false,
bordered: true, bordered: true,
showIndexColumn: false, showIndexColumn: false,
scroll: { y: 500 },
}); });
//初始化弹框 //初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
...@@ -48,7 +49,6 @@ ...@@ -48,7 +49,6 @@
async function handleSubmit() { async function handleSubmit() {
closeModal(); closeModal();
createMessage.success('提交成功');
} }
function handleDownload() { function handleDownload() {
createMessage.success('下载成功'); createMessage.success('下载成功');
......
...@@ -50,6 +50,6 @@ ...@@ -50,6 +50,6 @@
.step-form-form { .step-form-form {
width: 750px; width: 750px;
margin: 0 auto; margin: 20px auto;
} }
</style> </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