Commit f1f39466 authored by liwei's avatar liwei

修改了基础标准页

parent eae76808
......@@ -43,7 +43,6 @@ export const columns: BasicColumn[] = [
width: 150,
},
];
/**主页面搜索 表单*/
export const searchFormSchema: FormSchema[] = [
{
......@@ -74,7 +73,6 @@ export const searchFormSchema: FormSchema[] = [
colProps: { span: 6 },
},
];
/**导入关联关系 表单*/
export const importRelativeFormSchema: FormSchema[] = [
{
......@@ -109,7 +107,6 @@ export const importRelativeFormSchema: FormSchema[] = [
},
},
];
/**导入数据标准 表单*/
export const importDataStandardsFormSchema: FormSchema[] = [
{
......@@ -147,7 +144,7 @@ export const importDataStandardsFormSchema: FormSchema[] = [
},
},
];
/**移动 表单*/
export const moveFormSchema: any[] = [
{
field: 'treeId',
......@@ -164,7 +161,6 @@ export const moveFormSchema: any[] = [
required: true,
},
]
/**重命名 表单*/
export const resetNameFormSchema: FormSchema[] = [
{
......@@ -183,7 +179,6 @@ export const resetNameFormSchema: FormSchema[] = [
colProps: { lg: 24, md: 24 },
},
];
/**新建标准分类 表单*/
export const createBasicTypeFormSchema: FormSchema[] = [
{
......@@ -287,7 +282,6 @@ export const createBasicTypeFormSchema: FormSchema[] = [
],
},
];
/**新建基础标准 表单*/
export const createBasicStandardsFormSchema: FormSchema[] = [
{
......@@ -712,7 +706,6 @@ export const detailSchema1: FormSchema[] = [
},
}
];
/**基础标准详情 表单2*/
export const detailSchema2: FormSchema[] = [
{
......@@ -831,7 +824,6 @@ export const detailSchema2: FormSchema[] = [
},
}
];
/**基础标准详情 表单3*/
export const detailSchema3: FormSchema[] = [
{
......@@ -1082,6 +1074,7 @@ export const detailSchema3: FormSchema[] = [
}
];
/**编辑基础标准 表单1*/
export const editStandardsDetailFormSchema1: FormSchema[] = [
{
......@@ -2418,7 +2411,7 @@ export const relatedRelationshipColumns4: BasicColumn[] = [
title: '公共代码名称',
dataIndex: 'commonCodeName',
width: 150,
slots: { customRender: '' },
slots: { customRender: 'commonCodeName' },
},
{
title: '标准编号',
......@@ -2457,7 +2450,7 @@ export const relatedRelationshipColumns5: BasicColumn[] = [
title: '标准名称',
dataIndex: 'standardName',
width: 150,
slots: { customRender: '' },
slots: { customRender: 'standardName' },
},
{
title: '标准编号',
......@@ -2496,7 +2489,6 @@ export const relatedRelationshipColumns6: BasicColumn[] = [
title: '数据源',
dataIndex: 'dataSource',
width: 150,
slots: { customRender: 'dataSource' },
},
{
title: '目录',
......@@ -2512,6 +2504,7 @@ export const relatedRelationshipColumns6: BasicColumn[] = [
title: '数据表',
dataIndex: 'dataTable',
width: 150,
slots: { customRender: 'dataTable' },
},
{
title: '字段',
......@@ -2534,3 +2527,62 @@ export const relatedRelationshipColumns6: BasicColumn[] = [
width: 150,
},
];
/**关联关系-关联质量 表单*/
export const relatedQualitySchema: any[] = [
{
field: 'QualityId',
label: '关联质量模版',
component: 'TreeSelect',
colProps: { lg: 24, md: 24 },
componentProps: {
fieldNames: {
label: 'QualityName',
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 relatedQualityColumns: BasicColumn[] = [
{
title: '参数',
dataIndex: 'parameter',
width: 150,
},
{
title: '模版类型',
dataIndex: 'templateType',
width: 150,
},
{
title: '模版描述',
dataIndex: 'templateDescription',
width: 150,
},
{
title: '值',
dataIndex: 'value',
width: 150,
editable: true,
edit:true
},
];
......@@ -4,7 +4,8 @@ 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"; // 引入开关组件
import {changeFlagApi} from "@/api/system/user/user";
import {relatedQualityColumns} from "@/views/dataStandards/basicStandards/basicStandards.data"; // 引入开关组件
type CheckedType = boolean | string | number;
/**版本管理列表 表头*/
......@@ -740,8 +741,8 @@ export const relatedRelationshipsData5 = [
export const relatedRelationshipsData6 = [
{
businessId: '1',
dataSource: 'mysql_test',
directory: '',
dataSource: '🌐mysql_test',
directory: '',
database:'moe_data',
dataTable:'graduates_info_bak',
field:'is_full_time',
......@@ -751,8 +752,8 @@ export const relatedRelationshipsData6 = [
},
{
businessId: '2',
dataSource: 'mysql_test',
directory: '',
dataSource: '🌐mysql_test',
directory: '',
database:'moe_data',
dataTable:'graduates_info',
field:'is_full_time',
......@@ -762,8 +763,8 @@ export const relatedRelationshipsData6 = [
},
{
businessId: '3',
dataSource: 'mysql_test',
directory: '',
dataSource: '🔍mysql_test',
directory: '',
database:'moe_data',
dataTable:'graduates_info',
field:'is_full_time',
......@@ -772,3 +773,70 @@ export const relatedRelationshipsData6 = [
operatorUser: 'DMP_admin',
},
]
/**关联关系 关联质量 数据*/
export const relatedQualityData = [
{
parameter: 'value_a',
templateType: '数值类',
templateDescription: '数值类:大于n',
value:'0',
},
]
/**质量模版-树 数据*/
export const qualityTreeData: any[] = [
{
"businessId": 100,
"QualityName": "质量模版",
"anotherName": "质量模版",
"parentId": 0,
"location": "/质量模版",
"icon": "ant-design:folder-open-outlined",
},
{
"businessId": 101,
"QualityName": "CEA_POC_模版",
"anotherName": "CEA_POC_模版",
"parentId": 100,
"ancestors": "0,100",
"icon": "ant-design:folder-open-outlined",
},
{
"businessId": 102,
"QualityName": "数据中台工作区01",
"anotherName": "数据中台工作区01",
"parentId": 100,
"ancestors": "0,100",
"location": "/质量模版/数据中台工作区01",
"icon": "ant-design:folder-open-outlined",
},
{
"businessId": 201,
"QualityName": "值域检查(倍数)",
"anotherName": "值域检查(倍数)",
"parentId": 102,
"ancestors": "0,100,102",
"location": "/质量模版/数据中台工作区01/值域检查(倍数)",
"icon": "ant-design:partition-outlined",
},
{
"businessId": 202,
"QualityName": "值域检查(数值大于零)",
"anotherName": "值域检查(数值大于零)",
"parentId": 102,
"ancestors": "0,100,102",
"location": "/质量模版/数据中台工作区01/值域检查(数值大于零)",
"icon": "ant-design:partition-outlined",
},
{
"businessId": 204,
"QualityName": "准取检查-数值大于等于n",
"anotherName": "准取检查-数值大于等于n",
"parentId": 101,
"ancestors": "0,100,101",
"location": "/质量模版/CEA_POC_模版/准取检查-数值大于等于n",
"icon": "ant-design:partition-outlined",
}
];
<template>
<BasicModal width="40%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<BasicForm @register="registerForm" />
<BasicTable @register="registerTable1"/>
</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 {relatedQualityColumns, relatedQualitySchema, relatedRelationshipColumns1} from './basicStandards.data';
import { useMessage } from '@/hooks/web/useMessage';
import {
qualityTreeData,
relatedQualityData,
relatedRelationshipsData1,
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: relatedQualitySchema,
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
},
},
]);
});
const [registerTable1] = useTable({
title: '参数配置',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: relatedQualityData.length,
code:'',
message:'',
data: [],
};
//过滤data中的数据,取出等于params.deptId的数据
return { ...response,data: relatedQualityData };
},
columns:relatedQualityColumns,
useSearchForm: false,
showTableSetting: false,
showIndexColumn:false,
pagination:false,
bordered: true,
});
/**确定按钮*/
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>
......@@ -4,14 +4,14 @@
<template #toolbar>
<a-button type="primary" @click="Button">创建质量规则</a-button>
<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="[
{
label: '创建质量规则',
icon: 'ant-design:link-outlined',
onClick: Button.bind(null, record),
},
]"
......@@ -36,14 +36,14 @@
<TableAction
:actions="[
{
label: '引用文档',
icon: 'ant-design:link-outlined',
onClick: Button.bind(null, record),
},
]"
/>
</template>
</template>
<template #fileName="{ text, record }">
<template #documentName="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
......@@ -56,14 +56,14 @@
<TableAction
:actions="[
{
label: '引用标准',
icon: 'ant-design:link-outlined',
onClick: Button.bind(null, record),
},
]"
/>
</template>
</template>
<template #fileName="{ text, record }">
<template #standardName="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
......@@ -76,14 +76,14 @@
<TableAction
:actions="[
{
label: '引用公共代码',
icon: 'ant-design:link-outlined',
onClick: Button.bind(null, record),
},
]"
/>
</template>
</template>
<template #fileName="{ text, record }">
<template #commonCodeName="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
......@@ -96,24 +96,14 @@
<TableAction
:actions="[
{
// icon: 'clarity:note-edit-line',
label: '复制',
icon: 'ant-design:link-outlined',
onClick: Button.bind(null, record),
},
{
color: 'error',
label: '删除',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: Button.bind(null, record),
},
},
]"
/>
</template>
</template>
<template #fileName="{ text, record }">
<template #standardName="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
......@@ -127,26 +117,20 @@
<TableAction
:actions="[
{
label: '复制',
icon: 'ant-design:link-outlined',
onClick: Button.bind(null, record),
},
{
color: 'error',
label: '删除',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: Button.bind(null, record),
},
},
]"
/>
</template>
</template>
<template #fileName="{ text, record }">
<template #dataTable="{ text, record }">
<a @click="showDetails(record)"> {{ text }}</a>
</template>
</BasicTable>
<!-- 引用模版 弹窗-->
<RelatedQualityModal @register="registerRelatedQualityModal" @success="handleSuccess" />
</PageWrapper>
</template>
<script lang="ts" setup>
......@@ -156,7 +140,10 @@ import { BasicForm, useForm } from '@/components/Form';
import { onMounted, ref } from "vue";
import { useRoute } from "vue-router";
import { useMessage } from '@/hooks/web/useMessage';
import { PageWrapper } from '@/components/Page';
import { useGo } from '@/hooks/web/usePage';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import RelatedQualityModal from './relatedQualityModal.vue';
import {
relatedRelationshipColumns1,
relatedRelationshipColumns2,
......@@ -165,15 +152,23 @@ import {
relatedRelationshipColumns5,
relatedRelationshipColumns6,
} from "@/views/dataStandards/basicStandards/basicStandards.data";
import { PageWrapper } from '@/components/Page';
import { useGo } from '@/hooks/web/usePage';
import {relatedRelationshipsData1,relatedRelationshipsData2,relatedRelationshipsData3,relatedRelationshipsData4,relatedRelationshipsData5,relatedRelationshipsData6} from "@/views/dataStandards/basicStandards/basicStandardsData";
import {
relatedRelationshipsData1,
relatedRelationshipsData2,
relatedRelationshipsData3,
relatedRelationshipsData4,
relatedRelationshipsData5,
relatedRelationshipsData6
} from "@/views/dataStandards/basicStandards/basicStandardsData";
import {useModal} from "@/components/Modal";
const go = useGo();
const route = useRoute()
const title = ref('关联关系')
const { createMessage, createConfirm } = useMessage();
const [registerRelatedQualityModal, { openModal: openRelatedQualityModal }] = useModal();
/**列表*/
const [registerTable1] = useTable({
title: '质量模版',
api: async (params) => {
......@@ -337,6 +332,14 @@ const [registerTable6] = useTable({
},
});
/**引用模版 按钮*/
function referenceTemplateButton(record) {
openRelatedQualityModal(true,{
})
}
/**按钮*/
function Button(record) {
router.push({
......@@ -367,9 +370,6 @@ onMounted(() => {
</script>
<style lang="less" scoped>
.desc-wrap {
padding: 16px;
background-color: @component-background;
}
</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