Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
W
web
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
INET-TWO
web
Commits
f373cea4
Commit
f373cea4
authored
Sep 03, 2024
by
ztf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
项目详情要素相关组件
parent
e4c3a233
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
504 additions
and
1 deletion
+504
-1
modulesServiceApplicationMap.js
...ions/architecture-dee/src/modulesServiceApplicationMap.js
+1
-1
index.vue
...-plan/src/privateComponents/components/newFunds/index.vue
+52
-0
index.vue
.../privateComponents/components/gotoProjectDetial/index.vue
+62
-0
index.vue
...rc/privateComponents/components/leftProjectTree/index.vue
+313
-0
view.js
.../src/privateComponents/components/leftProjectTree/view.js
+76
-0
No files found.
applications/architecture-dee/src/modulesServiceApplicationMap.js
View file @
f373cea4
...
...
@@ -3,7 +3,7 @@
注:此处只是demo演示,如果模型名与微前端的dee-后的变量一致,无需再次配置
*/
export
default
{
'basic-service'
:
[
'dee-user'
,
'dee-audit'
,
'dee-config'
,
'dee-pdc'
,
'dee-file'
,
'dee-context'
,
'dee-production'
,
'dee-quality'
],
'basic-service'
:
[
'dee-user'
,
'dee-audit'
,
'dee-config'
,
'dee-pdc'
,
'dee-file'
,
'dee-context'
,
'dee-production'
,
'dee-quality'
,
'dee-project'
],
'resource'
:
[
'dee-resource'
],
'process'
:
[
'dee-craft'
,
'dee-config'
],
'xbomthread'
:
[
'dee-pdc'
,
'dee-cmt'
,
'dee-doc'
,
'dee-production'
,
'dee-craft'
],
...
...
applications/dee-plan/src/privateComponents/components/newFunds/index.vue
0 → 100644
View file @
f373cea4
<
template
>
<el-tabs
type=
"card"
>
<el-tab-pane
label=
"收入合同"
>
<div
class=
"content"
>
<dee-as-page
:key=
"incomeContractPageKey"
:page-key=
"incomeContractPageKey"
/>
</div>
</el-tab-pane>
<el-tab-pane
label=
"支出合同"
>
<div
class=
"content"
>
<dee-as-page
:key=
"spendingContractPageKey"
:page-key=
"spendingContractPageKey"
/>
</div>
</el-tab-pane>
</el-tabs>
</
template
>
<
script
>
export
default
{
name
:
'Funds'
,
componentName
:
'经费管理页面'
,
props
:
{
basicData
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{
spendingContractPageKey
:
'87b4f333-5f0e-4055-b215-f66b5d45f919'
,
incomeContractPageKey
:
'80bff7f2-0038-4ca6-9544-1496ce0b6459'
}
},
watch
:
{
basicData
(
val
)
{
// 监听传进来的数据,如果是项目的话都展示
// 如果是子项的话只能看到支出合同
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.content
{
height
:
calc
(
100vh
-
100px
);
}
</
style
>
applications/dee-project/src/privateComponents/components/gotoProjectDetial/index.vue
0 → 100644
View file @
f373cea4
<
template
>
<div
class=
"link"
@
click=
"ToRelatedPage"
>
{{
currentValue
}}
</div>
</
template
>
<
script
>
export
default
{
name
:
'GotoProjectDetail'
,
componentName
:
'详情-项目要素'
,
props
:
{
value
:
{
type
:
[
Object
,
String
],
default
:
()
=>
{}
},
form
:
{
type
:
Object
,
default
:
()
=>
{}
},
itemObj
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
layoutConfigData
:
[
{
title
:
'高级组件配置'
,
data
:
[
{
key
:
'pageLink'
,
title
:
'跳转页面编码'
,
component
:
{
name
:
'el-input'
}
}]
}
],
data
()
{
return
{
currentValue
:
this
.
value
?
this
.
value
.
number
||
this
.
value
:
null
}
},
mounted
()
{
},
methods
:
{
ToRelatedPage
()
{
console
.
log
(
'this.form列表数据'
,
this
.
form
)
const
name
=
this
.
form
.
name
const
id
=
this
.
form
.
id
const
pageNumber
=
'7cbdc38f-0122-4e78-b162-57601a33bb7a'
this
.
$router
.
push
({
path
:
`/page/
${
pageNumber
}
/
${
id
}
/?id=
${
id
}
&title=
${
name
}
`
,
query
:
{
title
:
name
+
'详情'
,
id
:
id
}
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
</
style
>
applications/dee-project/src/privateComponents/components/leftProjectTree/index.vue
0 → 100644
View file @
f373cea4
<
template
>
<div
class=
"PlanTreeMenu"
>
<!-- 两种方式的自动超长省略 -->
<!--
<el-tooltip
effect=
"dark"
:content=
"projectTitle"
placement=
"bottom"
:disabled=
"!isShowTooltip"
>
<div
ref=
"name"
class=
"title ellipsis"
@
mouseover=
"onMouseOver"
>
{{
projectTitle
}}
</div>
</el-tooltip>
-->
<div
ref=
"name"
class=
"title ellipsis"
:title=
"isShowTooltip?projectTitle:''"
@
mouseover=
"onMouseOver"
>
{{
projectTitle
}}
</div>
<el-tree
ref=
"tree"
class=
"PlanTreeMenu-main"
node-key=
"id"
:data=
"treeData"
empty-text=
"暂无数据"
:highlight-current=
"true"
:expand-on-click-node=
"false"
:props=
"defaultProps"
default-expand-all
@
node-click=
"nodeClick"
>
<div
slot-scope=
"
{node, data}" class="PlanTreeMenu-node hover-visible">
<div
:title=
"node.label"
class=
"PlanTreeMenu-label"
:class=
"
{'disabled-node': node.disabled}">
<div
class=
"flex-start"
>
<img
v-if=
"data.icon"
width=
"21px"
height=
"21px"
:src=
"data.icon"
alt=
""
>
<span
v-if=
"node.label"
class=
"change-text"
>
{{
node
.
label
}}
</span>
</div>
</div>
</div>
</el-tree>
</div>
</
template
>
<
script
>
// import { getPlanTree } from '@/api/plan'
import
view
from
'./view.js'
export
default
{
componentName
:
'左侧项目要素树'
,
name
:
'ProjectTree'
,
mixins
:
[
view
],
props
:
{},
data
()
{
return
{
evenList
:
[
{
even
:
'nodeClick'
,
name
:
'节点被点击时的回调'
}
],
permissionObj
:
{},
defaultProps
:
{
children
:
'children'
,
label
:
'name'
},
treeData
:
[],
isEdit
:
false
,
basicData
:
null
,
projectTitle
:
`
${
this
.
$route
.
query
.
projectCode
}
-
${
this
.
$route
.
query
.
title
}
`
,
isShowTooltip
:
false
}
},
computed
:
{
},
watch
:
{
},
mounted
()
{
this
.
initTreeData
()
console
.
log
(
'this.$route.query'
,
this
.
$route
.
query
)
},
methods
:
{
onMouseOver
()
{
const
el
=
this
.
$refs
.
name
this
.
isShowTooltip
=
el
.
clientWidth
<
el
.
scrollWidth
},
// 判断是否显示按钮`
initTreeData
(
val
,
planTaskNodes
)
{
// getPlanTree(this.$route.query.id).then(res => {
// let plans = []
// if (Array.isArray(res.items) && res.items.length > 0) {
// plans = res.items.map(r => {
// r.componentType = 'customComponent'
// r.componentName = 'TaskGantt'
// return r
// })
// }
const
planNode
=
{
disabled
:
false
,
name
:
'计划'
,
// planId: this.$route.query.id,
// componentType: 'customComponent',
// componentName: 'TaskGantt',
icon
:
'/icons/dee-project/plan.png'
,
// subTypeName: 'DxProjectItem'
componentType
:
'formConfig'
,
formConfigType
:
'page'
,
pageKey
:
'22c90a9f-0907-49ea-8f8d-d5234e93e0e6'
,
// children: plans
children
:
[{
name
:
'采购'
,
planId
:
this
.
$route
.
query
.
id
,
icon
:
'/icons/dee-project/baseline.png'
,
componentType
:
'formConfig'
,
formConfigType
:
'page'
,
pageKey
:
'a5728005-cd38-4568-bc63-8888fd7e5b5a'
},
{
name
:
'IED'
,
planId
:
this
.
$route
.
query
.
id
,
icon
:
'/icons/dee-project/baseline.png'
,
componentType
:
'formConfig'
,
formConfigType
:
'page'
,
pageKey
:
'd4e791a9-57bf-477c-b760-53bdc351bc7f'
},
{
name
:
'ICM'
,
planId
:
this
.
$route
.
query
.
id
,
icon
:
'/icons/dee-project/baseline.png'
,
componentType
:
'formConfig'
,
formConfigType
:
'page'
,
pageKey
:
'fe0b5925-0b7f-42bd-adbc-8ecb738013a0'
}]
}
const
treeData
=
[
planNode
].
concat
(
this
.
projectMenus
)
this
.
treeData
=
treeData
// plans.length && this.nodeClick(plans[0])
// })
},
completeEven
()
{
this
.
initTreeData
()
},
nodeClick
(
data
)
{
// console.log('nodeClick', data) this.$emit('nodeClick', data)
// if (data.name !== '计划') {
this
.
$emit
(
'nodeClick'
,
data
)
// console.log('data', data)
// }
}
}
}
</
script
>
<
style
lang=
"scss"
>
.PlanTreeMenu
{
height
:
100%
;
box-sizing
:
border-box
;
padding
:
0
!
important
;
background-color
:white
;
overflow
:
hidden
;
.title
{
padding
:
0
8px
;
height
:
40px
;
line-height
:
40px
;
font-size
:
16px
;
font-weight
:
bold
;
border-bottom
:
1px
solid
#DBE2E5
;
}
.PlanTreeMenu-main
{
height
:
calc
(
100%
-
40px
);
overflow
:
auto
;
}
.PlanTreeMenu-label
{
display
:
flex
;
justify-content
:
space-between
;
font-size
:
14px
;
img
{
display
:
block
;
}
}
.tree-btn-box
{
margin-left
:
6px
;
}
.search-form-box
{
padding
:
0px
;
}
.search-form-box
.dee-search-form
.el-form-item__label
{
text-align
:
center
;
}
.search-form-box
.search-box-item
{
width
:
100%
;
}
.dee-search-form
{
&
>
div
{
padding-bottom
:
8px
!
important
;
}
}
.dee-search-form
{
border-bottom
:
1px
solid
#dcdfe6
;
}
.dee-search-form
{
margin-bottom
:
0px
!
important
;
margin-top
:
20px
;
// padding-bottom: 20px;
.dee-form-item
{
width
:
100%
;
}
}
.search-box-btn
{
display
:
none
;
}
.searchBtn
{
display
:
none
!
important
;
}
.el-tree
{
background-color
:
transparent
;
}
.el-scrollbar
.el-scrollbar__wrap
{
overflow-x
:
hidden
;
}
.el-tree
>
.el-tree-node
{
min-width
:
100%
;
display
:inline-block
;
}
.el-tree-node__content
{
align-self
:
baseline
;
}
.el-tree-node__content
{
padding
:
1px
8px
;
&
:hover
{
.PlanTreeMenu-btn
{
display
:
block
;
visibility
:
visible
;
}
}
}
.el-tree-node__expand-icon
{
font-size
:
16px
;
}
.PlanTreeMenu-btn_item
{
width
:
18px
;
height
:
18px
;
border
:
none
;
background-color
:
transparent
;
background-size
:
100%
100%
;
border-radius
:
0
;
outline
:none
;
cursor
:
pointer
;
// &:hover{
// // border-top: 1px solid transparent;
// }
&
.btn-add
{
background-image
:
url("/icons/c-add.png")
;
}
&
.btn-edit
{
background-image
:
url("/icons/c-edit.png")
;
}
&
.btn-delete
{
background-image
:
url("/icons/c-creatbackups.png")
;
}
}
&
-node
{
width
:
100%
;
display
:
flex
;
flex-direction
:row
;
align-items
:
center
;
justify-content
:
space-between
;
flex
:
1
;
box-sizing
:
border-box
;
overflow
:
hidden
;
}
&
-label
{
flex
:
1
;
overflow
:
hidden
;
white-space
:nowrap
;
text-overflow
:ellipsis
;
display
:
flex
;
align-items
:
center
;
color
:
#424141
;
font-weight
:
500
;
img
{
margin-right
:
6px
;
}
}
&
-btn
{
// display: none;
visibility
:
hidden
;
// width: 180px;
text-align
:
right
;
button
{
margin-left
:
8px
;
}
}
}
.disabled-node
{
opacity
:
.5
;
}
.PlanTreeMenu
.el-tree
>
.el-tree-node
>
.el-tree-node__content
>
.PlanTreeMenu-node
>
.PlanTreeMenu-label
{
font-size
:
14px
;
// font-weight: bold;
}
.PlanTreeMenu
.el-tree
.el-tree-node
.el-tree-node__children
{
background
:
#fafafa
}
.hover-visible
{
.tree-btn-box
{
visibility
:
hidden
;
}
&
:hover
{
.tree-btn-box
{
visibility
:
visible
;
}
}
}
</
style
>
applications/dee-project/src/privateComponents/components/leftProjectTree/view.js
0 → 100644
View file @
f373cea4
/*
* @Author: zhangtianfeng 3232807530@qq.com
* @Date: 2024-09-02 09:44:58
* @LastEditors: zhangtianfeng 3232807530@qq.com
* @LastEditTime: 2024-09-03 16:06:05
* @FilePath: \inet-two\applications\dee-project\src\privateComponents\components\leftProjectTree\view.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
export
default
{
props
:
{},
data
()
{
return
{
projectMenus
:
[
{
name
:
'资源'
,
planId
:
this
.
$route
.
query
.
id
,
componentName
:
'PlanTeam'
,
icon
:
'/icons/dee-project/team.png'
,
componentType
:
'formConfig'
,
formConfigType
:
'page'
,
pageKey
:
'71091156-e060-40a8-9573-1136d345c1c4'
,
disabled
:
false
},
{
name
:
'经费'
,
planId
:
this
.
$route
.
query
.
id
,
icon
:
'/icons/dee-project/baseline.png'
,
componentType
:
'formConfig'
,
formConfigType
:
'page'
,
pageKey
:
'b893b248-6993-4f21-bc56-d543be6f6f45'
},
{
name
:
'基线'
,
planId
:
this
.
$route
.
query
.
id
,
icon
:
'/icons/dee-project/baseline.png'
,
componentType
:
'formConfig'
,
formConfigType
:
'page'
,
pageKey
:
'fe0b5925-0b7f-42bd-adbc-8ecb738013a0'
},
{
name
:
'文档'
,
planId
:
this
.
$route
.
query
.
id
,
icon
:
'/icons/dee-project/baseline.png'
,
componentType
:
'formConfig'
,
formConfigType
:
'page'
,
pageKey
:
'fe0b5925-0b7f-42bd-adbc-8ecb738013a0'
},
{
name
:
'归档'
,
planId
:
this
.
$route
.
query
.
id
,
icon
:
'/icons/dee-project/baseline.png'
,
componentType
:
'formConfig'
,
formConfigType
:
'page'
,
pageKey
:
'fe0b5925-0b7f-42bd-adbc-8ecb738013a0'
}
// {
// name: '子项',
// planId: this.$route.query.id,
// icon: '/icons/dee-project/baseline.png',
// componentType: 'formConfig',
// formConfigType: 'page',
// pageKey: 'fe0b5925-0b7f-42bd-adbc-8ecb738013a0'
// }
]
}
},
computed
:
{},
watch
:
{},
created
()
{
},
methods
:
{
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
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 comment