Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
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
fulixin
dsk-operate-sys-cscec
Commits
9f81b37e
Commit
9f81b37e
authored
Mar 13, 2024
by
chenyuefang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/V20231129-中建一局二公司' into V20231129-中建一局二公司
parents
959e9cf2
9f042eac
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
592 additions
and
21 deletions
+592
-21
index.js
dsk-operate-ui/src/api/projectCostLedger/index.js
+46
-0
TableListColumn.vue
...src/components/CustomTable/components/TableListColumn.vue
+10
-4
index.vue
dsk-operate-ui/src/components/CustomTable/index.vue
+12
-1
TableListColumn.vue
...rc/components/TableListCom/components/TableListColumn.vue
+2
-2
request.js
dsk-operate-ui/src/utils/request.js
+1
-1
index.vue
.../projectCostLedger/detail/components/DirectCost/index.vue
+5
-5
index.vue
...projectCostLedger/detail/components/FeedSummary/index.vue
+8
-3
index.vue
...ojectCostLedger/detail/components/FieldExpenses/index.vue
+498
-0
index.vue
...ojectCostLedger/detail/components/OtherProjects/index.vue
+1
-1
ProjectMenuItem.vue
...ger/detail/components/ProjectSideMenu/ProjectMenuItem.vue
+3
-3
index.vue
dsk-operate-ui/src/views/projectCostLedger/detail/index.vue
+6
-1
No files found.
dsk-operate-ui/src/api/projectCostLedger/index.js
View file @
9f81b37e
...
@@ -319,3 +319,49 @@ export const getProjectOtherList = (params = {}) => request({
...
@@ -319,3 +319,49 @@ export const getProjectOtherList = (params = {}) => request({
method
:
"get"
,
method
:
"get"
,
params
params
});
});
// 现场经费
/**
* 获取现场经费左侧菜单
* @param {*} params
* @returns
*/
export
const
getFieldExpensesMenuTreeApi
=
(
projectId
)
=>
request
({
url
:
`/cbSceneExpenseChildren/getMenuList/
${
projectId
}
`
,
method
:
"get"
,
params
:
{}
});
/**
* 获取现场经费统计月份
* @param {*} params
* @returns
*/
export
const
getFieldExpensesMonthListApi
=
(
params
=
{})
=>
request
({
url
:
``
,
method
:
"get"
,
params
});
/**
* 获取现场经费列表
* @param {*} params
* @returns
*/
export
const
getFieldExpensesListApi
=
(
projectId
)
=>
request
({
url
:
`/CbProjectExpenseSummary/getCbSceneExpenseSummaryData/
${
projectId
}
`
,
method
:
"get"
,
params
:
{}
});
/**
* 获取现场经费 除开现场经费汇总之外的列表
* @param {*} params
* @returns
*/
export
const
getFieldExpensesOtherListApi
=
(
params
=
{})
=>
request
({
url
:
`/cbSceneExpenseChildren/getChildrenData`
,
method
:
"get"
,
params
});
dsk-operate-ui/src/components/CustomTable/components/TableListColumn.vue
View file @
9f81b37e
...
@@ -37,13 +37,13 @@
...
@@ -37,13 +37,13 @@
<!-- 有自定义插槽 -->
<!-- 有自定义插槽 -->
<slot
v-if=
"item.slot"
:name=
"item.prop"
:row=
"scope.row"
:data=
"item"
:row-index=
"scope.$index"
>
<slot
v-if=
"item.slot"
:name=
"item.prop"
:row=
"scope.row"
:data=
"item"
:row-index=
"scope.$index"
>
<!-- 默认取值 -->
<!-- 默认取值 -->
{{
scope
.
row
[
item
.
prop
]
?
scope
.
row
[
item
.
prop
]
:
'-'
}}
{{
checkEmptyStr
(
scope
.
row
[
item
.
prop
])
?
scope
.
row
[
item
.
prop
]
:
'-'
}}
</slot>
</slot>
<!-- 操作栏 不需要设置slot-->
<!-- 操作栏 不需要设置slot-->
<slot
v-else-if=
"item.prop == 'action-field-bar'"
name=
"action-field-bar"
:row=
"scope.row"
:data=
"item"
:row-index=
"scope.$index"
></slot>
<slot
v-else-if=
"item.prop == 'action-field-bar'"
name=
"action-field-bar"
:row=
"scope.row"
:data=
"item"
:row-index=
"scope.$index"
></slot>
<!-- 没有插槽 -->
<!-- 没有插槽 -->
<span
v-else
>
<span
v-else
>
{{
scope
.
row
[
item
.
prop
]
?
scope
.
row
[
item
.
prop
]
:
'-'
}}
{{
checkEmptyStr
(
scope
.
row
[
item
.
prop
])
?
scope
.
row
[
item
.
prop
]
:
'-'
}}
</span>
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -64,8 +64,8 @@ export default {
...
@@ -64,8 +64,8 @@ export default {
type
:
Array
,
type
:
Array
,
default
:
()
=>
[]
default
:
()
=>
[]
},
},
columIndex
:
{
columIndex
:
{
type
:
Number
,
type
:
Number
,
}
}
},
},
watch
:
{
watch
:
{
...
@@ -98,6 +98,12 @@ export default {
...
@@ -98,6 +98,12 @@ export default {
},
},
//方法集
//方法集
methods
:
{
methods
:
{
checkEmptyStr
(
prop
)
{
if
(
prop
&&
prop
.
toString
().
trim
()
&&
prop
.
toString
().
trim
()
!=
"0"
)
{
return
true
;
}
return
false
;
},
flexWidth
(
len
=
0
,
width
=
50
,
hasQueryParams
)
{
flexWidth
(
len
=
0
,
width
=
50
,
hasQueryParams
)
{
if
(
hasQueryParams
)
{
if
(
hasQueryParams
)
{
let
currentMax
=
this
.
queryParams
.
pageNum
*
this
.
queryParams
.
pageSize
-
this
.
queryParams
.
pageSize
+
len
;
let
currentMax
=
this
.
queryParams
.
pageNum
*
this
.
queryParams
.
pageSize
-
this
.
queryParams
.
pageSize
+
len
;
...
...
dsk-operate-ui/src/components/CustomTable/index.vue
View file @
9f81b37e
...
@@ -143,6 +143,7 @@ export default {
...
@@ -143,6 +143,7 @@ export default {
comMaxHeight
:
null
,
comMaxHeight
:
null
,
hasQueryParams
:
false
,
hasQueryParams
:
false
,
comMaxBodyHeight
:
0
,
comMaxBodyHeight
:
0
,
headerLastBlockHeight
:
0
,
observer
:
null
,
observer
:
null
,
resizeTimer
:
null
resizeTimer
:
null
};
};
...
@@ -168,7 +169,8 @@ export default {
...
@@ -168,7 +169,8 @@ export default {
computed
:
{
computed
:
{
maxBodyFixedStyle
()
{
maxBodyFixedStyle
()
{
return
{
return
{
"--body-max-height"
:
`
${
this
.
comMaxBodyHeight
}
px`
"--body-max-height"
:
`
${
this
.
comMaxBodyHeight
}
px`
,
"--header-last-block-height"
:
`
${
this
.
headerLastBlockHeight
}
px`
};
};
}
}
},
},
...
@@ -232,6 +234,13 @@ export default {
...
@@ -232,6 +234,13 @@ export default {
const
bodyMaxHeight
=
containerMaxHeight
-
headerHeight
-
16
;
const
bodyMaxHeight
=
containerMaxHeight
-
headerHeight
-
16
;
// console.log(bodyMaxHeight, "bodyMaxHeight");
// console.log(bodyMaxHeight, "bodyMaxHeight");
this
.
comMaxBodyHeight
=
bodyMaxHeight
;
this
.
comMaxBodyHeight
=
bodyMaxHeight
;
}
else
{
// 没有固定列 正常情况下 计算默认header高度
const
defaultHeader
=
this
.
$el
.
querySelector
(
".el-table__header-wrapper"
);
if
(
defaultHeader
)
{
const
headerHeight
=
parseInt
(
window
.
getComputedStyle
(
defaultHeader
).
height
);
this
.
headerLastBlockHeight
=
headerHeight
;
}
}
}
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
...
@@ -357,8 +366,10 @@ export default {
...
@@ -357,8 +366,10 @@ export default {
display
:
table-cell
!
important
;
display
:
table-cell
!
important
;
}
}
/* header 表头最后一个方块 */
.el-table--border
th
.gutter
:last-of-type
{
.el-table--border
th
.gutter
:last-of-type
{
display
:
block
!
important
;
display
:
block
!
important
;
height
:
var
(
--
header-last-block-height
)
!
important
;
padding-right
:
16px
;
padding-right
:
16px
;
}
}
...
...
dsk-operate-ui/src/components/TableListCom/components/TableListColumn.vue
View file @
9f81b37e
...
@@ -8,8 +8,8 @@
...
@@ -8,8 +8,8 @@
<template
v-for=
"(index, name) in $slots"
:slot=
"name"
>
<template
v-for=
"(index, name) in $slots"
:slot=
"name"
>
<slot
:name=
"name"
/>
<slot
:name=
"name"
/>
</
template
>
</
template
>
<
template
v-for=
"(index, name) in $scopedSlots"
:slot=
"name"
slot-scope=
"{row,
$
index}"
>
<
template
v-for=
"(index, name) in $scopedSlots"
:slot=
"name"
slot-scope=
"{row,index}"
>
<slot
:name=
"name"
:data=
"child"
:row=
"row"
:index=
"
$
index"
></slot>
<slot
:name=
"name"
:data=
"child"
:row=
"row"
:index=
"index"
></slot>
</
template
>
</
template
>
</table-list-column>
</table-list-column>
</template>
</template>
...
...
dsk-operate-ui/src/utils/request.js
View file @
9f81b37e
...
@@ -108,7 +108,7 @@ service.interceptors.response.use(res => {
...
@@ -108,7 +108,7 @@ service.interceptors.response.use(res => {
isRelogin
.
show
=
false
;
isRelogin
.
show
=
false
;
store
.
dispatch
(
'LogOut'
).
then
(()
=>
{
store
.
dispatch
(
'LogOut'
).
then
(()
=>
{
sessionStorage
.
removeItem
(
'views'
)
sessionStorage
.
removeItem
(
'views'
)
location
.
href
=
'/index'
;
location
.
href
=
'/index
/gys
'
;
})
})
}).
catch
(()
=>
{
}).
catch
(()
=>
{
isRelogin
.
show
=
false
;
isRelogin
.
show
=
false
;
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/DirectCost/index.vue
View file @
9f81b37e
...
@@ -158,7 +158,7 @@ export default {
...
@@ -158,7 +158,7 @@ export default {
menuDetails
:{},
menuDetails
:{},
menuOptions
:
{
menuOptions
:
{
nodeName
:
"menuName"
,
nodeName
:
"menuName"
,
nodeValue
:
"menu
Name
"
,
nodeValue
:
"menu
Id
"
,
children
:
"childrenList"
children
:
"childrenList"
},
},
detailsId
:
''
,
detailsId
:
''
,
...
@@ -206,7 +206,7 @@ export default {
...
@@ -206,7 +206,7 @@ export default {
this
.
menuTreeList
.
push
(
_tempArray
);
this
.
menuTreeList
.
push
(
_tempArray
);
const
defaultCurrent
=
this
.
findMenuNode
(
this
.
menuTreeList
,
"土石方部分"
);
const
defaultCurrent
=
this
.
findMenuNode
(
this
.
menuTreeList
,
"土石方部分"
);
if
(
defaultCurrent
)
{
if
(
defaultCurrent
)
{
this
.
defaultActive
=
defaultCurrent
.
menu
Name
;
this
.
defaultActive
=
defaultCurrent
.
menu
Id
;
this
.
menuId
=
defaultCurrent
.
menuId
;
this
.
menuId
=
defaultCurrent
.
menuId
;
}
}
this
.
getCbDirectExpenseList
(
defaultCurrent
.
menuId
)
this
.
getCbDirectExpenseList
(
defaultCurrent
.
menuId
)
...
@@ -233,8 +233,8 @@ export default {
...
@@ -233,8 +233,8 @@ export default {
},
},
handleSelect
(
menuPath
,
menuPathArray
){
handleSelect
(
menuPath
,
menuPathArray
){
this
.
defaultActive
=
menuPath
;
this
.
defaultActive
=
menuPath
;
this
.
menuId
=
menuPath
Array
.
originData
.
menuId
this
.
menuId
=
menuPath
this
.
getCbDirectExpenseList
(
menuPath
Array
.
originData
.
menuId
)
this
.
getCbDirectExpenseList
(
menuPath
)
},
},
tableRowClassName
({
row
,
rowIndex
})
{
tableRowClassName
({
row
,
rowIndex
})
{
if
(
row
.
expenseCategoryTag
===
'清'
)
{
if
(
row
.
expenseCategoryTag
===
'清'
)
{
...
@@ -286,7 +286,7 @@ export default {
...
@@ -286,7 +286,7 @@ export default {
});
});
},
},
findMenuNode
(
tree
,
nodeName
)
{
findMenuNode
(
tree
,
nodeName
)
{
console
.
log
(
tree
)
//
console.log(tree)
for
(
const
item
of
tree
)
{
for
(
const
item
of
tree
)
{
if
(
item
.
menuName
==
nodeName
)
return
item
;
if
(
item
.
menuName
==
nodeName
)
return
item
;
if
(
item
.
childrenList
instanceof
Array
)
{
if
(
item
.
childrenList
instanceof
Array
)
{
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/FeedSummary/index.vue
View file @
9f81b37e
...
@@ -41,13 +41,18 @@
...
@@ -41,13 +41,18 @@
<
template
slot=
"action-field-bar"
slot-scope=
"scope"
>
<
template
slot=
"action-field-bar"
slot-scope=
"scope"
>
<div
class=
"project-action-field-bar"
v-if=
"scope.row.id != '0'"
>
<div
class=
"project-action-field-bar"
v-if=
"scope.row.id != '0'"
>
<span
class=
"push-project"
>
推送工程量
</span>
<span
class=
"push-project"
>
推送工程量
</span>
{{
scope
}}
</div>
</div>
<span
v-else
>
-
</span>
<span
v-else
>
-
</span>
</
template
>
</
template
>
<!-- 本月工程量 -->
<!-- 本月工程量 -->
<
template
slot=
"quantities"
slot-scope=
"scope"
>
<
template
slot=
"quantities"
slot-scope=
"scope"
>
<!-- 统计行 -->
<template
v-if=
"scope.rowIndex == '0'"
>
</
template
>
<el-form-item
v-else-if=
"addActualCostEditStatus"
>
</el-form-item>
</template>
</template>
</custom-table>
</custom-table>
</el-form>
</el-form>
...
@@ -143,7 +148,7 @@ export default {
...
@@ -143,7 +148,7 @@ export default {
total
:
0
,
total
:
0
,
// 列表表头
// 列表表头
formColum
:
[
formColum
:
[
{
label
:
'序号'
,
prop
:
"staticSerialNumber"
,
type
:
"index"
,
lock
:
true
,
width
:
"53"
,
fixed
:
"left"
,
uid
:
v4
()
},
{
label
:
'序号'
,
prop
:
"staticSerialNumber"
,
type
:
"index"
,
lock
:
true
,
width
:
"53"
,
fixed
:
false
,
uid
:
v4
()
},
{
label
:
'成本科目'
,
prop
:
"cbSubjectName"
,
width
:
"137"
,
uid
:
v4
(),
slot
:
true
},
{
label
:
'成本科目'
,
prop
:
"cbSubjectName"
,
width
:
"137"
,
uid
:
v4
(),
slot
:
true
},
{
label
:
'公司编码'
,
prop
:
"companyNo"
,
width
:
"137"
,
uid
:
v4
()
},
{
label
:
'公司编码'
,
prop
:
"companyNo"
,
width
:
"137"
,
uid
:
v4
()
},
{
label
:
'集团编码'
,
prop
:
"orgNo"
,
width
:
"137"
,
uid
:
v4
()
},
{
label
:
'集团编码'
,
prop
:
"orgNo"
,
width
:
"137"
,
uid
:
v4
()
},
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/FieldExpenses/index.vue
0 → 100644
View file @
9f81b37e
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/projectCostLedger/detail/components/OtherProjects/index.vue
View file @
9f81b37e
...
@@ -164,7 +164,7 @@ export default {
...
@@ -164,7 +164,7 @@ export default {
],
],
menuOptions
:
{
menuOptions
:
{
nodeName
:
"itemContent"
,
nodeName
:
"itemContent"
,
nodeValue
:
"
itemContent
"
,
nodeValue
:
"
menuId
"
,
},
},
dialogVisible
:
false
,
dialogVisible
:
false
,
currentList
:
"type1"
,
currentList
:
"type1"
,
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/ProjectSideMenu/ProjectMenuItem.vue
View file @
9f81b37e
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
:class=
"`project-sub-menu-item-level-$
{menuItem.level}`" :disabled="menuItem.originData
&&
menuItem.originData.disabled">
:class=
"`project-sub-menu-item-level-$
{menuItem.level}`" :disabled="menuItem.originData
&&
menuItem.originData.disabled">
<template
slot=
"title"
>
<template
slot=
"title"
>
<!-- 预留插槽 -->
<!-- 预留插槽 -->
<div
class=
"project-sub-menu-title"
:class=
"
{'project-sub-menu-title-next' : menuItem.level !== 1}" :style="menuStyles(menuItem)">
<div
class=
"project-sub-menu-title"
:class=
"
{'project-sub-menu-title-next' : menuItem.level !== 1}" :style="menuStyles(menuItem)"
:title="menuItem.nodeName"
>
<slot
:name=
"`$
{menuItem.nodeName}-${menuItem.level}`" :data="menuItem">
<slot
:name=
"`$
{menuItem.nodeName}-${menuItem.level}`" :data="menuItem">
<img
src=
""
alt=
""
v-if=
"menuItem.originData && menuItem.originData.icon"
>
<img
src=
""
alt=
""
v-if=
"menuItem.originData && menuItem.originData.icon"
>
<div
class=
"project-sub-menu-title-text"
>
{{
menuItem
.
nodeName
}}
</div>
<div
class=
"project-sub-menu-title-text"
>
{{
menuItem
.
nodeName
}}
</div>
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
<template
slot=
"title"
>
<template
slot=
"title"
>
<div
class=
"project-only-menu-title-container"
>
<div
class=
"project-only-menu-title-container"
>
<!-- 预留插槽 -->
<!-- 预留插槽 -->
<div
class=
"project-only-menu-title"
:class=
"
{'project-only-menu-title-next' : menuItem.level !== 1}" :style="menuStyles(menuItem)">
<div
class=
"project-only-menu-title"
:class=
"
{'project-only-menu-title-next' : menuItem.level !== 1}" :style="menuStyles(menuItem)"
:title="menuItem.nodeName"
>
<slot
:name=
"`$
{menuItem.nodeName}-${menuItem.level}`" :data="menuItem">
<slot
:name=
"`$
{menuItem.nodeName}-${menuItem.level}`" :data="menuItem">
<img
src=
""
alt=
""
v-if=
"menuItem.originData && menuItem.originData.icon"
>
<img
src=
""
alt=
""
v-if=
"menuItem.originData && menuItem.originData.icon"
>
<div
class=
"project-only-menu-title-text"
>
{{
menuItem
.
nodeName
}}
</div>
<div
class=
"project-only-menu-title-text"
>
{{
menuItem
.
nodeName
}}
</div>
...
@@ -60,7 +60,7 @@ export default {
...
@@ -60,7 +60,7 @@ export default {
//计算集
//计算集
computed
:
{
computed
:
{
checkHasChidren
()
{
checkHasChidren
()
{
return
!!
(
this
.
menuItem
&&
this
.
menuItem
?.
children
&&
this
.
menuItem
.
children
.
length
);
return
!!
(
this
.
menuItem
&&
this
.
menuItem
?.
children
?
.
length
);
},
},
},
},
//方法集
//方法集
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/index.vue
View file @
9f81b37e
...
@@ -27,6 +27,8 @@
...
@@ -27,6 +27,8 @@
<!-- 盈亏分析对比 -->
<!-- 盈亏分析对比 -->
<profit-Loss
v-if=
"current == 'profitAndLoss'"
:project-id=
"projectId"
:project-detail-info=
"detailInfo"
></profit-Loss>
<profit-Loss
v-if=
"current == 'profitAndLoss'"
:project-id=
"projectId"
:project-detail-info=
"detailInfo"
></profit-Loss>
<!-- 现场经费 -->
<field-expenses
v-if=
"current == 'fieldExpenses'"
:project-id=
"projectId"
:project-detail-info=
"detailInfo"
></field-expenses>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -46,6 +48,8 @@ import MeasureItems from "@/views/projectCostLedger/detail/components/MeasureIte
...
@@ -46,6 +48,8 @@ import MeasureItems from "@/views/projectCostLedger/detail/components/MeasureIte
import
OtherProjects
from
"@/views/projectCostLedger/detail/components/OtherProjects"
;
import
OtherProjects
from
"@/views/projectCostLedger/detail/components/OtherProjects"
;
// 盈亏分析对比
// 盈亏分析对比
import
ProfitLoss
from
"@/views/projectCostLedger/detail/components/ProfitLoss"
;
import
ProfitLoss
from
"@/views/projectCostLedger/detail/components/ProfitLoss"
;
// 现场经费
import
FieldExpenses
from
"@/views/projectCostLedger/detail/components/FieldExpenses"
;
import
{
v4
}
from
"uuid"
;
import
{
v4
}
from
"uuid"
;
import
{
cloneDeep
}
from
"lodash-es"
;
import
{
cloneDeep
}
from
"lodash-es"
;
import
{
getProjectDetailApi
}
from
"@/api/projectCostLedger"
;
import
{
getProjectDetailApi
}
from
"@/api/projectCostLedger"
;
...
@@ -59,7 +63,8 @@ export default {
...
@@ -59,7 +63,8 @@ export default {
DirectCost
,
DirectCost
,
OtherProjects
,
OtherProjects
,
ProfitLoss
,
ProfitLoss
,
MeasureItems
MeasureItems
,
FieldExpenses
},
},
data
()
{
data
()
{
return
{
return
{
...
...
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