Commit 8590434e authored by 罗林杰's avatar 罗林杰

修改血缘

parent 2cf914c5
...@@ -181,22 +181,6 @@ export const formSchema: FormSchema[] = [ ...@@ -181,22 +181,6 @@ export const formSchema: FormSchema[] = [
defaultValue: 'None', defaultValue: 'None',
}, },
}, },
{
field: 'authMode',
label: '认证模式',
component: 'Select',
required: true,
componentProps: {
options: [
{ label: 'None', value: 'None' },
{ label: 'Kerberos', value: 'Kerberos' },
{ label: 'LDAP', value: 'LDAP' },
{ label: 'Access Token', value: 'AccessToken' },
{ label: 'Password', value: 'Password' },
],
defaultValue: 'None',
},
},
{ {
field: 'username', field: 'username',
label: '用户名', label: '用户名',
......
...@@ -111,3 +111,63 @@ export const storageManagementFormSchema: FormSchema[] = [ ...@@ -111,3 +111,63 @@ export const storageManagementFormSchema: FormSchema[] = [
colProps: { lg: 4, md: 4 }, colProps: { lg: 4, md: 4 },
}, },
]; ];
export const ruleTypeSchema: FormSchema[] = [
{
field: 'flag',
label: '清理方式',
component: 'RadioGroup',
colProps: { lg: 24, md: 24 },
componentProps: {
options: [
{ label: '手动清理', value: '0' },
{ label: '自动清理', value: '1' },
],
},
defaultValue: '0',
required: true,
},
{
field: 'cycleTime',
label: '清理周期',
component: 'Input',
colProps: { lg: 12, md: 12 },
itemProps: {
extra: 'Cron表达式',
},
required: true,
ifShow: ({ model }) => model.flag === '1',
},
];
export const ruleSchema: FormSchema[] = [
{
field: 'flag',
label: '清理方案',
component: 'RadioGroup',
colProps: { lg: 24, md: 24 },
componentProps: {
options: [
{ label: '时间', value: '0' },
{ label: '记录', value: '1' },
],
},
defaultValue: '0',
required: true,
},
{
field: 'dateNum',
label: '保留天数',
component: 'Input',
colProps: { lg: 12, md: 12 },
defaultValue: '7',
itemProps: {
extra: '保留输入天数内的血缘,推荐保留7天以上',
},
required: true,
},
{
field: 'isKinship',
component: 'Checkbox',
label: '清理已删除对象',
colProps: { lg: 24, md: 24 },
},
];
<template>
<BasicModal
width="40%"
v-bind="$attrs"
@register="registerModal"
:title="title"
@ok="handleSubmit"
>
<BasicForm @register="registerTypeForm" />
<Description size="middle" title="清理范围" :bordered="false" />
<BasicForm @register="register">
<template #add="{ field }">
<a-button v-if="Number(field) === 0" @click="add">添加</a-button>
<a-button v-if="Number(field) > 0" @click="() => del(field)">删除</a-button>
</template>
</BasicForm>
<BasicForm @register="registerForm" />
</BasicModal>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { useMessage } from '@/hooks/web/useMessage';
import { BasicForm, useForm } from '@/components/Form';
import { ruleSchema, ruleTypeSchema } from '@/views/kinship/kinshipAnalysis/data';
import Description from '@/components/Description/src/Description.vue';
defineOptions({ name: 'KnowledgeModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const title = ref();
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerTypeForm, { resetFields: resetTypeFields }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: ruleTypeSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
const [registerForm, { resetFields }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: ruleSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
await resetFields();
setModalProps({ confirmLoading: false });
title.value = data.title;
});
const [register, { appendSchemaByField, removeSchemaByField, resetFields: resetRangeFields }] =
useForm({
schemas: [
{
field: 'dataSource',
component: 'Select',
componentProps: {
options: [
{ label: 'inc2', value: '1' },
{ label: 'inc3', value: '2' },
],
},
label: '数据源',
required: true,
},
{
field: 'baseName',
component: 'Input',
label: '库名匹配血缘',
required: true,
},
{
field: 'tableName',
component: 'Input',
label: '表名匹配血缘',
required: true,
},
{
field: '0',
label: ' ',
slot: 'add',
},
],
showActionButtonGroup: false,
labelWidth: 100,
actionColOptions: { span: 24 },
baseColProps: { span: 6 },
});
const n = ref(2);
function add() {
appendSchemaByField(
{
field: `dataSource${n.value}`,
component: 'Select',
componentProps: {
options: [
{ label: 'inc2', value: '1' },
{ label: 'inc3', value: '2' },
],
},
label: '数据源',
required: true,
},
'',
);
appendSchemaByField(
{
field: `baseName${n.value}`,
component: 'Input',
label: '表名匹配血缘',
required: true,
},
'',
);
appendSchemaByField(
{
field: `tableName${n.value}`,
component: 'Input',
label: '表名匹配血缘',
required: true,
},
'',
);
appendSchemaByField(
{
field: `${n.value}`,
component: 'Input',
label: ' ',
slot: 'add',
},
'',
);
n.value++;
}
function del(field: string) {
removeSchemaByField([
`dataSource${field}`,
`baseName${field}`,
`tableName${field}`,
`${field}`,
]);
n.value--;
}
async function handleSubmit() {
closeModal();
createMessage.success('提交成功');
await resetFields();
await resetRangeFields();
await resetTypeFields();
}
</script>
...@@ -53,20 +53,23 @@ ...@@ -53,20 +53,23 @@
</template> </template>
</BasicTable> </BasicTable>
</BasicModal> </BasicModal>
<ruleModal @register="registerRuleModal" />
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { onMounted, ref } from 'vue'; import { onMounted, ref } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal'; import {BasicModal, useModal, useModalInner} from '@/components/Modal';
import { useMessage } from '@/hooks/web/useMessage'; import { useMessage } from '@/hooks/web/useMessage';
import { BasicTable, TableAction, useTable } from '@/components/Table'; import { BasicTable, TableAction, useTable } from '@/components/Table';
import { storageManagementColumns, storageManagementFormSchema } from './data'; import { storageManagementColumns, storageManagementFormSchema } from './data';
import { storageManagementData } from './analysisData'; import { storageManagementData } from './analysisData';
import { Tag } from 'ant-design-vue'; import { Tag } from 'ant-design-vue';
import ruleModal from './ruleModal.vue';
defineOptions({ name: 'KnowledgeModal' }); defineOptions({ name: 'KnowledgeModal' });
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const { createMessage, createConfirm } = useMessage(); const { createMessage, createConfirm } = useMessage();
const [registerRuleModal, { openModal: openRuleModal }] = useModal();
const title = ref(); const title = ref();
const tableData = ref([]); const tableData = ref([]);
//获取接口数据并放在下拉框里(这里是打开了一个弹框) //获取接口数据并放在下拉框里(这里是打开了一个弹框)
...@@ -120,7 +123,9 @@ ...@@ -120,7 +123,9 @@
createMessage.success('提交成功'); createMessage.success('提交成功');
} }
function handleEdit() { function handleEdit() {
createMessage.success('提交成功'); openRuleModal(true, {
title: '清理规则设置',
});
} }
function handleDelete() { function handleDelete() {
createMessage.success('删除成功'); createMessage.success('删除成功');
...@@ -136,7 +141,9 @@ ...@@ -136,7 +141,9 @@
}); });
} }
function handleImport() { function handleImport() {
createMessage.success('导出完成'); openRuleModal(true, {
title: '清理规则设置',
});
} }
onMounted(() => { onMounted(() => {
tableData.value = storageManagementData; tableData.value = storageManagementData;
......
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