Commit bc47f44f authored by liwei's avatar liwei

修改了基础标准页

parent 26555396
......@@ -2560,7 +2560,6 @@ export const relatedQualitySchema: any[] = [
colProps: { lg: 24, md: 24 },
},
]
/**关联关系-关联质量 列表*/
export const relatedQualityColumns: BasicColumn[] = [
{
......@@ -2586,3 +2585,114 @@ export const relatedQualityColumns: BasicColumn[] = [
edit:true
},
];
/**关联关系-关联基础标准 表单*/
export const relatedBasicStandardsSchema: any[] = [
{
field: 'basicStandardsTree',
label: '关联基础标准',
component: 'TreeSelect',
colProps: { lg: 24, md: 24 },
componentProps: {
fieldNames: {
label: 'standardChineseName',
value: 'businessId',
},
getPopupContainer: () => document.body,
},
required: true,
},
{
field: 'relatedRelationship',
label: '关联关系',
component: 'Input',
rules: [
{
required: true,
message: '请输入关联关系',
},
],
componentProps: {
placeholder: '请输入关联关系',
},
colProps: { lg: 24, md: 24 },
},
{
field: 'relatedDescription',
label: '关联描述',
component: 'Input',
rules: [
{
required: true,
message: '请输入关联描述',
},
],
componentProps: {
placeholder: '请输入关联描述',
},
colProps: { lg: 24, md: 24 },
},
]
/**关联关系-关联文档 表单*/
export const relatedDocumentSchema: any[] = [
{
field: 'documentTree',
label: '关联文档模版',
component: 'TreeSelect',
colProps: { lg: 24, md: 24 },
componentProps: {
fieldNames: {
label: 'documentName',
value: 'businessId',
},
getPopupContainer: () => document.body,
},
required: true,
},
{
field: 'relatedDescription',
label: '关联描述',
component: 'Input',
rules: [
{
required: true,
message: '请输入关联描述',
},
],
componentProps: {
placeholder: '请输入关联描述',
},
colProps: { lg: 24, md: 24 },
},
]
/**关联关系-关联元数据 表单*/
export const relatedMeteDataSchema: any[] = [
{
field: 'meteDataTree',
label: '关联元数据',
component: 'TreeSelect',
colProps: { lg: 24, md: 24 },
componentProps: {
fieldNames: {
label: 'meteDataName',
value: 'businessId',
},
getPopupContainer: () => document.body,
},
required: true,
},
{
field: 'relatedDescription',
label: '关联描述',
component: 'Input',
rules: [
{
required: true,
message: '请输入关联描述',
},
],
componentProps: {
placeholder: '请输入关联描述',
},
colProps: { lg: 24, md: 24 },
},
]
......@@ -783,8 +783,6 @@ export const relatedQualityData = [
value:'0',
},
]
/**质量模版-树 数据*/
export const qualityTreeData: any[] = [
{
......
<template>
<BasicModal v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit" minHeight="50">
<BasicForm @register="registerForm" />
</BasicModal>
</template>
<script lang="ts" setup>
import {ref, computed, unref, reactive} from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import { moveFormSchema } from './basicStandards.data';
import { getDeptList } from '@/api/system/dept/dept';
import {resetUserPwd} from '@/api/system/user/user'
import { useMessage } from '@/hooks/web/useMessage';
import { TreeData } from "./basicStandardsData";
defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const isUpdate = ref(true);
const rowId = ref('');
const idList = ref([])
const rowData = ref([])
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
labelWidth: 100,
baseColProps: { span: 24 },
schemas: moveFormSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
//每次点击弹窗 需要清空存储的数据
rowData.value = []
//重置表单数据
resetFields();
setModalProps({ confirmLoading: false });
if (data.idList != null && data.idList != undefined && data.idList.length > 0){
} else {
rowData.value.push(data.record)
//单个移动
rowId.value = data.record.businessId;
data.record.taskId = data.record.businessId
setFieldsValue({
...data.record,
});
}
const treeList = handleTree(TreeData, 'businessId',undefined,undefined,undefined)
updateSchema([
{
field: 'taskId',
componentProps: {
treeData: treeList
},
},
]);
console.log('treeList:',treeList)
});
const getTitle = computed(() => ('移动'));
/**确定按钮*/
async function handleSubmit() {
createMessage.success('移动成功!')
closeModal()
}
/**数组对象转成树*/
function handleTree(data, id, parentId, children, rootId) {
id = id || 'id'
parentId = parentId || 'parentId'
children = children || 'children'
rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || 0
// 对源数据深度克隆
const cloneData = JSON.parse(JSON.stringify(data))
// 循环所有项
const treeData = cloneData.filter(father => {
const branchArr = cloneData.filter(child => {
// 返回每一项的子级数组
return father[id] === child[parentId]
})
branchArr.length > 0 ? father.children = branchArr : ''
// 返回第一层
return father[parentId] === rootId
})
return treeData !== '' ? treeData : data
}
</script>
<template>
<BasicModal width="40%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<BasicForm @register="registerForm" />
</BasicModal>
</template>
<script lang="ts" setup>
import {ref, computed, unref, reactive} from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import { relatedBasicStandardsSchema } from './basicStandards.data';
import { useMessage } from '@/hooks/web/useMessage';
import {qualityTreeData, TreeData} from "@/views/dataStandards/basicStandards/basicStandardsData";
import { BasicTable, useTable, TableAction } from '@/components/Table';
defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const rowId = ref('');
const getTitle = computed(() => ('关联基础标准'));
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: relatedBasicStandardsSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields();
setModalProps({ confirmLoading: false });
setFieldsValue({
...data.record,
})
const treeList = handleTree(TreeData, 'businessId',undefined,undefined,undefined)
updateSchema([
{
field: 'basicStandardsTree',
componentProps: {
treeData: treeList
},
},
]);
});
/**确定按钮*/
async function handleSubmit() {
createMessage.success('移动成功');
closeModal()
}
/**数组对象转成树*/
function handleTree(data, id, parentId, children, rootId) {
id = id || 'id'
parentId = parentId || 'parentId'
children = children || 'children'
rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || 0
// 对源数据深度克隆
const cloneData = JSON.parse(JSON.stringify(data))
// 循环所有项
const treeData = cloneData.filter(father => {
const branchArr = cloneData.filter(child => {
// 返回每一项的子级数组
return father[id] === child[parentId]
})
branchArr.length > 0 ? father.children = branchArr : ''
// 返回第一层
return father[parentId] === rootId
})
return treeData !== '' ? treeData : data
}
</script>
<template>
<BasicModal width="40%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<BasicForm @register="registerForm" />
</BasicModal>
</template>
<script lang="ts" setup>
import {ref, computed, unref, reactive} from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import { relatedDocumentSchema } from './basicStandards.data';
import { useMessage } from '@/hooks/web/useMessage';
import { qualityTreeData } from "@/views/dataStandards/basicStandards/basicStandardsData";
import { BasicTable, useTable, TableAction } from '@/components/Table';
defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const rowId = ref('');
const getTitle = computed(() => ('关联基础文档'));
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: relatedDocumentSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields();
setModalProps({ confirmLoading: false });
setFieldsValue({
...data.record,
})
const treeList = handleTree(qualityTreeData, 'businessId',undefined,undefined,undefined)
updateSchema([
{
field: 'QualityId',
componentProps: {
treeData: treeList
},
},
]);
});
/**确定按钮*/
async function handleSubmit() {
createMessage.success('移动成功');
closeModal()
}
/**数组对象转成树*/
function handleTree(data, id, parentId, children, rootId) {
id = id || 'id'
parentId = parentId || 'parentId'
children = children || 'children'
rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || 0
// 对源数据深度克隆
const cloneData = JSON.parse(JSON.stringify(data))
// 循环所有项
const treeData = cloneData.filter(father => {
const branchArr = cloneData.filter(child => {
// 返回每一项的子级数组
return father[id] === child[parentId]
})
branchArr.length > 0 ? father.children = branchArr : ''
// 返回第一层
return father[parentId] === rootId
})
return treeData !== '' ? treeData : data
}
</script>
<template>
<BasicModal width="40%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<BasicForm @register="registerForm" />
</BasicModal>
</template>
<script lang="ts" setup>
import {ref, computed, unref, reactive} from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import { relatedMeteDataSchema } from './basicStandards.data';
import { useMessage } from '@/hooks/web/useMessage';
import { qualityTreeData } from "@/views/dataStandards/basicStandards/basicStandardsData";
import { BasicTable, useTable, TableAction } from '@/components/Table';
defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const rowId = ref('');
const getTitle = computed(() => ('关联元模型'));
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: relatedMeteDataSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields();
setModalProps({ confirmLoading: false });
setFieldsValue({
...data.record,
})
const treeList = handleTree(qualityTreeData, 'businessId',undefined,undefined,undefined)
updateSchema([
{
field: 'QualityId',
componentProps: {
treeData: treeList
},
},
]);
});
/**确定按钮*/
async function handleSubmit() {
createMessage.success('移动成功');
closeModal()
}
/**数组对象转成树*/
function handleTree(data, id, parentId, children, rootId) {
id = id || 'id'
parentId = parentId || 'parentId'
children = children || 'children'
rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || 0
// 对源数据深度克隆
const cloneData = JSON.parse(JSON.stringify(data))
// 循环所有项
const treeData = cloneData.filter(father => {
const branchArr = cloneData.filter(child => {
// 返回每一项的子级数组
return father[id] === child[parentId]
})
branchArr.length > 0 ? father.children = branchArr : ''
// 返回第一层
return father[parentId] === rootId
})
return treeData !== '' ? treeData : data
}
</script>
<template>
<PageWrapper :title="title" class="content-padding" contentBackground @back="goBack">
<BasicTable @register="registerTable1">
<template #toolbar>
<a-button type="primary" @click="Button">创建质量规则</a-button>
<a-button type="primary" @click="Button">查看质量规则</a-button>
<a-button type="primary" @click="referenceTemplateButton">引用模版</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
<div class="relatedRelationships_module">
<BasicTable @register="registerTable1">
<template #toolbar>
<a-button type="primary" @click="createQualityButton">创建质量规则</a-button>
<a-button type="primary" @click="lookQualityButton">查看质量规则</a-button>
<a-button type="primary" @click="referenceTemplateButton">引用模版</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
icon: 'ant-design:link-outlined',
onClick: Button.bind(null, record),
},
]"
/>
/>
</template>
</template>
<template #qualityTemplateName="{ text, record }">
<a @click="showDetails1(record)"> {{ text }}</a>
</template>
</template>
<template #qualityTemplateName="{ text, record }">
<a @click="showDetails1(record)"> {{ text }}</a>
</template>
<template #dataSource="{ text, record }">
<template #dataSource="{ text, record }">
<span v-for="(item, index) in text" :key="index">
{{ item.icon }}
</span>
</template>
</BasicTable>
<BasicTable @register="registerTable2">
<template #toolbar>
<a-button type="primary" @click="Button">引用文档</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
</template>
</BasicTable>
<BasicTable @register="registerTable2">
<template #toolbar>
<a-button type="primary" @click="referenceFileButton">引用文档</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
icon: 'ant-design:link-outlined',
onClick: Button.bind(null, record),
},
]"
/>
/>
</template>
</template>
<template #documentName="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
<BasicTable @register="registerTable3">
<template #toolbar>
<a-button type="primary" @click="referenceBasicStandardsButton">引用标准</a-button>
</template>
</template>
<template #documentName="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
<BasicTable @register="registerTable3">
<template #toolbar>
<a-button type="primary" @click="Button">引用标准</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
icon: 'ant-design:link-outlined',
onClick: Button.bind(null, record),
},
]"
/>
/>
</template>
</template>
</template>
<template #standardName="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
<BasicTable @register="registerTable4">
<template #toolbar>
<a-button type="primary" @click="Button">引用公共代码</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
<template #standardName="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
<BasicTable @register="registerTable4">
<template #toolbar>
<a-button type="primary" @click="Button">引用公共代码</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
icon: 'ant-design:link-outlined',
onClick: Button.bind(null, record),
},
]"
/>
/>
</template>
</template>
<template #commonCodeName="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</template>
<template #commonCodeName="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
<BasicTable @register="registerTable5">
<template #toolbar>
<a-button type="primary" @click="Button">引用标准</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
</BasicTable>
<BasicTable @register="registerTable5">
<template #toolbar>
<a-button type="primary" @click="Button">引用标准</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
icon: 'ant-design:link-outlined',
onClick: Button.bind(null, record),
},
]"
/>
/>
</template>
</template>
<template #standardName="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</template>
<template #standardName="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
<BasicTable @register="registerTable6">
<template #toolbar>
<a-button type="primary" @click="Button">智能推荐元数据</a-button>
<a-button type="primary" @click="Button">关联元数据</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
</BasicTable>
<BasicTable @register="registerTable6">
<template #toolbar>
<a-button type="primary" @click="Button">智能推荐元数据</a-button>
<a-button type="primary" @click="Button">关联元数据</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
icon: 'ant-design:link-outlined',
onClick: Button.bind(null, record),
},
]"
/>
/>
</template>
</template>
</template>
<template #dataTable="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
<template #dataTable="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
</div>
<!-- 引用模版 弹窗-->
<RelatedQualityModal @register="registerRelatedQualityModal" @success="handleSuccess" />
<!-- 引用基础标准 弹窗-->
<RelatedBasicStandardModal @register="registerBasicStandardModal" @success="handleSuccess" />
<!-- 引用元数据 弹窗-->
<RelatedMetaDataModal @register="registerMetaDataModal" @success="handleSuccess" />
<!-- 引用文档 弹窗-->
<RelatedDocumentModal @register="registerDocumentModal" @success="handleSuccess" />
</PageWrapper>
</template>
<script lang="ts" setup>
......@@ -144,6 +151,9 @@ import { PageWrapper } from '@/components/Page';
import { useGo } from '@/hooks/web/usePage';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import RelatedQualityModal from './relatedQualityModal.vue';
import RelatedBasicStandardModal from './relatedBasicStandardModal.vue';
import RelatedMetaDataModal from './relatedMetaDataModal.vue';
import RelatedDocumentModal from './relatedDocumentModal.vue';
import {
relatedRelationshipColumns1,
relatedRelationshipColumns2,
......@@ -167,6 +177,9 @@ const route = useRoute()
const title = ref('关联关系')
const { createMessage, createConfirm } = useMessage();
const [registerRelatedQualityModal, { openModal: openRelatedQualityModal }] = useModal();
const [registerBasicStandardModal, { openModal: openBasicStandardModal }] = useModal();
const [registerMetaDataModal, { openModal: openMetaDataModal }] = useModal();
const [registerDocumentModal, { openModal: openDocumentModal }] = useModal();
/**列表*/
const [registerTable1] = useTable({
......@@ -333,7 +346,28 @@ const [registerTable6] = useTable({
});
/**引用模版 按钮*/
/**引用元数据 按钮*/
function referenceMetaDataButton(record) {
openMetaDataModal(true,{
})
}
/**引用基础标准 按钮*/
function referenceBasicStandardsButton(record) {
openBasicStandardModal(true,{
})
}
/**引用文档 按钮*/
function referenceFileButton(record) {
openDocumentModal(true,{
})
}
/**引用质量模版 按钮*/
function referenceTemplateButton(record) {
openRelatedQualityModal(true,{
......@@ -350,16 +384,36 @@ function Button(record) {
});
}
/**查看质量规则 按钮*/
function lookQualityButton(record) {
router.push({
path: '/dataQuality/rule',
query: {
},
});
}
/**创建质量规则 按钮*/
function createQualityButton(record) {
router.push({
path: '/dataQuality/rule',
query: {
},
});
}
/**表1 跳转*/
function showDetails1() {
}
/**返回*/
function goBack() {
// 本例的效果时点击返回始终跳转到账号列表页,实际应用时可返回上一页
go('/metaModel/physicsModel/index');
go('/dataStandards/basicStandards/index');
}
/**初始化*/
......@@ -369,7 +423,11 @@ onMounted(() => {
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.relatedRelationships_module{
::v-deep(.ant-table-body){
min-height: 150px!important;
height:150px!important;
}
}
</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