Commit 7532f009 authored by chenjiahao's avatar chenjiahao

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/views/dataQuality/dataSheet/rule/moveInGroupModel.vue
parents 627ee3da 6e934aef
......@@ -29,7 +29,10 @@
<a-button type="primary" :disabled="getRowSelection().selectedRowKeys <= 0" danger
>删除</a-button
>
<a-button type="primary" :disabled="getRowSelection().selectedRowKeys <= 0"
<a-button
type="primary"
:disabled="getRowSelection().selectedRowKeys <= 0"
@click="handleMoveInGroup"
>移入规则组</a-button
>
<a-button type="primary" :disabled="getRowSelection().selectedRowKeys <= 0"
......@@ -71,6 +74,7 @@
<RuleMoreUpdate @register="ruleMoreUpdateModel" />
<RuleGroupAddModel @register="ruleGroupAddModel" />
<RuleGroupEditModel @register="ruleGroupEditModel" />
<MoveInGroupModel @register="moveInGroupModel" />
</PageWrapper>
</template>
<script lang="ts" setup>
......@@ -84,6 +88,7 @@
import RuleMoreUpdate from './ruleMoreUpdateModel.vue';
import RuleGroupAddModel from './ruleGroupAddModel.vue';
import RuleGroupEditModel from './ruleGroupEditModel.vue';
import MoveInGroupModel from './moveInGroupModel.vue';
import { useModal } from '@/components/Modal';
import { useRouter } from 'vue-router';
import { useMessage } from '@/hooks/web/useMessage';
......@@ -96,6 +101,7 @@
const [ruleMoreUpdateModel, { openModal: openRuleMoreUpdateModel }] = useModal();
const [ruleGroupAddModel, { openModal: openRuleGroupAddModel }] = useModal();
const [ruleGroupEditModel, { openModal: openRuleGroupEditModel }] = useModal();
const [moveInGroupModel, { openModal: openMoveInGroupModel }] = useModal();
const actionList: TreeActionItem[] = [
{
render: (node) => {
......@@ -172,6 +178,15 @@
function handleEditMore() {
openRuleMoreUpdateModel(true, {});
}
/**
* 移入规则组
*/
function handleMoveInGroup() {
openMoveInGroupModel(true, {
isUpdate: false,
});
}
/** 列表删除 */
function handleRemove(record) {
createMessage.success('删除成功!');
......
<template>
<BasicModal
width="40%"
v-bind="$attrs"
@register="registerModal"
:title="getTitle"
@ok="handleSubmit"
>
<BasicForm @register="registerForm" />
</BasicModal>
</template>
<script lang="ts" setup>
import { ref, unref } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import {
moveInGroupFormSchema,
} from '@/views/dataQuality/rule/rule.data';
import BasicForm from '@/components/Form/src/BasicForm.vue';
import { useForm } from '@/components/Form';
const isUpdate = ref(true);
const rowId = ref('');
// const getTitle = computed(() => (isUpdate.value ? '质量规则详情' : '新建规则'));
const getTitle = '移入规则组';
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
await resetFields();
setModalProps({ confirmLoading: false });
isUpdate.value = !!data?.isUpdate;
if (unref(isUpdate)) {
// 获取行数据的id
rowId.value = data.record.businessId;
// 塞值
await setFieldsValue({
...data.record,
});
}
});
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 24 },
schemas: moveInGroupFormSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
// 确认按钮配置
submitButtonOptions: {
text: '提交新版本',
},
});
/**确定按钮*/
async function handleSubmit() {
await validate();
closeModal();
}
</script>
......@@ -328,3 +328,29 @@ export const ruleGroupEditTable = [
width: 240,
},
];
export const moveInGroupFormSchema = [
{
field: 'group',
label: '移入规则组',
required: true,
component: 'Select',
componentProps: {
mode: 'multiple',
options: [
{
label: 'landing',
value: 'landing',
},
{
label: 'ods',
value: 'ods',
},
{
label: '毕业生',
value: '毕业生',
},
],
},
colProps: { lg: 24, md: 24 },
},
];
......@@ -43,11 +43,23 @@
<a-button
type="primary"
@click="handleQualityTaskOnline"
v-if="true"
v-if="isOnline"
:disabled="getRowSelection().selectedRowKeys <= 0"
>上线</a-button
>
<a-button type="primary" @click="handleQualityTaskOffline" v-if="false">下线</a-button>
<a-button
type="primary"
@click="handleQualityTaskOnline"
v-if="isOnline"
:disabled="getRowSelection().selectedRowKeys <= 0"
>批量上线</a-button
>
<a-button type="warning" @click="handleQualityTaskOffline" v-if="isOffline"
>下线</a-button
>
<a-button type="warning" @click="handleQualityTaskOffline" v-if="isOffline"
>批量下线</a-button
>
<a-button
type="primary"
@click="handleQualityTaskService"
......@@ -93,7 +105,7 @@
</PageWrapper>
</template>
<script lang="ts" setup>
import { reactive, unref, onDeactivated, onMounted } from 'vue';
import { reactive, unref, onDeactivated, onMounted, ref } from 'vue';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { PageWrapper } from '@/components/Page';
import DeptTree from './DeptTree.vue';
......@@ -119,6 +131,8 @@
const filterStore = useFilterStore();
const route = useRoute();
const go = useGo();
const isOnline = ref(true);
const isOffline = ref(false);
const [register, { openModal }] = useModal();
const [registerImport, { openModal: openImportModal }] = useModal();
const [registerRemove, { openModal: openRemoveModal }] = useModal();
......@@ -219,14 +233,18 @@
/** 上线 未完成 应为弹窗*/
function handleQualityTaskOnline() {
go('/dataQuality/task');
isOnline.value = false;
isOffline.value = true;
}
/** 下线 未完成 应为弹窗*/
function handleQualityTaskOffline() {
go('/dataQuality/task');
isOnline.value = true;
isOffline.value = false;
}
/** 跳转运维 未完成 应为跳转到运维界面*/
function handleQualityTaskService() {
go('/dataQuality/task');
go('/dataQuality/dataQuality/task/taskOperation');
}
/** 编辑按钮*/
......
......@@ -181,22 +181,6 @@ export const formSchema: FormSchema[] = [
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',
label: '用户名',
......
......@@ -111,3 +111,63 @@ export const storageManagementFormSchema: FormSchema[] = [
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 @@
</template>
</BasicTable>
</BasicModal>
<ruleModal @register="registerRuleModal" />
</template>
<script lang="ts" setup>
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 { BasicTable, TableAction, useTable } from '@/components/Table';
import { storageManagementColumns, storageManagementFormSchema } from './data';
import { storageManagementData } from './analysisData';
import { Tag } from 'ant-design-vue';
import ruleModal from './ruleModal.vue';
defineOptions({ name: 'KnowledgeModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage, createConfirm } = useMessage();
const [registerRuleModal, { openModal: openRuleModal }] = useModal();
const title = ref();
const tableData = ref([]);
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
......@@ -120,7 +123,9 @@
createMessage.success('提交成功');
}
function handleEdit() {
createMessage.success('提交成功');
openRuleModal(true, {
title: '清理规则设置',
});
}
function handleDelete() {
createMessage.success('删除成功');
......@@ -136,7 +141,9 @@
});
}
function handleImport() {
createMessage.success('导出完成');
openRuleModal(true, {
title: '清理规则设置',
});
}
onMounted(() => {
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