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
Hide 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({
data
});
//修改工程用量
export
const
editEngineeringQuantityApi
=
(
data
)
=>
request
({
url
:
"/cb/quantity/summary/editEngineeringQuantity"
,
method
:
"POST"
,
data
});
//工程项目信息
...
...
@@ -383,8 +390,8 @@ export const getFieldExpensesOtherListApi = (params = {}) => request({
/**
* 成本汇总左侧一级菜单
* @param {*} params
* @returns
* @param {*} params
* @returns
*/
export
const
getCostSummaryMenuTreeApi
=
(
params
=
{})
=>
request
({
url
:
"/cbSummary/cbNameList"
,
...
...
@@ -394,8 +401,8 @@ export const getCostSummaryMenuTreeApi = (params = {}) => request({
/**
* 成本汇总已添加成本月份
* @param {*} params
* @returns
* @param {*} params
* @returns
*/
export
const
getCostSummaryMonthListApi
=
(
params
=
{})
=>
request
({
url
:
"/cbSummary/expenseDateList"
,
...
...
@@ -405,8 +412,8 @@ export const getCostSummaryMonthListApi = (params = {}) => request({
/**
* 获取成本汇总数据列表 懒加载
* @param {*} params
* @returns
* @param {*} params
* @returns
*/
export
const
getCostSummaryListApi
=
(
params
=
{})
=>
request
({
url
:
"/cbSummary/list"
,
...
...
@@ -416,8 +423,8 @@ export const getCostSummaryListApi = (params = {}) => request({
/**
* 获取全量成本汇总列表
* @param {*} params
* @returns
* @param {*} params
* @returns
*/
export
const
getCostSummaryAllListApi
=
(
params
=
{})
=>
request
({
url
:
"/cbSummary/allList"
,
...
...
@@ -427,8 +434,8 @@ export const getCostSummaryAllListApi = (params = {}) => request({
/**
* 锁定成本前提示未填项
* @param {*} params
* @returns
* @param {*} params
* @returns
*/
export
const
validateBeforeCostLockApi
=
(
params
=
{})
=>
request
({
url
:
"/cbSummary/getUnfilled"
,
...
...
@@ -438,8 +445,8 @@ export const validateBeforeCostLockApi = (params = {}) => request({
/**
* 确定锁定成本
* @param {*} data
* @returns
* @param {*} data
* @returns
*/
export
const
setCostLockApi
=
(
data
=
{})
=>
request
({
url
:
"/cbSummary/lockActual"
,
...
...
@@ -449,8 +456,8 @@ export const setCostLockApi = (data = {}) => request({
/**
* 获取已经锁定成本月份
* @param {*} params
* @returns
* @param {*} params
* @returns
*/
export
const
getLockMonthListApi
=
(
params
=
{})
=>
request
({
url
:
"/cbSummary/expenseDateList/locked"
,
...
...
@@ -460,8 +467,8 @@ export const getLockMonthListApi = (params = {}) => request({
/**
* 成本汇总导出
* @param {*} data
* @returns
* @param {*} data
* @returns
*/
export
const
exportCostLockExcelApi
=
(
data
=
{})
=>
request
({
url
:
"/cbSummary/export"
,
...
...
@@ -473,8 +480,8 @@ export const exportCostLockExcelApi = (data = {}) => request({
/**
* 编辑成本 保存成本
* @param {*} data
* @returns
* @param {*} data
* @returns
*/
export
const
saveCostModifyApi
=
(
data
=
{})
=>
request
({
url
:
"/cbSummary/editActual"
,
...
...
dsk-operate-ui/src/components/CustomTable/index.vue
View file @
c8c0cac4
...
...
@@ -5,7 +5,7 @@
<div
class=
"custom-table-item"
>
<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"
@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"
:default-expand-all="defaultExpandAll" :indent="indent" :height="height" :maxHeight="comMaxHeight" v-sticky-header="stickyHeader">
...
...
@@ -56,6 +56,10 @@ export default {
type
:
Function
,
default
:
()
=>
{
}
},
headerCellClassName
:
{
type
:
Function
,
default
:
()
=>
{
}
},
cellStyle
:
{
type
:
Function
,
default
:
()
=>
{
}
...
...
@@ -235,7 +239,7 @@ export default {
if
(
isFixedNumber
&&
!
resize
)
{
containerMaxHeight
=
this
.
maxHeight
;
}
else
{
/**
/**
* @type {HTMLDivElement}
*/
const
container
=
this
.
$el
;
...
...
@@ -248,7 +252,7 @@ export default {
this
.
comMaxHeight
=
containerMaxHeight
?
`
${
containerMaxHeight
}
px`
:
null
;
// 重新计算表格高度 有横向滚动条则需要减去滚动条高度差 16 - 6 有固定列的情况
if
(
containerMaxHeight
)
{
/**
/**
* @type {HTMLDivElement}
*/
const
tableFixedHeader
=
this
.
$el
.
querySelector
(
".el-table__fixed-header-wrapper"
);
...
...
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
...
...
@@ -21,13 +21,17 @@
<el-option
v-for=
"item in monthList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
<el-select
v-model=
"isOutPlanCostCombinedPrice"
placeholder=
"成本控制情况"
class=
"project-month-select-options"
@
change=
"priceChange"
clearable
style=
"margin-left: 16px;"
>
<el-option
label=
"超出计划成本"
value=
"超出计划成本"
></el-option>
<el-option
label=
"未超出计划成本"
value=
"未超出计划成本"
></el-option>
</el-select>
</div>
<div
class=
"project-table-list-haeder-right"
>
<!-- 实体工程材料单位换算 -->
<el-button
type=
"primary"
size=
"medium"
class=
"unit-conversion-btn"
v-if=
"isEntityMaterials"
>
单位换算
</el-button>
<!-- 填写实际成本 -->
<
el-button
type=
"primary"
size=
"medium"
class=
"actual-cost-btn"
v-else
@
click=
"addActualCostEditStatus ? saveActualCost() : fillActualCost()"
>
{{addActualCostEditStatus ? '保存成本' : '填写实际成本'}}
</el-button
>
<
!--<el-button type="primary" size="medium" class="actual-cost-btn" v-else-->
<!--@click="addActualCostEditStatus ? saveActualCost() : fillActualCost()">{{addActualCostEditStatus ? '保存成本' : '填写实际成本'}}</el-button>--
>
<!-- 表头设置组件 -->
<dsk-table-header-setting
:settingList=
"formColum"
@
settingChange=
"settingChange"
></dsk-table-header-setting>
</div>
...
...
@@ -38,13 +42,16 @@
<!-- 非实体工程材料列表 -->
<el-form
:model=
"dataForm"
ref=
"feedSummaryForm"
:show-message=
"false"
v-else-if=
"!isEntityMaterials"
class=
"feed-summary-form"
>
<custom-table
:tableData=
"dataForm.tableDataList"
:formColum=
"formColum"
:max-height=
"true"
:tableDataTotal=
"total"
:paging=
"false"
:cell-class-name=
"cellClassName"
>
:header-cell-class-name=
"headerCellClassName"
:cell-class-name=
"cellClassName"
>
<
template
slot=
"action-field-bar"
slot-scope=
"scope"
>
<div
class=
"project-action-field-bar"
v-if=
"rowCanEditInput(scope.rowIndex,hasTarget)"
>
<span
class=
"push-project-use"
:class=
"
{'is-emty-quantities' : rowHasLastPush(scope.rowIndex)}"
@click="!rowHasLastPush(scope.rowIndex) ? pushProjectUse(scope.row) : ''">推送工程量
</span>
<div
class=
"project-action-field-bar"
>
<span
class=
"push-project-use"
@
click=
"pushProjectUse(scope.row)"
>
修改工程量
</span>
</div>
<span
v-else
>
-
</span>
<!--
<div
class=
"project-action-field-bar"
v-if=
"rowCanEditInput(scope.rowIndex,hasTarget)"
>
-->
<!--
<span
class=
"push-project-use"
:class=
"
{'is-emty-quantities' : rowHasLastPush(scope.rowIndex)}"-->
<!--@click="!rowHasLastPush(scope.rowIndex) ? pushProjectUse(scope.row) : ''">修改工程量
</span>
-->
<!--
</div>
-->
<!--
<span
v-else
>
-
</span>
-->
</
template
>
<
template
slot=
"guidePrice"
slot-scope=
"scope"
>
{{
$decimalFormat
(
scope
.
row
.
guidePrice
)
}}
...
...
@@ -70,6 +77,10 @@
<
template
slot=
"pushQuantities"
slot-scope=
"scope"
>
{{
$decimalFormat
(
scope
.
row
.
pushQuantities
)
}}
</
template
>
<
template
slot=
"quantities"
slot-scope=
"scope"
>
<div
v-if=
"scope.row.pushQuantities"
style=
"color:#FF204E;"
>
{{
$decimalFormat
(
scope
.
row
.
quantities
)
}}
</div>
<div
v-else
>
{{
$decimalFormat
(
scope
.
row
.
quantities
)
}}
</div>
</
template
>
<!-- 本月工程量 -->
<
template
slot=
"quantities"
slot-scope=
"scope"
>
<!-- 编辑单元格 -->
...
...
@@ -123,9 +134,6 @@
<
template
slot=
"totalQuantities"
slot-scope=
"scope"
>
{{
$decimalFormat
(
scope
.
row
.
totalQuantities
)
}}
</
template
>
<
template
slot=
"quantities"
slot-scope=
"scope"
>
{{
$decimalFormat
(
scope
.
row
.
quantities
)
}}
</
template
>
<
template
slot=
"conversionQuantities"
slot-scope=
"scope"
>
{{
$decimalFormat
(
scope
.
row
.
conversionQuantities
)
}}
</
template
>
...
...
@@ -149,6 +157,9 @@
<push-project-use-dialog
v-model=
"pushProjectUseDialog"
:is-entity-materials=
"isEntityMaterials"
:row-data=
"pushProjectUseTemp"
@
dialogClose=
"dialogClose"
@
submitPushData=
"submitPushData"
></push-project-use-dialog>
<edit-Dialog
v-model=
"editDialog"
:row-data=
"pushProjectUseTemp"
@
dialogClose=
"editDialogClose"
@
submitEditData=
"submitEditData"
></edit-Dialog>
<!-- 单位换算弹窗 -->
<unit-conversion
v-if=
"showUnitConversion"
:isVisible=
"showUnitConversion"
:dataList=
"unitConversionList"
@
refresh=
"handleDialogVisible()"
></unit-conversion>
...
...
@@ -157,7 +168,7 @@
</template>
<
script
>
import
ProjectSideMenu
from
"@/views/projectCostLedger/detail/components/ProjectSideMenu"
;
import
{
getFeedSummaryMenuTreeApi
,
getFeedSummaryMonthListApi
,
getFeedSummaryListApi
,
getFeedSummaryConversionNotice
,
updateFeedSummaryRowsApi
,
pushFeedSummaryRowsApi
}
from
"@/api/projectCostLedger"
;
import
{
getFeedSummaryMenuTreeApi
,
getFeedSummaryMonthListApi
,
getFeedSummaryListApi
,
getFeedSummaryConversionNotice
,
updateFeedSummaryRowsApi
,
pushFeedSummaryRowsApi
,
editEngineeringQuantityApi
}
from
"@/api/projectCostLedger"
;
import
DskTableHeaderSetting
from
"@/components/DskTableHeaderSetting"
;
import
DskSkeleton
from
"@/components/DskSkeleton"
;
import
CustomTable
from
"@/components/CustomTable"
;
...
...
@@ -165,6 +176,7 @@ import EntityMaterialsTable from "@/components/CustomTable";
import
AddActualCost
from
"./components/AddActualCost"
;
import
unitConversion
from
"./components/unitConversion"
;
import
PushProjectUseDialog
from
"./components/PushProjectUseDialog"
;
import
editDialog
from
"./components/editDialog"
;
import
{
v4
}
from
'uuid'
;
import
dayjs
from
"dayjs"
;
import
{
cloneDeep
}
from
"lodash-es"
;
...
...
@@ -231,7 +243,8 @@ export default {
DskSkeleton
,
AddActualCost
,
unitConversion
,
PushProjectUseDialog
PushProjectUseDialog
,
editDialog
},
data
()
{
const
amountCheckValidator
=
(
rule
,
value
,
callback
)
=>
{
...
...
@@ -280,13 +293,13 @@ export default {
},
{
label
:
'实际成本'
,
prop
:
"sjcb"
,
align
:
"center"
,
uid
:
v4
(),
children
:
[
{
label
:
'本月工程量'
,
prop
:
"quantities"
,
minWidth
:
"160"
,
uid
:
v4
(),
slot
:
true
},
{
label
:
'
IPM
本月工程量'
,
prop
:
"quantities"
,
minWidth
:
"160"
,
uid
:
v4
(),
slot
:
true
},
{
label
:
'截止本月工程量'
,
prop
:
"totalQuantities"
,
minWidth
:
"160"
,
uid
:
v4
(),
slot
:
true
},
{
label
:
'本月采购单价'
,
prop
:
"purchaseUnitPrice"
,
minWidth
:
"160"
,
uid
:
v4
(),
slot
:
true
},
{
label
:
'填写时间'
,
prop
:
"createTime"
,
minWidth
:
"160"
,
uid
:
v4
(),
slot
:
true
},
]
},
{
label
:
'
推送工程量'
,
prop
:
"pushQuantities"
,
width
:
"95
"
,
uid
:
v4
(),
slot
:
true
},
{
label
:
'
修改后工程量'
,
prop
:
"pushQuantities"
,
width
:
"110
"
,
uid
:
v4
(),
slot
:
true
},
{
label
:
'备注'
,
prop
:
"remark"
,
width
:
"115"
,
uid
:
v4
(),
slot
:
true
},
{
label
:
'操作'
,
prop
:
"action-field-bar"
,
width
:
"99"
,
uid
:
v4
(),
fixed
:
"right"
},
],
...
...
@@ -333,6 +346,8 @@ export default {
recordDate
:
""
,
// 历史查询月份
oldRecordDate
:
""
,
//是否超出计划成本合价
isOutPlanCostCombinedPrice
:
''
,
// 当前选中子菜单的父类名称
currentParentName
:
""
,
// 当前选中的成本科目
...
...
@@ -353,16 +368,17 @@ export default {
lastScrollTop
:
0
,
// 推送工程量弹窗
pushProjectUseDialog
:
false
,
// 推送工程量数据缓存
//修改工程量弹窗
editDialog
:
false
,
// 修改工程量数据缓存
pushProjectUseTemp
:
{
id
:
""
,
pushQuantities
:
""
,
ipmProjectCod
e
:
""
,
ipmContractCod
e
:
""
,
ipmBizCode
:
""
,
totalQ
uantities
:
""
,
cbSubjectNam
e
:
""
,
cbNam
e
:
""
,
companyNo
:
""
,
q
uantities
:
""
,
projectName
:
""
,
ipmProjectNo
:
""
},
checkRules
:
{
amountCheck
:
[
...
...
@@ -576,6 +592,15 @@ export default {
// 获取列表数据
this
.
getFeedSummaryList
(
params
);
},
priceChange
(
value
){
// 请求列表参数
const
params
=
this
.
createRequestConditions
();
if
(
value
){
params
[
"isOutPlanCostCombinedPrice"
]
=
this
.
isOutPlanCostCombinedPrice
===
'超出计划成本'
?
true
:
false
;
}
// 获取列表数据
this
.
getFeedSummaryList
(
params
);
},
async
menuSelect
(
currentId
,
currentTemp
)
{
this
.
resetEditStatus
();
this
.
currentNodeName
=
currentId
;
...
...
@@ -702,7 +727,7 @@ export default {
},
0
);
return
sum
;
},
// 当前行是否可编辑
//
//
当前行是否可编辑
rowCanEditInput
(
index
,
hasTarget
)
{
// 不为id 0 或 不是劳务分包跟专业分包
return
index
!=
0
||
!
hasTarget
;
...
...
@@ -754,7 +779,7 @@ export default {
this
.
lastScrollTop
=
table
.
scrollTop
;
}
},
//
推送
工程用量
//
修改
工程用量
pushProjectUse
(
row
)
{
if
(
!
row
.
actualId
)
return
;
// 打开推送推送弹窗
...
...
@@ -762,15 +787,16 @@ export default {
...
this
.
pushProjectUseTemp
,
...{
id
:
row
.
actualId
,
projectName
:
this
.
projectDetailInfo
.
projectName
,
totalQuantities
:
row
.
totalQuantities
,
pushQuantities
:
""
,
ipmProjectCode
:
this
.
projectDetailInfo
.
ipmProject
No
,
ipmContractCode
:
""
,
ipmBizCode
:
""
cbSubjectName
:
row
.
cbSubjectName
,
cbName
:
row
.
cbName
,
companyNo
:
row
.
company
No
,
quantities
:
row
.
quantities
,
pushQuantities
:
''
,
}
};
this
.
pushProjectUseTemp
=
_temp
;
this
.
pushProjectUseDialog
=
true
;
// this.pushProjectUseDialog = true;
this
.
editDialog
=
true
;
},
// 推送工程用量弹窗关闭
dialogClose
()
{
...
...
@@ -784,6 +810,22 @@ export default {
}
},
// 修改工程用量弹窗关闭
editDialogClose
()
{
this
.
editDialog
=
this
.
$options
.
data
.
call
(
this
).
pushProjectUseTemp
;
},
// 确定修改
async
submitEditData
(
pushForm
)
{
try
{
const
result
=
await
editEngineeringQuantityApi
(
pushForm
);
console
.
log
(
result
)
if
(
result
.
code
===
200
){
this
.
editDialog
=
false
}
}
catch
(
error
)
{
}
},
differentCompare
()
{
const
originData
=
this
.
originTableDataList
;
/**
...
...
@@ -870,13 +912,22 @@ export default {
}
},
cellClassName
({
row
,
column
,
rowIndex
,
columnIndex
})
{
// console.log(column);
const
{
property
}
=
column
;
// let arr = ['sjcb','quantities','totalQuantities','purchaseUnitPrice','createTime']
// if(arr.includes(column.property)){
// return 'tored'
// }else
if
(
editPropNames
.
includes
(
property
))
{
return
`can-edit-column-
${
property
}
`
;
}
return
""
;
},
headerCellClassName
({
column
}){
// let arr = ['sjcb','quantities','totalQuantities','purchaseUnitPrice','createTime']
// if(arr.includes(column.property)){
// return 'tored'
// }
},
//关闭单位换算弹窗
handleDialogVisible
()
{
this
.
showUnitConversion
=
false
;
...
...
@@ -889,6 +940,9 @@ export default {
width
:
100%
;
height
:
100%
;
::v-deep
.tored
{
background
:
rgb
(
255
,
236
,
236
)
!
important
;
}
.feed-summary-inner
{
width
:
100%
;
height
:
100%
;
...
...
dsk-operate-ui/src/views/projectCostLedger/detail/components/MeasureItems/index.vue
View file @
c8c0cac4
...
...
@@ -95,7 +95,7 @@
<el-table-column
label=
"本月工程量"
width=
"130"
prop=
"projectVolume"
>
<
template
slot-scope=
"scope"
>
<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
v-else
>
{{
scope
.
row
.
projectVolume
||
'--'
}}
</
template
>
</template>
...
...
@@ -299,6 +299,17 @@
},
//方法集
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
){
this
.
nowheight
=
new
ResizeObserver
(
entries
=>
{
this
.
clearResizeTimer
();
...
...
@@ -509,6 +520,9 @@
item
.
month
=
this
.
expenseDate
item
.
monthCostRate
=
item
.
monthCostRate
?
parseInt
(
item
.
monthCostRate
.
replace
(
'%'
,
''
)):
null
})
console
.
log
(
tables
,
"|||||"
)
saveBatch
(
JSON
.
stringify
(
tables
)).
then
(
res
=>
{
if
(
res
.
code
==
200
){
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 {
//计算集
computed
:
{
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