Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
hg-front
Overview
Overview
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
platform
hg-front
Commits
f6ccb28e
Commit
f6ccb28e
authored
Jul 26, 2024
by
zhangzhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
dbf6f831
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1209 additions
and
0 deletions
+1209
-0
edit.vue
pages/payment-order/edit.vue
+610
-0
select-list.vue
pages/payment-order/select-list.vue
+599
-0
No files found.
pages/payment-order/edit.vue
0 → 100644
View file @
f6ccb28e
<
template
>
<view>
<cu-custom
bgColor=
"bg-blue"
:isBack=
"true"
>
<block
slot=
"backText"
>
<view
class=
"list-icon"
@
tap=
"onBack"
>
<text
class=
"cuIcon-back text-white text-bold text-xl"
></text>
</view>
</block>
<block
slot=
"content"
>
<text
class=
"text-white"
>
结算单详情
</text>
</block>
</cu-custom>
<view
v-if=
"statusBarHeight>0"
class=
"content-black"
:style=
"
{height:statusBarHeight+45+'px'}">
</view>
<view
class=
"flex-col content-part-1"
>
<view
class=
"flex-row header"
>
<image
src=
"../../static/icon10.png"
mode=
"widthFix"
></image>
<text
class=
"text-lg text-bold text-black"
>
详情
</text>
</view>
<view
class=
"form-content-box margin-bottom"
>
<form>
<view
class=
"cu-form-group"
>
<view
class=
"title"
>
<text>
项目名称:
</text>
</view>
<view
class=
""
>
<text>
{{
orderInfo
.
projName
}}
</text>
</view>
</view>
<view
class=
"cu-form-group"
>
<view
class=
"title"
>
<text>
公司名称:
</text>
</view>
<view
class=
""
>
<text>
{{
orderInfo
.
companyName
}}
</text>
</view>
</view>
<view
class=
"cu-form-group"
>
<view
class=
"title"
>
<text>
主合同名称:
</text>
</view>
<view
class=
""
>
<text>
{{
orderInfo
.
contractName
}}
</text>
</view>
</view>
<view
class=
"cu-form-group"
>
<view
class=
"title"
>
<text>
主合同号:
</text>
</view>
<view
class=
""
>
<text>
{{
orderInfo
.
contractNumber
}}
</text>
</view>
</view>
<view
class=
"cu-form-group"
>
<view
class=
"title"
>
<text>
项目编号:
</text>
</view>
<view
class=
""
>
<text>
{{
orderInfo
.
projCode
}}
</text>
</view>
</view>
<view
class=
"cu-form-group"
>
<view
class=
"title"
>
<text>
结算编号:
</text>
</view>
<view
class=
""
>
<text>
{{
orderInfo
.
settlementNumber
}}
</text>
</view>
</view>
<view
class=
"cu-form-group"
>
<view
class=
"title"
>
<text>
结算类别:
</text>
</view>
<view
class=
""
>
<text>
{{
settlementTypeEnum
[
orderInfo
.
settlementType
]
}}
</text>
</view>
</view>
<view
class=
"cu-form-group"
>
<view
class=
"title"
>
<text>
结算金额:
</text>
</view>
<view
class=
""
>
<text>
{{
orderInfo
.
thisSettlementAmount
}}
</text>
</view>
</view>
<view
class=
"cu-form-group"
>
<view
class=
"title"
>
<text>
结算税额:
</text>
</view>
<view
class=
""
>
<text>
{{
orderInfo
.
thisSettlementTax
}}
</text>
</view>
</view>
<view
class=
"cu-form-group"
>
<view
class=
"title"
>
<text>
结算含税额:
</text>
</view>
<view
class=
""
>
<text>
{{
orderInfo
.
thisPriceTax
}}
</text>
</view>
</view>
<view
class=
"cu-form-group"
>
<view
class=
"title"
>
<text
v-if=
"orderInfo.reviewStatus !=3"
class=
"text-xl text-red"
>
*
</text>
<text>
结算日期:
</text>
</view>
<view
v-if=
"orderInfo.reviewStatus ==3"
class=
""
>
<text>
{{
orderInfo
.
contractDate
}}
</text>
</view>
<view
v-else
class=
"text-blue"
@
tap=
"onOpenCalendar"
>
<text>
{{
orderInfo
.
contractDate
||
"请选择日期"
}}
</text>
<text
class=
"cuIcon-right"
></text>
</view>
</view>
<view
class=
"cu-form-group"
>
<view
class=
"title"
>
<text>
审批状态:
</text>
</view>
<view
class=
""
>
<text>
{{
submitStatusEnum
[
orderInfo
.
reviewStatus
]
}}
</text>
</view>
</view>
</form>
</view>
</view>
<view
v-if=
"orderInfo.reviewStatus && orderInfo.reviewStatus!=3"
class=
"footer-box"
>
<button
class=
"cu-btn block bg-blue"
@
tap=
"onSubmit(1)"
>
提交
</button>
</view>
<u-calendar
:show=
"show2"
mode=
"single"
:defaultDate=
"orderInfo.signingDate"
:minDate=
"minDate"
:monthNum=
'4'
@
confirm=
"onConfirm"
@
close=
"onCancel"
></u-calendar>
<u-modal
:show=
"show"
title=
"提示"
:content=
'content'
:showCancelButton=
"true"
@
confirm=
"onSave"
@
cancel=
"onCancel"
:asyncClose=
"true"
></u-modal>
</view>
</
template
>
<
script
>
import
{
toJsonData
}
from
"@/utils/tools.js"
;
import
moment
from
"@/common/moment.js"
;
import
{
getParamsData
}
from
"@/api/product-warehousing.js"
;
import
{
getList
}
from
"@/api/settlement-doc.js"
;
export
default
{
data
()
{
return
{
border
:
'none'
,
show
:
false
,
show2
:
false
,
titleText
:
'添加'
,
minDate
:
moment
().
subtract
(
2
,
'M'
).
format
(
"YYYY-MM-DD"
),
content
:
"请确认是否进行审核操作?"
,
statusBarHeight
:
uni
.
getStorageSync
(
"statusHeight"
)
||
0
,
orderInfo
:
{},
id
:
''
,
submitStatusEnum
:{
3
:
'已提交'
,
2
:
'未提交'
,
1
:
'已提交'
,
0
:
"待审核"
},
settlementTypeEnum
:{
1
:
'部分结算'
,
2
:
'最终结算'
}
};
},
onLoad
(
option
)
{
if
(
option
&&
option
.
id
)
{
this
.
id
=
option
.
id
this
.
subId
=
option
.
subId
||
''
this
.
titleText
=
option
.
subId
?
'编辑'
:
'添加'
}
this
.
onLoading
();
},
methods
:
{
onSubmit
(
t
)
{
this
.
show
=
true
},
onOpenCalendar
()
{
this
.
show2
=
true
;
},
onCancel
()
{
this
.
show
=
false
;
this
.
show2
=
false
;
},
onConfirm
(
e
)
{
this
.
orderInfo
.
signingDate
=
e
[
0
];
this
.
onCancel
();
},
onSave
()
{
this
.
show
=
false
;
uni
.
showLoading
({
title
:
"加载中..."
})
updateSubmitStatus
({
...
this
.
orderInfo
,
reviewStatus
:
3
,
signingDate
:
moment
(
this
.
orderInfo
.
signingDate
).
format
(
"YYYYMMDD"
)
}).
then
(
res
=>
{
uni
.
hideLoading
();
if
(
res
.
data
.
__sys__
.
status
===
0
)
{
uni
.
showToast
({
icon
:
"success"
,
title
:
"提交成功"
})
setTimeout
(()
=>
{
this
.
onBack
();
},
1500
)
}
})
},
onBack
()
{
uni
.
redirectTo
({
url
:
'/pages/settlement-doc/list'
})
},
onLoading
()
{
this
.
onGetList
();
},
onGetList
()
{
uni
.
showLoading
({
title
:
"加载中"
})
getList
({
id
:
this
.
id
}).
then
(
res
=>
{
uni
.
hideLoading
()
let
list
=
toJsonData
(
res
.
data
.
__blocks__
.
result
.
rows
,
res
.
data
.
__blocks__
.
result
.
meta
.
columns
);
if
(
list
&&
list
.
length
)
{
this
.
orderInfo
=
{
...
list
[
0
],
signingDate
:
moment
(
list
[
0
].
signingDate
).
format
(
"YYYY-MM-DD"
)
}
}
})
}
}
}
</
script
>
<
style
>
page
{
background-color
:
#f1f1f1
;
}
</
style
>
<
style
lang=
"scss"
scoped
>
.cu-form-group
{
picker
{
padding-right
:
0
;
}
}
.header-title
{
display
:
flex
;
flex-direction
:
row
;
width
:
90%
;
align-items
:
center
;
margin
:
30
upx
auto
12
upx
;
.flex-between
{
display
:
flex
;
flex
:
1
;
justify-content
:
center
;
align-items
:
center
;
border-radius
:
20
upx
;
padding
:
16
upx
20
upx
;
background-color
:
rgba
(
246
,
246
,
248
,
1
);
.image
{
width
:
34
upx
;
margin-right
:
8
upx
;
max-height
:
42
upx
;
}
.text-blue
{
color
:
#4a93f8
;
font-weight
:
bold
;
}
}
}
.u-tabs-box
{
width
:
70%
;
margin
:
0
auto
;
}
.data-content
{
display
:
flex
;
flex-direction
:
column
;
margin
:
0
auto
30
upx
;
width
:
96%
;
.circle-par
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
.header
{
border-radius
:
12
upx
12
upx
0
0
;
background-color
:
#eef2fe
;
color
:
#101010
;
font-size
:
30
upx
;
border
:
1px
solid
#d1dcfd
;
padding
:
14
upx
24
upx
;
}
.content
{
border-radius
:
0
0
12
upx
12
upx
;
background-color
:
#ffffff
;
color
:
#101010
;
font-size
:
30
upx
;
border
:
1px
solid
#cecece
;
border-top
:
none
;
}
}
.flex-content
{
display
:
flex
;
width
:
100%
;
justify-content
:
center
;
}
.part-3
{
flex-direction
:
column
;
padding-bottom
:
120
upx
;
.content-item
{
display
:
flex
;
flex-direction
:
column
;
width
:
90%
;
margin
:
24
upx
auto
8
upx
;
padding-bottom
:
24
upx
;
.header-title
{
position
:
relative
;
width
:
100%
;
margin
:
0
;
image
{
width
:
100%
;
max-height
:
100
upx
;
}
.flex-between
{
position
:
absolute
;
top
:
0
;
left
:
12%
;
width
:
88%
;
height
:
70%
;
padding
:
0
;
justify-content
:
space-between
;
background-color
:
transparent
;
}
}
.content-box
{
position
:
relative
;
z-index
:
2
;
box-shadow
:
0
0
12
upx
rgba
(
0
,
0
,
0
,
0.34
);
border-radius
:
12
upx
;
margin-top
:
-20
upx
;
background-color
:
#ffffff
;
padding
:
24
upx
;
.flex-wrap
{
display
:
flex
;
flex-wrap
:
wrap
;
.margin-sm
{
margin
:
10
upx
;
}
}
}
}
.content-item
:last-child
{
border-bottom
:
none
;
}
}
.flex-center
{
display
:
flex
;
align-items
:
center
;
}
.line-progress
{
align-items
:
center
;
}
.u-page__item__slot-icon
{
width
:
24px
;
height
:
24px
;
}
.part-left
{
align-items
:
center
;
}
.circle-center
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
.margin-top-sm
{
margin-top
:
10
upx
;
}
.flex-row
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
center
;
}
}
.icon
{
width
:
36
upx
;
max-height
:
50
upx
;
margin-right
:
6
upx
;
}
.flex-row-center
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
}
.content-part-1
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
.header
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
width
:
92%
;
padding
:
30
upx
0
;
image
{
width
:
20px
;
height
:
20px
;
margin-right
:
6
upx
;
}
}
.form-content-box
{
width
:
100%
;
padding
:
12
upx
0
;
border-radius
:
4
upx
;
//
box-shadow
:
0
0
8
upx
rgba
(
0
,
0
,
0
,
0.34
);
background-color
:
#ffffff
;
.cu-form-group
{
height
:
32px
;
min-height
:
32px
;
padding
:
1px
10px
1px
30
upx
;
.title
{
display
:
flex
;
flex-direction
:
row
;
width
:
220
upx
;
align-items
:
center
;
}
}
.action-box
{
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-end
;
}
}
.footer-content
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
width
:
100vw
;
height
:
120
upx
;
margin-bottom
:
100
upx
;
.btn-box
{
width
:
80%
;
}
}
}
.order-content-box
{
display
:
flex
;
flex-direction
:
column
;
width
:
100%
;
background-color
:
#ffffff
;
.header
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
width
:
100%
;
padding
:
24
upx
;
image
{
width
:
20px
;
height
:
20px
;
margin-right
:
6
upx
;
}
}
.content-box
{
position
:
relative
;
z-index
:
2
;
padding
:
0
24
upx
24
upx
;
.flex-row
{
margin
:
6
upx
0
;
.text-title
{
font-size
:
30
upx
;
}
.part-1
{
font-size
:
32
upx
;
width
:
140
upx
;
text-align-last
:
justify
;
}
.part-2
{
margin-right
:
24
upx
;
}
}
.btn-box
{
position
:
absolute
;
right
:
24
upx
;
bottom
:
16
upx
;
}
}
}
.footer-box
{
position
:
fixed
;
left
:
0
;
bottom
:
0
;
display
:
flex
;
flex-direction
:
row
;
width
:
100%
;
padding
:
24
upx
36
upx
;
background-color
:
#ffffff
;
z-index
:
8
;
.cu-btn
{
display
:
flex
;
flex
:
1
;
margin
:
0
20
upx
;
}
}
.content-part-2
{
.form-content-box
{
display
:
flex
;
background-color
:
transparent
;
justify-content
:
center
;
}
}
.sub-item-box
{
width
:
92%
;
padding
:
20
upx
;
border-radius
:
12
upx
;
background-color
:
#ffffff
;
box-shadow
:
0
4
upx
6
upx
rgba
(
0
,
0
,
0
,
0.34
);
margin-bottom
:
120
upx
;
}
.form-item-label
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
.text-blue
{
white-space
:
normal
;
}
}
.cu-form-group
uni-picker
::after
{
color
:
transparent
;
}
</
style
>
\ No newline at end of file
pages/payment-order/select-list.vue
0 → 100644
View file @
f6ccb28e
<
template
>
<view>
<cu-custom
bgColor=
"bg-blue"
:isBack=
"true"
>
<block
slot=
"backText"
>
<view
class=
"list-icon"
@
tap=
"onBack"
>
<text
class=
"cuIcon-back text-white text-bold text-xl"
></text>
</view>
</block>
<block
slot=
"content"
>
<text
class=
"text-white"
>
选择
{{
selectTypeEnum
[
selectIndex
]
}}
</text>
</block>
<block
slot=
"right"
>
<text
class=
"text-white text-bold text-lg margin-right"
@
tap=
"onCheck"
>
确 定
</text>
</block>
</cu-custom>
<view
v-if=
"statusBarHeight>0"
class=
"content-black"
:style=
"
{height:statusBarHeight+45+'px'}">
</view>
<view
class=
"flex-col data-content"
>
<view
class=
"flex-col part-3"
>
<view
v-for=
"(item,k) in projectDataList"
:key=
"k"
class=
"content-item"
@
tap=
"onSelect(k)"
>
<view
v-if=
"selectIndex==3"
class=
"flex-col content-box"
:class=
"k === current?'active':''"
>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
甲方名称
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
item
.
partyA
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
主合同名称
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
item
.
contractName
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
主合同号
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title"
>
{{
item
.
contractNumber
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
项目编号
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title"
>
{{
item
.
projCode
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
乙方名称
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
item
.
partyB
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
合同总价
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
Number
(
item
.
totalContractPriceIncluding
)
}}
</text>
</view>
</view>
<view
v-else-if=
"selectIndex==2"
class=
"flex-col content-box"
:class=
"k === current?'active':''"
>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
甲方名称
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
item
.
partyA
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
主合同名称
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
item
.
contractName
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
主合同号
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title"
>
{{
item
.
contractNumber
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
项目编号
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title"
>
{{
item
.
projCode
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
乙方名称
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
item
.
partyB
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
扣款事由
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
item
.
contractContent
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
扣款金额
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
Number
(
item
.
totalContractPriceIncluding
)
}}
</text>
</view>
</view>
<view
v-else-if=
"selectIndex==1"
class=
"flex-col content-box"
:class=
"k === current?'active':''"
>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
公司名称
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
item
.
companyName
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
清单
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
item
.
inventory
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
合同号
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title"
>
{{
item
.
contractNumber
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
暂定工程量
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
item
.
provisionalQuantity
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
除税单价/元
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
Number
(
item
.
unitPriceExcludingTax
)
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
不含税总价
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
Number
(
item
.
totalPriceExcluding
)
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
含税总价
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
Number
(
item
.
totalPriceIncluding
)
}}
</text>
</view>
<view
class=
"flex-row"
>
<text
class=
"text-gray part-1"
>
人工费/元
</text>
<text
class=
"text-gray part-2"
>
:
</text>
<text
class=
"text-title ellipsis"
>
{{
Number
(
item
.
laborCosts
)
}}
</text>
</view>
</view>
</view>
</view>
<view
v-if=
"projectDataList.length
<
=
0
"
class=
"empty-box"
>
<u-empty
text=
"暂无数据"
textColor=
'#C1C1C1'
width=
"120"
>
</u-empty>
</view>
</view>
</view>
</
template
>
<
script
>
import
{
toJsonData
}
from
"@/utils/tools.js"
;
import
{
getList1
,
getList2
,
getList3
,
getList4
,
getList5
}
from
"@/api/settlement-doc.js"
;
import
{
getDict
}
from
"@/api/index.js"
export
default
{
data
()
{
return
{
projectDataList
:[],
statusBarHeight
:
uni
.
getStorageSync
(
"statusHeight"
)
||
0
,
status
:
'nomore '
,
loadingText
:
'努力加载中'
,
loadmoreText
:
'上划加载'
,
nomoreText
:
'到底啦'
,
queryData
:
{
contractNumber
:
''
},
pageData
:{
showCount
:
"true"
,
limit
:
1000
,
offset
:
0
},
current
:
0
,
eventChannel
:
null
,
contractType
:
1
,
contractTypeEnum
:{},
selectIndex
:
1
,
selectTypeEnum
:{
1
:
"合同清单"
,
2
:
"扣款单"
,
3
:
"签证单"
}
};
},
onLoad
(
option
)
{
if
(
option
&&
option
.
selectIndex
){
this
.
selectIndex
=
option
.
selectIndex
}
if
(
option
&&
option
.
contractNumber
){
this
.
queryData
.
contractNumber
=
option
.
contractNumber
}
if
(
option
&&
option
.
contractType
){
this
.
contractType
=
option
.
contractType
}
this
.
eventChannel
=
this
.
getOpenerEventChannel
();
this
.
onLoading
();
},
methods
:
{
onCheck
(){
let
unitPrice
=
0
;
if
(
this
.
selectIndex
==
2
){
unitPrice
=
0
-
Number
(
this
.
projectDataList
[
this
.
current
].
totalContractPriceIncluding
)
}
else
{
unitPrice
=
this
.
projectDataList
[
this
.
current
].
unitPriceExcludingTax
||
this
.
projectDataList
[
this
.
current
].
totalContractPriceIncluding
}
let
thisEngineeringQuantity
=
this
.
projectDataList
[
this
.
current
].
provisionalQuantity
||
1
this
.
eventChannel
.
emit
(
'acceptDataFromOpenedPage2'
,
{
settlementBasis
:
this
.
selectTypeEnum
[
this
.
selectIndex
],
taskName
:
''
,
engineeringContent
:
""
,
thisEngineeringQuantity
,
cumulativeEngineeringQuantity
:
''
,
unit
:
""
,
unitPrice
,
totalPrice
:
Number
(
thisEngineeringQuantity
)
*
Number
(
unitPrice
),
selectIndex
:
this
.
selectIndex
}
);
this
.
onBack
();
},
onSelect
(
k
){
this
.
current
=
k
;
},
onBack
(){
uni
.
navigateBack
();
},
onLoading
()
{
getDict
({
codeset
:
'hggp.cw.contractType'
}).
then
(
res
=>
{
if
(
res
.
data
.
list
&&
res
.
data
.
list
.
length
){
res
.
data
.
list
.
forEach
(
item
=>
{
this
.
contractTypeEnum
[
item
.
value
]
=
item
.
label
})
}
if
(
this
.
selectIndex
==
1
){
if
(
this
.
contractType
==
2
){
this
.
onGetList4
()
}
else
{
this
.
onGetList
();
}
}
else
if
(
this
.
selectIndex
==
2
){
this
.
onGetList2
();
}
else
if
(
this
.
selectIndex
==
3
){
if
(
this
.
contractType
==
2
){
this
.
onGetList5
();
}
else
{
this
.
onGetList3
();
}
}
})
},
onGetList
()
{
uni
.
showLoading
({
title
:
"加载中"
})
getList1
({
...
this
.
queryData
},
this
.
pageData
).
then
(
res
=>
{
uni
.
hideLoading
();
this
.
projectDataList
=
toJsonData
(
res
.
data
.
__blocks__
.
result
.
rows
,
res
.
data
.
__blocks__
.
result
.
meta
.
columns
);
console
.
log
(
this
.
projectDataList
)
})
},
onGetList2
()
{
uni
.
showLoading
({
title
:
"加载中"
})
getList2
({
...
this
.
queryData
},
this
.
pageData
).
then
(
res
=>
{
uni
.
hideLoading
();
this
.
projectDataList
=
toJsonData
(
res
.
data
.
__blocks__
.
result2
.
rows
,
res
.
data
.
__blocks__
.
result2
.
meta
.
columns
)
})
},
onGetList3
()
{
uni
.
showLoading
({
title
:
"加载中"
})
getList3
({
...
this
.
queryData
},
this
.
pageData
).
then
(
res
=>
{
uni
.
hideLoading
();
this
.
projectDataList
=
toJsonData
(
res
.
data
.
__blocks__
.
result3
.
rows
,
res
.
data
.
__blocks__
.
result3
.
meta
.
columns
)
})
},
onGetList4
()
{
uni
.
showLoading
({
title
:
"加载中"
})
getList4
({
...
this
.
queryData
},
this
.
pageData
).
then
(
res
=>
{
uni
.
hideLoading
();
this
.
projectDataList
=
toJsonData
(
res
.
data
.
__blocks__
.
result1
.
rows
,
res
.
data
.
__blocks__
.
result1
.
meta
.
columns
)
})
},
onGetList5
()
{
uni
.
showLoading
({
title
:
"加载中"
})
getList5
({
...
this
.
queryData
},
this
.
pageData
).
then
(
res
=>
{
uni
.
hideLoading
();
this
.
projectDataList
=
toJsonData
(
res
.
data
.
__blocks__
.
result3
.
rows
,
res
.
data
.
__blocks__
.
result3
.
meta
.
columns
)
})
}
}
}
</
script
>
<
style
>
page
{
background-color
:
#ffffff
;
}
</
style
>
<
style
lang=
"scss"
scoped
>
.page-content-box
{
width
:
100vw
;
height
:
100vh
;
overflow
:
hidden
;
}
.cu-form-group
{
picker
{
padding-right
:
0
;
}
}
.header-title
{
display
:
flex
;
flex-direction
:
row
;
width
:
96%
;
align-items
:
center
;
margin
:
30
upx
auto
12
upx
;
.flex-between
{
display
:
flex
;
flex
:
1
;
justify-content
:
center
;
align-items
:
center
;
border-radius
:
20
upx
;
padding
:
16
upx
20
upx
;
background-color
:
rgba
(
246
,
246
,
248
,
1
);
.image
{
width
:
34
upx
;
margin-right
:
8
upx
;
max-height
:
42
upx
;
}
.text-blue
{
color
:
#4a93f8
;
font-weight
:
bold
;
}
}
}
.u-tabs-box
{
width
:
100%
;
margin
:
0
auto
;
}
.data-content
{
display
:
flex
;
flex-direction
:
column
;
margin
:
30
upx
auto
;
width
:
96%
;
.circle-par
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
.header
{
border-radius
:
12
upx
12
upx
0
0
;
background-color
:
#eef2fe
;
color
:
#101010
;
font-size
:
30
upx
;
border
:
1px
solid
#d1dcfd
;
padding
:
14
upx
24
upx
;
}
.content
{
border-radius
:
0
0
12
upx
12
upx
;
background-color
:
#ffffff
;
color
:
#101010
;
font-size
:
30
upx
;
border
:
1px
solid
#cecece
;
border-top
:
none
;
}
}
.flex-content
{
display
:
flex
;
width
:
100%
;
justify-content
:
center
;
}
.part-3
{
flex-direction
:
column
;
padding-bottom
:
40
upx
;
.content-item
{
display
:
flex
;
flex-direction
:
column
;
width
:
94%
;
margin
:
24
upx
auto
8
upx
;
padding-bottom
:
24
upx
;
.header-title
{
position
:
relative
;
width
:
100%
;
margin
:
0
;
image
{
width
:
100%
;
max-height
:
100
upx
;
}
.flex-between
{
position
:
absolute
;
top
:
0
;
left
:
12%
;
width
:
88%
;
height
:
70%
;
padding
:
0
;
justify-content
:
space-between
;
background-color
:
transparent
;
}
}
.content-box
{
position
:
relative
;
z-index
:
2
;
box-shadow
:
0
0
12
upx
rgba
(
0
,
0
,
0
,
0.34
);
border-radius
:
12
upx
;
margin-top
:
-20
upx
;
background-color
:
#ffffff
;
padding
:
24
upx
;
.flex-row{
margin
:
6
upx
0
;
.part-1{
width
:
180
upx
;
text-align-last
:
justify
;
}
.part-2
{
margin-right
:
24
upx
;
}
}
}
.active
{
box-shadow
:
0
0
12
upx
#4a93f8
;
}
}
.content-item
:last-child
{
border-bottom
:
none
;
}
}
.flex-center
{
display
:
flex
;
align-items
:
center
;
}
.line-progress
{
align-items
:
center
;
}
.u-page__item__slot-icon
{
width
:
24px
;
height
:
24px
;
}
.part-left
{
align-items
:
center
;
}
.circle-center
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
.margin-top-sm
{
margin-top
:
10
upx
;
}
.flex-row
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
center
;
}
}
.icon
{
width
:
36
upx
;
max-height
:
50
upx
;
margin-right
:
6
upx
;
}
.flex-row-center
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
}
.content-part-1
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
.header
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
width
:
92%
;
padding
:
30
upx
0
;
image
{
width
:
20px
;
height
:
20px
;
margin-right
:
6
upx
;
}
}
.form-content-box
{
width
:
92%
;
padding
:
12
upx
0
;
border-radius
:
12
upx
;
box-shadow
:
0
0
8
upx
rgba
(
0
,
0
,
0
,
0.34
);
background-color
:
#ffffff
;
.cu-form-group
{
.title
{
display
:
flex
;
flex-direction
:
row
;
width
:
240
upx
;
align-items
:
center
;
}
}
}
.footer-content
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
width
:
100vw
;
height
:
120
upx
;
margin-bottom
:
100
upx
;
.btn-box
{
width
:
80%
;
}
}
}
.float-box
{
position
:
fixed
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
width
:
50px
;
height
:
50px
;
border-radius
:
25px
;
background-color
:
#4a93f8
;
color
:
#ffffff
;
box-shadow
:
0
0
16
upx
rgba
(
74
,
147
,
248
,
0.34
),
0
0
12
upx
rgba
(
74
,
147
,
248
,
0.34
)
inset
;
z-index
:
99
;
font-size
:
32
upx
;
}
.factory-name
{
max-width
:
360
upx
;
.factory-title{
//
width
:
360
upx
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
}
}
.ellipsis
{
max-width
:
420
upx
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
}
</
style
>
\ No newline at end of file
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