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
c8c0cac4
Commit
c8c0cac4
authored
Apr 24, 2024
by
danfuman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
547fe1e7
Changes
6
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
403 additions
and
52 deletions
+403
-52
index.js
dsk-operate-ui/src/api/projectCostLedger/index.js
+25
-18
index.vue
dsk-operate-ui/src/components/CustomTable/index.vue
+7
-3
editDialog.vue
...r/detail/components/FeedSummary/components/editDialog.vue
+268
-0
index.vue
...projectCostLedger/detail/components/FeedSummary/index.vue
+83
-29
index.vue
...rojectCostLedger/detail/components/MeasureItems/index.vue
+15
-1
ProjectMenuItem.vue
...ger/detail/components/ProjectSideMenu/ProjectMenuItem.vue
+5
-1
No files found.
dsk-operate-ui/src/api/projectCostLedger/index.js
View file @
c8c0cac4
...
@@ -274,6 +274,13 @@ export const pushFeedSummaryRowsApi = (data) => request({
...
@@ -274,6 +274,13 @@ export const pushFeedSummaryRowsApi = (data) => request({
data
data
});
});
//修改工程用量
export
const
editEngineeringQuantityApi
=
(
data
)
=>
request
({
url
:
"/cb/quantity/summary/editEngineeringQuantity"
,
method
:
"POST"
,
data
});
//工程项目信息
//工程项目信息
...
...
dsk-operate-ui/src/components/CustomTable/index.vue
View file @
c8c0cac4
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<div
class=
"custom-table-item"
>
<div
class=
"custom-table-item"
>
<el-table
v-if=
"tableDataTotal>0"
class=
"custom-table"
v-loading=
"comTableLoading"
:data=
"tableData"
element-loading-text=
"加载中"
<el-table
v-if=
"tableDataTotal>0"
class=
"custom-table"
v-loading=
"comTableLoading"
:data=
"tableData"
element-loading-text=
"加载中"
ref=
"customTableRef"
border
fit
highlight-current-row
:default-sort=
"defaultSort?defaultSort:
{}" @sort-change="sortChange"
ref=
"customTableRef"
border
fit
highlight-current-row
:default-sort=
"defaultSort?defaultSort:
{}" @sort-change="sortChange"
@selection-change="selectionChange" @expand-change="expandChange" :cell-class-name="cellClassName" :cell-style="cellStyle"
@selection-change="selectionChange" @expand-change="expandChange" :cell-class-name="cellClassName" :cell-style="cellStyle"
:header-cell-class-name="headerCellClassName"
:row-class-name="rowClassName" :row-style="rowStyle" :row-key="rowKey" :lazy="lazy" :load="loadFn" :tree-props="treeOptions"
:row-class-name="rowClassName" :row-style="rowStyle" :row-key="rowKey" :lazy="lazy" :load="loadFn" :tree-props="treeOptions"
:default-expand-all="defaultExpandAll" :indent="indent" :height="height" :maxHeight="comMaxHeight" v-sticky-header="stickyHeader">
:default-expand-all="defaultExpandAll" :indent="indent" :height="height" :maxHeight="comMaxHeight" v-sticky-header="stickyHeader">
...
@@ -56,6 +56,10 @@ export default {
...
@@ -56,6 +56,10 @@ export default {
type
:
Function
,
type
:
Function
,
default
:
()
=>
{
}
default
:
()
=>
{
}
},
},
headerCellClassName
:
{
type
:
Function
,
default
:
()
=>
{
}
},
cellStyle
:
{
cellStyle
:
{
type
:
Function
,
type
:
Function
,
default
:
()
=>
{
}
default
:
()
=>
{
}
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/FeedSummary/components/editDialog.vue
0 → 100644
View file @
c8c0cac4
<
template
>
<el-dialog
title=
"修改工程量"
:visible=
"comPushProjectUseDialog"
width=
"480px"
class=
"push-project-use-dialog"
@
close=
"dialogClose"
@
open=
"dialogOpen"
:close-on-click-modal=
"false"
:destroy-on-close=
"true"
>
<div
class=
"dialog-body-content"
>
<el-form
:model=
"pushForm"
ref=
"pushForm"
:rules=
"rules"
class=
"push-form"
>
<el-form-item
label=
"分包项目名称"
>
<el-input
:value=
"pushForm.projectName"
:disabled=
"true"
></el-input>
</el-form-item>
<el-form-item
label=
"成本科目"
>
<el-input
:value=
"pushForm.cbSubjectName"
:disabled=
"true"
></el-input>
</el-form-item>
<el-form-item
label=
"名称"
>
<el-input
:value=
"pushForm.cbName"
:disabled=
"true"
></el-input>
</el-form-item>
<el-form-item
label=
"编码"
>
<el-input
:value=
"pushForm.companyNo"
:disabled=
"true"
></el-input>
</el-form-item>
<el-form-item
label=
"IPM本月工程量"
prop=
"ipmProjectCode"
>
<el-input
v-model=
"pushForm.quantities"
:disabled=
"true"
></el-input>
</el-form-item>
<!-- 修改后工程量-->
<el-form-item
label=
"修改后工程量"
prop=
"pushQuantities"
>
<el-input
v-model=
"pushForm.pushQuantities"
placeholder=
"请填写需要展示的工程量"
></el-input>
</el-form-item>
</el-form>
</div>
<!-- 底部按钮 -->
<div
class=
"dialog-footer-content"
>
<div
class=
"footer-btn cancel-submit"
@
click=
"cancelSubmit"
>
取消
</div>
<div
class=
"footer-btn ok-submit"
@
click=
"pushResult"
>
确定修改
</div>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
subtract
,
targetIsNegative
,
add
}
from
"@/utils/decimal"
;
import
{
cloneDeep
}
from
'lodash-es'
;
export
default
{
name
:
"pushProjectUseDialog"
,
model
:
{
prop
:
"pushProjectUseDialog"
,
event
:
"close"
},
props
:
{
pushProjectUseDialog
:
{
type
:
Boolean
,
default
:
false
},
isEntityMaterials
:
{
type
:
Boolean
,
default
:
false
},
rowData
:
{
type
:
Object
,
default
:
()
=>
({})
}
},
watch
:
{
pushProjectUseDialog
:
{
handler
(
newValue
,
oldValue
)
{
this
.
comPushProjectUseDialog
=
newValue
;
}
},
rowData
:
{
handler
(
newValue
,
oldValue
)
{
const
_temp
=
newValue
?
newValue
:
{};
this
.
pushForm
=
cloneDeep
({
...
this
.
pushForm
,
...
_temp
});
}
}
},
data
()
{
return
{
comPushProjectUseDialog
:
this
.
pushProjectUseDialog
,
pushForm
:
{
id
:
""
,
pushQuantities
:
""
,
cbSubjectName
:
""
,
cbName
:
""
,
companyNo
:
""
,
quantities
:
""
,
projectName
:
""
,
},
rules
:
{
pushQuantities
:
[
{
required
:
true
,
trigger
:
[
"blur"
,
"change"
],
message
:
"请填写需要展示的工程量"
,
whitespace
:
true
}
]
}
};
},
//可访问data属性
created
()
{
},
//计算集
computed
:
{
},
//方法集
methods
:
{
// 验证需推送工程量
pushQuantitiesValidator
(
maxValue
)
{
return
[{
trigger
:
[
'blur'
,
'change'
],
validator
:
(
rule
,
value
,
callback
)
=>
{
const
reg
=
/^
(?!
0
\d)(?!
0+$
)(?!
0*
\.
0*$
)\d
+
(\.\d
+
)?
$/
;
if
(
!
reg
.
test
(
value
))
return
callback
(
new
Error
(
"请输入正确的工程量"
));
const
_maxValue
=
maxValue
?
maxValue
:
0
;
if
(
targetIsNegative
(
subtract
(
_maxValue
,
value
)))
return
callback
(
new
Error
(
"注:推送工程量不得大于实际产生的总工程量"
));
callback
();
}
}];
},
clearValidate
()
{
const
form
=
this
.
$refs
[
"pushForm"
];
if
(
form
)
form
.
clearValidate
();
},
dialogClose
()
{
this
.
$emit
(
"dialogClose"
);
this
.
pushForm
=
this
.
$options
.
data
.
call
(
this
).
pushForm
;
this
.
clearValidate
();
this
.
$emit
(
"close"
,
false
);
},
dialogOpen
()
{
},
cancelSubmit
()
{
this
.
comPushProjectUseDialog
=
false
;
},
//推送工程量
pushResult
()
{
this
.
$refs
[
"pushForm"
].
validate
(
flag
=>
{
if
(
flag
)
{
const
{
id
,
pushQuantities
}
=
cloneDeep
(
this
.
pushForm
);
this
.
$emit
(
"submitEditData"
,
{
id
,
pushQuantities
,
});
}
});
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.push-project-use-dialog
{
::v-deep
.el-dialog
{
margin-top
:
0px
!
important
;
margin
:
0px
;
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
.el-dialog__header
{
height
:
56px
;
padding
:
0px
20px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
border-bottom
:
1px
solid
#eeeeee
;
border-top-left-radius
:
4px
;
border-top-right-radius
:
4px
;
.el-dialog__title
{
color
:
#232323
;
font-size
:
16px
;
font-weight
:
bold
;
}
.el-dialog__headerbtn
{
position
:
static
;
width
:
16px
;
height
:
16px
;
}
}
.el-dialog__body
{
padding
:
0px
;
.dialog-body-content
{
padding
:
24px
20px
;
box-sizing
:
border-box
;
.push-form
{
.el-form-item
{
&
.is-error
{
margin-bottom
:
33px
;
}
margin-bottom
:
16px
;
display
:
flex
;
align-items
:
center
;
.el-form-item__label
{
width
:
98px
;
min-width
:
98px
;
line-height
:
20px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
font-weight
:
350
;
font-size
:
14px
;
text-align
:
right
;
padding-right
:
0px
;
margin-right
:
16px
;
white-space
:
nowrap
;
}
.el-form-item__content
{
width
:
100%
;
line-height
:
32px
;
.el-input
{
&
.is-disabled
{
.el-input__inner
{
background
:
#fff
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
}
}
}
.el-input__inner
{
line-height
:
32px
;
height
:
32px
;
border-radius
:
2px
;
padding
:
0px
7px
;
::placeholder
{
color
:
#c0c4cc
!
important
;
}
}
}
}
}
}
.dialog-footer-content
{
padding
:
16px
20px
;
box-sizing
:
border-box
;
border-top
:
1px
solid
#eeeeee
;
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-end
;
.footer-btn
{
height
:
32px
;
padding
:
0px
16px
;
font-size
:
14px
;
font-weight
:
350
;
box-sizing
:
border-box
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
border-radius
:
4px
;
cursor
:
pointer
;
&
.cancel-submit
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
background
:
#fff
;
border
:
1px
solid
#dcdfe6
;
margin-right
:
12px
;
}
&
.ok-submit
{
color
:
#fff
;
background
:
#0081ff
;
}
}
}
}
}
}
</
style
>
dsk-operate-ui/src/views/projectCostLedger/detail/components/FeedSummary/index.vue
View file @
c8c0cac4
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/projectCostLedger/detail/components/MeasureItems/index.vue
View file @
c8c0cac4
...
@@ -95,7 +95,7 @@
...
@@ -95,7 +95,7 @@
<el-table-column
label=
"本月工程量"
width=
"130"
prop=
"projectVolume"
>
<el-table-column
label=
"本月工程量"
width=
"130"
prop=
"projectVolume"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"isinput"
>
<template
v-if=
"isinput"
>
<el-input
v-model=
"scope.row.projectVolume "
></el-input>
<el-input
@
blur=
"projectValue"
v-model=
"scope.row.projectVolume "
></el-input>
</
template
>
</
template
>
<
template
v-else
>
{{
scope
.
row
.
projectVolume
||
'--'
}}
</
template
>
<
template
v-else
>
{{
scope
.
row
.
projectVolume
||
'--'
}}
</
template
>
</template>
</template>
...
@@ -299,6 +299,17 @@
...
@@ -299,6 +299,17 @@
},
},
//方法集
//方法集
methods
:
{
methods
:
{
projectValue
(){
console
.
log
(
this
.
tableData
,
"|||||||"
)
for
(
var
i
=
0
;
i
<
this
.
tableData
.
length
;
i
++
){
let
value
=
0
for
(
var
j
=
0
;
j
<
this
.
tableData
[
i
].
children
.
length
;
j
++
){
value
+=
Number
(
this
.
tableData
[
i
].
children
[
j
].
projectVolume
)
}
this
.
tableData
[
i
].
projectVolume
=
value
console
.
log
(
value
)
}
},
async
getHeight
(
list
){
async
getHeight
(
list
){
this
.
nowheight
=
new
ResizeObserver
(
entries
=>
{
this
.
nowheight
=
new
ResizeObserver
(
entries
=>
{
this
.
clearResizeTimer
();
this
.
clearResizeTimer
();
...
@@ -509,6 +520,9 @@
...
@@ -509,6 +520,9 @@
item
.
month
=
this
.
expenseDate
item
.
month
=
this
.
expenseDate
item
.
monthCostRate
=
item
.
monthCostRate
?
parseInt
(
item
.
monthCostRate
.
replace
(
'%'
,
''
)):
null
item
.
monthCostRate
=
item
.
monthCostRate
?
parseInt
(
item
.
monthCostRate
.
replace
(
'%'
,
''
)):
null
})
})
console
.
log
(
tables
,
"|||||"
)
saveBatch
(
JSON
.
stringify
(
tables
)).
then
(
res
=>
{
saveBatch
(
JSON
.
stringify
(
tables
)).
then
(
res
=>
{
if
(
res
.
code
==
200
){
if
(
res
.
code
==
200
){
this
.
$message
.
success
(
res
.
msg
)
this
.
$message
.
success
(
res
.
msg
)
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/ProjectSideMenu/ProjectMenuItem.vue
View file @
c8c0cac4
...
@@ -60,7 +60,11 @@ export default {
...
@@ -60,7 +60,11 @@ export default {
//计算集
//计算集
computed
:
{
computed
:
{
checkHasChidren
()
{
checkHasChidren
()
{
return
!!
(
this
.
menuItem
&&
this
.
menuItem
?.
children
?.
length
);
let
state
=
false
if
(
this
.
menuItem
?.
children
){
state
=
this
.
menuItem
?.
children
[
0
].
nodeName
?
true
:
false
}
return
!!
(
this
.
menuItem
&&
this
.
menuItem
?.
children
?.
length
&&
state
);
},
},
},
},
//方法集
//方法集
...
...
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