ae2ab82f by xukangle

update:增加stuffGuid接口

1 parent ae104e1a
......@@ -58,7 +58,8 @@ VITE_API_MESSAGE = ms-swzl-message-notification-service
#新门户接口
VITE_API_NEW_PORTAL = ms-daop-zcgl-asset-dam-service
#人员服务
VITE_APP_PERSONAL_URL = 'ms-daop-personel-service'
# 是否在打包时生成 sourcemap
VITE_BUILD_SOURCEMAP = false
......
......@@ -34,6 +34,13 @@ export const getSystemMenu = (params) => {
});
};
export const getCurrentUserInfo = (tenantGuid) => {
return request({
url: `${import.meta.env.VITE_APP_PERSONAL_URL}/staff/data/get-current-staff?tenantGuid=${tenantGuid}`,
method: "post",
});
};
// 获取当前用户对应的产品和菜单
export const getUserInfo = () => {
return request({
......
......@@ -7,7 +7,8 @@ import { ref } from 'vue';
import { useRouter, useRoute } from "vue-router";
import useUserStore from "@/store/modules/user";
import {
getAreaData
getAreaData,
getCurrentUserInfo
} from "@/api/modules/queryService";
import {
getDamTypesList,
......@@ -29,6 +30,7 @@ import importTableField from "./importTableField.vue";
import { useValidator } from '@/hooks/useValidator';
import useDataAssetStore from "@/store/modules/dataAsset";
import { handleContentWrapView, scrollLastRowToView, changeNum } from '@/utils/common';
import { ElMessage } from 'element-plus';
const { proxy } = getCurrentInstance() as any;
const { required, checkExistName } = useValidator();
......@@ -490,8 +492,18 @@ const importTableEditIndex: any = ref(null);
const addAssetTable = () => {
importTableFieldVisible.value = true;
}
const stuffInfo = ref<any>({});
onBeforeMount(() => {
const currentTenantGuid = localStorage.getItem('currentTenantGuid');
getCurrentUserInfo(currentTenantGuid).then((res: any) => {
console.log(res, 'getCurrentUserInfo');
if (res.code == '00000') {
localStorage.setItem('userData', JSON.stringify(res.data));
stuffInfo.value = res.data;
} else {
ElMessage.error(res.msg)
}
})
getParentAreaPromise.value = getAreaData({ parentId: null }).then((res: any) => {
if (res?.code == proxy.$passCode) {
parentAreaData.value = res.data ?? [];
......@@ -650,6 +662,10 @@ const save = () => {
});
} else {
params.damCatalogTableInfo = assetDataTableInfo.value.data;
params.damCatalogTableInfo = {
...assetDataTableInfo.value.data,
stuffGuid: stuffInfo.value.staffGuid
};
fullscreenLoading.value = true;
registerCatalogSave(params).then((res: any) => {
fullscreenLoading.value = false;
......
......@@ -220,16 +220,42 @@ const toSearch = (val: any, clear: boolean = false) => {
selectedB.value = null;
selectedC.value = null;
searchItemList.value.map(item => item.default = '')
console.log('clear', CgDirTreeList.value);
treeInfo.value.expandedKey = [];
currentPath.value = [CgDirTreeList.value[0].classifyName];
treeInfo.value.expandedKey.push(CgDirTreeList.value[0].classifyDetailGuid);
treeInfo.value.currentNodeKey = CgDirTreeList.value[0].classifyDetailGuid;
console.log('clear', treeInfo.value.expandedKey, clear);
getCgDirFieldPage({
execGuid: execGuidInfo.value.execGuid,
classifyDetail: CgDirTreeList.value[0].classifyDetailGuid,
});
if (activeName.value === 'first') {
treeInfo.value.expandedKey = [];
currentPath.value = [CgDirTreeList.value[0].classifyName];
treeInfo.value.expandedKey.push(CgDirTreeList.value[0].classifyDetailGuid);
treeInfo.value.currentNodeKey = CgDirTreeList.value[0].classifyDetailGuid;
console.log('clear', treeInfo.value.expandedKey, clear);
getCgDirFieldPage({
execGuid: execGuidInfo.value.execGuid,
classifyDetail: CgDirTreeList.value[0].classifyDetailGuid,
});
}
if (activeName.value === 'second') {
getDataBaseTableData({
pageIndex: 1,
pageSize: 50,
execGuid: execGuidInfo.value.execGuid,
tableGuid: selectedB.value || tableGuid.value || '',
databaseGuid: selectedA.value || dataBaseGuid.value || '',
classifyDetailGuid: '',
gradeDetailGuid: '',
labelGuid: '',
});
getDataBaseFieldData({
pageIndex: 1,
pageSize: 50,
execGuid: execGuidInfo.value.execGuid,
tableGuid: selectedB.value || tableGuid.value || '',
databaseGuid: selectedA.value || dataBaseGuid.value || '',
fieldGuid: '',
classifyDetailGuid: '',
gradeDetailGuid: '',
labelGuid: '',
});
}
}
console.log('toSearch', val, classifyDetailGuidInfo.value);
if (activeName.value === 'first' && !clear) {
......@@ -657,7 +683,7 @@ const classEditFormItems = ref([{
placeholder: '请选择',
field: 'orderNumLength',
options: selectLength.value,
required: true,
required: false,
clearable: true,
},
{
......@@ -667,7 +693,7 @@ const classEditFormItems = ref([{
field: 'orderNum',
maxlength: 6,
regexp: /\D/g,
required: true,
required: false,
clearable: true,
col: 'numberClass',
},
......@@ -678,7 +704,7 @@ const classEditFormItems = ref([{
field: 'fieldPrecision',
maxlength: 2,
regexp: /\D/g,
required: true,
required: false,
clearable: true,
block: true,
}, {
......@@ -747,10 +773,10 @@ const classEditFormItems = ref([{
}
]);
const classEditFormRules = ref({
classifyName: [{ required: true, message: '请填写分类名称', trigger: 'blur' }],
orderNumLength: [{ required: true, message: '请选择长度', trigger: 'blur' }],
orderNum: [{ required: true, message: '请填写长度', trigger: 'blur' }],
fieldPrecision: [{ required: true, message: '请填写精度', trigger: 'blur' }],
// classifyName: [{ required: true, message: '请填写分类名称', trigger: 'blur' }],
// orderNumLength: [{ required: true, message: '请选择长度', trigger: 'blur' }],
// orderNum: [{ required: true, message: '请填写长度', trigger: 'blur' }],
// fieldPrecision: [{ required: true, message: '请填写精度', trigger: 'blur' }],
});
/** 新增分类的form */
const classEditFormInfo = ref({
......@@ -789,15 +815,39 @@ const drawerBtnClick = async (btn, info) => {
} else {
btn.loading = true;
const { orderNumLength, orderNum, numberStart, numberEnd, fieldPrecision, dictionaryGuid, isUnique, isNotNull } = info;
// 判断长度orderNumLength,orderNum 要么都有值,要么都没有值,不能只有一个有值,一个没有值精确提醒
if (orderNumLength && !orderNum) {
proxy.$ElMessage.error('请填写长度');
btn.loading = false;
return;
}
if (!orderNumLength && orderNum) {
proxy.$ElMessage.error('请选择长度边界范围');
btn.loading = false;
return;
}
let fieldLengthCondition = orderNumLength + '#' + orderNum;
let fieldValueRange: any = [];
// 字段取值范围也是要么都有值,要么都没有值,不能只有一个有值,一个没有值精确提醒
if (numberStart && !numberEnd) {
proxy.$ElMessage.error('请填写字段取值范围结束值');
btn.loading = false;
return;
}
if (!numberStart && numberEnd) {
proxy.$ElMessage.error('请填写字段取值范围开始值');
btn.loading = false;
return;
}
if (numberStart && numberEnd) {
if (numberEnd < numberStart) {
if (Number(numberEnd) < Number(numberStart)) {
proxy.$ElMessage.error('字段取值范围结束值不能小于开始值');
btn.loading = false;
return;
}
fieldValueRange = numberStart + '#' + numberEnd;
}
const params: any = [];
selectedRulesData.value.guids.forEach((item: any) => {
params.push({
......@@ -1030,7 +1080,12 @@ const tableFieldsDataInfo = ref({
{ label: "表中文名", field: "tableChName", width: 140, },
{ label: "数据库名称", field: "database", width: 120 },
{ label: "数据库中文名", field: "databaseChName", width: TableColumnWidth.DATETIME },
{ label: "分类", field: "classifyDetailNameRoutes", width: 120, align: 'left', getName: (scope) => { return scope.row.classifyDetailNameRoutes.join('/') } },
{
label: "分类", field: "classifyDetailNameRoutes", width: 120, align: 'left', getName: (scope) => {
// 判断 Array.isArray(scope.row.classifyDetailNameRoutes)
return Array.isArray(scope.row.classifyDetailNameRoutes) ? scope.row.classifyDetailNameRoutes.join('/') : '--';
}
},
{ label: "分级", field: "gradeDetailName", width: 120, align: 'left' },
// { label: "标签", field: "label", width: 120, align: 'center' },
],
......@@ -1076,17 +1131,20 @@ const dataBasenodeClick = (data: any) => {
}
tableGuid.value = '';
getDataBaseFieldData({
databaseGuid: data.databaseGuid
databaseGuid: data.databaseGuid,
gradeDetailGuid: levelGuidInfo.value,
});
getDataBaseTableData({
databaseGuid: data.databaseGuid
databaseGuid: data.databaseGuid,
gradeDetailGuid: levelGuidInfo.value,
});
}
if (data.tableGuid) {
tableGuid.value = data.tableGuid;
dataBaseGuid.value = '';
getDataBaseFieldData({
tableGuid: data.tableGuid
tableGuid: data.tableGuid,
gradeDetailGuid: levelGuidInfo.value,
});
}
......@@ -1372,7 +1430,6 @@ const levelGuidInfo = ref('');
const selectChange = (val, row, info) => {
if (info) {
labelGuidInfo.value = info.labelName;
levelGuidInfo.value = info.levelName;
}
}
......@@ -1430,7 +1487,8 @@ const treeSelectNodeClick = (node, item) => {
<!-- <Tree ref="treeInfoRef" :treeInfo="treeInfo" @nodeClick="nodeClick" /> -->
</el-tab-pane>
<el-tab-pane label="数据库目录" name="second">
<Tree :treeInfo="dataBaseTreeInfo" @nodeClick="dataBasenodeClick" @nodeSelectChange='nodeSelectChange' />
<Tree :treeInfo="dataBaseTreeInfo" @nodeClick="dataBasenodeClick" @nodeSelectChange='nodeSelectChange'
ref="dataBaseRef" />
</el-tab-pane>
</el-tabs>
</div>
......
......@@ -184,9 +184,37 @@ const saveRow = (row) => {
if (row.lengthSymbol && row.lengthValue) {
row.fieldLengthCondition = row.lengthSymbol + '#' + row.lengthValue
}
if (row.lengthSymbol && !row.lengthValue) {
proxy.$ElMessage.error('请填写字段长度值');
return
}
if (!row.lengthSymbol && row.lengthValue) {
proxy.$ElMessage.error('请选择字段长度符号');
return
}
if (!row.lengthSymbol && !row.lengthValue) {
row.fieldLengthCondition = ''
}
if (row.rangeStart && row.rangeEnd) {
row.fieldValueRange = row.rangeStart + '#' + row.rangeEnd
}
if (row.rangeStart && !row.rangeEnd) {
proxy.$ElMessage.error('请填写字段取值范围结束值');
return
}
if (!row.rangeStart && row.rangeEnd) {
proxy.$ElMessage.error('请填写字段取值范围开始值');
return
}
if (!row.rangeStart && !row.rangeEnd) {
row.fieldValueRange = ''
}
if (row.rangeStart > row.rangeEnd) {
proxy.$ElMessage.error('字段取值范围开始值不能大于结束值');
return
}
row.isEdit = false
}
const data = [
......@@ -406,7 +434,7 @@ const cancelEdit = (row) => {
<el-option label="大于等于" value=">="></el-option>
<el-option label="小于等于" value="<="></el-option>
</el-select>
<el-input v-model="scope.row.lengthValue" placeholder="请输入" style="width: 45%;" />
<el-input v-model="scope.row.lengthValue" placeholder="请输入" style="width: 45%;" clearable />
</div>
</template>
</el-table-column>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!