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

修改数据集

parent d379faa7
...@@ -183,6 +183,31 @@ export const CommonFileRoute: AppRouteRecordRaw = { ...@@ -183,6 +183,31 @@ export const CommonFileRoute: AppRouteRecordRaw = {
], ],
}; };
/**我创建的数据集详情*/
export const DatasetByCreateDetailRoute: AppRouteRecordRaw = {
path: '/dataset/datasetByCreate',
name: '/dataset/datasetByCreate',
component: LAYOUT,
meta: {
title: '我创建的数据集',
icon: '',
hidden: true,
currentActiveMenu: '/dataset/datasetByCreate',
},
children: [
{
path: 'datasetByCreateDetail',
name: 'datasetByCreateDetail',
component: () =>
import('@/views/mallResourceDevelopment/dataSet/datasetByCreate/datasetByCreateDetail.vue'),
meta: {
title: '数据集详情',
icon: '',
},
},
],
};
export const DataWarehousePlanningRoute: AppRouteRecordRaw = { export const DataWarehousePlanningRoute: AppRouteRecordRaw = {
path: '/dataWarehousePlanning', path: '/dataWarehousePlanning',
name: 'logicModel', name: 'logicModel',
...@@ -884,8 +909,7 @@ export const serviceDevelopmentRoute: AppRouteRecordRaw = { ...@@ -884,8 +909,7 @@ export const serviceDevelopmentRoute: AppRouteRecordRaw = {
{ {
path: 'serviceManage/onlineManage/productionData', path: 'serviceManage/onlineManage/productionData',
name: 'productionData', name: 'productionData',
component: () => component: () => import('@/views/dataService/serviceManage/onlineManage/productionData.vue'),
import('@/views/dataService/serviceManage/onlineManage/productionData.vue'),
meta: { meta: {
title: '上线设置', title: '上线设置',
icon: '', icon: '',
...@@ -894,8 +918,7 @@ export const serviceDevelopmentRoute: AppRouteRecordRaw = { ...@@ -894,8 +918,7 @@ export const serviceDevelopmentRoute: AppRouteRecordRaw = {
{ {
path: 'serviceManage/onlineManage/productionTest', path: 'serviceManage/onlineManage/productionTest',
name: 'productionTest', name: 'productionTest',
component: () => component: () => import('@/views/dataService/serviceManage/onlineManage/productionTest.vue'),
import('@/views/dataService/serviceManage/onlineManage/productionTest.vue'),
meta: { meta: {
title: '上线测试', title: '上线测试',
icon: '', icon: '',
...@@ -919,7 +942,8 @@ export const taskSchedulingRoute: AppRouteRecordRaw = { ...@@ -919,7 +942,8 @@ export const taskSchedulingRoute: AppRouteRecordRaw = {
{ {
path: 'periodicScheduling/index', path: 'periodicScheduling/index',
name: 'periodicScheduling', name: 'periodicScheduling',
component: () => import('@/views/taskScheduling/taskFlowMaintenance/periodicScheduling/index.vue'), component: () =>
import('@/views/taskScheduling/taskFlowMaintenance/periodicScheduling/index.vue'),
meta: { meta: {
title: '调度任务', title: '调度任务',
icon: '', icon: '',
...@@ -928,7 +952,10 @@ export const taskSchedulingRoute: AppRouteRecordRaw = { ...@@ -928,7 +952,10 @@ export const taskSchedulingRoute: AppRouteRecordRaw = {
{ {
path: 'periodicScheduling/executionDetails', path: 'periodicScheduling/executionDetails',
name: 'executionDetails', name: 'executionDetails',
component: () => import('@/views/taskScheduling/taskFlowMaintenance/periodicScheduling/executionDetails.vue'), component: () =>
import(
'@/views/taskScheduling/taskFlowMaintenance/periodicScheduling/executionDetails.vue'
),
meta: { meta: {
title: '执行详情', title: '执行详情',
icon: '', icon: '',
...@@ -937,7 +964,8 @@ export const taskSchedulingRoute: AppRouteRecordRaw = { ...@@ -937,7 +964,8 @@ export const taskSchedulingRoute: AppRouteRecordRaw = {
{ {
path: 'supplyNumber/addTask', path: 'supplyNumber/addTask',
name: 'addTask', name: 'addTask',
component: () => import('@/views/taskScheduling/taskFlowMaintenance/supplyNumber/addTask.vue'), component: () =>
import('@/views/taskScheduling/taskFlowMaintenance/supplyNumber/addTask.vue'),
meta: { meta: {
title: '新建补数任务', title: '新建补数任务',
icon: '', icon: '',
...@@ -1003,6 +1031,7 @@ export const basicRoutes = [ ...@@ -1003,6 +1031,7 @@ export const basicRoutes = [
RootRoute, RootRoute,
sqlExecuteRoute, sqlExecuteRoute,
shellExecuteRoute, shellExecuteRoute,
DatasetByCreateDetailRoute,
SyncMaintenanceRoute, SyncMaintenanceRoute,
taskSchedulingRoute, taskSchedulingRoute,
...mainOutRoutes, ...mainOutRoutes,
......
import { BasicColumn, FormSchema } from '@/components/Table'; import { BasicColumn, FormSchema } from '@/components/Table';
import { DescItem } from '@/components/Description';
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
{ {
...@@ -506,3 +507,133 @@ export const searchEditFormSchema: FormSchema[] = [ ...@@ -506,3 +507,133 @@ export const searchEditFormSchema: FormSchema[] = [
}, },
}, },
]; ];
export const basicSchema: DescItem[] = [
{
field: 'name',
label: '资源名称',
},
{
field: 'description',
label: '描述',
},
{
field: 'tags',
label: '业务标签',
},
{
field: 'owner',
label: '权属机构',
},
{
field: 'sensitiveStatus',
label: '敏感状态',
},
{
field: 'version',
label: '版本',
},
{
field: 'source',
label: '来源',
},
];
export const sourceTableSchema: DescItem[] = [
{
field: 'name',
label: '表名',
},
{
field: 'path',
label: '路径',
},
{
field: 'size',
label: '大小',
},
{
field: 'filterCondition',
label: '数据过滤条件',
},
];
export const optionSchema: DescItem[] = [
{
field: 'autoOffShelfDate',
label: '自动下架日期',
},
{
field: 'shareType',
label: '共享方式',
},
{
field: 'visibleRange',
label: '可见范围',
},
{
field: 'filterCondition',
label: '数据过滤条件',
},
];
export const permissionSchema: DescItem[] = [
{
field: 'download',
label: '下载权限',
},
{
field: 'encryption',
label: '文件加密',
},
{
field: 'push',
label: '推送权限',
},
{
field: 'api',
label: 'API调用',
},
{
field: 'filterType',
label: '数据过滤方式',
},
];
export const informationColumns: BasicColumn[] = [
{
title: '字段',
dataIndex: 'field',
width: 120,
},
{
title: '中文名',
dataIndex: 'name',
width: 150,
},
{
title: '字段描述',
dataIndex: 'remark',
width: 150,
},
{
title: '字段类型',
dataIndex: 'type',
width: 120,
},
{
title: '安全分级',
dataIndex: 'security',
width: 120,
},
{
title: '敏感状态',
dataIndex: 'status',
width: 150,
},
{
title: '敏感类型',
dataIndex: 'sensitiveType',
width: 100,
},
{
title: '数据标准',
dataIndex: 'standard',
width: 100,
},
];
import { informationColumns } from '@/views/mallResourceDevelopment/dataSet/datasetByCreate/data';
export const tableList: any[] = [ export const tableList: any[] = [
{ {
businessId: 1, businessId: 1,
...@@ -207,3 +209,113 @@ export const editTableList: any[] = [ ...@@ -207,3 +209,113 @@ export const editTableList: any[] = [
sensitiveType: '活动记录', sensitiveType: '活动记录',
}, },
]; ];
export const basicData = {
name: 'wyx_contact',
description: '联系人信息',
tags: '测试',
owner: '数据平台治理部',
sensitiveStatus: '敏感',
version: 'V1.0',
source: '元数据',
};
export const sourceTableData = {
name: 'contact',
path: '商城工作区/18inceptor/wyx/contact',
size: '40.84KB',
filterCondition: '-',
};
export const optionData = {
autoOffShelfDate: '2024-12-31 23:59:59',
shareType: '公开',
visibleRange: '所有人',
filterCondition: 'price > 100 AND stock > 0',
};
export const permissionData = {
download: '是',
encryption: '否',
push: '否',
api: '是',
filterType: '按时间过滤',
};
export const informationTableList: any[] = [
{
field: 'name',
name: '姓名',
remark: '姓名',
type: 'string',
status: '敏感',
security: 'G2',
sensitiveType: '姓名(简体中...',
standard: '-',
},
{
field: 'phone_number',
name: '手机号',
remark: '手机号',
type: 'string',
status: '敏感',
security: 'G3',
sensitiveType: '手机号(中国...',
standard: '-',
},
{
field: 'student_id',
name: '学号',
remark: '学号',
type: 'string',
status: '敏感',
security: 'G3',
sensitiveType: '账户编号',
standard: '-',
},
{
field: 'major',
name: '专业',
remark: '专业',
type: 'string',
status: '敏感',
security: 'G10',
sensitiveType: '专业',
standard: '-',
},
{
field: 'origin_city',
name: '生源地',
remark: '生源地',
type: 'string',
status: '不敏感',
security: '未分级',
sensitiveType: '-',
standard: '-',
},
{
field: 'ethnic',
name: '民族',
remark: '民族',
type: 'string',
status: '敏感',
security: 'G2',
sensitiveType: '民族',
standard: '-',
},
{
field: 'building_num',
name: '楼号',
remark: '楼号',
type: 'int',
status: '不敏感',
security: '未分级',
sensitiveType: '-',
standard: '-',
},
{
field: 'room_num',
name: '寝室号',
remark: '寝室号',
type: 'int',
status: '不敏感',
security: '安全分级_03',
sensitiveType: '敏感类型_01',
standard: '-',
},
];
<template>
<PageWrapper class="content-padding" contentBackground @back="goBack">
<template #headerContent>
<div class="modal_top">
<Icon
icon="ep:arrow-left-bold"
:size="20"
style="margin-right: 5px"
:color="'#a3a7b1'"
@click="goBack"
/>
<div>
<Icon
icon="material-symbols-light:dataset-linked-outline-sharp"
:size="40"
:color="'#64c6e9'"
/>
</div>
<div>
<div class="title">test</div>
<div class="path">我创建的/test</div>
</div>
<div class="buttonGroup">
<a-button type="primary" @click="handleGobalDeply">全局配置</a-button>
<a-button type="primary" @click="handleParameterConfiguration">参数配置</a-button>
<a-button type="primary" @click="handleVersionManagement">版本管理</a-button>
</div>
</div>
</template>
<template #footer>
<a-tabs v-model:activeKey="currentKey">
<a-tab-pane key="1" tab="资源信息" />
<a-tab-pane key="2" tab="列信息" />
<a-tab-pane key="3" tab="采样数据" />
<a-tab-pane key="4" tab="对应公共资源" />
</a-tabs>
</template>
<div class="pt-4 m-4 desc-wrap">
<template v-if="currentKey == '1'">
<Description
size="middle"
title="基本信息"
:bordered="false"
:column="2"
:data="basicData"
:schema="basicSchema"
:labelStyle="{ fontSize: '16px' }"
:contentStyle="{ fontSize: '16px' }"
/>
<Description
size="middle"
title="源表信息"
:bordered="false"
:column="2"
:data="sourceTableData"
:schema="sourceTableSchema"
:labelStyle="{ fontSize: '16px' }"
:contentStyle="{ fontSize: '16px' }"
/>
<Description
size="middle"
title="默认上架配置"
:bordered="false"
:column="2"
:data="optionData"
:schema="optionSchema"
:labelStyle="{ fontSize: '16px' }"
:contentStyle="{ fontSize: '16px' }"
/>
<Description
size="middle"
title="开放权限"
:bordered="false"
:column="2"
:data="permissionData"
:schema="permissionSchema"
:labelStyle="{ fontSize: '16px' }"
:contentStyle="{ fontSize: '16px' }"
/>
</template>
<template v-if="currentKey == '2'">
<BasicTable @register="registerTable" />
</template>
<template v-if="currentKey == '3'"> </template>
<template v-if="currentKey == '4'"> </template>
</div>
</PageWrapper>
</template>
<script lang="ts" setup>
import { onMounted, ref } from 'vue';
import { PageWrapper } from '@/components/Page';
import { useTabs } from '@/hooks/web/useTabs';
import { Tabs } from 'ant-design-vue';
import { useMessage } from '@/hooks/web/useMessage';
import { router } from '@/router';
import Icon from '@/components/Icon/Icon.vue';
import { Description } from '@/components/Description';
import {
basicSchema,
sourceTableSchema,
optionSchema,
permissionSchema,
searchEditFormSchema,
informationColumns,
} from './data';
import {
basicData,
sourceTableData,
optionData,
permissionData,
informationTableList,
} from './dataFileData';
import { BasicTable, useTable } from '@/components/Table';
defineOptions({ name: 'AccountDetail' });
const { createMessage } = useMessage();
const ATabs = Tabs;
const ATabPane = Tabs.TabPane;
const currentKey = ref('1');
const { setTitle } = useTabs();
setTitle('数据集详情');
const [registerTable] = useTable({
api: async () => {
const response = {
pageNu: '1',
pageSize: '10',
pages: '1',
total: informationTableList.length,
code: '',
message: '',
data: informationTableList,
};
return { ...response };
},
columns: informationColumns,
formConfig: {
labelWidth: 10,
schemas: searchEditFormSchema,
autoSubmitOnEnter: true,
showActionButtonGroup: false,
},
useSearchForm: true,
showTableSetting: false,
showIndexColumn: false,
bordered: true,
handleSearchInfoFn(info) {
return info;
},
});
function goBack() {
router.back();
}
onMounted(() => {});
</script>
<style lang="scss" scoped>
.content-padding {
background-color: white;
}
.modal_top {
padding: 0 0 20px 0;
display: flex;
align-items: center;
.title {
font-size: 16px;
font-weight: 500;
}
.path {
font-size: 14px;
color: gray;
}
.buttonGroup {
margin-left: auto;
display: flex;
gap: 5px;
align-items: center;
}
}
.selected-row {
background-color: #5cb3ff; /* 可以根据需要调整颜色 */
}
</style>
...@@ -21,9 +21,6 @@ ...@@ -21,9 +21,6 @@
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<TableAction <TableAction
:actions="[ :actions="[
{
label: '编辑',
},
{ {
label: '删除', label: '删除',
onClick: deleteButton.bind(null), onClick: deleteButton.bind(null),
...@@ -70,6 +67,7 @@ ...@@ -70,6 +67,7 @@
import { Description } from '@/components/Description'; import { Description } from '@/components/Description';
import { BasicTable, TableAction, useTable } from '@/components/Table'; import { BasicTable, TableAction, useTable } from '@/components/Table';
import { Alert } from 'ant-design-vue'; import { Alert } from 'ant-design-vue';
import { router } from '@/router';
defineOptions({ name: 'AccountModal' }); defineOptions({ name: 'AccountModal' });
...@@ -124,6 +122,7 @@ ...@@ -124,6 +122,7 @@
}; };
return { ...response }; return { ...response };
}, },
scroll: { y: 300 },
columns: editColumns, columns: editColumns,
formConfig: { formConfig: {
labelWidth: 10, labelWidth: 10,
...@@ -201,15 +200,10 @@ ...@@ -201,15 +200,10 @@
return treeData !== '' ? treeData : data; return treeData !== '' ? treeData : data;
} }
async function handleSubmit() { function handleSubmit() {
try { router.push({
const values = await validate(); path: '/dataset/datasetByCreate/datasetByCreateDetail',
setModalProps({ confirmLoading: true }); });
closeModal();
createMessage.success('提交成功');
} finally {
setModalProps({ confirmLoading: false });
}
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
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