Commit b8395aa0 authored by liwei's avatar liwei

物理模型页面

parent 4765ca54
......@@ -9,35 +9,38 @@
:fieldNames="{ key: 'businessId', title: 'modelName' }"
@select="handleSelect"
/>
<ModelDetailModal @register="registerModal" @success="handleSuccess"/>
</div>
</template>
<script lang="ts" setup>
import {nextTick, onMounted, ref, unref} from 'vue';
import {nextTick, onMounted, ref, unref} from 'vue';
import {BasicTree, TreeActionType, TreeItem} from '@/components/Tree';
import { getDeptList } from '@/api/system/dept/dept';
import {Nullable} from "@vben/types";
import { TreeData } from "@/views/metaModel/physicsModel/modelData";
import ModelDetailModal from './modelDetailModal.vue';
import {useModal} from "@/components/Modal";
defineOptions({ name: 'DeptTree' });
const [registerModal, { openModal }] = useModal();
const emit = defineEmits(['select']);
const treeData = ref<TreeItem[]>([]);
const treeRef = ref<Nullable<TreeActionType>>(null);
function getTree() {
const tree = unref(treeRef);
if (!tree) {
throw new Error('tree is null!');
function getTree() {
const tree = unref(treeRef);
if (!tree) {
throw new Error('tree is null!');
}
return tree;
}
return tree;
}
async function fetch() {
async function fetch() {
const data = TreeData
treeData.value = handleTree(data, 'businessId',undefined,undefined,undefined)
await nextTick(() => {
getTree().expandAll(true)
})
await nextTick(() => {
getTree().expandAll(true)
})
}
function handleTree(data, id, parentId, children, rootId) {
......@@ -61,7 +64,12 @@ async function fetch() {
}
function handleSelect(keys) {
emit('select', keys[0]);
// emit('select', keys[0]);
if (keys[0] >= 200){
openModal(true, {
isUpdate: false,
});
}
}
onMounted(() => {
......
......@@ -2,7 +2,7 @@
<BasicTable @register="registerTable4" class="height">
<template #toolbar>
<a-input style="width: 200px;margin-right: auto" default-value="表信息" allowClear></a-input>
<Radio.Group v-model="show">
<Radio.Group v-model:value="show">
<Radio.Button value="true" >展示</Radio.Button>
<Radio.Button value="false">不展示</Radio.Button>
</Radio.Group>
......@@ -50,7 +50,7 @@ const [registerMoveUser, { openModal: openMoveUserModal }] = useModal();
const searchInfo = reactive<Recordable>({});
const tableData = ref([])
const show = ref(true); // 默认展示内容
const [registerTable4, { reload }] = useTable({
const [registerTable4, { reload,getForm }] = useTable({
title: '',
api: async (params) => {
const response = {
......
import {getAllRoleList} from '@/api/system/role/role';
import { BasicColumn, FormSchema } from '@/components/Table';
import {h} from "vue";
import {Tag} from "ant-design-vue";
import { Switch } from 'ant-design-vue';
import {useMessage} from "@/hooks/web/useMessage";
import {changeFlagApi} from "@/api/system/user/user"; // 引入开关组件
type CheckedType = boolean | string | number;
export const columns: BasicColumn[] = [
{
title: '属性名称',
dataIndex: 'name',
width: 150,
},
{
title: '描述',
dataIndex: 'description',
width: 150,
},
{
title: '属性英文名',
dataIndex: 'englishName',
width: 150,
},
{
title: '是否必填',
dataIndex: 'isWrite',
editComponent: 'RadioGroup',
editComponentProps: {
options: [
{
label: '是',
value: '1',
},
{
label: '否',
value: '0',
},
],
},
width: 150,
},
{
title: '是否必填',
dataIndex: 'isShow',
editComponent: 'RadioGroup',
editComponentProps: {
options: [
{
label: '是',
value: '1',
},
{
label: '否',
value: '0',
},
],
},
width: 150,
},
{
title: '类型',
dataIndex: 'type',
editComponent: 'Select',
editComponentProps: {
options: [
{
label: '字符串',
value: '1',
},
{
label: '布尔',
value: '2',
},
{
label: '整型',
value: '3',
},
{
label: '浮点型',
value: '4',
},
],
},
width: 200,
},
];
......@@ -63,7 +63,6 @@
const [registerTable, { reload, updateTableDataRecord, getSearchInfo,getForm,getRowSelection }] = useTable({
title: '',
api: async (params) => {
console.log('params:',params)
const response = {
pageNu: "1",
pageSize: "10",
......@@ -73,8 +72,6 @@
message:'',
data: [],
};
//过滤data中的数据,取出等于params.deptId的数据
var data = []
//按照部门筛选 如果有进行过滤相应部门的 没有就赋值全部
var data = [];
data = tableData.value.filter((item) => item.businessId !== 100);
......@@ -176,7 +173,6 @@
reload();
}
onMounted(() => {
tableData.value = TreeData
});
......
......@@ -247,7 +247,7 @@ export const editTableData: any[] = [
"businessId" : 1,
"name" : "数据源",
"description": '',
"englishName": '',
"englishName": 'MD_DATASOURCE',
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -256,7 +256,7 @@ export const editTableData: any[] = [
"businessId" : 1,
"name" : "库名",
"description": "",
"englishName":"",
"englishName":"MD_DB_NAME",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -265,7 +265,7 @@ export const editTableData: any[] = [
"businessId" : 1,
"name" : "表名",
"description": "",
"englishName":"",
"englishName":"MD_TAB_NAME",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -274,7 +274,7 @@ export const editTableData: any[] = [
"businessId" : 1,
"name" : "资产类型",
"description": "",
"englishName":"",
"englishName":"MD_DS_TYPE",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -283,7 +283,7 @@ export const editTableData: any[] = [
"businessId" : 1,
"name" : "表类型",
"description": "",
"englishName":"",
"englishName":"MD_TAB_TYPE",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -291,23 +291,33 @@ export const editTableData: any[] = [
"businessId" : 1,
"name" : "表注释",
"description": "",
"englishName":"",
"englishName":"MD_TAB_COMMENT",
"isWrite": '0',
"isShow": '0',
"type": '1',
}, {
},{
"businessId" : 1,
"name" : "表中文名",
"description": "",
"englishName":"MD_TAB_DESC",
"isWrite": '0',
"isShow": '0',
"type": '1',
},
{
"businessId" : 1,
"name" : "存储类型",
"description": "",
"englishName":"",
"englishName":"MD_STORE_TYPE",
"isWrite": '0',
"isShow": '0',
"type": '1',
},{
},
{
"businessId" : 1,
"name" : "是否为事务表",
"description": "",
"englishName":"",
"englishName":"MD_TAB_IS_TRANS",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -316,7 +326,7 @@ export const editTableData: any[] = [
"businessId" : 1,
"name" : "创建时间",
"description": "",
"englishName":"",
"englishName":"MR_CREATE_TIME",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -325,7 +335,7 @@ export const editTableData: any[] = [
"businessId" : 1,
"name" : "创建者",
"description": "",
"englishName":"",
"englishName":"MR_CREATE_USER",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -334,7 +344,7 @@ export const editTableData: any[] = [
"businessId" : 1,
"name" : "发布时间",
"description": "",
"englishName":"",
"englishName":"MR_PUBLISH_TIME",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -343,7 +353,7 @@ export const editTableData: any[] = [
"businessId" : 1,
"name" : "发布者",
"description": "",
"englishName":"",
"englishName":"MR_PUBLISH_USER",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -356,7 +366,7 @@ export const editColumnData: any[] = [
"businessId" : 1,
"name" : "列名",
"description": "",
"englishName":"",
"englishName":"MD_COL_NAME",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -365,7 +375,7 @@ export const editColumnData: any[] = [
"businessId" : 1,
"name" : "字段类型",
"description": "",
"englishName":"",
"englishName":"MD_COL_TYPE",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -374,7 +384,7 @@ export const editColumnData: any[] = [
"businessId" : 1,
"name" : "字段类型参数",
"description": "",
"englishName":"",
"englishName":"MD_COL_TYPE_PARAM",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -383,7 +393,7 @@ export const editColumnData: any[] = [
"businessId" : 1,
"name" : "长度",
"description": "",
"englishName":"",
"englishName":"MD_COL_LENGTH",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -392,7 +402,7 @@ export const editColumnData: any[] = [
"businessId" : 1,
"name" : "精度",
"description": "",
"englishName":"",
"englishName":"MD_COL_PRECISION",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -401,7 +411,7 @@ export const editColumnData: any[] = [
"businessId" : 1,
"name" : "是否可为空",
"description": "",
"englishName":"",
"englishName":"MD_COL_IS_BULL",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -410,7 +420,7 @@ export const editColumnData: any[] = [
"businessId" : 1,
"name" : "字段注释",
"description": "",
"englishName":"",
"englishName":"MD_COL_COMMENT",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -421,7 +431,7 @@ export const editBucketData: any[] = [
"businessId" : 1,
"name" : "分桶数",
"description": "",
"englishName":"",
"englishName":"MD_BUCKET_NUM",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -430,7 +440,7 @@ export const editBucketData: any[] = [
"businessId" : 1,
"name" : "分桶字段",
"description": "",
"englishName":"",
"englishName":"MD_BUCKET_KEY",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -439,7 +449,7 @@ export const editBucketData: any[] = [
"businessId" : 1,
"name" : "排序字段",
"description": "",
"englishName":"",
"englishName":"MD_BUCKET_SORTED",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -448,7 +458,7 @@ export const editBucketData: any[] = [
"businessId" : 1,
"name" : "排序方式",
"description": "",
"englishName":"",
"englishName":"MD_BUCKET_SORTED",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -459,7 +469,7 @@ export const editAreaData: any[] = [
"businessId" : 1,
"name" : "分区类型",
"description": "",
"englishName":"",
"englishName":"MD_TAB_PARTITION_TYPE",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -468,7 +478,7 @@ export const editAreaData: any[] = [
"businessId" : 1,
"name" : "分区字段",
"description": "",
"englishName":"",
"englishName":"MD_PARTITION_COL_KEY",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -477,7 +487,7 @@ export const editAreaData: any[] = [
"businessId" : 1,
"name" : "分区名",
"description": "",
"englishName":"",
"englishName":"MD_TAB_PARTITION_NAME",
"isWrite": '0',
"isShow": '0',
"type": '1',
......@@ -486,7 +496,7 @@ export const editAreaData: any[] = [
"businessId" : 1,
"name" : "分区值",
"description": "",
"englishName":"",
"englishName":"MD_TAB_PARTITION_VALUE",
"isWrite": '0',
"isShow": '0',
"type": '1',
......
<template>
<BasicModal width="80%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<PageWrapper
title=""
class="content-padding"
contentBackground
@back="goBack"
>
<template #footer>
<div style="display: flex; justify-content: space-between; align-items: flex-end; background-color: white; padding: 0 5px 20px;">
<div style="display: flex; flex-direction: column; justify-content: flex-start; padding-left: 5px;margin-top: -100px">
<div style="font-weight: bold;">关联资产类型</div>
<div style="margin-top: 20px;">数据资产类型:Inceptor表</div>
</div>
<div style="cursor: pointer;">
<Icon icon="ant-design:appstore-outlined" style="margin-right: 10px;" :size="30" @click="handleSetButton" :color="'#1091FE'"/>
<Icon icon="ant-design:edit-outlined" :size="30" @click="handleUpdateButton" :color="'#1091FE'"/>
</div>
</div>
</template>
<BasicTable @register="registerTable1" class="height">
<template #toolbar>
<a-input style="width: 200px;margin-right: auto" default-value="表信息" allowClear></a-input>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
color: 'error',
label: '删除',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: handleDelete.bind(null, record),
},
},
]"
/>
</template>
</template>
</BasicTable>
<BasicTable @register="registerTable2" class="height">
<template #toolbar>
<a-input style="width: 200px;margin-right: auto" default-value="分桶信息" allowClear></a-input>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
color: 'error',
label: '删除',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: handleDelete.bind(null, record),
},
},
]"
/>
</template>
</template>
</BasicTable>
<BasicTable @register="registerTable3" class="height">
<template #toolbar>
<a-input style="width: 200px;margin-right: auto" default-value="分区信息" allowClear></a-input>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
color: 'error',
label: '删除',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: handleDelete.bind(null, record),
},
},
]"
/>
</template>
</template>
</BasicTable>
<BasicTable @register="registerTable4" class="height">
<template #toolbar>
<a-input style="width: 200px;margin-right: auto" default-value="列信息" allowClear></a-input>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
color: 'error',
label: '删除',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: handleDelete.bind(null, record),
},
},
]"
/>
</template>
</template>
</BasicTable>
</PageWrapper>
</BasicModal>
</template>
<script lang="ts" setup>
import { PageWrapper } from '@/components/Page';
import {ref, computed, unref, reactive, onMounted} from 'vue';
import {BasicModal, useModal, useModalInner} from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import { modelFormSchema } from './model.data';
import { useMessage } from '@/hooks/web/useMessage';
import {TreeData} from "@/views/metaModel/physicsModel/modelData";
import {router} from "@/router";
import ColumnTable from './ColumnTable.vue';
import AreaTable from './AreaTable.vue';
import Table from './Table.vue';
import BucketTable from './BucketTable.vue';
import {useTable,BasicTable} from "@/components/Table";
import {columns} from "@/views/metaModel/physicsModel/detailModel.data";
import {editAreaData,editColumnData,editBucketData,editTableData} from '@/views/metaModel/physicsModel/modelData.ts'
import Icon from '@/components/Icon/Icon.vue';
import { useGo } from '@/hooks/web/usePage';
defineOptions({ name: 'ModelModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const isUpdate = ref(true);
const isMove = ref(false);
const rowId = ref('');
const tableData = ref([])
const columnTableData = ref([])
const bucketTableData = ref([])
const areaTableData = ref([])
const go = useGo();
const getTitle = computed(() => ('Inceptor元模型'));
const [registerTable1, { reload1,getForm1 }] = useTable({
title: '',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: tableData.value.length,
code:'',
message:'',
data: [],
};
console.log('tableData.value:',tableData.value)
return { ...response, data: tableData.value };
},
columns,
showTableSetting: false,
showIndexColumn: false,
pagination: false,
bordered: true,
actionColumn: {
width: 150,
title: '操作',
dataIndex: 'action',
},
});
const [registerTable2, { reload2,getForm2 }] = useTable({
title: '',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: bucketTableData.value.length,
code:'',
message:'',
data: bucketTableData.value,
};
return { ...response, data: bucketTableData.value };
},
columns,
showTableSetting: false,
showIndexColumn: false,
pagination: false,
bordered: true,
actionColumn: {
width: 150,
title: '操作',
dataIndex: 'action',
},
});
const [registerTable3, { reload3,getForm3 }] = useTable({
title: '',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: areaTableData.value.length,
code:'',
message:'',
data: areaTableData.value,
};
return { ...response ,data: areaTableData.value};
},
columns,
showTableSetting: false,
showIndexColumn: false,
pagination: false,
bordered: true,
actionColumn: {
width: 150,
title: '操作',
dataIndex: 'action',
},
});
const [registerTable4, { reload4,getForm4 }] = useTable({
title: '',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: columnTableData.value.length,
code:'',
message:'',
data: columnTableData.value,
};
return { ...response,data: columnTableData.value };
},
columns,
showTableSetting: false,
showIndexColumn: false,
pagination: false,
bordered: true,
actionColumn: {
width: 150,
title: '操作',
dataIndex: 'action',
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
setModalProps({ confirmLoading: false,showCancelBtn: false,showOkBtn:false });
});
/**确定按钮*/
async function handleSubmit() {
router.push({
path: '/metaModel/physicsModel/EditRowTable',
query: {},
});
closeModal()
}
/** 删除按钮*/
function handleDelete(record: Recordable) {
createMessage.success('删除成功!');
}
/** 配置按钮*/
function handleSetButton() {
console.log('1111')
}
/** 修改按钮*/
function handleUpdateButton() {
go('/metaModel/physicsModel/editRowTable');
}
onMounted(() => {
tableData.value = editTableData
columnTableData.value = editColumnData
bucketTableData.value = editBucketData
areaTableData.value = editAreaData
});
</script>
<style>
.height {
.ant-table-container {
.ant-table-body {
min-height: 500px;
}
}
}
</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