Commit 2ce97677 authored by liwei's avatar liwei

基础标准页面

parent 81b6a215
<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 { resetNameFormSchema } from './basicStandards.data';
import { useMessage } from '@/hooks/web/useMessage';
import {TreeData} from "@/views/dataStandards/basicStandards/basicStandardsData";
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: resetNameFormSchema,
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>
......@@ -165,21 +165,22 @@ export const moveFormSchema: any[] = [
},
]
/**重命名 表单*/
export const resetNameFormSchema: FormSchema[] = [
{
field: 'fileName',
label: '文件名称',
field: 'standardChineseName',
label: '标准中文名称',
component: 'Input',
rules: [
{
required: true,
message: '请输入文件名称',
message: '请输入标准中文名称',
},
],
componentProps: {
placeholder: '请输入文件名称',
placeholder: '请输入标准中文名称',
},
colProps: { span: 8 },
colProps: { lg: 24, md: 24 },
},
];
......
<template>
<PageWrapper title="元数据对比" contentFullHeight contentBackground contentClass="flex">
<template #footer>
<div style="display: flex; justify-content: flex-end; padding-bottom: 10px">
<a-button style="margin-right: 5px" type="primary" @click="handleImport">导出</a-button>
</div>
</template>
<div class="w-1/2 xl:w-1/2 pl-4">
<div>
<BasicForm @register="registerMainForm" />
<Description
size="middle"
title="基本信息"
:bordered="false"
:column="2"
:data="mainData"
:schema="refundSchema"
/>
<Description size="middle" title="列信息" :bordered="false" />
<BasicTable @register="registerMainTable" />
<Description size="middle" title="索引" :bordered="false" />
<BasicTable @register="registerMainIndexTable" />
</div>
</div>
<div class="w-1/2 xl:w-1/2">
<div>
<BasicForm @register="registerLastForm" />
<Description
size="middle"
title="基本信息"
:bordered="false"
:column="2"
:data="lastData"
:schema="refundSchema"
/>
<Description size="middle" title="列信息" :bordered="false" />
<BasicTable @register="registerLastTable" />
<Description size="middle" title="索引" :bordered="false" />
<BasicTable @register="registerLastIndexTable" />
</div>
</div>
</PageWrapper>
</template>
<script lang="ts" setup>
import { BasicTable, useTable } from '@/components/Table';
import { PageWrapper } from '@/components/Page';
import { Description } from '@/components/Description';
import {
refundSchema,
columns,
indexColumns,
mainSchema,
lastSchema,
} from '@/views/metadata/metadataComparison/data';
import {
lastData,
lastTableData,
lastTableIndexData,
mainData,
mainTableData,
mainTableIndexData,
} from '@/views/metadata/metadataComparison/metadataComparisomData';
import { useMessage } from '@/hooks/web/useMessage';
import { BasicForm, useForm } from '@/components/Form';
defineOptions({ name: 'Metadata' });
const { createMessage } = useMessage();
const [registerMainForm] = useForm({
labelWidth: 100,
schemas: mainSchema,
showActionButtonGroup: false,
});
const [registerLastForm] = useForm({
labelWidth: 100,
schemas: lastSchema,
showActionButtonGroup: false,
});
const [registerMainTable] = useTable({
dataSource: mainTableData,
columns,
pagination: false,
showIndexColumn: false,
scroll: { y: 300 },
});
const [registerLastTable] = useTable({
dataSource: lastTableData,
columns,
pagination: false,
showIndexColumn: false,
scroll: { y: 300 },
});
const [registerMainIndexTable] = useTable({
dataSource: mainTableIndexData,
columns: indexColumns,
pagination: false,
showIndexColumn: false,
scroll: { y: 300 },
});
const [registerLastIndexTable] = useTable({
dataSource: lastTableIndexData,
columns: indexColumns,
pagination: false,
showIndexColumn: false,
scroll: { y: 300 },
});
function handleImport() {
createMessage.success('导出完成');
}
</script>
......@@ -103,7 +103,13 @@ function saveButton(record) {
/**发布*/
function publishButton(record) {
createMessage.success('发布成功!')
router.push({
path: '/dataStandards/basicStandards/detailStandard',
query: {
businessId:businessId.value,
},
});
}
......
......@@ -4,7 +4,7 @@
<BasicTable @register="registerTable" class="w-3/4 xl:w-4/5" :searchInfo="searchInfo">
<template #toolbar>
<a-button type="primary" @click="copyButton">复制到</a-button>
<a-button type="primary" @click="deleteButton">删除</a-button>
<a-button type="primary" @click="deleteBatchButton">删除</a-button>
<a-button type="primary" @click="MoveButton">移动</a-button>
<a-button type="primary" @click="ImportRelativeButton">导入关联关系</a-button>
<a-button type="primary" @click="ImportDataStandardsButton">导入数据标准</a-button>
......@@ -19,19 +19,14 @@
<TableAction
:actions="[
{
icon: 'ant-design:signature-outlined',
icon: 'ant-design:form-outlined',
// label: '重命名',
onClick: copyButton1.bind(null, record),
onClick: resetNameButton.bind(null, record),
},
{
icon: 'ion:layers-outline',
// label: '数据源关联',
onClick: copyButton1.bind(null, record),
},
{
icon: 'clarity:note-edit-line',
// label: '编辑',
onClick: copyButton1.bind(null, record),
icon: 'ant-design:folder-open-outlined',
// label: '移动',
onClick: MoveButton.bind(null, record),
},
{
icon: 'ant-design:delete-outlined',
......@@ -40,14 +35,24 @@
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: copyButton1.bind(null, record),
confirm: deleteButton.bind(null, record),
},
},
{
icon: 'ant-design:folder-outlined',
// label: '复制',
onClick: copyButton.bind(null, record),
},
{
icon: 'ant-design:file-search-outlined',
// label: '查看详情',
onClick: detailButton.bind(null, record),
},
{
icon: 'ant-design:api-outlined',
// label: '关联关系',
onClick: detailButton.bind(null, record),
},
]"
/>
</template>
......@@ -70,6 +75,8 @@
<MoveModal @register="registerMoveModal" @success="handleSuccess" />
<!-- 复制到 弹窗-->
<CopyModal @register="registerCopyModal" @success="handleSuccess" />
<!-- 重命名 弹窗-->
<ResetNameModal @register="registerResetNameModal" @success="handleSuccess" />
</PageWrapper>
</template>
<script lang="ts" setup>
......@@ -85,6 +92,7 @@
import MoveModal from './MoveModal.vue';
import CopyModal from './CopyModal.vue';
import ImportDataStandardsModal from './ImportDataStandardsModal.vue';
import ResetNameModal from './ResetNameModal.vue';
import { columns, searchFormSchema } from './basicStandards.data';
import { useGo } from '@/hooks/web/usePage';
import { useRoute } from 'vue-router';
......@@ -103,6 +111,7 @@
const [registerMoveModal, { openModal: openMoveModal }] = useModal();
const [registerCopyModal, { openModal: openCopyModal }] = useModal();
const [registerDataStandardsModal, { openModal: openDataStandardsModal }] = useModal();
const [registerResetNameModal, { openModal: openResetNameModal }] = useModal();
const searchInfo = reactive<Recordable>({});
const tableData = ref([])
const [registerTable, { reload, updateTableDataRecord, getSearchInfo,getForm,getRowSelection }] = useTable({
......@@ -162,6 +171,13 @@
});
}
/**重命名 按钮*/
function resetNameButton(record) {
openResetNameModal(true, {
record
});
}
/**复制到 按钮*/
function copyButton1() {
openCopyModal(true, {
......@@ -188,11 +204,11 @@
/**批量发布*/
function batchPublishButton() {
createMessage.success('发布成功!')
}
/**删除按钮*/
function deleteButton() {
function deleteBatchButton() {
createConfirm({
iconType: 'warning',
title: '确认删除',
......@@ -204,6 +220,11 @@
});
}
/**删除按钮*/
function deleteButton() {
createMessage.success('删除成功!');
}
/**新建标准分类*/
function createStandardsTypeButton() {
openCreateStandardsTypeModal(true, {
......
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