Commit 08287687 authored by chenjiahao's avatar chenjiahao

Merge remote-tracking branch 'origin/master'

parents b3a314ed b67b9067
<template>
<PageWrapper title="实体关系图" contentBackground headerSticky>
<template #extra>
<RadioButtonGroup :options="options" v-model:value="selectRadio" />
<RadioButtonGroup v-if="!isEdit" :options="options" v-model:value="selectRadio" />
<a-button type="primary">刷新</a-button>
<a-button type="primary">全屏</a-button>
<a-button type="primary" v-if="isEdit">保存坐标</a-button>
</template>
<template #footer>
<div style="display: flex">
......@@ -22,8 +23,9 @@
import { PageWrapper } from '@/components/Page';
import { RadioButtonGroup } from '@/components/Form';
import { BasicTree } from '@/components/Tree';
import { ref } from 'vue';
import {defineProps, ref} from 'vue';
import { chartTreeData } from './chart.data';
import {useRoute} from "vue-router";
// const options = [
// {
......@@ -35,6 +37,9 @@
// value: '当前模型实体',
// },
// ];
const route = useRoute();
const isEdit = route.query.isEdit;
const selectRadio = ref('全部实体');
const options = ['全部实体', '当前模型实体'];
</script>
......
......@@ -4,7 +4,6 @@ export const entityFormSchema = [
{
field: 'name',
label: '实体名称',
required: true,
slot: 'name',
component: 'Input',
colProps: { span: 12 },
......
......@@ -3,12 +3,14 @@
<span class="table-title" style="font-size: 18px; margin: 12px 10px 0">实体关联关系</span>
<BasicTable @register="registerTable" :searchInfo="searchInfo">
<template #toolbar>
<a-button type="primary" @click="handleConnectionModel">关联</a-button>
<a-button v-if="isEdit" type="primary" @click="handleConnectionModel">关联</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
:actions="
isEdit
? [
{
// 编辑
icon: 'clarity:note-edit-line',
......@@ -24,7 +26,9 @@
},
color: 'error',
},
]"
]
: []
"
/>
</template>
</template>
......@@ -33,7 +37,7 @@
</div>
</template>
<script lang="ts" setup>
import { reactive, onMounted, ref } from 'vue';
import { reactive, onMounted, ref, defineProps } from 'vue';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { useRoute, onBeforeRouteLeave } from 'vue-router';
import { useFilterStore } from '@/store/modules/filterData';
......@@ -41,13 +45,18 @@
import { useModal } from '@/components/Modal';
import {
entityConnectionTable,
propertyFormSchema
propertyFormSchema,
} from '@/views/dataWarehousePlanning/logicalModel/modelDetail/entityDetail/enetity.data';
import { entityConnectionData } from '@/views/dataWarehousePlanning/logicalModel/modelDetail/entityDetail/entityData';
import EntityConnectionModel from './entityConnectionModel.vue';
import { useMessage } from '@/hooks/web/useMessage';
defineOptions({ name: 'AccountManagement' });
const { isEdit } = defineProps({
isEdit: {
type: String,
default: '',
},
});
const { createMessage, createConfirm } = useMessage();
const filterStore = useFilterStore();
const route = useRoute();
......
......@@ -5,31 +5,43 @@
<a-button v-if="isEdit" type="primary" @click="handleSubmit">保存</a-button>
<a-button v-if="isEdit" @click="handleCancel">取消</a-button>
</template>
<div class="table-title" style="font-size: 18px; margin: 12px 10px 0">基本信息</div>
<BasicForm @register="registerForm">
<template #name="{ model, field }">
<a-input v-if="isEdit" placeholder="请输入实体名称" v-model:value="model[field]" />
<span v-else>{{ infoData[field] }}</span>
</template>
<template #txt="{ model, field }">
<a-input v-if="isEdit" placeholder="请输入实体描述" v-model:value="model[field]" />
<span v-else>{{ infoData[field] }}</span>
</template>
<template #engName="{ model, field }">
<a-input v-if="isEdit" placeholder="请输入实体英文名" v-model:value="model[field]" />
<span v-else>{{ infoData[field] }}</span>
</template>
<template #person="{ model, field }">
<a-input v-if="isEdit" placeholder="请输入资产责任人" v-model:value="model[field]" />
<span v-else>{{ infoData[field] }}</span>
</template>
<template #deptName="{ model, field }">
<TreeSelect v-if="isEdit" placeholder="请输入资产责任人" :treeData="treeData" v-model:value="model[field]" />
<span v-else>{{ infoData[field] }}</span>
</template>
</BasicForm>
<Property />
<EntityConnection />
<Descriptions title="基本信息" style="margin: 10px 12px" :column="2">
<Descriptions.Item label="实体名称">{{ infoData.name }}</Descriptions.Item>
<Descriptions.Item label="实体描述">{{ infoData.txt }}</Descriptions.Item>
<Descriptions.Item label="实体英文名">{{ infoData.engName }}</Descriptions.Item>
<Descriptions.Item label="资产责任人">{{ infoData.person }}</Descriptions.Item>
<Descriptions.Item label="所属部门">{{ infoData.deptName }}</Descriptions.Item>
</Descriptions>
<!-- <div class="table-title" style="font-size: 18px; margin: 12px 10px 0">基本信息</div>-->
<!-- <BasicForm @register="registerForm">-->
<!-- <template #name="{ model, field }">-->
<!-- <a-input v-if="isEdit" placeholder="请输入实体名称" v-model:value="model[field]" />-->
<!-- <span v-else>{{ infoData[field] }}</span>-->
<!-- </template>-->
<!-- <template #txt="{ model, field }">-->
<!-- <a-input v-if="isEdit" placeholder="请输入实体描述" v-model:value="model[field]" />-->
<!-- <span v-else>{{ infoData[field] }}</span>-->
<!-- </template>-->
<!-- <template #engName="{ model, field }">-->
<!-- <a-input v-if="isEdit" placeholder="请输入实体英文名" v-model:value="model[field]" />-->
<!-- <span v-else>{{ infoData[field] }}</span>-->
<!-- </template>-->
<!-- <template #person="{ model, field }">-->
<!-- <a-input v-if="isEdit" placeholder="请输入资产责任人" v-model:value="model[field]" />-->
<!-- <span v-else>{{ infoData[field] }}</span>-->
<!-- </template>-->
<!-- <template #deptName="{ model, field }">-->
<!-- <TreeSelect-->
<!-- v-if="isEdit"-->
<!-- placeholder="请输入资产责任人"-->
<!-- :treeData="treeData"-->
<!-- v-model:value="model[field]"-->
<!-- />-->
<!-- <span v-else>{{ infoData[field] }}</span>-->
<!-- </template>-->
<!-- </BasicForm>-->
<Property :isEdit="isEdit" />
<EntityConnection :isEdit="isEdit" />
</PageWrapper>
</template>
......@@ -41,11 +53,12 @@
import BasicForm from '@/components/Form/src/BasicForm.vue';
import { useForm } from '@/components/Form';
import { TreeSelect } from 'ant-design-vue';
import { Descriptions } from 'ant-design-vue';
import {
entityFormSchema,
treeData,
} from '@/views/dataWarehousePlanning/logicalModel/modelDetail/entityDetail/enetity.data';
import {onMounted, ref} from "vue";
import { onMounted, ref } from 'vue';
const route = useRoute();
let infoData = route.query;
......@@ -63,7 +76,8 @@
isEdit.value = false;
}
//初始化表单
const [registerForm, { setFieldsValue, getFieldsValue, updateSchema, resetFields, validate }] = useForm({
const [registerForm, { setFieldsValue, getFieldsValue, updateSchema, resetFields, validate }] =
useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: entityFormSchema,
......
......@@ -3,8 +3,14 @@
<span class="table-title" style="font-size: 18px; margin: 12px 10px 0">属性</span>
<BasicTable @register="registerTable" :searchInfo="searchInfo">
<template #toolbar>
<a-button type="primary" @click="handleDelete"><DeleteTwoTone />批量删除</a-button>
<a-button type="primary" @click="handlePropertyModel"
<a-button
type="primary"
v-if="isEdit"
:disabled="getRowSelection().selectedRowKeys <= 0"
@click="handleDelete"
><DeleteTwoTone />批量删除</a-button
>
<a-button v-if="isEdit" type="primary" @click="handlePropertyModel"
><PlusCircleTwoTone />新建属性</a-button
>
</template>
......@@ -21,7 +27,9 @@
</template>
<template v-if="column.key === 'action'">
<TableAction
:actions="[
:actions="
isEdit
? [
{
icon: 'clarity:note-edit-line',
onClick: handlePropertyEditModel.bind(null, record),
......@@ -35,7 +43,9 @@
},
color: 'error',
},
]"
]
: []
"
/>
</template>
</template>
......@@ -44,10 +54,10 @@
</div>
</template>
<script lang="ts" setup>
import { reactive, onMounted, ref } from 'vue';
import { reactive, onMounted, ref, defineProps } from 'vue';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { useRoute, onBeforeRouteLeave } from 'vue-router';
import {entityConnectionFormSchema, propertyFormSchema, propertyTable} from './enetity.data';
import { propertyFormSchema, propertyTable } from './enetity.data';
import { useFilterStore } from '@/store/modules/filterData';
import { TreeData } from '@/views/dataWarehousePlanning/logicalModel/modelData';
import { crossData } from '@/views/dataWarehousePlanning/logicalModel/modelDetail/modelData';
......@@ -57,7 +67,12 @@
import PropertyModel from './propertyModel.vue';
import { useMessage } from '@/hooks/web/useMessage';
defineOptions({ name: 'AccountManagement' });
const { isEdit } = defineProps({
isEdit: {
type: String,
default: '',
},
});
const { createMessage, createConfirm } = useMessage();
const filterStore = useFilterStore();
const route = useRoute();
......
......@@ -4,7 +4,13 @@
<BasicTable @register="registerTable" :searchInfo="searchInfo">
<template #toolbar>
<a-button type="primary" v-if="editFlag" @click="handleChart">编辑ER图</a-button>
<a-button type="primary" :disabled="getRowSelection().selectedRowKeys <=0" v-if="editFlag" @click="handleDelete">批量删除</a-button>
<a-button
type="primary"
:disabled="getRowSelection().selectedRowKeys <= 0"
v-if="editFlag"
@click="handleDelete"
>批量删除</a-button
>
<a-button type="primary" v-if="editFlag" @click="handleEntityModel">新建实体</a-button>
</template>
<template #bodyCell="{ column, record }">
......@@ -45,7 +51,7 @@
<script lang="ts" setup>
import { reactive, onMounted, ref, defineProps } from 'vue';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import {useRoute, onBeforeRouteLeave, useRouter} from 'vue-router';
import { useRoute, onBeforeRouteLeave, useRouter } from 'vue-router';
import { entityColumns, entityFormSchema } from './model.data';
import { useFilterStore } from '@/store/modules/filterData';
import { TreeData } from '@/views/dataWarehousePlanning/logicalModel/modelData';
......@@ -53,6 +59,7 @@
import EntityModel from './entityModel.vue';
import { useModal } from '@/components/Modal';
import { useMessage } from '@/hooks/web/useMessage';
const { push } = useRouter();
defineOptions({ name: 'AccountManagement' });
......@@ -153,6 +160,9 @@
function handleChart() {
push({
path: '/dataWarehousePlanning/logicalModel/ERchart',
query: {
isEdit: true,
},
});
}
......
......@@ -26,8 +26,8 @@
</template>
<script lang="ts" setup>
import { reactive, onMounted, ref, nextTick } from 'vue';
import { Descriptions, Tabs, Select } from 'ant-design-vue';
import { reactive, ref } from 'vue';
import { Select } from 'ant-design-vue';
import { PageWrapper } from '@/components/Page';
import Detail from './detail.vue';
import { useRouter } from 'vue-router';
......
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