Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jz_Travel
Project
Project
Details
Activity
Releases
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
zhengke
jz_Travel
Commits
5de253fe
Commit
5de253fe
authored
Jul 08, 2025
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
cb41a0bd
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
207 additions
and
43 deletions
+207
-43
flex.css
asset/css/flex.css
+8
-0
billDetails.vue
pages/teamLeader/billDetails.vue
+196
-36
index.vue
pages/teamLeader/index.vue
+3
-7
No files found.
asset/css/flex.css
View file @
5de253fe
...
@@ -591,6 +591,14 @@
...
@@ -591,6 +591,14 @@
padding-left
:
53
rpx
;
padding-left
:
53
rpx
;
padding-right
:
53
rpx
;
padding-right
:
53
rpx
;
}
}
.PX60
{
padding-left
:
60
rpx
;
padding-right
:
60
rpx
;
}
.PX70
{
padding-left
:
70
rpx
;
padding-right
:
70
rpx
;
}
.PL10
{
.PL10
{
padding-left
:
10
rpx
;
padding-left
:
10
rpx
;
}
}
...
...
pages/teamLeader/billDetails.vue
View file @
5de253fe
...
@@ -69,11 +69,17 @@
...
@@ -69,11 +69,17 @@
}
}
}
}
.billDetailsCTop
{
.billDetailsCTop
{
margin
:
3
9
rpx
30rpx
30rpx
30rpx
;
margin
:
3
0
rpx
30rpx
30rpx
30rpx
;
border-radius
:
8rpx
;
border-radius
:
8rpx
;
overflow
:
hidden
;
overflow
:
hidden
;
box-shadow
:
0rpx
10rpx
10rpx
0rpx
rgba
(
114
,
114
,
114
,
0
.16
);
box-shadow
:
0rpx
10rpx
10rpx
0rpx
rgba
(
114
,
114
,
114
,
0
.16
);
}
}
.billDetailsCTop.one
{
margin
:
0
30rpx
0
30rpx
;
}
.billDetailsCTop.one
:first-child
{
margin
:
39rpx
30rpx
0
30rpx
;
}
.billDetailsCHeader
{
.billDetailsCHeader
{
background
:
#EDF5FF
;
background
:
#EDF5FF
;
padding
:
28rpx
31rpx
;
padding
:
28rpx
31rpx
;
...
@@ -110,6 +116,13 @@
...
@@ -110,6 +116,13 @@
.billDetailsCCBoxOth
:nth-child
(
2
)
{
.billDetailsCCBoxOth
:nth-child
(
2
)
{
background
:
#fff
;
background
:
#fff
;
}
}
.TotalListBox
{
}
.TotalList
img
{
width
:
72rpx
;
height
:
72rpx
;
}
</
style
>
</
style
>
<
template
>
<
template
>
<view
style=
"height: 100vh;"
>
<view
style=
"height: 100vh;"
>
...
@@ -119,77 +132,92 @@
...
@@ -119,77 +132,92 @@
<view
class=
"billDetailsHeaderBox PB40"
>
<view
class=
"billDetailsHeaderBox PB40"
>
<view
class=
"billDetailsTitle"
>
<view
class=
"billDetailsTitle"
>
<headers
textAlign=
"left"
:title=
"pageTitle"
color=
"#fff"
></headers>
<headers
textAlign=
"left"
:title=
"pageTitle"
color=
"#fff"
></headers>
<view
class=
"teamLeader-currency row items-center"
@
click=
"currencyVisible=true"
><text>
日元
</text>
<view
class=
"triangle"
></view></view>
<view
class=
"teamLeader-currency row items-center"
@
click=
"currencyVisible=true"
><text>
{{
dataList
[
currentIndex
].
CurrencyStr
?
dataList
[
currentIndex
].
CurrencyStr
:
'人民币'
}}
</text>
<view
class=
"triangle"
></view></view>
</view>
</view>
<view
class=
"billDetailsTitle fixed"
<view
class=
"billDetailsTitle fixed"
:style=
"
{ opacity: boxOption + '%' }">
:style=
"
{ opacity: boxOption + '%' }">
<headers
textAlign=
"left"
:title=
"pageTitle"
color=
"#fff"
></headers>
<headers
textAlign=
"left"
:title=
"pageTitle"
color=
"#fff"
></headers>
<view
class=
"teamLeader-currency row items-center"
@
click=
"currencyVisible=true"
><text>
日元
</text>
<view
class=
"triangle"
></view></view>
<view
class=
"teamLeader-currency row items-center"
@
click=
"currencyVisible=true"
><text>
{{
dataList
[
currentIndex
].
CurrencyStr
?
dataList
[
currentIndex
].
CurrencyStr
:
'人民币'
}}
</text>
<view
class=
"triangle"
></view></view>
</view>
</view>
<view
class=
"billDetailsHeaderNBox MT50"
>
<view
class=
"billDetailsHeaderNBox MT50"
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638874816517253757.png"
/>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638874816517253757.png"
/>
<view
class=
"billDetailsHeaderNum row justify-between"
>
<view
class=
"billDetailsHeaderNum row justify-between"
>
<view
class=
"column"
>
<view
class=
"column"
>
<text
class=
"label"
>
自费收入
</text>
<text
class=
"label"
>
自费收入
</text>
<text
class=
"value"
><text>
¥
</text>
600.00
</text>
<text
class=
"value"
><text>
¥
</text>
{{
dataList
[
currentIndex
].
SelfPayingIncomeTotalPrice
?
dataList
[
currentIndex
].
SelfPayingIncomeTotalPrice
:
0
}}
</text>
</view>
</view>
<view
class=
"column"
>
<view
class=
"column"
>
<text
class=
"label"
>
自费支出
</text>
<text
class=
"label"
>
自费支出
</text>
<text
class=
"value"
><text>
¥
</text>
520.00
</text>
<text
class=
"value"
><text>
¥
</text>
{{
dataList
[
currentIndex
].
SelfPayingExpendTotalPrice
?
dataList
[
currentIndex
].
SelfPayingExpendTotalPrice
:
0
}}
</text>
</view>
</view>
<view
class=
"column"
>
<view
class=
"column"
>
<text
class=
"label"
>
小费收入
</text>
<text
class=
"label"
>
小费收入
</text>
<text
class=
"value"
><text>
¥
</text>
200.00
</text>
<text
class=
"value"
><text>
¥
</text>
{{
dataList
[
currentIndex
].
TipTotalPrice
?
dataList
[
currentIndex
].
TipTotalPrice
:
0
}}
</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view
class=
"TotalListBox row justify-between PX60 PT20"
>
<view
class=
"TotalList column justify-center items-center"
v-for=
"(item,index) in TotalList"
>
<img
:src=
"typeImgs[index]"
/>
<text
class=
"fz24 MT10"
>
¥
{{
item
.
price
}}
</text>
</view>
</view>
</view>
<view>
<view>
<view
class=
"billDetailsCTop"
>
<!--
<template
v-for=
"(item,index) in TeamUsePriceList"
>
<view
class=
"billDetailsCHeader row justify-between items-center"
>
<view
v-if=
"item.TotalPrice>0"
class=
"billDetailsCTop one"
>
<view
class=
"billDetailsCHeader row justify-between items-center"
@
click=
"showTeamUse(index)"
>
<view
class=
"billDetailsCHeaderL"
>
<view
class=
"billDetailsCHeaderL"
>
<view
class=
"fz28"
>
1月16
日
</view>
<view
class=
"fz28"
>
{{
item
.
month
}}
月
{{
item
.
day
}}
日
</view>
<view
class=
"fz20 MT10"
>
2019
年
</view>
<view
class=
"fz20 MT10"
>
{{
item
.
year
}}
年
</view>
</view>
</view>
<view
class=
"billDetailsCHeaderR row items-center fontBold"
>
<view
class=
"billDetailsCHeaderR row items-center fontBold"
>
<text>
¥2389.00
</text>
<text>
¥
{{
item
.
TotalPrice
}}
</text>
<img
class=
"ML20"
:src=
"downImg[0
]"
/>
<img
class=
"ML20"
:src=
"!item.showList?downImg[0]:downImg[1
]"
/>
</view>
</view>
</view>
</view>
<view>
<view
v-if=
"item.showList"
>
<view
class=
"billDetailsCCBox row items-center fz28"
>
<template
v-for=
"child in item.list"
>
<img
:src=
"typeImgs[0]"
/>
<view
v-if=
"child.price>0"
class=
"billDetailsCCBox row items-center fz28"
>
<img
:src=
"typeImgs[child.index]"
/>
<view
class=
"billDetailsCCR flex1 row justify-between items-center"
>
<view
class=
"billDetailsCCR flex1 row justify-between items-center"
>
<view
class=
"ML23 fz28"
>
车
</view>
<view
class=
"ML23 fz28"
>
{{
child
.
name
}}
</view>
<text
class=
"fz28 fontWeight500"
>
¥126
</text>
<text
class=
"fz28 fontWeight500"
>
¥
{{
child
.
price
}}
</text>
</view>
</view>
</view>
</view>
</
template
>
<u-empty
v-if=
"item.list.length==0||!item.list"
text=
"暂无数据"
mode=
"data"
paddingTop=
"0"
></u-empty>
</view>
</view>
</view>
</view>
</template>
-->
<view
class=
"billDetailsCTop"
>
<view
class=
"billDetailsCTop"
>
<view
class=
"billDetailsCHeader billDetailsCHeaderOth row justify-between items-center"
>
<view
class=
"billDetailsCHeader billDetailsCHeaderOth row justify-between items-center"
<view
class=
"billDetailsCHeaderL"
>
@
click=
"showOther=!showOther"
>
<view
class=
"billDetailsCHeaderL row items-center"
style=
"height: 66rpx;"
>
<view
class=
"fz28"
>
其他费用
</view>
<view
class=
"fz28"
>
其他费用
</view>
</view>
</view>
<view
class=
"billDetailsCHeaderR row items-center fontBold"
>
<view
class=
"billDetailsCHeaderR row items-center fontBold"
style=
"height: 66rpx;"
>
<text>
¥
2389.00
</text>
<text>
¥
{{ dataList[currentIndex].OtherTotalPrice?dataList[currentIndex].OtherTotalPrice:0 }}
</text>
<img
class=
"ML20"
:src=
"
downImg[0
]"
/>
<img
class=
"ML20"
:src=
"
!showOther?downImg[0]:downImg[1
]"
/>
</view>
</view>
</view>
</view>
<view>
<view
v-if=
"dataList&&dataList[currentIndex]&&showOther"
class=
"PB20"
>
<view
<view
v-for=
"(item,index) in
3
"
v-for=
"(item,index) in
dataList[currentIndex].OtherTotalPriceList
"
class=
"billDetailsCCBox billDetailsCCBoxOth row items-center justify-between fz28"
>
class=
"billDetailsCCBox billDetailsCCBoxOth row items-center justify-between fz28"
>
<view
class=
"billDetailsCCROth row items-center"
>
<view
class=
"billDetailsCCROth row items-center"
>
<view
class=
""
>
06-01
</view>
<view
class=
""
>
{{ item.date.split('-')[1] }}月{{ item.date.split('-')[2] }}日
</view>
<view
class=
"ML23"
>
车
</view>
<view
class=
"ML23"
>
{{ item.UseType }}
</view>
</view>
</view>
<text
class=
"fontWeight500"
>
¥
126
</text>
<text
class=
"fontWeight500"
>
¥
{{ item.TotalPrice }}
</text>
</view>
</view>
<u-empty
v-if=
"dataList[currentIndex].OtherTotalPriceList.length==0||!dataList[currentIndex].OtherTotalPriceList"
text=
"暂无数据"
mode=
"data"
paddingTop=
"0"
></u-empty>
</view>
</view>
</view>
</view>
</view>
</view>
<view
style=
"height: 50rpx;"
></view>
</scroll-view>
</scroll-view>
<currencyBottom
v-if=
"currencyVisible"
<currencyBottom
v-if=
"currencyVisible"
:current=
"currentId"
:current=
"currentId"
...
@@ -223,10 +251,49 @@ export default {
...
@@ -223,10 +251,49 @@ export default {
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638874829612434651.png'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638874829612434651.png'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638874829685012792.png'
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638874829685012792.png'
],
],
msg
:{
TCIDs
:
''
,
// 领队id
},
dataList
:
[],
currencyList
:
[],
currentId
:
0
,
currentIndex
:
0
,
loading
:
false
,
TeamUsePriceList
:
[],
TeamUsePriceObj
:{
TotalPrice
:
''
,
date
:
''
,
year
:
''
,
month
:
''
,
showList
:
false
,
list
:[]
},
showOther
:
false
,
TotalList
:
[
{
name
:
'车辆'
,
price
:
0
,
},
{
name
:
'酒店'
,
price
:
0
,
},
{
name
:
'门票'
,
price
:
0
,
},
{
name
:
'餐饮'
,
price
:
0
,
},
]
}
}
},
},
onLoad
(
option
){
onLoad
(
option
){
if
(
option
.
TCIDs
){
this
.
msg
.
TCIDs
=
option
.
TCIDs
this
.
init
()
}
},
},
created
()
{
created
()
{
...
@@ -235,15 +302,108 @@ export default {
...
@@ -235,15 +302,108 @@ export default {
},
},
methods
:
{
methods
:
{
showTeamUse
(
index
){
this
.
TeamUsePriceList
[
index
].
showList
=
!
this
.
TeamUsePriceList
[
index
].
showList
},
close
(){
this
.
currencyVisible
=
false
},
popupCurrency
(
value
){
popupCurrency
(
value
){
this
.
currencyVisible
=
false
this
.
currencyVisible
=
false
this
.
currentId
=
value
this
.
currentId
=
value
this
.
currentIndex
=
this
.
dataList
.
findIndex
(
item
=>
item
.
CurrencyId
==
value
)
this
.
currentIndex
=
this
.
dataList
.
findIndex
(
item
=>
item
.
CurrencyId
==
value
)
this
.
newTeamUsePrice
()
},
newTeamUsePrice
(){
this
.
TeamUsePriceList
=
[]
this
.
TotalList
[
0
].
price
=
0
this
.
TotalList
[
1
].
price
=
0
this
.
TotalList
[
2
].
price
=
0
this
.
TotalList
[
3
].
price
=
0
this
.
dataList
[
this
.
currentIndex
].
TeamUsePriceList
.
forEach
(
x
=>
{
let
findIndex
=
this
.
TeamUsePriceList
.
findIndex
(
item
=>
item
.
date
==
x
.
date
)
if
(
findIndex
==-
1
){
let
TeamUsePriceObj
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
TeamUsePriceObj
))
TeamUsePriceObj
.
date
=
x
.
date
TeamUsePriceObj
.
year
=
x
.
date
.
substring
(
0
,
4
)
TeamUsePriceObj
.
month
=
x
.
date
.
substring
(
5
,
7
)
TeamUsePriceObj
.
day
=
x
.
date
.
substring
(
8
,
10
)
TeamUsePriceObj
.
TotalPrice
=
x
.
TotalPrice
TeamUsePriceObj
.
list
.
push
({
name
:
'车辆'
,
price
:
x
.
BusTotalPrice
,
index
:
0
,
})
TeamUsePriceObj
.
list
.
push
({
name
:
'酒店'
,
price
:
x
.
HouseTotalPrice
,
index
:
1
,
})
TeamUsePriceObj
.
list
.
push
({
name
:
'门票'
,
price
:
x
.
ScenicTotalPrice
,
index
:
2
,
})
TeamUsePriceObj
.
list
.
push
({
name
:
'餐饮'
,
price
:
x
.
DiningTotalPrice
,
index
:
3
,
})
this
.
TotalList
[
0
].
price
+=
x
.
BusTotalPrice
this
.
TotalList
[
1
].
price
+=
x
.
HouseTotalPrice
this
.
TotalList
[
2
].
price
+=
x
.
ScenicTotalPrice
this
.
TotalList
[
3
].
price
+=
x
.
DiningTotalPrice
this
.
TeamUsePriceList
.
push
(
TeamUsePriceObj
)
}
else
{
this
.
TeamUsePriceList
[
findIndex
].
list
.
push
(
x
)
}
})
},
},
scroll
(
e
)
{
scroll
(
e
)
{
this
.
boxOption
=
Math
.
floor
((
e
.
detail
.
scrollTop
-
100
)
/
1.5
);
this
.
boxOption
=
Math
.
floor
((
e
.
detail
.
scrollTop
-
100
)
/
1.5
);
this
.
$forceUpdate
();
this
.
$forceUpdate
();
},
},
init
()
{
this
.
loading
=
true
;
uni
.
showLoading
()
this
.
apipost
(
"dmcstatistics_post_GetTotalPrice_V2"
,
this
.
msg
,
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
this
.
loading
=
false
;
uni
.
hideLoading
()
this
.
dataList
=
res
.
data
.
sort
((
a
,
b
)
=>
{
return
new
Date
(
b
.
TeamUsePriceList
[
0
].
UseTime
)
-
new
Date
(
a
.
TeamUsePriceList
[
0
].
UseTime
)
})
this
.
dataList
.
forEach
(
x
=>
{
if
(
x
.
TeamUsePriceList
)
x
.
TeamUsePriceList
.
forEach
(
y
=>
{
y
.
date
=
this
.
$utils
.
formatDates
(
new
Date
(
y
.
UseTime
),
'yyyy-MM-dd'
)
})
if
(
x
.
OtherTotalPriceList
)
x
.
OtherTotalPriceList
.
forEach
(
y
=>
{
y
.
date
=
this
.
$utils
.
formatDates
(
new
Date
(
y
.
UseTime
),
'yyyy-MM-dd'
)
})
})
this
.
currentId
=
res
.
data
[
0
].
CurrencyId
this
.
currentIndex
=
0
for
(
let
i
=
0
;
i
<
res
.
data
.
length
;
i
++
){
this
.
currencyList
.
push
({
name
:
res
.
data
[
i
].
CurrencyStr
,
id
:
res
.
data
[
i
].
CurrencyId
,
})
}
this
.
newTeamUsePrice
()
}
},
(
failed
)
=>
{
this
.
loading
=
false
;
uni
.
hideLoading
()
uni
.
showToast
({
title
:
failed
.
message
,
icon
:
"none"
,
});
},
(
error
)
=>
{
this
.
loading
=
false
;
uni
.
hideLoading
()
})
},
},
},
}
}
</
script
>
</
script
>
\ No newline at end of file
pages/teamLeader/index.vue
View file @
5de253fe
...
@@ -183,7 +183,7 @@
...
@@ -183,7 +183,7 @@
</view>
</view>
<view
class=
"col"
></view>
<view
class=
"col"
></view>
<view
class=
"teamLeaderMakeNote row justify-center"
>
<view
class=
"teamLeaderMakeNote row justify-center"
>
<view
class=
"text-center"
@
click=
"go
Bookkeeping
"
>
记一笔
</view>
<view
class=
"text-center"
@
click=
"go
Url('/pages/teamLeader/reimbursementInfor')
"
>
记一笔
</view>
</view>
</view>
</view>
</view>
...
@@ -302,12 +302,8 @@ export default {
...
@@ -302,12 +302,8 @@ export default {
methods
:
{
methods
:
{
goUrl
(
url
){
goUrl
(
url
){
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
url
,
url
:
`
${
url
}
?TCIDs=
${
this
.
msg
.
TCIDs
}
`
,
})
},
goBookkeeping
(){
uni
.
navigateTo
({
url
:
`/pages/teamLeader/reimbursementInfor?TCIDs=
${
this
.
msg
.
TCIDs
}
`
,
})
})
},
},
close
(){
close
(){
...
...
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