Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
csbr-daop
/
fe-data-trusted-space
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
ae2ab82f
authored
2025-01-06 16:17:56 +0800
by
xukangle
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
update:增加stuffGuid接口
1 parent
ae104e1a
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
129 additions
and
19 deletions
.env.development
src/api/modules/queryService.ts
src/views/data_asset/registerCatalogCreate.vue
src/views/data_inventory/classifyGradeCatalogue.vue
src/views/data_inventory/configureRules.vue
.env.development
View file @
ae2ab82
...
...
@@ -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
...
...
src/api/modules/queryService.ts
View file @
ae2ab82
...
...
@@ -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({
...
...
src/views/data_asset/registerCatalogCreate.vue
View file @
ae2ab82
...
...
@@ -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
;
...
...
src/views/data_inventory/classifyGradeCatalogue.vue
View file @
ae2ab82
...
...
@@ -220,7 +220,7 @@ const toSearch = (val: any, clear: boolean = false) => {
selectedB
.
value
=
null
;
selectedC
.
value
=
null
;
searchItemList
.
value
.
map
(
item
=>
item
.
default
=
''
)
console
.
log
(
'clear'
,
CgDirTreeList
.
value
);
if
(
activeName
.
value
===
'first'
)
{
treeInfo
.
value
.
expandedKey
=
[];
currentPath
.
value
=
[
CgDirTreeList
.
value
[
0
].
classifyName
];
treeInfo
.
value
.
expandedKey
.
push
(
CgDirTreeList
.
value
[
0
].
classifyDetailGuid
);
...
...
@@ -231,6 +231,32 @@ const toSearch = (val: any, clear: boolean = false) => {
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
)
{
getCgDirFieldPage
({
...
...
@@ -657,7 +683,7 @@ const classEditFormItems = ref([{
placeholder
:
'请选择'
,
field
:
'orderNumLength'
,
options
:
selectLength
.
value
,
required
:
tru
e
,
required
:
fals
e
,
clearable
:
true
,
},
{
...
...
@@ -667,7 +693,7 @@ const classEditFormItems = ref([{
field
:
'orderNum'
,
maxlength
:
6
,
regexp
:
/
\D
/g
,
required
:
tru
e
,
required
:
fals
e
,
clearable
:
true
,
col
:
'numberClass'
,
},
...
...
@@ -678,7 +704,7 @@ const classEditFormItems = ref([{
field
:
'fieldPrecision'
,
maxlength
:
2
,
regexp
:
/
\D
/g
,
required
:
tru
e
,
required
:
fals
e
,
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>
...
...
src/views/data_inventory/configureRules.vue
View file @
ae2ab82
...
...
@@ -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>
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment