Commit 348b36b1 authored by liwei's avatar liwei

修改了公共代码页面

parent 55c55214
<template>
<BasicModal width="50%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<BasicForm @register="registerForm" />
<BasicTable @register="registerTable"/>
</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 {addValueColumns, addValueFormSchema, addValueSearchSchema, searchFormSchema} from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage';
import {
addValueData,TreeData
} from "./publicCodeData";
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: addValueFormSchema,
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: 'QualityId',
componentProps: {
treeData: treeList
},
},
]);
});
const [registerTable] = useTable({
title: '源系统码值',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: addValueData.length,
code:'',
message:'',
data: [],
};
//过滤data中的数据,取出等于params.deptId的数据
return { ...response,data: addValueData };
},
columns:addValueColumns,
useSearchForm: true,
showTableSetting: false,
showIndexColumn:false,
pagination:false,
bordered: true,
formConfig: {
labelWidth: 120,
schemas: addValueSearchSchema,
autoSubmitOnEnter: 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>
......@@ -178,7 +178,7 @@ function getRightMenuList(node: EventDataNode): Promise<ContextMenuItem[]> {
/**查看详情*/
function detailButton(record) {
router.push({
path: '/dataStandards/publicCode/detailStandard',
path: '/dataStandards/publicCode/detailPublicCode',
query: {
businessId:record.businessId,
},
......
......@@ -56,6 +56,8 @@
</BasicTable>
<!-- 版本管理 弹窗-->
<VersionModal @register="registerModal" @success="handleSuccess" />
<!-- 查看详情 弹窗-->
<DetailPublicCodeModal @register="registerDetailModal" @success="handleSuccess" />
</div>
</template>
<script lang="ts" setup>
......@@ -68,14 +70,17 @@ import {router} from "@/router";
import { BasicForm, useForm } from '@/components/Form';
import {
detailColumns, detailFormSchema,
detailSchema, searchFormSchema,
detailSchema
} from './publicCode.data';
import {onMounted, ref} from "vue";
import {useRoute} from "vue-router";
import VersionModal from './VersionModal.vue'
import DetailPublicCodeModal from './detailPublicCodeModal.vue'
import {useModal} from "@/components/Modal";
import { useMessage } from '@/hooks/web/useMessage';
import { BasicTable, useTable, TableAction } from '@/components/Table';
const route = useRoute()
const title = ref('')
const formData = ref({})
......@@ -83,6 +88,7 @@ const businessId = ref('')
const isShow = ref(false)
const optionValue = ref('')
const [registerModal, { openModal }] = useModal();
const [registerDetailModal, { openModal: openDetailModal }] = useModal();
const { createMessage, createConfirm } = useMessage();
const [registerForm1, { setFieldsValue: setFieldsValue1 }] = useForm({
labelWidth: 100,
......@@ -147,7 +153,7 @@ function editButton(record) {
/**基本标准对比*/
function contrastButton(record) {
router.push({
path: '/dataStandards/publicCode/basicStandardsContrast',
path: '/dataStandards/publicCode/publicCodeContrast',
query: {
businessId:businessId.value,
},
......@@ -173,8 +179,10 @@ function resetButton(value) {
/**查看详情*/
function detailButton(value) {
function detailButton(record) {
openDetailModal(true,{
record:record
})
}
/**退出查看*/
......
<template>
<BasicModal width="50%" 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 {detailPublicCodeSchema, editPublicCodeSchema} from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage';
import {
addValueData
} from "./publicCodeData";
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: detailPublicCodeSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields();
setModalProps({ confirmLoading: false,showOkBtn: false,showCancelBtn: false });
setFieldsValue({
...data.record,
})
});
/**确定按钮*/
async function handleSubmit() {
createMessage.success('编辑成功');
closeModal()
}
</script>
......@@ -47,7 +47,8 @@
</span>
</template>
</BasicTable>
<AddCodeValueModal @register="registerModal" @success="handleSuccess" />
<EditPublicCodeModal @register="registerEditPublicCodeModal" @success="handleSuccess" />
</div>
</template>
<script lang="ts" setup>
......@@ -59,29 +60,32 @@ import {router} from "@/router";
import { BasicForm, useForm } from '@/components/Form';
import {
detailColumns, detailFormSchema,
editStandardsDetailFormSchema1,
editStandardsDetailFormSchema,
} from './publicCode.data';
import {onMounted, ref} from "vue";
import {useRoute} from "vue-router";
import {useModal} from "@/components/Modal";
import { useMessage } from '@/hooks/web/useMessage';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import AddCodeValueModal from './AddCodeValueModal.vue';
import EditPublicCodeModal from './editPublicCodeModal.vue';
const route = useRoute()
const title = ref('')
const formData = ref({})
const businessId = ref('')
const { createMessage, createConfirm } = useMessage();
const [registerModal, { openModal: openModal }] = useModal();
const [registerEditPublicCodeModal, { openModal: openEditPublicCodeModal }] = useModal();
const [registerForm1, { setFieldsValue: setFieldsValue1 }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: editStandardsDetailFormSchema1,
schemas: editStandardsDetailFormSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const [registerTable, { reload, updateTableDataRecord, getSearchInfo,getForm,getRowSelection }] = useTable({
title: '公共代码',
api: async (params) => {
......@@ -140,13 +144,17 @@ function saveButton(record) {
/**编辑*/
function editButton(record) {
openEditPublicCodeModal(true,{
record:record
})
}
/**添加值*/
function addValueButton(record) {
openModal(true,{
})
}
/**删除*/
......
<template>
<BasicModal width="50%" 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 {editPublicCodeSchema} from './publicCode.data';
import { useMessage } from '@/hooks/web/useMessage';
import {
addValueData
} from "./publicCodeData";
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: editPublicCodeSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields();
setModalProps({ confirmLoading: false });
setFieldsValue({
...data.record,
})
});
/**确定按钮*/
async function handleSubmit() {
createMessage.success('编辑成功');
closeModal()
}
</script>
......@@ -25,9 +25,13 @@
</div>
</div>
</div>
<div>
<BasicForm @register="registerLeftForm" />
<Divider />
<div style="display: flex; justify-content: center;">
<a-button style="margin-right: 5px" type="primary" @click="">回滚到此版本</a-button>
</div>
<Divider />
<BasicForm @register="registerLeftForm" />
<BasicTable @register="registerTable1"/>
</div>
<div class="w-1/2 xl:w-1/2">
<div style="display: flex;justify-content: space-between; align-items: center;margin-bottom: 10px;margin-left: 12px">
......@@ -48,17 +52,33 @@
</div>
</div>
</div>
<div>
<BasicForm @register="registerRightForm" />
<Divider />
<div style="display: flex; justify-content: center;">
<a-button style="margin-right: 5px" type="primary" @click="">回滚到此版本</a-button>
</div>
<Divider />
<BasicForm @register="registerRightForm" />
<div style="display: flex;justify-content:flex-end;margin-top:3%;margin-bottom: 10%">
<div>
版本<Select
v-model:value="optionValue"
show-search
placeholder="请选择升降序"
style="width: 200px;margin-left: 10px"
:options="orderOptions"
@change="handleChange"
></Select>
</div>
</div>
<BasicTable @register="registerTable2"/>
<Divider />
</div>
</PageWrapper>
</template>
<script lang="ts" setup>
import { BasicTable, useTable } from '@/components/Table';
import { PageWrapper } from '@/components/Page';
import {contrastSchema} from '@/views/dataStandards/basicStandards/basicStandards.data';
import {leftContrastData,rightContrastData} from '@/views/dataStandards/basicStandards/basicStandardsData';
import { addValueSearchSchema, contrastSchema, contrastTableColumns} from './publicCode.data';
import { leftContrastData, rightContrastData,leftContrastTableData,rightContrastTableData} from './publicCodeData';
import { useMessage } from '@/hooks/web/useMessage';
import { BasicForm, useForm } from '@/components/Form';
import {onMounted,ref} from "vue";
......@@ -66,6 +86,9 @@
import Icon from '@/components/Icon/Icon.vue';
import {router} from "@/router";
import { useRoute,onBeforeRouteLeave } from 'vue-router';
import { Divider } from 'ant-design-vue';
import { BasicTable, useTable, TableAction } from '@/components/Table';
defineOptions({ name: 'Metadata' });
const route = useRoute();
const title = ref('对外投资出资方式')
......@@ -74,18 +97,72 @@
{ value: 'V2', label: 'V2' },
{ value: 'V3', label: 'V3' },
]);
const orderOptions = ref<any>([
{ value: '1', label: '代码值升序' },
{ value: '2', label: '代码值降序' },
]);
const { createMessage } = useMessage();
const [registerLeftForm,{setFieldsValue:setLeftFieldsValue}] = useForm({
labelWidth: 100,
schemas: contrastSchema,
showActionButtonGroup: false,
});
const [registerRightForm,{setFieldsValue:setRightFieldsValue}] = useForm({
labelWidth: 100,
schemas: contrastSchema,
showActionButtonGroup: false,
});
const [registerTable1] = useTable({
title: '公共代码',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: leftContrastTableData.length,
code:'',
message:'',
data: [],
};
//过滤data中的数据,取出等于params.deptId的数据
return { ...response,data: leftContrastTableData };
},
columns:contrastTableColumns,
useSearchForm: true,
showTableSetting: false,
showIndexColumn:false,
pagination:false,
bordered: true,
formConfig: {
labelWidth: 120,
schemas: addValueSearchSchema,
autoSubmitOnEnter: true,
},
});
const [registerTable2] = useTable({
title: '',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: rightContrastTableData.length,
code:'',
message:'',
data: [],
};
//过滤data中的数据,取出等于params.deptId的数据
return { ...response,data: rightContrastTableData };
},
columns:contrastTableColumns,
useSearchForm: false,
showTableSetting: false,
showIndexColumn:false,
pagination:false,
bordered: true,
});
/**开始对比*/
function startContrast() {
createMessage.success('开始对比');
......@@ -94,7 +171,7 @@
/**结束对比*/
function endContrast() {
router.push({
path: '/dataStandards/publicCode/detailStandard',
path: '/dataStandards/publicCode/detailPublicCode',
query: {
businessId:route.query.businessId,
},
......
......@@ -566,6 +566,7 @@ export const leftContrastData: any[] = [
"publishStatus": "已发布",
"businessDefinition": "对外投资出资方式",
"standardCode": "BAS000004",
"standardPath":'/公共代码/个人工作区/对外投资出资方式',
"referenceStandard":[
{ icon: '🌐🔍', text: '数据源1' },
],
......@@ -609,6 +610,7 @@ export const rightContrastData = [
{
"businessId": 201,
"standardChineseName": "对外投资出资方式",
"standardPath":'/公共代码/个人工作区/对外投资出资方式',
"anotherName": "对外投资出资方式",
"parentId": 102,
"publishStatus": "已发布",
......@@ -653,6 +655,60 @@ export const rightContrastData = [
},
]
/**对比左侧数据*/
export const leftContrastTableData = [
{
"businessId": 1,
"codeValue": "00",
"codeMeaning": "未填写",
"description": '-',
"updateBy": "DMP_admin",
"updateDate": "2024-05-31 17:11:50",
},
{
"businessId": 2,
"codeValue": "01",
"codeMeaning": "男性",
"description": '-',
"updateBy": "DMP_admin",
"updateDate": "2024-05-31 17:11:50",
},
{
"businessId": 3,
"codeValue": "02",
"codeMeaning": "女性",
"description": '-',
"updateBy": "DMP_admin",
"updateDate": "2024-05-31 17:11:50",
},
]
/**对比右侧数据*/
export const rightContrastTableData = [
{
"businessId": 1,
"codeValue": "00",
"codeMeaning": "未填写",
"description": '-',
"updateBy": "DMP_admin",
"updateDate": "2024-05-31 17:11:50",
},
{
"businessId": 2,
"codeValue": "01",
"codeMeaning": "男性",
"description": '-',
"updateBy": "DMP_admin",
"updateDate": "2024-05-31 17:11:50",
},
{
"businessId": 3,
"codeValue": "02",
"codeMeaning": "女性",
"description": '-',
"updateBy": "DMP_admin",
"updateDate": "2024-05-31 17:11:50",
},
]
/**关联关系 表格3 数据*/
export const relatedRelationshipsData3 = [
......@@ -712,3 +768,19 @@ export const detailData = [
sourceSystemCodeValue: '-',
},
]
/**编辑公共代码 列表数据*/
export const addValueData = [
{
sourceSystem: '系统1',
sourceSystemCodeValue: '00',
},
{
sourceSystem: '系统2',
sourceSystemCodeValue: '01',
},
{
sourceSystem: '系统3',
sourceSystemCodeValue: '02',
},
]
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