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
6aa0d2e7
Commit
6aa0d2e7
authored
Mar 08, 2024
by
chenyuefang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/V20231129-中建一局二公司' into V20231129-中建一局二公司
parents
ed4f45d9
4d97f944
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
183 additions
and
115 deletions
+183
-115
CbProjectOther.java
...pi/src/main/java/com/dsk/cscec/domain/CbProjectOther.java
+4
-0
CbProjectOtherImportVo.java
.../java/com/dsk/cscec/domain/vo/CbProjectOtherImportVo.java
+4
-0
CbProjectOtherServiceImpl.java
...com/dsk/cscec/service/impl/CbProjectOtherServiceImpl.java
+23
-14
.env.development
dsk-operate-ui/.env.development
+1
-1
supplierlist.scss
dsk-operate-ui/src/assets/styles/supplierlist.scss
+88
-74
EnterpriseMonitoring.vue
dsk-operate-ui/src/views/monitoring/EnterpriseMonitoring.vue
+1
-1
index.vue
.../projectCostLedger/detail/components/DirectCost/index.vue
+6
-2
index.vue
...projectCostLedger/detail/components/FeedSummary/index.vue
+54
-22
ProjectDetailHeader.vue
...ojectCostLedger/detail/components/ProjectDetailHeader.vue
+2
-1
No files found.
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/CbProjectOther.java
View file @
6aa0d2e7
...
...
@@ -34,6 +34,10 @@ public class CbProjectOther implements Serializable {
* 父项id
*/
private
Long
parentId
;
/**
* 层级数
*/
private
Integer
level
;
/**
* 序号
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/vo/CbProjectOtherImportVo.java
View file @
6aa0d2e7
...
...
@@ -109,6 +109,10 @@ public class CbProjectOtherImportVo {
* 父项id
*/
private
Long
parentId
;
/**
* 层级数
*/
private
Integer
level
;
/**
* 处理后序号
*/
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CbProjectOtherServiceImpl.java
View file @
6aa0d2e7
...
...
@@ -131,6 +131,7 @@ public class CbProjectOtherServiceImpl extends ServiceImpl<CbProjectOtherMapper,
Assert
.
notNull
(
byId
,
"项目信息不能为空"
);
CbProjectOther
projectOther
=
new
CbProjectOther
();
projectOther
.
setParentId
(
0L
);
projectOther
.
setLevel
(
i
);
projectOther
.
setProjectId
(
projectId
);
projectOther
.
setCbStage
(
byId
.
getCbStage
());
QueryWrapper
<
CbProjectOther
>
tWrapper
=
Wrappers
.
query
(
projectOther
);
...
...
@@ -184,12 +185,12 @@ public class CbProjectOtherServiceImpl extends ServiceImpl<CbProjectOtherMapper,
}
// 文件名称
String
n
ame
=
file
.
getFileName
();
name
=
FileNameUtil
.
getPrefix
(
n
ame
);
String
fileN
ame
=
file
.
getFileName
();
fileName
=
FileNameUtil
.
getPrefix
(
fileN
ame
);
// 文件Id
Long
fileId
=
file
.
getId
();
if
(
"其他费"
.
equals
(
n
ame
))
{
totalDataAnalysis
(
inputStream
,
n
ame
,
file
,
projectId
,
cbStage
);
if
(
"其他费"
.
equals
(
fileN
ame
))
{
totalDataAnalysis
(
inputStream
,
fileN
ame
,
file
,
projectId
,
cbStage
);
continue
;
}
//解析数据
...
...
@@ -206,11 +207,12 @@ public class CbProjectOtherServiceImpl extends ServiceImpl<CbProjectOtherMapper,
}
log
.
debug
(
">>>>"
+
importVoList
.
size
());
CbProjectOther
rootProjectOther
=
new
CbProjectOther
();
rootProjectOther
.
setItemContent
(
n
ame
);
rootProjectOther
.
setItemContent
(
fileN
ame
);
rootProjectOther
.
setParentId
(
0L
);
rootProjectOther
.
setProjectId
(
projectId
);
rootProjectOther
.
setLevel
(
0
);
rootProjectOther
.
setCbStage
(
cbStage
);
rootProjectOther
.
setCbProjectFileId
(
0L
);
rootProjectOther
.
setCbProjectFileId
(
fileId
);
LambdaQueryWrapper
<
CbProjectOther
>
tWrapper
=
Wrappers
.
lambdaQuery
(
rootProjectOther
);
CbProjectOther
rootOther
=
this
.
getOne
(
tWrapper
);
...
...
@@ -224,17 +226,24 @@ public class CbProjectOtherServiceImpl extends ServiceImpl<CbProjectOtherMapper,
if
(
CollectionUtil
.
isNotEmpty
(
importVoList
))
{
for
(
CbProjectOtherImportVo
importVo
:
importVoList
)
{
String
number
=
importVo
.
getNumber
();
CbProjectOther
cbProjectOther
=
new
CbProjectOther
();
BeanUtil
.
copyProperties
(
importVo
,
cbProjectOther
);
if
(
ObjectUtil
.
isEmpty
(
number
))
{
cbProjectOther
.
setParentId
(
rootMeasuresId
);
cbProjectOther
.
setLevel
(
1
);
}
else
{
//保存一级节点
if
(
ReUtil
.
isMatch
(
firstPattern
,
number
)
||
ReUtil
.
isMatch
(
pattern3
,
number
))
{
cbProjectOther
.
setParentId
(
rootMeasuresId
);
cbProjectOther
.
setLevel
(
1
);
}
else
if
(
ReUtil
.
isMatch
(
secondPattern
,
number
))
{
// 根据no查询父级节点
CbProjectOther
parentCbCostMeasure
=
getCbProjectOther
(
rootMeasuresId
,
number
,
projectId
,
cbStage
);
String
[]
split
=
number
.
split
(
"\\."
);
cbProjectOther
.
setLevel
(
split
.
length
);
cbProjectOther
.
setParentId
(
parentCbCostMeasure
.
getId
());
}
}
if
(
ObjectUtil
.
isNotEmpty
(
cbProjectOther
.
getDealWithNumber
()))
{
String
newNo
=
String
.
valueOf
(
rootMeasuresId
).
concat
(
"."
).
concat
(
cbProjectOther
.
getDealWithNumber
());
cbProjectOther
.
setDealWithNumber
(
newNo
);
...
...
@@ -277,7 +286,7 @@ public class CbProjectOtherServiceImpl extends ServiceImpl<CbProjectOtherMapper,
BeanUtil
.
copyProperties
(
importVo
,
projectExpenseSummary
);
projectExpenseSummary
.
setProjectId
(
projectId
);
projectExpenseSummary
.
setCbStage
(
cbStage
);
projectExpenseSummary
.
setDataType
(
1
);
projectExpenseSummary
.
setDataType
(
3
);
projectExpenseSummaryService
.
save
(
projectExpenseSummary
);
}
}
...
...
dsk-operate-ui/.env.development
View file @
6aa0d2e7
...
...
@@ -5,7 +5,7 @@ VUE_APP_TITLE = 重庆大司空信息科技有限公司
ENV = 'development'
# 数字化经营履约全生命链路管理系统/开发环境
VUE_APP_BASE_API = '
http://localhost:9098
'
VUE_APP_BASE_API = '
/prod-api
'
# 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true
...
...
dsk-operate-ui/src/assets/styles/supplierlist.scss
View file @
6aa0d2e7
.el-icon-arrow-down
{
color
:
#
C0C4CC
;
.el-icon-arrow-down
{
color
:
#
c0c4cc
;
}
.title_wrap
,
.el-divider
{
.title_wrap
,
.el-divider
{
border-color
:
#eee
;
}
.supplier
{
.supplier
{
padding
:
16px
24px
;
width
:
100%
;
height
:
100%
;
...
...
@@ -14,15 +15,26 @@
.search-supplier
{
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
border-radius
:
4px
4px
0px
0px
;
border-radius
:
4px
4px
0px
0px
;
overflow
:
hidden
;
.content-supplier
{
.el-form
{
.el-form-item
{
.el-form-item__label
{
min-width
:
82px
;
white-space
:
nowrap
;
}
}
}
}
}
::v-deep
.el-form
{
.el-form-item__label
{
::v-deep
.el-form
{
.el-form-item__label
{
font-weight
:
400
!
important
;
}
}
.el-form-item__label
{
.el-form-item__label
{
font-weight
:
400
;
}
.content-supplier
{
...
...
@@ -31,127 +43,131 @@
border-top-left-radius
:
4px
;
border-bottom-left-radius
:
4px
;
padding
:
20px
16px
4px
;
.el-form-item
{
.el-form-item
{
margin-bottom
:
16px
;
width
:
100%
;
}
.el-divider
{
.el-divider
{
margin-top
:
4px
;
margin-bottom
:
20px
;
}
.el-form-item__content
{
.el-form-item__content
{
width
:
calc
(
100%
-
100px
);
.el-cascader
,
.el-select
,
.el-date-editor
{
.el-cascader
,
.el-select
,
.el-date-editor
{
width
:
100%
;
}
.el-icon-date
{
.el-icon-date
{
display
:
none
;
}
.el-button--small
{
.el-button--small
{
font-size
:
14px
;
}
.el-button
+
.el-button
{
.el-button
+
.el-button
{
margin-left
:
12px
;
}
}
}
.table-supplier
{
.table-supplier
{
background
:
#fff
;
padding
:
16px
;
margin-top
:
16px
;
border-radius
:
0px
0px
4px
4px
;
&
.i
{
&
.i
{
margin-top
:
-20px
;
}
.total-title
{
.total-title
{
height
:
24px
;
line-height
:
24px
;
.totals
{
.totals
{
padding-left
:
6px
;
position
:
relative
;
font-size
:
12px
;
color
:
#3
D3D3D
;
color
:
#3
d3d3d
;
display
:
inline-block
;
&
:
:
before
{
content
:
' '
;
&
:
:
before
{
content
:
" "
;
position
:
absolute
;
width
:
2px
;
height
:
2px
;
background
:
rgba
(
35
,
35
,
35
,
0
.4
);
background
:
rgba
(
35
,
35
,
35
,
0
.4
);
border-radius
:
50%
;
left
:
0
;
top
:
12px
;
}
}
.total-dc
{
.total-dc
{
float
:
right
;
cursor
:
pointer
;
img
{
img
{
width
:
18px
;
margin-right
:
6px
;
margin-top
:
-4px
;
}
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
margin-bottom
:
16px
;
}
.pagination
{
.pagination
{
text-align
:
right
;
margin-right
:
-10px
;
margin-top
:
16px
;
}
.table-item
.el-table
.is-scrolling-left
+
.el-table__fixed
,
.table-item
.el-table
.is-scrolling-middle
+
.el-table__fixed
,
.table-item
.el-table
.is-scrolling-right
+
.el-table__fixed
{
.table-item
.el-table
.is-scrolling-left
+
.el-table__fixed
,
.table-item
.el-table
.is-scrolling-middle
+
.el-table__fixed
,
.table-item
.el-table
.is-scrolling-right
+
.el-table__fixed
{
bottom
:
10px
!
important
;
}
.cell
a
:hover
{
.cell
a
:hover
{
color
:
#0081ff
;
}
.tabs
{
.tabs
{
margin-right
:
20px
;
&
:last-child
{
&
:last-child
{
margin
:
0
;
}
}
}
.dialog-supplier
{
.el-dialog__header
{
.dialog-supplier
{
.el-dialog__header
{
line-height
:
24px
;
padding
:
16px
20px
;
font-size
:
16px
;
color
:
#232323
;
font-weight
:
700
;
border-bottom
:
1px
solid
#
E5E6EB
;
border-bottom
:
1px
solid
#
e5e6eb
;
}
.el-dialog__body
{
.el-dialog__body
{
padding
:
20px
;
}
}
.title_wrap.i
{
.title_wrap.i
{
border
:
0
;
}
.access-content
{
.access-content
{
background
:
#fff
;
border-radius
:
0
0
4px
4px
;
.tabpane
.el-tabs__header
{
.tabpane
.el-tabs__header
{
margin-top
:
-14px
;
}
.acc-title
{
.acc-title
{
line-height
:
22px
;
&
.i
{
&
.i
{
margin-top
:
24px
;
}
}
.main3-box
{
margin-top
:
16px
;
border-top
:
1px
solid
#
E6E9F
0
;
border-top
:
1px
solid
#
e6e9f
0
;
p
{
display
:
flex
;
margin
:
0
;
border-left
:
1px
solid
#
E6E9F
0
;
border-right
:
1px
solid
#
E6E9F
0
;
border-bottom
:
1px
solid
#
E6E9F
0
;
border-left
:
1px
solid
#
e6e9f
0
;
border-right
:
1px
solid
#
e6e9f
0
;
border-bottom
:
1px
solid
#
e6e9f
0
;
background
:
#fff
;
.label
{
width
:
10%
;
...
...
@@ -159,7 +175,7 @@
font-weight
:
400
;
font-size
:
12px
;
padding
:
12px
;
background
:
#
F0F3FA
;
background
:
#
f0f3fa
;
display
:
flex
;
align-items
:
center
;
}
...
...
@@ -177,82 +193,80 @@
width
:
90%
;
}
.blue
{
color
:
#0081
FF
!
important
;
color
:
#0081
ff
!
important
;
cursor
:
pointer
;
}
.tab
{
border-right
:
1px
solid
#
E6E9F
0
;
.tab
{
border-right
:
1px
solid
#
e6e9f
0
;
}
.tab
:nth-child
(
1
)
{
.tab
:nth-child
(
1
)
{
width
:
20%
;
}
.tab
:nth-child
(
2
)
{
.tab
:nth-child
(
2
)
{
width
:
15%
;
}
.tab
:nth-child
(
3
)
{
.tab
:nth-child
(
3
)
{
width
:
10%
;
}
.tab
:nth-child
(
4
)
{
.tab
:nth-child
(
4
)
{
width
:
35%
;
}
.tab
:nth-child
(
5
)
{
.tab
:nth-child
(
5
)
{
width
:
20%
;
}
}
}
.table-box
{
.table-box
{
margin-top
:
16px
;
border
:
1px
solid
#
E6E9F
0
;
border
:
1px
solid
#
e6e9f
0
;
width
:
100%
;
border-top
:
0
;
thead
{
background
:
#
F0F3FA
;
thead
{
background
:
#
f0f3fa
;
}
tr
:nth-child
(
2n
+
1
)
{
background
:
#
F9FCFF
;
tr
:nth-child
(
2n
+
1
)
{
background
:
#
f9fcff
;
}
tr
:hover
{
tr
:hover
{
background
:
#dcebff
;
}
td
{
border-top
:
1px
solid
#
E6E9F
0
;
border-right
:
1px
solid
#
E6E9F
0
;
td
{
border-top
:
1px
solid
#
e6e9f
0
;
border-right
:
1px
solid
#
e6e9f
0
;
height
:
auto
;
font-weight
:
400
;
font-size
:
12px
;
padding
:
12px
;
}
.blue
{
.blue
{
color
:
#0081ff
;
cursor
:
pointer
;
}
}
}
.table-supplier
.fixed-table
.el-table__fixed-header-wrapper
{
.table-supplier
.fixed-table
.el-table__fixed-header-wrapper
{
top
:
-16px
!
important
;
}
.renling
{
.renling
{
width
:
280px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
.ellipsis
{
.ellipsis
{
width
:
500px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
.el-range-editor--medium
{
.el-range-editor--medium
{
text-align
:
left
;
}
.el-date-editor
.el-range-input
{
.el-date-editor
.el-range-input
{
text-align
:
left
;
}
.wrap2
{
.wrap2
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-
webkit-box
;
...
...
dsk-operate-ui/src/views/monitoring/EnterpriseMonitoring.vue
View file @
6aa0d2e7
...
...
@@ -229,7 +229,7 @@
},
methods
:
{
async
querySubmit
()
{
companyPage
(
this
.
queryParams
queryParams
).
then
(
res
=>
{
companyPage
(
this
.
queryParams
).
then
(
res
=>
{
this
.
isSkeleton
=
false
;
this
.
tableData
=
res
.
rows
this
.
tableDataTotal
=
res
.
total
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/DirectCost/index.vue
View file @
6aa0d2e7
...
...
@@ -245,8 +245,8 @@ export default {
return
''
;
},
handleDialogVisible
(
row
){
this
.
ruleForm
=
{}
this
.
dialogVisible
=
true
;
console
.
log
(
row
)
this
.
detailsId
=
row
.
id
;
},
handleAdd
(){
...
...
@@ -254,7 +254,11 @@ export default {
this
.
ruleForm
.
qingId
=
this
.
detailsId
cbDirectExpenseAdd
(
JSON
.
stringify
(
this
.
ruleForm
)).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
dialogVisible
=
false
this
.
dialogVisible
=
false
;
this
.
$message
({
type
:
'success'
,
message
:
'操作成功'
});
this
.
getCbDirectExpenseList
(
this
.
menuId
)
}
})
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/FeedSummary/index.vue
View file @
6aa0d2e7
...
...
@@ -27,7 +27,7 @@
<el-button
type=
"primary"
size=
"medium"
class=
"unit-conversion-btn"
v-if=
"currentParentName.indexOf('实体工程材料') != -1"
>
单位换算
</el-button>
<!-- 填写实际成本 -->
<el-button
type=
"primary"
size=
"medium"
class=
"actual-cost-btn"
v-else
@
click=
"
fillActualCost
"
>
{{addActualCostEditStatus ? '保存成本' : '填写实际成本'}}
</el-button>
@
click=
"
addActualCostEditStatus ? saveActualCost() : fillActualCost()
"
>
{{addActualCostEditStatus ? '保存成本' : '填写实际成本'}}
</el-button>
<!-- 表头设置组件 -->
<dsk-table-header-setting
:settingList=
"formColum"
@
settingChange=
"settingChange"
></dsk-table-header-setting>
</div>
...
...
@@ -159,7 +159,7 @@ export default {
},
{
label
:
'推送工程量'
,
prop
:
"pushQuantities"
,
width
:
"95"
,
uid
:
v4
()
},
{
label
:
'备注'
,
prop
:
"remark"
,
width
:
"115"
,
uid
:
v4
(),
slot
:
true
},
{
label
:
'操作'
,
prop
:
"action-field-bar"
,
width
:
"99"
,
uid
:
v4
()
},
{
label
:
'操作'
,
prop
:
"action-field-bar"
,
width
:
"99"
,
uid
:
v4
()
,
fixed
:
"right"
},
],
// 已记录月份集合
monthList
:
[],
...
...
@@ -230,6 +230,9 @@ export default {
console
.
log
(
error
);
}
},
getNowMonth
()
{
return
dayjs
(
new
Date
().
valueOf
()).
format
(
"YYYYMM"
);
},
createRequestConditions
()
{
const
{
projectId
,
cbStage
}
=
this
.
comProjectDetailInfo
;
const
params
=
{
...
...
@@ -238,7 +241,7 @@ export default {
};
params
[
"cbSubjectName"
]
=
this
.
currentNodeName
;
// 判断当月是否存在于server返回month集合中
const
_now
=
dayjs
(
new
Date
().
valueOf
()).
format
(
"YYYYMM"
);
const
_now
=
this
.
getNowMonth
(
);
if
(
this
.
includeNowMonth
(
_now
))
{
params
[
"recordDate"
]
=
_now
;
}
...
...
@@ -264,7 +267,7 @@ export default {
if
(
list
.
code
==
200
&&
list
.
data
instanceof
Array
)
{
const
_temp
=
list
.
data
;
// 计算总和
if
(
this
.
hasTarget
)
{
if
(
this
.
hasTarget
&&
_temp
.
length
)
{
const
row
=
this
.
countRowParams
(
_temp
,
statisticsPropNames
);
_temp
.
unshift
(
row
);
}
...
...
@@ -324,7 +327,7 @@ export default {
if
(
monthList
.
code
==
200
&&
monthList
.
data
instanceof
Array
)
{
const
data
=
monthList
.
data
;
this
.
originMonthList
=
cloneDeep
(
data
);
const
_now
=
dayjs
(
new
Date
().
valueOf
()).
format
(
"YYYYMM"
);
const
_now
=
this
.
getNowMonth
(
);
this
.
recordDate
=
_now
;
this
.
oldRecordDate
=
_now
;
// 默认以当前月数据为准 若不包含当前月 需要手动push数据
...
...
@@ -332,9 +335,7 @@ export default {
data
.
push
(
_now
);
}
// 年月排序
let
_tempMonthList
=
data
.
sort
((
before
,
after
)
=>
{
return
parseInt
(
after
)
-
parseInt
(
before
);
});
let
_tempMonthList
=
this
.
monthsSort
(
data
);
_tempMonthList
=
_tempMonthList
.
map
(
item
=>
{
return
{
label
:
dayjs
(
item
).
format
(
"YYYY年MM月"
),
...
...
@@ -347,23 +348,31 @@ export default {
}
},
monthsSort
(
monthList
)
{
const
sortResult
=
monthList
.
sort
((
before
,
after
)
=>
{
const
_before
=
Object
.
prototype
.
toString
.
call
(
before
)
==
"[object Object]"
?
before
[
"value"
]
:
before
;
const
_after
=
Object
.
prototype
.
toString
.
call
(
before
)
==
"[object Object]"
?
after
[
"value"
]
:
after
;
return
parseInt
(
_after
)
-
parseInt
(
_before
);
});
return
sortResult
;
},
monthChange
(
month
)
{
this
.
resetEditStatus
();
// 当前月
const
_now
=
dayjs
(
new
Date
().
valueOf
()).
format
(
"YYYYMM"
);
const
_now
=
this
.
getNowMonth
(
);
// 请求列表参数
const
params
=
this
.
createRequestConditions
();
// 清空了年月默认选中当前月
if
(
!
month
)
{
this
.
recordDate
=
_now
;
// 如果命中的旧月份 等于当前月 说明清空的是当前月 不调用接口
if
(
this
.
oldRecordDate
==
_now
)
return
;
// 如果命中的旧月份 等于当前月
且 不处于编辑状态
说明清空的是当前月 不调用接口
if
(
this
.
oldRecordDate
==
_now
&&
!
this
.
addActualCostEditStatus
)
return
;
}
else
{
// 正常选择
params
[
"recordDate"
]
=
month
;
// 记录历史切换年月
this
.
oldRecordDate
=
month
;
}
this
.
resetEditStatus
();
// 获取列表数据
this
.
getFeedSummaryList
(
params
);
},
...
...
@@ -396,27 +405,50 @@ export default {
fillActualCost
()
{
this
.
showAddActualCost
=
true
;
},
// 保存
saveActualCost
()
{
},
// 编辑状态下 进行了其它操作
resetEditStatus
()
{
// 当前需要编辑或者新增的成本年份
const
_selectActualCostTime
=
this
.
selectActualCostTime
;
this
.
addActualCostEditStatus
=
false
;
this
.
selectActualCostTime
=
""
;
/**
* 判断 当前需要编辑 或者新增的成本年份是否存在于server返回的month数组中
* 默认本月
*/
if
(
!
this
.
originMonthList
.
includes
(
_selectActualCostTime
)
&&
_selectActualCostTime
!=
this
.
getNowMonth
())
{
const
index
=
this
.
monthList
.
findIndex
(
item
=>
item
.
value
==
_selectActualCostTime
);
if
(
index
!=
-
1
)
{
this
.
monthList
.
splice
(
index
,
1
);
}
}
},
async
timeSelect
(
selectTime
)
{
// 编辑状态
this
.
addActualCostEditStatus
=
true
;
this
.
selectActualCostTime
=
selectTime
;
// 判断是否包含 选择的年月 包含则修改 未包含则新增
const
findReslut
=
this
.
originMonthList
.
includes
(
selectTime
);
// 包含所选月
if
(
findReslut
)
{
this
.
recordDate
=
selectTime
;
const
findReslut
=
this
.
originMonthList
.
includes
(
selectTime
)
||
this
.
monthList
.
find
(
item
=>
item
.
value
==
selectTime
);
const
params
=
this
.
createRequestConditions
();
if
(
!
findReslut
)
{
// 不包含当前所选月 新增数据
let
_temp
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
monthList
));
_temp
.
push
({
label
:
dayjs
(
selectTime
).
format
(
"YYYY年MM月"
),
value
:
selectTime
});
_temp
=
this
.
monthsSort
(
_temp
);
console
.
log
(
_temp
);
this
.
monthList
=
_temp
;
}
this
.
recordDate
=
selectTime
;
this
.
oldRecordDate
=
selectTime
;
params
[
"recordDate"
]
=
selectTime
;
// 获取选中月数据
await
this
.
getFeedSummaryList
(
params
);
}
else
{
// 不包含当前所选月 新增数据
}
}
},
}
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/ProjectDetailHeader.vue
View file @
6aa0d2e7
...
...
@@ -6,7 +6,8 @@
<div
class=
"project-detail-header-name"
>
{{
comDetailInfo
.
projectName
?
comDetailInfo
.
projectName
:
"-"
}}
</div>
<!-- 项目信息 -->
<div
class=
"project-detail-plate"
>
<div
class=
"detail-plate-item project-code"
v-if=
"isShowProjectCode.includes(current)"
>
<div
class=
"detail-plate-item project-code"
>
<!--
<div
class=
"detail-plate-item project-code"
v-if=
"isShowProjectCode.includes(current)"
>
-->
<span
class=
"plate-item-name"
>
项目编码:
</span>
<span>
{{
comDetailInfo
.
ipmProjectNo
?
comDetailInfo
.
ipmProjectNo
:
"-"
}}
</span>
</div>
...
...
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