7a8fa58a by xukangle

fix

1 parent 52790e07
......@@ -840,3 +840,14 @@ export const getFidldEnName = (data) => request({
method: 'post',
data
})
/**
* 数据库目录-查询字段分类分级
* @param {Object}
* @path /db-dir/field/get-classify-and-grade
*/
export const getFieldClassifyAndGrade = (data) => request({
url: `${import.meta.env.VITE_APP_CHECK_BASEURL}/db-dir/field/get-classify-and-grade`,
method: 'post',
data
})
......
......@@ -99,10 +99,16 @@ const onClickOutside = (e: any) => {
};
const getDrawerConRef = (refName) => {
console.log(refName, '----------')
if (refName == 'drawerTableRef') {
const dtf = drawerTableRef.value[0] || drawerTableRef.value
return dtf?.tableRef
}
// const drawerForm = drawerFormRef.value[0] || drawerFormRef.value;
if (refName == 'drawerFormRef') {
const drawerForm = drawerFormRef.value[0] || drawerFormRef.value;
return drawerForm
}
}
defineExpose({
......
......@@ -924,6 +924,7 @@ const classEditFormItems = ref<any>([{
type: 'input',
placeholder: '请输入',
field: 'startValue',
default: '',
clearable: true,
required: false,
min: 1,
......@@ -933,6 +934,7 @@ const classEditFormItems = ref<any>([{
type: 'input',
placeholder: '请输入',
field: 'endValue',
default: '',
clearable: true,
min: 1,
required: false,
......@@ -971,7 +973,7 @@ const classEditFormItems = ref<any>([{
{
label: '是否必填',
type: "select",
field: "notNull",
field: "isNotNull",
disabled: false,
default: '',
options: [
......@@ -1037,7 +1039,7 @@ const drawerBtnClick = async (btn, info) => {
} else {
btn.loading = true;
console.log('drawerBtnClick', info);
const { orderNumLength, orderNum, startNumber, endNumber, fieldValueRange, startValue, endValue, fieldPrecision, dictionaryGuid, isUnique, notNull } = info;
const { orderNumLength, orderNum, startNumber, endNumber, fieldValueRange, startValue, endValue, fieldPrecision, dictionaryGuid, isUnique, isNotNull } = info;
// 判断长度orderNumLength,orderNum 要么都有值,要么都没有值,不能只有一个有值,一个没有值精确提醒
let fieldLengthCondition: any = '';
if ((orderNumLength === 'between' && !startNumber) || (orderNumLength === 'between' && !endNumber)) {
......@@ -1075,10 +1077,10 @@ const drawerBtnClick = async (btn, info) => {
// 根据是否有 fieldValueRange 来决定如何构建参数对象
if (fieldValueRange) {
param = {
fieldPrecision: fieldPrecision || '',
fieldPrecision,
dictionaryGuid,
isUnique,
notNull,
isNotNull,
fieldLengthCondition,
fieldValueRange,
fieldGuid: item,
......@@ -1086,10 +1088,10 @@ const drawerBtnClick = async (btn, info) => {
};
} else {
param = {
fieldPrecision: fieldPrecision || '',
fieldPrecision,
dictionaryGuid,
isUnique,
notNull,
isNotNull,
fieldLengthCondition,
fieldGuid: item,
execGuid: execGuidInfo.value.execGuid,
......@@ -1136,8 +1138,9 @@ const isValidParam = (param) => {
return Object.values(rest).some(value => value !== null && value !== undefined && value !== '');
}
const drawerRef = ref<any>();
const drawerSelectChange = (val, row, info) => {
console.log('drawerSelectChange', val, row, info);
const tempInfo = drawerRef.value.getDrawerConRef('drawerFormRef').formInline;
if (val === 'between') {
classEditFormItems.value.forEach(item => {
if (item.field === 'orderNum') {
......@@ -1166,6 +1169,34 @@ const drawerSelectChange = (val, row, info) => {
});
}
}
classEditFormItems.value.forEach(item => {
if (item.field === 'orderNum') {
item.default = tempInfo.orderNum;
}
if (item.field === 'dictionaryGuid') {
item.default = tempInfo.dictionaryGuid;
}
if (item.field === 'isNotNull') {
item.default = tempInfo.isNotNull;
}
if (item.field === 'isUnique') {
item.default = tempInfo.isUnique;
}
if (item.field === 'fieldValueRange' && item.children) {
item.children.forEach(item => {
if (item.field === 'startValue') {
item.default = tempInfo.startValue;
}
if (item.field === 'endValue') {
item.default = tempInfo.endValue;
}
});
}
if (item.field === 'fieldValueRange' && !item.children) {
item.default = tempInfo.fieldValueRange;
}
});
}
// tab切换
......@@ -1984,7 +2015,7 @@ watchEffect(() => {
<Table :tableInfo="tableFieldsDataInfo" @tablePageChange="dataFieldTablePageChange" />
</div>
</div>
<Drawer :drawerInfo="drawerInfo" @drawerBtnClick="drawerBtnClick" class="v-drawer"
<Drawer :drawerInfo="drawerInfo" @drawerBtnClick="drawerBtnClick" class="v-drawer" ref="drawerRef"
@drawerSelectChange="drawerSelectChange" />
</div>
......
......@@ -33,7 +33,7 @@ import {
getSubjectTableDetail,
checkSubjectTableData
} from "@/api/modules/dataCatalogService";
import { getDictionaryAll, getFidldEnName, getGradeList, getNewDataTypeList, getTaskExeTreeList, saveDbDirTable } from "@/api/modules/dataInventory";
import { getDictionaryAll, getFidldEnName, getGradeList, getNewDataTypeList, getTaskExeTreeList, saveDbDirTable, getFieldClassifyAndGrade } from "@/api/modules/dataInventory";
import { useDefault } from "@/hooks/useDefault";
import uploadExcelFile from "./components/uploadExcelFile.vue";
import { add } from "lodash-es";
......@@ -115,7 +115,7 @@ const uploadFileRef = ref();
const getSubjectField = () => {
tableFieldsLoading.value = true;
getFidldEnName(fileTableFields.value.map(f => f.chName)).then((res: any) => {
getFidldEnName(fileTableFields.value.map(f => f.chName)).then(async (res: any) => {
tableFieldsLoading.value = false;
if (res.code == proxy.$passCode) {
tableCreateInfo.value.tableFields = res.data?.map((field, i) => {
......@@ -125,6 +125,55 @@ const getSubjectField = () => {
!field.notNull && (field.notNull = 'N');
return field;
}) || [];
console.log(tableCreateInfo.value.tableFields, '7897987');
// 遍历 tableCreateInfo.value.tableFields,找到item.fieldName,组合成入参
let tempFileNames: any = []
tableCreateInfo.value.tableFields.forEach((item: any) => {
tempFileNames.push(item.fieldName);
});
const classify: any = await getFieldClassifyAndGrade({
fieldName: tempFileNames,
execGuid: execGuid.value,
type: 'C'
})
const grade: any = await getFieldClassifyAndGrade({
fieldName: tempFileNames,
execGuid: execGuid.value,
type: 'G'
})
// 通过分类数据和分级数据赋值给 tableFields 的每一项
tableCreateInfo.value.tableFields.forEach((item: any) => {
// 在分类数据中查找对应 fieldName 的项
const classifyItem = classify.find((classify: any) => classify.fieldName === item.fieldName);
// 在分级数据中查找对应 fieldName 的项
const gradeItem = grade.find((grade: any) => grade.fieldName === item.fieldName);
// 如果找到对应的分类数据,赋值给 tableFields 的相应项
if (classifyItem) {
item.classifyDetailGuid = classifyItem.classifyDetailGuid || null;
item.classifyDetailName = classifyItem.classifyDetailName || null;
item.classifyDetailGuidRoutes = classifyItem.classifyDetailGuidRoutes || null;
item.classifyDetailNameRoutes = classifyItem.classifyDetailNameRoutes || null;
}
// 如果找到对应的分级数据,赋值给 tableFields 的相应项
if (gradeItem) {
item.gradeDetailGuid = gradeItem.gradeDetailGuid || null;
item.gradeDetailName = gradeItem.gradeDetailName || null;
}
});
} else {
ElMessage.error(res.msg);
}
});
}
const getGradeClassifyInfo = (params) => {
getFieldClassifyAndGrade(params).then((res: any) => {
if (res.code === proxy.$passCode) {
} else {
ElMessage.error(res.msg);
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!