Commit 962d92eb authored by LiXuyang's avatar LiXuyang

逻辑模型设计-发布-修改

parent d8b138c6
...@@ -213,6 +213,16 @@ export const DataWarehousePlanningRoute: AppRouteRecordRaw = { ...@@ -213,6 +213,16 @@ export const DataWarehousePlanningRoute: AppRouteRecordRaw = {
icon: '', icon: '',
}, },
}, },
{
path: 'logicalModel/upload',
name: 'upload',
component: () =>
import('@/views/dataWarehousePlanning/logicalModel/upload/index.vue'),
meta: {
title: '实体关系图',
icon: '',
},
},
], ],
}; };
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
@click="handleWaitUpload" @click="handleWaitUpload"
>设为待发布</a-button >设为待发布</a-button
> >
<a-button type="primary" :disabled="getRowSelection().selectedRowKeys <= 0">发布</a-button> <a-button type="primary" :disabled="getRowSelection().selectedRowKeys <= 0" @click="handleUpload">发布</a-button>
<a-button type="primary" @click="handleImport">导入</a-button> <a-button type="primary" @click="handleImport">导入</a-button>
<a-button <a-button
type="primary" type="primary"
...@@ -310,7 +310,11 @@ ...@@ -310,7 +310,11 @@
path: '/dataWarehousePlanning/logicalModel/version-manage', path: '/dataWarehousePlanning/logicalModel/version-manage',
}); });
} }
function handleUpload() {
push({
path: '/dataWarehousePlanning/logicalModel/upload',
});
}
onMounted(() => { onMounted(() => {
tableData.value = logicalData; tableData.value = logicalData;
const path = route.path; const path = route.path;
......
...@@ -2,7 +2,12 @@ ...@@ -2,7 +2,12 @@
<div> <div>
<BasicTable @register="registerTable" :searchInfo="searchInfo"> <BasicTable @register="registerTable" :searchInfo="searchInfo">
<template #toolbar> <template #toolbar>
<a-button :disabled="getRowSelection().selectedRowKeys <=0" type="primary" @click="handleDelete"><DeleteTwoTone />批量删除</a-button> <a-button
:disabled="getRowSelection().selectedRowKeys <= 0"
type="primary"
@click="handleDelete"
><DeleteTwoTone />批量删除</a-button
>
<a-button type="primary" @click="handleCrossModel" <a-button type="primary" @click="handleCrossModel"
><PlusCircleTwoTone />新增关联关系</a-button ><PlusCircleTwoTone />新增关联关系</a-button
> >
...@@ -43,7 +48,7 @@ ...@@ -43,7 +48,7 @@
import { DeleteTwoTone, PlusCircleTwoTone } from '@ant-design/icons-vue'; import { DeleteTwoTone, PlusCircleTwoTone } from '@ant-design/icons-vue';
import CrossModel from './crossModel.vue'; import CrossModel from './crossModel.vue';
import { useModal } from '@/components/Modal'; import { useModal } from '@/components/Modal';
import {useMessage} from "@/hooks/web/useMessage"; import { useMessage } from '@/hooks/web/useMessage';
defineOptions({ name: 'AccountManagement' }); defineOptions({ name: 'AccountManagement' });
const { createMessage, createConfirm } = useMessage(); const { createMessage, createConfirm } = useMessage();
......
...@@ -284,7 +284,9 @@ ...@@ -284,7 +284,9 @@
// }); // });
} }
function handleUpload() { function handleUpload() {
push({
path: '/dataWarehousePlanning/logicalModel/upload',
});
} }
/** /**
* 保存 * 保存
......
...@@ -4,6 +4,8 @@ import { h } from 'vue'; ...@@ -4,6 +4,8 @@ import { h } from 'vue';
import { Tag, Switch } from 'ant-design-vue'; import { Tag, Switch } from 'ant-design-vue';
import { useMessage } from '@/hooks/web/useMessage'; import { useMessage } from '@/hooks/web/useMessage';
import { changeFlagApi } from '@/api/system/user/user'; import { changeFlagApi } from '@/api/system/user/user';
import componentProps
from "@/views/form-design/components/VFormDesign/components/ComponentProps.vue";
// 引入开关组件 // 引入开关组件
type CheckedType = boolean | string | number; type CheckedType = boolean | string | number;
......
<template>
<PageWrapper title="申请发布" contentBackground headerSticky>
<template #extra>
<a-button type="primary" @click="handleCancel">取消</a-button>
<a-button type="primary" @click="handleSubmit">提交申请</a-button>
</template>
<template #footer>
<span class="table-title" style="font-size: 18px; margin: 12px 10px 0">申请信息</span>
<BasicForm @register="registerForm">
<template #person="{ model, field }">
{{ model[field] }}
</template>
<template #dept="{ model, field }">
{{ model[field] }}
</template>
<template #time="{ model, field }">
{{ model[field] }}
</template>
</BasicForm>
<span class="table-title" style="font-size: 18px; margin: 12px 10px 0">逻辑模型信息</span>
<div style="display: flex">
<BasicTable class="w-1/5" @register="registerTable" :searchInfo="searchInfo" />
<div class="w-4/5">
<span class="table-title" style="font-size: 18px; margin: 12px 10px 0">逻辑模型信息</span>
<BasicForm @register="modelInfoForm">
<template #name="{ model, field }">
{{ model[field] }}
</template>
<template #path="{ model, field }">
{{ model[field] }}
</template>
</BasicForm>
<div style="width: 100%; display: flex">
<div style="flex: 1">
<div style="background-color: #eaedf7; padding: 8px 20px; flex: 1">
<span>基准版本:{{ basicVersion }}</span>
</div>
<Detail />
</div>
<div style="flex: 1">
<div style="background-color: #eaedf7; padding: 8px 20px; flex: 1">
<span>对比版本:{{ compareVersion }}</span>
</div>
<Detail />
</div>
</div>
</div>
</div>
</template>
</PageWrapper>
</template>
<script lang="ts" setup>
import { PageWrapper } from '@/components/Page';
import BasicForm from '@/components/Form/src/BasicForm.vue';
import { useForm } from '@/components/Form';
import Detail from '@/views/dataWarehousePlanning/logicalModel/modelDetail/versionComparison/detail.vue';
import {
modelColumns,
modelFormSchema,
modelInfoFormSchema,
uploadFormSchema,
} from './upload.data';
import { onMounted, reactive, ref } from 'vue';
import { List } from 'ant-design-vue';
import {
modelData,
modelInfoData,
uploadData,
} from '@/views/dataWarehousePlanning/logicalModel/upload/uploadData';
import BasicTable from '@/components/Table/src/BasicTable.vue';
import { useTable } from '@/components/Table';
import { useRouter } from 'vue-router';
const router = useRouter();
const { push } = useRouter();
const basicVersion = ref('V1.0 2023-06-15 15:34:40');
const compareVersion = ref('V1.0 2023-06-15 15:34:40');
const options = reactive([
{
label: 'V1.0 2023-06-15 15:34:40',
value: 'V1.0 2023-06-15 15:34:40',
},
]);
function handleCancel() {
router.go(-1);
}
function handleSubmit() {
router.go(-1);
}
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: uploadFormSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const [modelInfoForm, { setFieldsValue: setModelInfoValue }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: modelInfoFormSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const [
registerTable,
{ reload, updateTableDataRecord, getSearchInfo, getForm, getRowSelection },
] = useTable({
title: '',
// 定高
// 数据
api: async (params) => {
console.log('params:', params);
const response = {
pageNu: '1',
pageSize: '10',
pages: '1',
total: modelData.length,
code: '',
message: '',
data: modelData,
};
return { ...response };
},
rowKey: 'businessId',
// 列
columns: modelColumns,
showIndexColumn: false,
striped: false,
// 搜索
formConfig: {
labelWidth: 120,
schemas: modelFormSchema,
autoSubmitOnEnter: true,
showActionButtonGroup: false,
},
useSearchForm: true,
showTableSetting: false,
bordered: true,
});
onMounted(() => {
setFieldsValue({ ...uploadData });
setModelInfoValue({ ...modelInfoData });
});
</script>
<style scoped></style>
import { FormSchema } from '@/components/Form';
import {BasicColumn} from "@/components/Table";
export const uploadFormSchema: FormSchema[] = [
{
field: 'title',
label: '申请标题',
required: true,
component: 'Input',
colProps: { lg: 12, md: 12 },
},
{
field: 'result',
label: '申请理由',
required: false,
component: 'Input',
colProps: { lg: 12, md: 12 },
},
{
field: 'person',
slot: 'person',
label: '申请人',
required: false,
component: 'Input',
colProps: { lg: 12, md: 12 },
},
{
field: 'dept',
slot: 'dept',
label: '所属机构',
required: false,
component: 'Input',
colProps: { lg: 12, md: 12 },
},
{
field: 'time',
slot: 'time',
label: '申请时间',
required: false,
component: 'Input',
colProps: { lg: 12, md: 12 },
},
{
field: 'version',
label: '发布版本号',
component: 'RadioGroup',
componentProps: {
options: [
{
label: '小版本号自增',
value: '小版本号自增',
},
{
label: '大版本号自增',
value: '大版本号自增',
},
],
},
colProps: { lg: 12, md: 12 },
},
];
export const modelFormSchema: FormSchema[] = [
{
field: 'title',
component: 'Input',
componentProps: {
placeholder: '搜索资源名称',
},
colProps: { lg: 24, md: 24 },
},
];
export const modelColumns: BasicColumn[] = [
{
title: '模型名称',
dataIndex: 'modelName',
},
];
export const modelInfoFormSchema: FormSchema[] = [
{
field: 'name',
slot: 'name',
label: '名称',
},
{
field: 'path',
slot: 'path',
label: '路径',
},
];
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