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
4b2ccde4
authored
2026-02-03 09:42:28 +0800
by
lihua
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
数据目录接口联调
1 parent
4109a88f
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
82 additions
and
18 deletions
src/views/data_asset/productApplicationEdit.vue
src/views/data_asset/productCatalogManage.vue
src/views/data_asset/productApplicationEdit.vue
View file @
4b2ccde
...
...
@@ -233,7 +233,9 @@ onBeforeMount(() => {
// }
// })
fullscreenLoading
.
value
=
true
;
getRegisterCatalogDetail
(
route
.
query
.
guid
).
then
((
res
:
any
)
=>
{
getRegisterCatalogDetail
({
guid
:
route
.
query
.
damGuid
}).
then
((
res
:
any
)
=>
{
fullscreenLoading
.
value
=
false
;
if
(
res
?.
code
==
proxy
.
$passCode
)
{
let
detail
=
res
.
data
||
{};
...
...
src/views/data_asset/productCatalogManage.vue
View file @
4b2ccde
...
...
@@ -12,7 +12,7 @@
@
blur=
"toSearch(true, true)"
@
keyup
.
enter
.
native=
"searchEnterFun"
clearable
/>
</div>
<Table
:tableInfo=
"tableInfo"
@
tablePageChange=
"tablePageChange"
style=
"height: calc(100% - 96px);margin: 16px 16px 0px;"
/>
style=
"height: calc(100% - 96px);margin: 16px 16px 0px;
width: calc(100% - 32px);
"
/>
</div>
</div>
</
template
>
...
...
@@ -90,11 +90,10 @@ const treeInfo = ref({
* @param nodeObj - 节点对象
*/
const
handleTreeNodeChange
=
(
checkedObj
,
id
,
nodeObj
)
=>
{
debugger
let
treeRefs
=
treeRef
.
value
.
treeRef
;
let
checked
Key
s
=
checkedObj
.
checkedObj
||
[];
// 全勾选的所有节点
let
checked
Obj
s
=
checkedObj
.
checkedObj
||
[];
// 全勾选的所有节点
let
halfCheckedKeys
=
checkedObj
.
halfCheckedKeys
||
[];
// 半勾选的节点
let
checkedKeys
=
checkedObj
.
checkedKeys
||
[];
// 思路:一个个的分类判断是否在半勾选,如果是,就将其勾选的子节点获取出来
/** 产品类型 */
...
...
@@ -128,8 +127,73 @@ const handleTreeNodeChange = (checkedObj, id, nodeObj) => {
}
/** 领域及应用场景 */
page
.
value
.
domainList
=
[];
page
.
value
.
scenarioList
=
[];
page
.
value
.
subjectDomainList
=
[];
page
.
value
.
medDepartList
=
[];
if
(
halfCheckedKeys
.
includes
(
'domain'
))
{
// 计算领域下勾选的子节点,同时判断医疗健康和工业制造
domainDictList
.
value
.
forEach
(
domainItem
=>
{
if
(
domainItem
.
value
==
'003'
)
{
//包含医疗健康,所属科室
if
(
halfCheckedKeys
.
includes
(
'003'
))
{
if
(
halfCheckedKeys
.
includes
(
'scenario3'
))
{
//
let
list
=
treeRefs
.
getNode
(
'scenario3'
)?.
childNodes
?.
filter
(
c
=>
c
.
checked
==
true
);
list
?.
forEach
(
item
=>
{
page
.
value
.
scenarioList
.
push
(
item
.
value
);
});
}
if
(
halfCheckedKeys
.
includes
(
'medDepartmentCode'
))
{
treeRefs
.
getNode
(
'medDepartmentCode'
).
childNodes
?.
forEach
(
node
=>
{
if
(
node
.
checked
&&
node
.
isLeaf
)
{
page
.
value
.
medDepartList
.
push
(
node
.
data
.
value
);
}
else
if
(
node
.
checked
||
(
!
node
.
isLeaf
&&
node
.
indeterminate
))
{
//不是叶子节点
node
.
childNodes
?.
forEach
(
childNode
=>
{
if
(
childNode
.
checked
&&
childNode
.
isLeaf
)
{
page
.
value
.
medDepartList
.
push
(
childNode
.
data
.
value
);
}
});
}
});
}
else
if
(
checkedKeys
.
includes
(
domainItem
.
value
))
{
page
.
value
.
domainList
.
push
(
domainItem
.
value
);
//全选要加入
}
}
else
if
(
domainItem
.
value
==
'004'
)
{
//包含医工业制造,所属主题
if
(
halfCheckedKeys
.
includes
(
'004'
))
{
if
(
halfCheckedKeys
.
includes
(
'scenario4'
))
{
//
let
list
=
treeRefs
.
getNode
(
'scenario4'
)?.
childNodes
?.
filter
(
c
=>
c
.
checked
==
true
);
list
?.
forEach
(
item
=>
{
page
.
value
.
scenarioList
.
push
(
item
.
value
);
});
}
if
(
halfCheckedKeys
.
includes
(
'subjectDomain'
))
{
treeRefs
.
getNode
(
'subjectDomain'
).
childNodes
?.
forEach
(
node
=>
{
if
(
node
.
checked
&&
node
.
isLeaf
)
{
page
.
value
.
subjectDomainList
.
push
(
node
.
data
.
value
);
}
else
if
(
node
.
checked
||
(
!
node
.
isLeaf
&&
node
.
indeterminate
))
{
//不是叶子节点
node
.
childNodes
?.
forEach
(
childNode
=>
{
if
(
childNode
.
checked
&&
childNode
.
isLeaf
)
{
page
.
value
.
subjectDomainList
.
push
(
childNode
.
data
.
value
);
}
});
}
});
}
}
else
if
(
checkedKeys
.
includes
(
domainItem
.
value
))
{
page
.
value
.
domainList
.
push
(
domainItem
.
value
);
//全选要加入
}
}
else
{
if
(
halfCheckedKeys
.
includes
(
domainItem
.
value
))
{
let
list
=
treeRefs
.
getNode
(
domainItem
.
value
)?.
childNodes
?.
filter
(
c
=>
c
.
checked
==
true
);
list
?.
forEach
(
item
=>
{
page
.
value
.
scenarioList
.
push
(
item
.
value
);
});
}
else
if
(
checkedKeys
.
includes
(
domainItem
.
value
))
{
page
.
value
.
domainList
.
push
(
domainItem
.
value
);
//全选要加入
}
}
}
})
}
page
.
value
.
curr
=
1
;
getSearchData
();
...
...
@@ -143,7 +207,8 @@ const page = ref({
...
commonPageConfig
,
// 继承通用页面配置
searchKey
:
''
,
// 搜索关键词
damTypes
:
[],
domainList
:
[],
domainList
:
<
any
>
[],
scenarioList
:
<
any
>
[],
industryList
:
[],
institutionTypeList
:
[],
dataSourcesList
:
[],
...
...
@@ -195,7 +260,8 @@ const getSearchData = (clear = false) => {
damName
:
page
.
value
.
searchKey
,
damTypes
:
page
.
value
.
damTypes
,
domains
:
page
.
value
.
domainList
,
scenarios
:
page
.
value
.
subjectDomainList
,
scenarios
:
page
.
value
.
scenarioList
,
subjectDomains
:
page
.
value
.
subjectDomainList
,
industrys
:
page
.
value
.
industryList
,
institutionTypes
:
page
.
value
.
institutionTypeList
,
dataSourceList
:
page
.
value
.
dataSourcesList
,
...
...
@@ -240,15 +306,8 @@ const tableInfo = ref({
type
:
"text_btn"
,
columClass
:
'text_btn'
,
value
:
"detail"
,
// 合同状态为06时禁用点击
disabled
:
(
scope
)
=>
{
return
scope
.
row
.
contractStatus
==
'06'
;
},
// 点击查看详细信息
click
:
(
scope
)
=>
{
if
(
scope
.
row
.
contractStatus
==
'06'
)
{
return
;
}
router
.
push
({
name
:
'productSortCatalogDetail'
,
query
:
{
...
...
@@ -261,9 +320,8 @@ const tableInfo = ref({
}
},
{
label
:
"产品类型"
,
field
:
"damTypeName"
,
width
:
100
},
{
label
:
"应用场景"
,
field
:
"scenarioName"
,
width
:
120
},
{
label
:
"行业分类"
,
field
:
"industryName"
,
width
:
220
},
{
label
:
"机构分类"
,
field
:
"institutionTypeName"
,
width
:
1
2
0
},
{
label
:
"机构分类"
,
field
:
"institutionTypeName"
,
width
:
1
1
0
},
{
label
:
"数据来源"
,
field
:
"dataSources"
,
...
...
@@ -273,6 +331,10 @@ const tableInfo = ref({
return
scope
.
row
.
dataSources
&&
dataSourceList
.
value
.
find
(
i
=>
i
.
value
==
scope
.
row
.
dataSources
)?.
label
||
'--'
}
},
{
label
:
"领域"
,
field
:
"domainName"
,
width
:
120
},
{
label
:
"应用场景"
,
field
:
"scenarioName"
,
width
:
120
},
{
label
:
"所属科室"
,
field
:
"medDepartmentCodeName"
,
width
:
110
},
{
label
:
"所属主题"
,
field
:
"subjectDomainName"
,
width
:
120
},
{
label
:
"上架时间"
,
field
:
"groundingTime"
,
width
:
170
},
],
data
:
[],
// 表格数据
...
...
@@ -422,7 +484,7 @@ onBeforeMount(() => {
let
item
=
domainDictList
.
value
.
find
(
i
=>
i
.
value
==
'003'
);
// 医疗健康,下级应用场景和所属科室
let
childDictList
=
item
.
childDictList
||
[];
item
.
childDictList
=
[{
value
:
'scenario'
,
value
:
'scenario
3
'
,
label
:
'应用场景'
,
childDictList
:
childDictList
}];
...
...
@@ -437,7 +499,7 @@ onBeforeMount(() => {
let
item4
=
domainDictList
.
value
.
find
(
i
=>
i
.
value
==
'004'
);
// 工业制造
let
childDictList4
=
item4
.
childDictList
||
[];
item4
.
childDictList
=
[{
value
:
'scenario'
,
value
:
'scenario
4
'
,
label
:
'应用场景'
,
childDictList
:
childDictList4
}];
...
...
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