96af58b9 by lihua

数据质量联调部分修改

1 parent 975c6e0b
This diff could not be displayed because it is too large.
......@@ -76,7 +76,7 @@ export const updateRuleBizState = (params) => request({
/** 获取数据库表列表 */
export const getDatabase = (params) => request({
url: `${import.meta.env.VITE_APP_API_BASEURL}/data-source/get-source-list`,
url: `${import.meta.env.VITE_APP_DATA_SOURCE_URL}/data-source/get-source-list`,
method: 'post',
data: params
})
......@@ -138,23 +138,20 @@ export const getRuleTypeList = () => request({
// 获取规则大类的接口
export const getLargeCategoryList = () => request({
url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`,
method: 'post',
data: { paramCode: "LARGE-CATEGORY" }
url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${'规则大类'}`,
method: 'get',
})
// 获取规则小类的接口
export const getSmallCategoryList = () => request({
url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`,
method: 'post',
data: { paramCode: "SMALL-CATEGORY" }
url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${'规则小类'}`,
method: 'get',
})
// 获取规范性检验规则。
export const getCheckRulesList = () => request({
url:`${import.meta.env.VITE_APP_API_BASEURL}/data-dict/get-data-list`,
method: 'post',
data: { paramCode: "REGULAR_RULE" }
url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${'正则校验'}`,
method: 'get',
})
// 根据规则guid获取规则的详情信息。
......
......@@ -144,7 +144,7 @@ const getMetaChangeTableData = () => {
}
const activeTabName = ref('task');
const activeTabName = ref('meta');
watch(() => activeTabName.value, (val) => {
if(val==="task"){
......@@ -420,9 +420,7 @@ const metaChangeTableInfo = ref({
// { label: "状态", field: "changeTime", width: 180, },
// { label: "操作时间", field: "changeTime", width: 180, },
],
data: [{
guid: 1
}],
data: [],
page: {
type: "normal",
rows: 0,
......@@ -486,6 +484,7 @@ onBeforeMount(() => {
</div>
<div class="main_wrap">
<el-tabs v-model="activeTabName">
<!--
<el-tab-pane label="同步任务变更记录" name="task">
<div class="table_tool_wrap">
<TableTools :searchItems="tableSearchItemList" :init="false" searchId="detect-table-search"
......@@ -496,6 +495,7 @@ onBeforeMount(() => {
@tablePageChange="taskChangeTablePageChange" />
</div>
</el-tab-pane>
-->
<el-tab-pane label="元数据变更记录" name="meta">
<div class="table_tool_wrap">
<TableTools :searchItems="metaTableSearchItemList" :init="false" searchId="meta-detect-table-search"
......
......@@ -238,12 +238,12 @@ const rulesDetailTableBtnClick = (scope, btn) => {
label: row.ruleName
}];
smallCategoryList.value = [{
paramValue: detailInfo.value.smallCategory,
paramName: row.smallCategory
value: detailInfo.value.smallCategory,
label: row.smallCategory
}];
largeCategoryList.value = [{
paramValue: detailInfo.value.largeCategory,
paramName: row.largeCategory
value: detailInfo.value.largeCategory,
label: row.largeCategory
}];
oneRulesDetailDialogVisible.value = true;
} else {
......@@ -268,12 +268,12 @@ const rulesDetailTableBtnClick = (scope, btn) => {
label: row.ruleName
}];
smallCategoryList.value = [{
paramValue: detailInfo.value.smallCategory,
paramName: row.smallCategory
value: detailInfo.value.smallCategory,
label: row.smallCategory
}];
largeCategoryList.value = [{
paramValue: detailInfo.value.largeCategory,
paramName: row.largeCategory
value: detailInfo.value.largeCategory,
label: row.largeCategory
}];
} else {
ElMessage.error(res.msg);
......
......@@ -135,18 +135,18 @@ const rulesListByType: any = computed(() => {
return {};
}
return {
char: checkRulesList.value.filter(r => r.paramValue == 'length_rule' || r.paramValue == 'ch_rule' || r.paramValue == 'en_rule' || r.paramValue == 'num_value_rule' || r.paramValue == 'custom_regular_rule'),
varchar: checkRulesList.value.filter(r => r.paramValue == 'length_rule' || r.paramValue == 'id_card_rule' || r.paramValue == 'phone_number_rule' || r.paramValue == 'ch_rule' || r.paramValue == 'en_rule' || r.paramValue == 'num_value_rule' || r.paramValue == 'custom_regular_rule'),
int: checkRulesList.value.filter(r => r.paramValue == 'length_rule' || r.paramValue == 'num_value_rule' || r.paramValue == 'custom_regular_rule'),
date: checkRulesList.value.filter(r => r.paramValue == 'date_format_rule' || r.paramValue == 'custom_regular_rule'),
datetime: checkRulesList.value.filter(r => r.paramValue == 'date_format_rule' || r.paramValue == 'custom_regular_rule'),
timestamp: checkRulesList.value.filter(r => r.paramValue == 'custom_regular_rule' || r.paramValue == 'custom_regular_rule'),
// text: checkRulesList.value.filter(r => r.paramValue == ''),
decimal: checkRulesList.value.filter(r => r.paramValue == 'length_rule' || r.paramValue == 'precision_rule' || r.paramValue == 'num_value_rule' || r.paramValue == 'custom_regular_rule'),
// json: checkRulesList.value.filter(r => r.paramValue == ''),
tinyint: checkRulesList.value.filter(r => r.paramValue == 'length_rule' || r.paramValue == 'num_value_rule' || r.paramValue == 'custom_regular_rule'),
time: checkRulesList.value.filter(r => r.paramValue == 'custom_regular_rule'),
bit: checkRulesList.value.filter(r => r.paramValue == 'ch_rule' || r.paramValue == 'en_rule' || r.paramValue == 'custom_regular_rule'),
char: checkRulesList.value.filter(r => r.value == 'length_rule' || r.value == 'ch_rule' || r.value == 'en_rule' || r.value == 'num_value_rule' || r.value == 'custom_regular_rule'),
varchar: checkRulesList.value.filter(r => r.value == 'length_rule' || r.value == 'id_card_rule' || r.value == 'phone_number_rule' || r.value == 'ch_rule' || r.value == 'en_rule' || r.value == 'num_value_rule' || r.value == 'custom_regular_rule'),
int: checkRulesList.value.filter(r => r.value == 'length_rule' || r.value == 'num_value_rule' || r.value == 'custom_regular_rule'),
date: checkRulesList.value.filter(r => r.value == 'date_format_rule' || r.value == 'custom_regular_rule'),
datetime: checkRulesList.value.filter(r => r.value == 'date_format_rule' || r.value == 'custom_regular_rule'),
timestamp: checkRulesList.value.filter(r => r.value == 'custom_regular_rule' || r.value == 'custom_regular_rule'),
// text: checkRulesList.value.filter(r => r.value == ''),
decimal: checkRulesList.value.filter(r => r.value == 'length_rule' || r.value == 'precision_rule' || r.value == 'num_value_rule' || r.value == 'custom_regular_rule'),
// json: checkRulesList.value.filter(r => r.value == ''),
tinyint: checkRulesList.value.filter(r => r.value == 'length_rule' || r.value == 'num_value_rule' || r.value == 'custom_regular_rule'),
time: checkRulesList.value.filter(r => r.value == 'custom_regular_rule'),
bit: checkRulesList.value.filter(r => r.value == 'ch_rule' || r.value == 'en_rule' || r.value == 'custom_regular_rule'),
}
});
......@@ -238,8 +238,8 @@ const panelList: any = ref([
default: '1',
options: props.largeCategoryList,
props: {
label: 'paramName',
value: 'paramValue'
label: 'label',
value: 'value'
},
required: true,
visible: true
......@@ -249,8 +249,8 @@ const panelList: any = ref([
placeholder: '请选择',
field: 'smallCategory',
props: {
label: 'paramName',
value: 'paramValue'
label: 'label',
value: 'value'
},
default: '',
options: props.smallCategoryList.slice(6),
......@@ -1006,7 +1006,7 @@ const setPanelListValue = (item, isSelectChange = false, init = false, radioGrou
}
}
if (isSelectChange) {
val['smallCategory'] = panelList.value[2].options[0]?.paramValue;
val['smallCategory'] = panelList.value[2].options[0]?.value;
} else if (!val['smallCategory']) {
val['smallCategory'] = getDefaultSmallCategory(formItems.value[0].default);
} else if (radioGroupChange && !init) {//切换规则类型。
......@@ -2306,8 +2306,8 @@ defineExpose({
<template #default="scope">
<el-select v-if="!props.readonly || (scope.row.dataType == 'text' || scope.row.dataType == 'json')"
v-model="scope.row['checkRule']" placeholder="请选择" filterable clearable>
<el-option v-for="opt in rulesListByType[scope.row.dataType]" :key="opt['paramValue']"
:label="opt['paramName']" :value="opt['paramValue']" />
<el-option v-for="opt in rulesListByType[scope.row.dataType]" :key="opt['value']"
:label="opt['label']" :value="opt['value']" />
</el-select>
<span v-else>{{ scope.row.checkRuleName ?? '--' }}</span>
</template>
......
......@@ -16,6 +16,9 @@ import {
getSmallCategoryList,
getLargeCategoryList,
} from '@/api/modules/dataQuality';
import {
getMetaTreeData
} from '@/api/modules/dataMetaService';
import ruleForm from "../data_quality/ruleForm.vue";
import useUserStore from "@/store/modules/user";
import useDataQualityStore from "@/store/modules/dataQuality";
......@@ -60,7 +63,7 @@ const toSubjectTables: any = ref([]);
const getSubjectTableTreeData = () => {
dsFromTreeDataLoading.value = true;
getSubjectTableTree({}).then((res: any) => {
getMetaTreeData({}).then((res: any) => {
dsFromTreeDataLoading.value = false;
if (res.code == proxy.$passCode) {
dsFromTreeData.value = res.data?.map(d => {
......@@ -428,17 +431,17 @@ const save = () => {
<div class="operator_panel is-block">
<div class="panel_title">
<div class="title_text">
<span>选择主题</span>
<span class="tips_text">选择需要添加质检规则的主题表</span>
<span>选择表</span>
<span class="tips_text">选择需要添加质检规则的表,请确保数据库为脱产环境,避免数据质检影响您的生产环境,且允许在该脱产环境建脏数据的库,请知晓!</span>
</div>
</div>
<TreeTransfer mode="transfer" :title="['主题表', '已选表']" pid="parentGuid"
:from-tree-data-loading="dsFromTreeDataLoading" :lazy="true" :checkOnClickNode="true"
<TreeTransfer mode="transfer" :title="['可选表', '已选表']" pid="parentGuid"
:from-tree-data-loading="dsFromTreeDataLoading" :checkOnClickNode="true"
:from_checked_all="false" :from_data="dsFromTreeData" :to_data="dsToTreeData" node_key="guid"
:transferOpenNode="true" width="70%" :defaultProps="{
label: 'name',
value: 'guid'
}" :lazyFn="handleSubjectTableLazyFn" @left-check-change="handleSubjectCheckedChange"
}"
height="calc(100% - 64px)">
</TreeTransfer>
</div>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!