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
cb41a0bd
Commit
cb41a0bd
authored
Jul 08, 2025
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
领队报账 相关页面
parent
ea4eb5ec
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
2961 additions
and
39 deletions
+2961
-39
flex.css
asset/css/flex.css
+70
-2
manifest.json
manifest.json
+1
-1
pages.json
pages.json
+46
-0
billDetails.vue
pages/teamLeader/billDetails.vue
+249
-0
QRCode.vue
pages/teamLeader/components/QRCode.vue
+150
-0
passengerInfo.vue
pages/teamLeader/components/passengerInfo.vue
+211
-0
otherInfor1.vue
pages/teamLeader/components/report/otherInfor1.vue
+2
-2
otherInfor2.vue
pages/teamLeader/components/report/otherInfor2.vue
+2
-2
otherInfor3.vue
pages/teamLeader/components/report/otherInfor3.vue
+2
-2
otherInfor4.vue
pages/teamLeader/components/report/otherInfor4.vue
+2
-2
otherInfor5.vue
pages/teamLeader/components/report/otherInfor5.vue
+2
-2
otherInfor6.vue
pages/teamLeader/components/report/otherInfor6.vue
+2
-2
productInfor1.vue
pages/teamLeader/components/report/productInfor1.vue
+2
-2
productInfor2.vue
pages/teamLeader/components/report/productInfor2.vue
+2
-2
productInfor3.vue
pages/teamLeader/components/report/productInfor3.vue
+2
-2
productInfor4.vue
pages/teamLeader/components/report/productInfor4.vue
+2
-2
infor1.vue
pages/teamLeader/components/schedule/infor1.vue
+96
-0
infor2.vue
pages/teamLeader/components/schedule/infor2.vue
+65
-0
infor3.vue
pages/teamLeader/components/schedule/infor3.vue
+76
-0
infor4.vue
pages/teamLeader/components/schedule/infor4.vue
+97
-0
infor5.vue
pages/teamLeader/components/schedule/infor5.vue
+97
-0
infor6.vue
pages/teamLeader/components/schedule/infor6.vue
+89
-0
infor7.vue
pages/teamLeader/components/schedule/infor7.vue
+69
-0
infor8.vue
pages/teamLeader/components/schedule/infor8.vue
+70
-0
infor9.vue
pages/teamLeader/components/schedule/infor9.vue
+79
-0
index.vue
pages/teamLeader/index.vue
+16
-6
itineraryDetails.vue
pages/teamLeader/itineraryDetails.vue
+374
-0
itineraryInformation.vue
pages/teamLeader/itineraryInformation.vue
+326
-0
opinionSurvey.vue
pages/teamLeader/opinionSurvey.vue
+92
-0
reimbursementInfor.vue
pages/teamLeader/reimbursementInfor.vue
+10
-10
roomAllocation.vue
pages/teamLeader/roomAllocation.vue
+192
-0
schedule.vue
pages/teamLeader/schedule.vue
+466
-0
No files found.
asset/css/flex.css
View file @
cb41a0bd
...
@@ -230,6 +230,9 @@
...
@@ -230,6 +230,9 @@
.fontWeight400
{
.fontWeight400
{
font-weight
:
400
;
font-weight
:
400
;
}
}
.fontWeight500
{
font-weight
:
500
;
}
.fontBold
{
.fontBold
{
font-weight
:
bold
;
font-weight
:
bold
;
}
}
...
@@ -295,12 +298,18 @@
...
@@ -295,12 +298,18 @@
.fz30
{
.fz30
{
font-size
:
30
rpx
;
font-size
:
30
rpx
;
}
}
.fz3
6
{
.fz3
2
{
font-size
:
3
6
rpx
;
font-size
:
3
2
rpx
;
}
}
.fz34
{
.fz34
{
font-size
:
34
rpx
;
font-size
:
34
rpx
;
}
}
.fz36
{
font-size
:
36
rpx
;
}
.fz38
{
font-size
:
38
rpx
;
}
.fz40
{
.fz40
{
font-size
:
40
rpx
;
font-size
:
40
rpx
;
}
}
...
@@ -319,6 +328,9 @@
...
@@ -319,6 +328,9 @@
.ML20
{
.ML20
{
margin-left
:
20
rpx
;
margin-left
:
20
rpx
;
}
}
.ML23
{
margin-left
:
23
rpx
;
}
.ML25
{
.ML25
{
margin-left
:
25
rpx
;
margin-left
:
25
rpx
;
}
}
...
@@ -415,6 +427,9 @@
...
@@ -415,6 +427,9 @@
.MB10
{
.MB10
{
margin-bottom
:
10
rpx
;
margin-bottom
:
10
rpx
;
}
}
.MB15
{
margin-bottom
:
15
rpx
;
}
.MB20
{
.MB20
{
margin-bottom
:
20
rpx
;
margin-bottom
:
20
rpx
;
}
}
...
@@ -460,18 +475,42 @@
...
@@ -460,18 +475,42 @@
.PA50
{
.PA50
{
padding
:
50
rpx
;
padding
:
50
rpx
;
}
}
.PT10
{
padding-top
:
10
rpx
;
}
.PT15
{
padding-top
:
15
rpx
;
}
.PT20
{
.PT20
{
padding-top
:
20
rpx
;
padding-top
:
20
rpx
;
}
}
.PT25
{
padding-top
:
25
rpx
;
}
.PT30
{
padding-top
:
30
rpx
;
}
.PT38
{
.PT38
{
padding-top
:
38
rpx
;
padding-top
:
38
rpx
;
}
}
.PT40
{
padding-top
:
40
rpx
;
}
.PT50
{
padding-top
:
50
rpx
;
}
.PT65
{
.PT65
{
padding-top
:
65
rpx
;
padding-top
:
65
rpx
;
}
}
.PT123
{
.PT123
{
padding-top
:
123
rpx
;
padding-top
:
123
rpx
;
}
}
.PB10
{
padding-bottom
:
10
rpx
;
}
.PB15
{
padding-bottom
:
15
rpx
;
}
.PB20
{
.PB20
{
padding-bottom
:
20
rpx
;
padding-bottom
:
20
rpx
;
}
}
...
@@ -484,6 +523,9 @@
...
@@ -484,6 +523,9 @@
.PB50
{
.PB50
{
padding-bottom
:
50
rpx
;
padding-bottom
:
50
rpx
;
}
}
.PB60
{
padding-bottom
:
60
rpx
;
}
.PB200
{
.PB200
{
padding-bottom
:
200
rpx
;
padding-bottom
:
200
rpx
;
}
}
...
@@ -493,6 +535,14 @@
...
@@ -493,6 +535,14 @@
.PB300
{
.PB300
{
padding-bottom
:
300
rpx
;
padding-bottom
:
300
rpx
;
}
}
.PY10
{
padding-top
:
10
rpx
;
padding-bottom
:
10
rpx
;
}
.PY15
{
padding-top
:
15
rpx
;
padding-bottom
:
15
rpx
;
}
.PY20
{
.PY20
{
padding-top
:
20
rpx
;
padding-top
:
20
rpx
;
padding-bottom
:
20
rpx
;
padding-bottom
:
20
rpx
;
...
@@ -604,6 +654,24 @@
...
@@ -604,6 +654,24 @@
.color2EC726
{
.color2EC726
{
color
:
#2EC726
;
color
:
#2EC726
;
}
}
.colorF99710
{
color
:
#F99710
;
}
.color9C9C9C
{
color
:
#9C9C9C
;
}
.color666
{
color
:
#666666
;
}
.color999
{
color
:
#999999
;
}
.color333
{
color
:
#333333
;
}
.colorE1432E
{
color
:
#E1432E
;
}
.bgFFF
{
.bgFFF
{
background
:
#fff
;
background
:
#fff
;
}
}
...
...
manifest.json
View file @
cb41a0bd
...
@@ -69,7 +69,7 @@
...
@@ -69,7 +69,7 @@
"quickapp"
:
{},
"quickapp"
:
{},
/*
小程序特有相关
*/
/*
小程序特有相关
*/
"mp-weixin"
:
{
"mp-weixin"
:
{
"appid"
:
"wx
cf0727a7c78b501e
"
,
"appid"
:
"wx
5564525562e92ddb
"
,
"navigateToMiniProgramAppIdList"
:
[
"wxacd9f8cc3480d29e"
],
"navigateToMiniProgramAppIdList"
:
[
"wxacd9f8cc3480d29e"
],
"setting"
:
{
"setting"
:
{
"urlCheck"
:
true
,
"urlCheck"
:
true
,
...
...
pages.json
View file @
cb41a0bd
...
@@ -1088,6 +1088,52 @@
...
@@ -1088,6 +1088,52 @@
"navigationBarTitleText"
:
"报账"
,
"navigationBarTitleText"
:
"报账"
,
"navigationStyle"
:
"custom"
"navigationStyle"
:
"custom"
}
}
},
{
"path"
:
"billDetails"
,
"style"
:{
"navigationBarTitleText"
:
"账单明细"
,
"navigationStyle"
:
"custom"
}
},
{
"path"
:
"itineraryInformation"
,
"style"
:{
"navigationBarTitleText"
:
"行程信息"
,
"navigationStyle"
:
"custom"
}
},
{
"path"
:
"itineraryDetails"
,
//行程详情
"enablePullDownRefresh"
:
true
,
"style"
:
{
"navigationStyle"
:
"custom"
,
"mp-alipay"
:
{
"transparentTitle"
:
"always"
,
"titlePenetrate"
:
"YES"
}
}
},
{
"path"
:
"roomAllocation"
,
"style"
:{
"navigationBarTitleText"
:
"分房表"
,
"navigationStyle"
:
"custom"
}
},
{
"path"
:
"schedule"
,
"style"
:{
"navigationBarTitleText"
:
"领队导游运行计划表"
,
"navigationStyle"
:
"custom"
}
},
{
"path"
:
"opinionSurvey"
,
"style"
:{
"navigationBarTitleText"
:
"意见调查"
,
"navigationStyle"
:
"custom"
}
}
}
]
]
}
}
...
...
pages/teamLeader/billDetails.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.billDetailsHeaderBox
{
background
:
linear-gradient
(
-30deg
,
#4779FF
,
#47A5FF
);
}
.billDetailsTitle
{
position
:
relative
;
z-index
:
3
}
.billDetailsTitle.fixed
{
position
:
fixed
;
left
:
0
;
top
:
0
;
right
:
0
;
z-index
:
2
;
background
:
linear-gradient
(
-30deg
,
#4779FF
,
#47A5FF
);
}
.billDetailsTitle.fixed
.billDetailsTsBox
{
top
:
22rpx
;
}
.teamLeader-currency
{
font-size
:
24rpx
;
border-radius
:
30rpx
;
// border: 1px solid #fff;
padding
:
8rpx
20rpx
;
position
:
absolute
;
right
:
210rpx
;
top
:
115rpx
;
color
:
#fff
;
}
.teamLeader-currency
text
{
margin-right
:
15rpx
;
}
.triangle
{
width
:
0
;
height
:
0
;
border-left
:
8rpx
solid
transparent
;
border-right
:
8rpx
solid
transparent
;
border-top
:
8rpx
solid
#fff
;
}
.billDetailsHeaderNBox
{
padding
:
0
30rpx
;
position
:
relative
;
}
.billDetailsHeaderNBox
img
{
width
:
100%
;
height
:
298rpx
;
position
:
absolute
;
top
:
-50rpx
;
left
:
0
;
right
:
0
;
}
.billDetailsHeaderNum
{
padding
:
60rpx
50rpx
57rpx
50rpx
;
background
:
url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638874803742697756.png')
no-repeat
#fff
;
background-size
:
100%
auto
;
position
:
relative
;
z-index
:
2
;
.label
{
font-size
:
24rpx
;
}
.value
{
font-size
:
32rpx
;
margin-top
:
20rpx
;
text
{
font-size
:
24rpx
;
margin-right
:
10rpx
;
}
}
}
.billDetailsCTop
{
margin
:
39rpx
30rpx
30rpx
30rpx
;
border-radius
:
8rpx
;
overflow
:
hidden
;
box-shadow
:
0rpx
10rpx
10rpx
0rpx
rgba
(
114
,
114
,
114
,
0
.16
);
}
.billDetailsCHeader
{
background
:
#EDF5FF
;
padding
:
28rpx
31rpx
;
}
.billDetailsCHeaderR
img
{
width
:
18rpx
;
height
:
12rpx
;
}
.billDetailsCCBox
{
padding
:
30rpx
;
}
.billDetailsCCBox
img
{
width
:
72rpx
;
height
:
72rpx
;
}
.billDetailsCCR
{
padding
:
30rpx
0
;
border-bottom
:
1px
solid
#eee
;
}
.billDetailsCCBox
:last-child
.billDetailsCCR
{
border-bottom
:
0
;
}
.billDetailsCHeader.billDetailsCHeaderOth
{
background
:
#FFF5ED
;
}
.billDetailsCCBox.billDetailsCCBoxOth
{
background
:
#F5F5F5
;
padding
:
25rpx
22rpx
;
margin
:
0
30rpx
;
}
.billDetailsCCBoxOth
:first-child
{
margin-top
:
20rpx
;
}
.billDetailsCCBoxOth
:nth-child
(
2
)
{
background
:
#fff
;
}
</
style
>
<
template
>
<view
style=
"height: 100vh;"
>
<scroll-view
class=
"billDetailsBox"
scroll-y=
"true"
:enable-back-to-top=
"true"
:enable-flex=
"true"
@
scroll=
"scroll"
style=
"height: 100vh;"
>
<view
class=
"billDetailsHeaderBox PB40"
>
<view
class=
"billDetailsTitle"
>
<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>
<view
class=
"billDetailsTitle fixed"
:style=
"
{ opacity: boxOption + '%' }">
<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>
<view
class=
"billDetailsHeaderNBox MT50"
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638874816517253757.png"
/>
<view
class=
"billDetailsHeaderNum row justify-between"
>
<view
class=
"column"
>
<text
class=
"label"
>
自费收入
</text>
<text
class=
"value"
><text>
¥
</text>
600.00
</text>
</view>
<view
class=
"column"
>
<text
class=
"label"
>
自费支出
</text>
<text
class=
"value"
><text>
¥
</text>
520.00
</text>
</view>
<view
class=
"column"
>
<text
class=
"label"
>
小费收入
</text>
<text
class=
"value"
><text>
¥
</text>
200.00
</text>
</view>
</view>
</view>
</view>
<view>
<view
class=
"billDetailsCTop"
>
<view
class=
"billDetailsCHeader row justify-between items-center"
>
<view
class=
"billDetailsCHeaderL"
>
<view
class=
"fz28"
>
1月16日
</view>
<view
class=
"fz20 MT10"
>
2019年
</view>
</view>
<view
class=
"billDetailsCHeaderR row items-center fontBold"
>
<text>
¥2389.00
</text>
<img
class=
"ML20"
:src=
"downImg[0]"
/>
</view>
</view>
<view>
<view
class=
"billDetailsCCBox row items-center fz28"
>
<img
:src=
"typeImgs[0]"
/>
<view
class=
"billDetailsCCR flex1 row justify-between items-center"
>
<view
class=
"ML23 fz28"
>
车
</view>
<text
class=
"fz28 fontWeight500"
>
¥126
</text>
</view>
</view>
</view>
</view>
<view
class=
"billDetailsCTop"
>
<view
class=
"billDetailsCHeader billDetailsCHeaderOth row justify-between items-center"
>
<view
class=
"billDetailsCHeaderL"
>
<view
class=
"fz28"
>
其他费用
</view>
</view>
<view
class=
"billDetailsCHeaderR row items-center fontBold"
>
<text>
¥2389.00
</text>
<img
class=
"ML20"
:src=
"downImg[0]"
/>
</view>
</view>
<view>
<view
v-for=
"(item,index) in 3"
class=
"billDetailsCCBox billDetailsCCBoxOth row items-center justify-between fz28"
>
<view
class=
"billDetailsCCROth row items-center"
>
<view
class=
""
>
06-01
</view>
<view
class=
"ML23"
>
车
</view>
</view>
<text
class=
"fontWeight500"
>
¥126
</text>
</view>
</view>
</view>
</view>
</scroll-view>
<currencyBottom
v-if=
"currencyVisible"
:current=
"currentId"
:currencyList=
"currencyList"
@
close=
"close"
@
change=
"popupCurrency"
></currencyBottom>
</view>
</
template
>
<
script
>
import
headers
from
"@/components/header/header"
;
import
currencyBottom
from
"./components/currencyBottom"
;
export
default
{
components
:
{
headers
,
currencyBottom
,
},
data
()
{
return
{
pageTitle
:
'账单明细'
,
boxOption
:
0
,
currencyVisible
:
false
,
currencyList
:
[],
currentId
:
0
,
currentIndex
:
0
,
downImg
:[
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638874827170491438.png'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638874827279495359.png'
,
],
typeImgs
:[
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638874829614812469.png'
,
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638874829612454395.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'
],
}
},
onLoad
(
option
){
},
created
()
{
},
mounted
()
{
},
methods
:
{
popupCurrency
(
value
){
this
.
currencyVisible
=
false
this
.
currentId
=
value
this
.
currentIndex
=
this
.
dataList
.
findIndex
(
item
=>
item
.
CurrencyId
==
value
)
},
scroll
(
e
)
{
this
.
boxOption
=
Math
.
floor
((
e
.
detail
.
scrollTop
-
100
)
/
1.5
);
this
.
$forceUpdate
();
},
},
}
</
script
>
\ No newline at end of file
pages/teamLeader/components/QRCode.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.orcodeBox
{
background
:
#fff
;
border-radius
:
8rpx
;
}
.Title
{
}
.orcodeImg
img
{
width
:
500rpx
;
height
:
500rpx
;
}
.SureBox
{
font-size
:
28rpx
;
border-top
:
1px
solid
#F2F2F2
;
}
.SureBox
view
:last-child
{
color
:
#295EEB
;
}
.SureBox
view
:first-child
{
border-right
:
1px
solid
#ddd
;
color
:
#8C8C8C
;
}
</
style
>
<
template
>
<u-popup
mode=
"center"
border-radius=
"20"
:popup=
"false"
v-model=
"currencyVisible"
:maskCloseAble=
"true"
length=
"80%"
:safeAreaInsetBottom=
"true"
@
close=
"close"
:z-index=
"9999"
>
<view
class=
"orcodeBox"
>
<view
class=
"Title PY30 color000 column justify-center items-center"
>
<text
class=
"fz28"
>
领队小程序码(1/1)
</text>
<text
class=
"fz24"
>
KJKSWDGGHFHGV
</text>
</view>
<view
class=
"orcodeImg row items-center justify-center PX40"
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638868977886703780.png"
/>
</view>
<view
class=
"SureBox row MT40"
>
<view
class=
"flex1 PY20 text-center"
@
click=
"close"
>
取消
</view>
<view
class=
"flex1 PY20 text-center"
@
click=
"preservation"
>
保存
</view>
</view>
</view>
</u-popup>
</
template
>
<
script
>
export
default
{
props
:[
'title'
],
data
()
{
return
{
currencyVisible
:
true
,
textarea
:
''
,
}
},
watch
:
{
title
:{
handler
(
newVal
,
oldVal
){
},
deep
:
true
,
immediate
:
true
,
}
},
mounted
()
{
this
.
currencyVisible
=
true
},
methods
:
{
close
(){
this
.
currencyVisible
=
false
this
.
$emit
(
'close'
)
},
preservation
(){
uni
.
showLoading
({
title
:
"正在生成"
,
});
let
that
=
this
;
uni
.
canvasToTempFilePath
({
canvasId
:
"firstCanvas"
,
success
:
(
res
)
=>
{
uni
.
hideLoading
();
uni
.
showLoading
({
title
:
"正在保存"
,
});
uni
.
saveImageToPhotosAlbum
({
filePath
:
res
.
tempFilePath
,
success
:
function
()
{
uni
.
showToast
({
title
:
"保存成功"
,
});
},
fail
:
function
(
err
)
{
if
(
err
.
errMsg
===
"saveImageToPhotosAlbum:fail auth deny"
)
{
uni
.
authorize
({
scope
:
'scope.writePhotosAlbum'
,
success
:
(
res
)
=>
{
console
.
log
(
'11111'
);
},
fail
:
(
res
)
=>
{
uni
.
showModal
({
content
:
'检测到您没打开保存到相册权限,是否去设置打开?'
,
confirmText
:
"确认"
,
cancelText
:
'取消'
,
success
:
(
res
)
=>
{
if
(
res
.
confirm
)
{
uni
.
openSetting
({
success
:
(
res
)
=>
{
console
.
log
(
res
);
if
(
res
.
authSetting
[
'scope.writePhotosAlbum'
])
{
that
.
preservation
()
}
}
})
}
else
{
console
.
log
(
'取消'
);
}
}
})
}
})
}
else
{
that
.
$refs
.
uTips
.
show
({
title
:
"保存失败,请稍后重试"
,
type
:
"error"
,
duration
:
"2300"
,
});
}
},
complete
:
function
()
{
uni
.
hideLoading
();
},
});
},
fail
:
function
(
e
)
{
console
.
log
(
e
);
that
.
$refs
.
uTips
.
show
({
title
:
"生成失败,请稍后重试"
,
type
:
"error"
,
duration
:
"2300"
,
});
},
},
this
);
},
}
}
</
script
>
\ No newline at end of file
pages/teamLeader/components/passengerInfo.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.passHeader
{
background
:
linear-gradient
(
-30deg
,
#4FA9FF
,
#4779FF
);
}
.carrHeader-title
{
width
:
100%
;
position
:
relative
;
left
:
0
;
right
:
0
;
font-size
:
32rpx
;
}
.carrHeader-title.carrHeader-titleL
{
text-indent
:
80rpx
;
}
.carrHeader-left
{
position
:
absolute
;
left
:
32rpx
;
z-index
:
3
;
}
.carrHeaderBox
{
width
:
100%
;
height
:
88rpx
;
padding
:
0
32rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
position
:
relative
;
}
.carrHeader
{
padding-top
:
48rpx
;
}
.passCenter
{
margin-bottom
:
25rpx
;
}
.passCenter-L
{
width
:
150rpx
;
}
.passCenter-R
view
{
font-weight
:
500
;
}
</
style
>
<
template
>
<u-popup
mode=
"center"
border-radius=
"20"
:popup=
"false"
v-model=
"showVisible"
:maskCloseAble=
"true"
length=
"100%"
:safeAreaInsetBottom=
"true"
@
close=
"close"
:z-index=
"9999"
>
<view
class=
"column"
style=
"height: 100vh;"
>
<view
class=
"passHeader"
>
<view
class=
"carrHeader"
:style=
"[titleStyle]"
>
<view
class=
"carrHeaderBox"
>
<view
class=
"carrHeader-left"
>
<view
class=
"carrHeader-left-icon"
@
click=
"close"
>
<uni-icons
name=
""
type=
"closeempty"
size=
"25"
color=
"#fff"
></uni-icons>
</view>
</view>
<view
class=
"carrHeader-title"
:style=
"
{'color':'#fff','text-align':'center'}">
<slot>
{{
pageTitle
}}
</slot>
</view>
</view>
</view>
</view>
<scroll-view
class=
"flex1"
:scroll-y=
"true"
:enable-back-to-top=
"true"
:enable-flex=
"true"
style=
"background: #ffff;"
>
<view
class=
"passCenterBox PA30"
>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
旅客
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
姓名
</view>
<text
class=
"ML10 color999"
>
()
</text>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
性别
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
出生日期
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
年龄类型
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
出生地
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
护照号
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
签发地
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
签发日期
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
护照有效期
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
客户手机
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
身份证
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
单价
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
业务员
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
方式
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
航位
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
<view
class=
"passCenter row items-center"
>
<view
class=
"passCenter-L fz24"
>
签证类型
</view>
<view
class=
"passCenter-R row"
>
<view
class=
"fz28"
>
-
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</u-popup>
</
template
>
<
script
>
import
headers
from
"@/components/header/header"
;
export
default
{
props
:[
''
],
components
:
{
headers
},
data
()
{
return
{
pageTitle
:
'旅客'
,
showVisible
:
true
,
newCurrent
:
0
,
titleStyle
:
{},
}
},
watch
:
{
current
:{
handler
(
newVal
,
oldVal
){
this
.
newCurrent
=
newVal
},
immediate
:
true
,
},
},
mounted
()
{
const
that
=
this
uni
.
getSystemInfo
({
success
(
res
)
{
that
.
titleStyle
=
{
paddingTop
:
`
${
res
.
statusBarHeight
}
px`
};
},
});
this
.
showVisible
=
true
},
methods
:
{
close
(){
this
.
showVisible
=
false
this
.
$emit
(
'close'
)
},
}
}
</
script
>
\ No newline at end of file
pages/teamLeader/components/otherInfor1.vue
→
pages/teamLeader/components/
report/
otherInfor1.vue
View file @
cb41a0bd
...
@@ -205,8 +205,8 @@
...
@@ -205,8 +205,8 @@
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
upload
from
"./upload"
;
import
upload
from
".
.
/upload"
;
import
singleChoice
from
"./singleChoice"
;
import
singleChoice
from
".
.
/singleChoice"
;
export
default
{
export
default
{
props
:[
'data'
,
'options'
,
'currencyList'
],
props
:[
'data'
,
'options'
,
'currencyList'
],
components
:
{
components
:
{
...
...
pages/teamLeader/components/otherInfor2.vue
→
pages/teamLeader/components/
report/
otherInfor2.vue
View file @
cb41a0bd
...
@@ -207,8 +207,8 @@
...
@@ -207,8 +207,8 @@
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
upload
from
"./upload"
;
import
upload
from
".
.
/upload"
;
import
singleChoice
from
"./singleChoice"
;
import
singleChoice
from
".
.
/singleChoice"
;
export
default
{
export
default
{
props
:[
'data'
,
'options'
,
'currencyList'
],
props
:[
'data'
,
'options'
,
'currencyList'
],
components
:
{
components
:
{
...
...
pages/teamLeader/components/otherInfor3.vue
→
pages/teamLeader/components/
report/
otherInfor3.vue
View file @
cb41a0bd
...
@@ -207,8 +207,8 @@
...
@@ -207,8 +207,8 @@
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
upload
from
"./upload"
;
import
upload
from
".
.
/upload"
;
import
singleChoice
from
"./singleChoice"
;
import
singleChoice
from
".
.
/singleChoice"
;
export
default
{
export
default
{
props
:[
'data'
,
'options'
,
'currencyList'
],
props
:[
'data'
,
'options'
,
'currencyList'
],
components
:
{
components
:
{
...
...
pages/teamLeader/components/otherInfor4.vue
→
pages/teamLeader/components/
report/
otherInfor4.vue
View file @
cb41a0bd
...
@@ -206,8 +206,8 @@
...
@@ -206,8 +206,8 @@
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
upload
from
"./upload"
;
import
upload
from
".
.
/upload"
;
import
singleChoice
from
"./singleChoice"
;
import
singleChoice
from
".
.
/singleChoice"
;
export
default
{
export
default
{
props
:[
'data'
,
'options'
,
'currencyList'
],
props
:[
'data'
,
'options'
,
'currencyList'
],
components
:
{
components
:
{
...
...
pages/teamLeader/components/otherInfor5.vue
→
pages/teamLeader/components/
report/
otherInfor5.vue
View file @
cb41a0bd
...
@@ -206,8 +206,8 @@
...
@@ -206,8 +206,8 @@
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
upload
from
"./upload"
;
import
upload
from
".
.
/upload"
;
import
singleChoice
from
"./singleChoice"
;
import
singleChoice
from
".
.
/singleChoice"
;
export
default
{
export
default
{
props
:[
'data'
,
'options'
,
'currencyList'
],
props
:[
'data'
,
'options'
,
'currencyList'
],
components
:
{
components
:
{
...
...
pages/teamLeader/components/otherInfor6.vue
→
pages/teamLeader/components/
report/
otherInfor6.vue
View file @
cb41a0bd
...
@@ -205,8 +205,8 @@
...
@@ -205,8 +205,8 @@
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
upload
from
"./upload"
;
import
upload
from
".
.
/upload"
;
import
singleChoice
from
"./singleChoice"
;
import
singleChoice
from
".
.
/singleChoice"
;
export
default
{
export
default
{
props
:[
'data'
,
'options'
,
'currencyList'
],
props
:[
'data'
,
'options'
,
'currencyList'
],
components
:
{
components
:
{
...
...
pages/teamLeader/components/productInfor1.vue
→
pages/teamLeader/components/
report/
productInfor1.vue
View file @
cb41a0bd
...
@@ -195,8 +195,8 @@
...
@@ -195,8 +195,8 @@
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
upload
from
"./upload"
;
import
upload
from
".
.
/upload"
;
import
singleChoice
from
"./singleChoice"
;
import
singleChoice
from
".
.
/singleChoice"
;
export
default
{
export
default
{
props
:[
'data'
,
'optionList'
],
props
:[
'data'
,
'optionList'
],
components
:
{
components
:
{
...
...
pages/teamLeader/components/productInfor2.vue
→
pages/teamLeader/components/
report/
productInfor2.vue
View file @
cb41a0bd
...
@@ -183,8 +183,8 @@
...
@@ -183,8 +183,8 @@
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
upload
from
"./upload"
;
import
upload
from
".
.
/upload"
;
import
singleChoice
from
"./singleChoice"
;
import
singleChoice
from
".
.
/singleChoice"
;
export
default
{
export
default
{
props
:[
'data'
,
'optionList'
],
props
:[
'data'
,
'optionList'
],
components
:
{
components
:
{
...
...
pages/teamLeader/components/productInfor3.vue
→
pages/teamLeader/components/
report/
productInfor3.vue
View file @
cb41a0bd
...
@@ -183,8 +183,8 @@
...
@@ -183,8 +183,8 @@
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
upload
from
"./upload"
;
import
upload
from
".
.
/upload"
;
import
singleChoice
from
"./singleChoice"
;
import
singleChoice
from
".
.
/singleChoice"
;
export
default
{
export
default
{
props
:[
'data'
,
'optionList'
],
props
:[
'data'
,
'optionList'
],
components
:
{
components
:
{
...
...
pages/teamLeader/components/productInfor4.vue
→
pages/teamLeader/components/
report/
productInfor4.vue
View file @
cb41a0bd
...
@@ -183,8 +183,8 @@
...
@@ -183,8 +183,8 @@
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
upload
from
"./upload"
;
import
upload
from
".
.
/upload"
;
import
singleChoice
from
"./singleChoice"
;
import
singleChoice
from
".
.
/singleChoice"
;
export
default
{
export
default
{
props
:[
'data'
,
'optionList'
],
props
:[
'data'
,
'optionList'
],
components
:
{
components
:
{
...
...
pages/teamLeader/components/schedule/infor1.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.infor1-box
{
background
:
#FFFFFF
;
box-shadow
:
0rpx
3rpx
32rpx
0rpx
rgba
(
71
,
71
,
71
,
0
.16
);
border-radius
:
8rpx
;
overflow
:
hidden
;
}
.infor1-box
>
view
{
padding
:
20rpx
0
;
border-bottom
:
1px
solid
#ddd
;
}
.infor1-box
>
view
:last-child
{
border-bottom
:
0
;
}
.infor1-box.infor1-boxWin
>
view
{
padding
:
3rpx
0
;
border-bottom
:
0
;
}
</
style
>
<
template
>
<view
class=
"PX20 PT40"
>
<view
class=
"infor1-title fz28 PB20"
>
部门负责人
</view>
<view
class=
"infor1-box PX30 bjFFF fz28 color333"
>
<view
class=
"row"
>
<view
class=
"MR40"
>
机票
</view>
<view
class=
"flex1"
>
周月
</view>
</view>
<view
class=
"row"
>
<view
class=
"MR40"
>
订房
</view>
<view
class=
"flex1"
>
周月
</view>
</view>
<view
class=
"row"
>
<view
class=
"MR40"
>
车辆
</view>
<view
class=
"flex1"
>
周月
</view>
</view>
<view
class=
"row"
>
<view
class=
"MR40"
>
订餐
</view>
<view
class=
"flex1"
>
周月
</view>
</view>
<view
class=
"row"
>
<view
class=
"MR40"
>
门票
</view>
<view
class=
"flex1"
>
周月
</view>
</view>
</view>
<view
class=
"infor1-title fz28 PY20"
>
注意事项
</view>
<view
class=
"infor1-box infor1-boxWin PX30 PY30 bjFFF fz28 color333"
>
<view
class=
"row"
>
<view
class=
"MR10"
>
不要签证
</view>
<view
class=
"flex1"
>
姓名:
</view>
</view>
<view
class=
"row"
>
<view
class=
"MR10"
>
不占床
</view>
<view
class=
"flex1"
>
姓名:
</view>
</view>
<view
class=
"row"
>
<view
class=
"MR10"
>
单地接
</view>
<view
class=
"flex1"
>
姓名:
</view>
</view>
<view
class=
"row"
>
<view
class=
"MR10"
>
单机票
</view>
<view
class=
"flex1"
>
姓名:
</view>
</view>
<view
class=
"row"
>
<view
class=
"MR10"
>
不去景点
</view>
<view
class=
"flex1"
>
姓名:
</view>
</view>
</view>
<view
style=
"height: 50rpx;"
></view>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'data'
],
data
()
{
return
{
}
},
watch
:
{
data
:{
handler
(
newVal
,
oldVal
){
},
deep
:
true
,
immediate
:
false
},
},
mounted
()
{
},
methods
:{
}
}
</
script
>
\ No newline at end of file
pages/teamLeader/components/schedule/infor2.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.infor2-box
{
background
:
#FFFFFF
;
box-shadow
:
0rpx
3rpx
32rpx
0rpx
rgba
(
71
,
71
,
71
,
0
.16
);
border-radius
:
8rpx
;
overflow
:
hidden
;
}
.infor2-line
{
border-bottom
:
1px
dashed
#AAA
;
}
.infor2-line
img
{
width
:
110rpx
;
height
:
9rpx
;
}
</
style
>
<
template
>
<view
class=
"PX20 PT40"
>
<view>
<view
class=
"infor2-box PX30 bjFFF MB20"
>
<view
class=
"infor2-line PY20 row justify-between items-center"
>
<view>
<view
class=
"fz32 color000"
>
09:00
</view>
<view
class=
"fz20 color666 MT10"
>
双流国际机场/CTU
</view>
</view>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638875792006204423.png"
/>
<view
class=
"text-right"
>
<view
class=
"fz32 color000"
>
09:00
</view>
<view
class=
"fz20 color666 MT10"
>
双流国际机场/CTU
</view>
</view>
</view>
<view
class=
"PY20 fz24 color333 row justify-between"
>
<view>
航班号:NH948
</view>
<view>
出发时间:2019-04-16
</view>
</view>
</view>
</view>
<view
style=
"height: 50rpx;"
></view>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'data'
],
data
()
{
return
{
}
},
watch
:
{
data
:{
handler
(
newVal
,
oldVal
){
},
deep
:
true
,
immediate
:
false
},
},
mounted
()
{
},
methods
:{
}
}
</
script
>
\ No newline at end of file
pages/teamLeader/components/schedule/infor3.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.infor1-box
{
background
:
#FFFFFF
;
box-shadow
:
0rpx
3rpx
32rpx
0rpx
rgba
(
71
,
71
,
71
,
0
.16
);
border-radius
:
8rpx
;
overflow
:
hidden
;
}
.infor1-box
>
view
{
padding
:
20rpx
0
;
border-bottom
:
1px
solid
#ddd
;
}
.infor1-box
>
view
:last-child
{
border-bottom
:
0
;
}
.infor1-box.infor1-boxWin
>
view
{
padding
:
3rpx
0
;
border-bottom
:
0
;
}
</
style
>
<
template
>
<view
class=
"PX20 PT40"
>
<view
class=
"infor1-box PX30 bjFFF fz28 color333"
>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
车配号
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
车辆公司
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
用车时间
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
车牌号
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
司机姓名
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
司机电话
</view>
<view
class=
""
>
周月
</view>
</view>
</view>
<view
style=
"height: 50rpx;"
></view>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'data'
],
data
()
{
return
{
}
},
watch
:
{
data
:{
handler
(
newVal
,
oldVal
){
},
deep
:
true
,
immediate
:
false
},
},
mounted
()
{
},
methods
:{
}
}
</
script
>
\ No newline at end of file
pages/teamLeader/components/schedule/infor4.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.infor1-box
{
background
:
#FFFFFF
;
box-shadow
:
0rpx
3rpx
32rpx
0rpx
rgba
(
71
,
71
,
71
,
0
.16
);
border-radius
:
8rpx
;
overflow
:
hidden
;
}
.infor1-center
>
view
{
padding
:
20rpx
0
;
border-bottom
:
1px
solid
#ddd
;
}
.infor1-center
>
view
:first-child
{
width
:
100rpx
;
flex-shrink
:
0
;
margin-right
:
20rpx
;
}
.infor1-center
>
view
:last-child
{
border-bottom
:
0
;
}
.infor1-header
{
background
:
#4985FF
;
}
.infor1-header
img
{
width
:
24rpx
;
height
:
32rpx
;
display
:
inline-block
;
}
</
style
>
<
template
>
<view
class=
"PX20 PT40"
>
<view
class=
"infor1-box MB20 bjFFF fz28 color333"
>
<view
class=
"infor1-header PY30 colorFFF"
>
<view
class=
"fz32 PX30"
>
水口世纪酒店
</view>
<view
class=
"row items-center MT10 PX30"
>
<view
class=
"row"
>
<img
class=
""
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638875688769461022.png"
/>
</view>
<text
class=
"ML20 fz28 flex1"
>
水口町名坂170-1
</text>
</view>
</view>
<view
class=
"infor1-center PX30"
>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
订房号
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
入住时间
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
占床/不占床
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
实际用房
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
联系电话
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
备注
</view>
<view
class=
"flex1"
>
周月
</view>
</view>
</view>
</view>
<view
style=
"height: 50rpx;"
></view>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'data'
],
data
()
{
return
{
}
},
watch
:
{
data
:{
handler
(
newVal
,
oldVal
){
},
deep
:
true
,
immediate
:
false
},
},
mounted
()
{
},
methods
:{
}
}
</
script
>
\ No newline at end of file
pages/teamLeader/components/schedule/infor5.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.infor1-box
{
background
:
#FFFFFF
;
box-shadow
:
0rpx
3rpx
32rpx
0rpx
rgba
(
71
,
71
,
71
,
0
.16
);
border-radius
:
8rpx
;
overflow
:
hidden
;
}
.infor1-center
>
view
{
padding
:
20rpx
0
;
border-bottom
:
1px
solid
#ddd
;
}
.infor1-center
>
view
:first-child
{
width
:
100rpx
;
flex-shrink
:
0
;
margin-right
:
20rpx
;
}
.infor1-center
>
view
:last-child
{
border-bottom
:
0
;
}
.infor1-header
{
background
:
#4985FF
;
}
.infor1-header
img
{
width
:
24rpx
;
height
:
32rpx
;
display
:
inline-block
;
}
</
style
>
<
template
>
<view
class=
"PX20 PT40"
>
<view
class=
"infor1-box MB20 bjFFF fz28 color333"
>
<view
class=
"infor1-header PY30 colorFFF"
>
<view
class=
"fz32 PX30"
>
水口世纪酒店
</view>
<view
class=
"row items-center MT10 PX30"
>
<view
class=
"row"
>
<img
class=
""
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638875688769461022.png"
/>
</view>
<text
class=
"ML20 fz28 flex1"
>
水口町名坂170-1
</text>
</view>
</view>
<view
class=
"infor1-center PX30"
>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
订餐号
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
用餐时间
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
总人数
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
类别
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
联系电话
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
备注
</view>
<view
class=
"flex1"
>
周月
</view>
</view>
</view>
</view>
<view
style=
"height: 50rpx;"
></view>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'data'
],
data
()
{
return
{
}
},
watch
:
{
data
:{
handler
(
newVal
,
oldVal
){
},
deep
:
true
,
immediate
:
false
},
},
mounted
()
{
},
methods
:{
}
}
</
script
>
\ No newline at end of file
pages/teamLeader/components/schedule/infor6.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.infor1-box
{
background
:
#FFFFFF
;
box-shadow
:
0rpx
3rpx
32rpx
0rpx
rgba
(
71
,
71
,
71
,
0
.16
);
border-radius
:
8rpx
;
overflow
:
hidden
;
}
.infor1-center
>
view
{
padding
:
20rpx
0
;
border-bottom
:
1px
solid
#ddd
;
}
.infor1-center
>
view
:first-child
{
width
:
100rpx
;
flex-shrink
:
0
;
margin-right
:
20rpx
;
}
.infor1-center
>
view
:last-child
{
border-bottom
:
0
;
}
.infor1-header
{
background
:
#4985FF
;
}
.infor1-header
img
{
width
:
24rpx
;
height
:
32rpx
;
display
:
inline-block
;
}
</
style
>
<
template
>
<view
class=
"PX20 PT40"
>
<view
class=
"infor1-box MB20 bjFFF fz28 color333"
>
<view
class=
"infor1-header PY30 colorFFF"
>
<view
class=
"fz32 PX30"
>
水口世纪酒店
</view>
<view
class=
"row items-center MT10 PX30"
>
<view
class=
"row"
>
<img
class=
""
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638875688769461022.png"
/>
</view>
<text
class=
"ML20 fz28 flex1"
>
水口町名坂170-1
</text>
</view>
</view>
<view
class=
"infor1-center PX30"
>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
游览时间
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
总人数
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
联系电话
</view>
<view
class=
""
>
周月
</view>
</view>
<view
class=
"row justify-between"
>
<view
class=
"MR40"
>
备注
</view>
<view
class=
"flex1"
>
周月
</view>
</view>
</view>
</view>
<view
style=
"height: 50rpx;"
></view>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'data'
],
data
()
{
return
{
}
},
watch
:
{
data
:{
handler
(
newVal
,
oldVal
){
},
deep
:
true
,
immediate
:
false
},
},
mounted
()
{
},
methods
:{
}
}
</
script
>
\ No newline at end of file
pages/teamLeader/components/schedule/infor7.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.infor1-box
{
background
:
#FFFFFF
;
box-shadow
:
0rpx
3rpx
32rpx
0rpx
rgba
(
71
,
71
,
71
,
0
.16
);
border-radius
:
8rpx
;
overflow
:
hidden
;
}
.infor1-center
{
border-bottom
:
1px
solid
#ddd
;
}
.infor1-center
:last-child
{
border-bottom
:
0
;
}
.infor1-header
{
background
:
#4985FF
;
}
.infor1-header
img
{
width
:
24rpx
;
height
:
32rpx
;
display
:
inline-block
;
}
</
style
>
<
template
>
<view
class=
"PX20 PT40"
>
<view
class=
"infor1-box MB20 bjFFF fz28 color333"
>
<view
class=
"infor1-header PY30 colorFFF"
>
<view
class=
"fz32 PX30"
>
水口世纪酒店
</view>
<view
class=
"row items-center MT10 PX30"
>
<view
class=
"row"
>
<img
class=
""
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638875688769461022.png"
/>
</view>
<text
class=
"ML20 fz28 flex1"
>
水口町名坂170-1
</text>
</view>
</view>
<view
class=
"infor1-center PX30 PY20 row justify-between"
>
<view
class=
"MR40"
>
进店时间
</view>
<view
class=
""
>
周月
</view>
</view>
</view>
<view
style=
"height: 50rpx;"
></view>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'data'
],
data
()
{
return
{
}
},
watch
:
{
data
:{
handler
(
newVal
,
oldVal
){
},
deep
:
true
,
immediate
:
false
},
},
mounted
()
{
},
methods
:{
}
}
</
script
>
\ No newline at end of file
pages/teamLeader/components/schedule/infor8.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.infor1-box
{
background
:
#FFFFFF
;
box-shadow
:
0rpx
3rpx
32rpx
0rpx
rgba
(
71
,
71
,
71
,
0
.16
);
border-radius
:
8rpx
;
overflow
:
hidden
;
}
.infor1-center
{
border-bottom
:
1px
solid
#ddd
;
margin-left
:
30rpx
;
margin-right
:
30rpx
;
}
.infor1-c-name
{
width
:
80rpx
;
}
.imgbox
{
margin-left
:
20rpx
;
margin-right
:
20rpx
;
}
.imgbox
img
{
width
:
33rpx
;
height
:
33rpx
;
display
:
block
;
}
</
style
>
<
template
>
<view
class=
"PT40"
>
<view
class=
"infor1-box MB20 bjFFF fz28 color333"
>
<view
class=
"infor1-center PY20 row items-center justify-between"
>
<view
class=
"row items-center"
>
<view
class=
"infor1-c-name fz32"
>
姓名
</view>
<view
class=
"imgbox"
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638875723517488195.png"
/>
</view>
<view
class=
"time fz28"
>
2025-06-10
</view>
<view
class=
"tisp fz28 ML20"
>
退休人员
</view>
</view>
<view>
ED1281216
</view>
</view>
</view>
<view
style=
"height: 50rpx;"
></view>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'data'
],
data
()
{
return
{
}
},
watch
:
{
data
:{
handler
(
newVal
,
oldVal
){
},
deep
:
true
,
immediate
:
false
},
},
mounted
()
{
},
methods
:{
}
}
</
script
>
\ No newline at end of file
pages/teamLeader/components/schedule/infor9.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.infor1-box
{
background
:
#FFFFFF
;
box-shadow
:
0rpx
3rpx
32rpx
0rpx
rgba
(
71
,
71
,
71
,
0
.16
);
border-radius
:
8rpx
;
overflow
:
hidden
;
}
.infor1-center
{
border-bottom
:
1px
solid
#ddd
;
}
.infor1-center
:last-child
{
border-bottom
:
0
;
}
.infor1-c-l
view
{
width
:
46rpx
;
height
:
46rpx
;
background
:
#4985FF
;
border-radius
:
50%
;
}
.infor1-c-l
view
img
{
width
:
30rpx
;
height
:
28rpx
;
}
.day
{
color
:
#4985FF
;
}
.text
{
font-weight
:
500
;
line-height
:
50rpx
;
}
</
style
>
<
template
>
<view
class=
"PX20 PT40"
>
<view
class=
"infor1-box PX30 MB20 bjFFF fz30"
>
<view
class=
"infor1-center row"
v-for=
"item in 5"
>
<view
class=
"infor1-c-l PY30 row"
>
<view
class=
"row items-center justify-center"
>
<img
class=
""
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638869669341003114.png"
/>
</view>
</view>
<view
class=
"infor1-c-r PY30 colorFFF flex1"
>
<view
class=
"day fz32 PX30"
>
Day01
</view>
<view
class=
"color333 text row items-center MT10 PX30"
>
枯山水景致·大池禅寺,枯山水景致·大池禅寺(包含:茶道体验),骏河湾游船.喂海鸥.远眺富士山美景,富士山芝樱名所
</view>
</view>
</view>
</view>
<view
style=
"height: 50rpx;"
></view>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'data'
],
data
()
{
return
{
}
},
watch
:
{
data
:{
handler
(
newVal
,
oldVal
){
},
deep
:
true
,
immediate
:
false
},
},
mounted
()
{
},
methods
:{
}
}
</
script
>
\ No newline at end of file
pages/teamLeader/index.vue
View file @
cb41a0bd
...
@@ -127,7 +127,7 @@
...
@@ -127,7 +127,7 @@
<view
class=
"row items-flex-end"
>
<view
class=
"row items-flex-end"
>
<text
class=
"stip"
>
¥
</text>
<text
class=
"stip"
>
¥
</text>
</view>
</view>
<text
class=
"num"
>
{{
dataList
[
current
].
PlanTotalPrice
}}
</text>
<text
class=
"num"
>
{{
dataList
[
current
Index
].
PlanTotalPrice
}}
</text>
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -191,7 +191,8 @@
...
@@ -191,7 +191,8 @@
<view
class=
"teamLeaderPath column"
>
<view
class=
"teamLeaderPath column"
>
<view
class=
"teamLeaderListBox row"
>
<view
class=
"teamLeaderListBox row"
>
<template
v-for=
"(item,index) in pathList"
>
<template
v-for=
"(item,index) in pathList"
>
<view
v-if=
"index
<3
"
class=
"teamLeaderList column justify-center"
>
<view
v-if=
"index
<3
"
class=
"teamLeaderList column justify-center"
@
click=
"goUrl(item.path)"
>
<view
class=
"teamLeaderList-top"
>
<view
class=
"teamLeaderList-top"
>
<img
:src=
"item.src"
>
<img
:src=
"item.src"
>
</view>
</view>
...
@@ -201,7 +202,8 @@
...
@@ -201,7 +202,8 @@
</view>
</view>
<view
class=
"teamLeaderListBox row"
>
<view
class=
"teamLeaderListBox row"
>
<
template
v-for=
"(item,index) in pathList"
>
<
template
v-for=
"(item,index) in pathList"
>
<view
v-if=
"index>=3"
class=
"teamLeaderList column justify-center"
>
<view
v-if=
"index>=3"
class=
"teamLeaderList column justify-center"
@
click=
"goUrl(item.path)"
>
<view
class=
"teamLeaderList-top"
>
<view
class=
"teamLeaderList-top"
>
<img
:src=
"item.src"
>
<img
:src=
"item.src"
>
</view>
</view>
...
@@ -214,15 +216,18 @@
...
@@ -214,15 +216,18 @@
:current=
"currentId"
:current=
"currentId"
:currencyList=
"currencyList"
:currencyList=
"currencyList"
@
close=
"close"
@
change=
"popupCurrency"
></currencyBottom>
@
close=
"close"
@
change=
"popupCurrency"
></currencyBottom>
<QRCode
v-if=
"showQRCode"
></QRCode>
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
headers
from
"@/components/header/header"
;
import
headers
from
"@/components/header/header"
;
import
currencyBottom
from
"./components/currencyBottom"
;
import
currencyBottom
from
"./components/currencyBottom"
;
import
QRCode
from
"./components/QRCode"
;
export
default
{
export
default
{
components
:
{
components
:
{
headers
,
headers
,
currencyBottom
currencyBottom
,
QRCode
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -231,7 +236,7 @@ export default {
...
@@ -231,7 +236,7 @@ export default {
{
{
name
:
"账单"
,
name
:
"账单"
,
src
:
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638868998200434106.png"
,
src
:
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638868998200434106.png"
,
path
:
""
,
path
:
"
/pages/teamLeader/billDetails
"
,
id
:
1
,
id
:
1
,
},
},
{
{
...
@@ -275,7 +280,7 @@ export default {
...
@@ -275,7 +280,7 @@ export default {
currencyList
:
[],
currencyList
:
[],
currentId
:
0
,
currentId
:
0
,
currentIndex
:
0
,
currentIndex
:
0
,
newCurrent
:
0
,
showQRCode
:
false
,
}
}
},
},
onLoad
(
option
){
onLoad
(
option
){
...
@@ -295,6 +300,11 @@ export default {
...
@@ -295,6 +300,11 @@ export default {
},
},
methods
:
{
methods
:
{
goUrl
(
url
){
uni
.
navigateTo
({
url
:
url
,
})
},
goBookkeeping
(){
goBookkeeping
(){
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
`/pages/teamLeader/reimbursementInfor?TCIDs=
${
this
.
msg
.
TCIDs
}
`
,
url
:
`/pages/teamLeader/reimbursementInfor?TCIDs=
${
this
.
msg
.
TCIDs
}
`
,
...
...
pages/teamLeader/itineraryDetails.vue
0 → 100644
View file @
cb41a0bd
This diff is collapsed.
Click to expand it.
pages/teamLeader/itineraryInformation.vue
0 → 100644
View file @
cb41a0bd
This diff is collapsed.
Click to expand it.
pages/teamLeader/opinionSurvey.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.opiSurListBox
{
background
:
#f5f5f5
;
height
:
100vh
;
overflow
:
hidden
;
}
.opiSurHeader
{
background
:
linear-gradient
(
-30deg
,
#4779FF
,
#47A5FF
);
}
.opiSurTitle
view
{
padding
:
5rpx
20rpx
;
border
:
1px
solid
#fff
;
background
:
#fff
;
border-radius
:
50rpx
;
}
.opiSurTitle
view
.active
{
border
:
1px
solid
#4779FF
;
background
:
#BED6FF
;
color
:
#4779FF
;
}
.opiSurListCenter
{
background
:
#fff
;
border-radius
:
10rpx
;
overflow
:
hidden
;
box-shadow
:
0rpx
3rpx
32rpx
0rpx
rgba
(
71
,
71
,
71
,
0
.16
);
}
</
style
>
<
template
>
<view
class=
"opiSurListBox column"
>
<view
class=
"opiSurHeader"
>
<headers
:title=
"pageTitle"
color=
"#fff"
></headers>
</view>
<view
class=
"opiSurTitle row justify-between PX30 PY20 fz24"
>
<view
v-for=
"item in titles"
:class=
"[msg.type==item.id?'active':'']"
>
{{
item
.
name
}}
(
{{
item
.
num
}}
)
</view>
</view>
<scroll-view
class=
"flex1 bgFFF"
scroll-y=
"true"
:enable-back-to-top=
"true"
:enable-flex=
"true"
style=
"overflow: hidden;"
>
<view
class=
"PX30"
>
<view
v-for=
"item in 20"
class=
"opiSurListCenter fz28 PX20 PY20 MT20 MB30 row justify-between"
>
<view>
名字
</view>
<view>
未评分
</view>
</view>
</view>
<view
style=
"height: 50rpx;"
></view>
</scroll-view>
</view>
</
template
>
<
script
>
import
headers
from
"@/components/header/header"
;
export
default
{
components
:
{
headers
,
},
data
()
{
return
{
pageTitle
:
'意见调查'
,
showVisible
:
false
,
titles
:[
{
name
:
'全部'
,
id
:
1
,
num
:
37
},
{
name
:
'已评分'
,
id
:
2
,
num
:
12
},
{
name
:
'未评分'
,
id
:
3
,
num
:
25
},
],
msg
:{
type
:
1
}
}
},
onLoad
(
option
){
},
created
()
{
},
mounted
()
{
},
methods
:
{
showPassengerInfo
(){
this
.
showVisible
=
true
}
},
}
</
script
>
\ No newline at end of file
pages/teamLeader/reimbursementInfor.vue
View file @
cb41a0bd
...
@@ -129,16 +129,16 @@
...
@@ -129,16 +129,16 @@
<
script
>
<
script
>
import
headers
from
"@/components/header/header"
;
import
headers
from
"@/components/header/header"
;
import
headeDatas
from
"./components/headeDatas"
;
import
headeDatas
from
"./components/headeDatas"
;
import
productInfor1
from
"./components/productInfor1"
;
import
productInfor1
from
"./components/
report/
productInfor1"
;
import
productInfor2
from
"./components/productInfor2"
;
import
productInfor2
from
"./components/
report/
productInfor2"
;
import
productInfor3
from
"./components/productInfor3"
;
import
productInfor3
from
"./components/
report/
productInfor3"
;
import
productInfor4
from
"./components/productInfor4"
;
import
productInfor4
from
"./components/
report/
productInfor4"
;
import
otherInfor1
from
"./components/otherInfor1"
;
import
otherInfor1
from
"./components/
report/
otherInfor1"
;
import
otherInfor2
from
"./components/otherInfor2"
;
import
otherInfor2
from
"./components/
report/
otherInfor2"
;
import
otherInfor3
from
"./components/otherInfor3"
;
import
otherInfor3
from
"./components/
report/
otherInfor3"
;
import
otherInfor4
from
"./components/otherInfor4"
;
import
otherInfor4
from
"./components/
report/
otherInfor4"
;
import
otherInfor5
from
"./components/otherInfor5"
;
import
otherInfor5
from
"./components/
report/
otherInfor5"
;
import
otherInfor6
from
"./components/otherInfor6"
;
import
otherInfor6
from
"./components/
report/
otherInfor6"
;
export
default
{
export
default
{
components
:
{
components
:
{
headers
,
headers
,
...
...
pages/teamLeader/roomAllocation.vue
0 → 100644
View file @
cb41a0bd
<
style
lang=
"scss"
scoped
>
@import
url("@/asset/css/flex.css")
;
.roomListBox
{
background
:
#f5f5f5
;
height
:
100vh
;
}
.roomHeader
{
background
:
linear-gradient
(
-30deg
,
#4779FF
,
#47A5FF
);
position
:
fixed
;
left
:
0
;
right
:
0
;
z-index
:
2
;
}
.roomListCenter
{
background
:
#fff
;
border-radius
:
10rpx
;
overflow
:
hidden
;
}
.roomListC-L-type
{
border-radius
:
6rpx
;
background
:
#0072FF
;
padding
:
5rpx
10rpx
;
color
:
#fff
;
margin-right
:
20rpx
;
}
.roomListCenter.active1
.roomListC-L-type
{
background
:
#FD9700
;
}
.roomListCenter.active2
.roomListC-L-type
{
background
:
#FD9700
;
}
.roomListC-box
{
background
:
#F8F8F8
;
border-radius
:
4rpx
;
}
.roomListC-bind
view
{
border
:
1px
solid
#73AEFF
;
color
:
#257BF1
;
border-radius
:
6rpx
;
padding
:
5rpx
10rpx
;
margin-right
:
20rpx
;
margin-top
:
20rpx
;
margin-bottom
:
25rpx
;
}
.roomListC-info
{
margin-bottom
:
23rpx
;
font-size
:
24rpx
;
}
.roomListC-info-L
{
width
:
350rpx
;
color
:
#333333
;
}
.roomListC-info-L
view
:first-child
{
width
:
100rpx
;
text-align
:
right
;
margin-right
:
20rpx
;
color
:
#666666
;
flex-shrink
:
0
;
}
.roomListC-info-R
{
color
:
#333333
;
}
.roomListC-info-R
view
:first-child
{
width
:
80rpx
;
text-align
:
right
;
margin-right
:
20rpx
;
color
:
#666666
;
flex-shrink
:
0
;
}
.roomListC-info-L
view
:last-child
,
.roomListC-info-R
view
:last-child
{
font-weight
:
500
;
}
</
style
>
<
template
>
<view
class=
"roomListBox"
>
<view
class=
"roomHeader"
>
<headers
:title=
"pageTitle"
color=
"#fff"
></headers>
</view>
<scroll-view
scroll-y=
"true"
:enable-back-to-top=
"true"
:enable-flex=
"true"
style=
"height: 100%;"
>
<view
class=
"PA30"
style=
"margin-top: 160rpx;"
>
<view
class=
"roomListCenter PX20 MT30"
>
<view
class=
"roomListC-header PY15 row justify-between items-center"
>
<view
class=
"roomListC-L row items-center fz24"
>
<view
class=
"roomListC-L-type"
>
单间
</view>
<view
class=
"fz28"
>
<text>
分房:
</text>
<text>
20
</text>
</view>
</view>
<view>
<text>
人数:
</text>
<text>
1
</text>
</view>
</view>
<view>
<view
class=
"roomListC-box PA20 MB20"
>
<view
class=
"roomListC-Title row justify-between"
@
click=
"showPassengerInfo"
>
<view
class=
"fz28 row"
>
<view>
姓名
</view>
<view
class=
"ML20 color999"
>
(jhggyookp[p[]])
</view>
<img
src=
""
style=
"width: 21rpx;height: 21rpx;"
/>
</view>
<view>
<u-icon
class=
""
name=
"arrow"
size=
"32"
color=
"#ccc"
></u-icon>
</view>
</view>
<view
class=
"roomListC-bind row fz20"
>
<view>
未绑定
</view>
<view>
领队
</view>
</view>
<view
class=
"roomListC-info row"
>
<view
class=
"roomListC-info-L row"
>
<view>
护照号
</view>
<view
class=
"flex1"
>
12121
</view>
</view>
<view
class=
"roomListC-info-R row"
>
<view>
签发地
</view>
<view
class=
"flex1"
>
2121
</view>
</view>
</view>
<view
class=
"roomListC-info row"
>
<view
class=
"roomListC-info-L row"
>
<view>
客户手机
</view>
<view
class=
"flex1"
>
2121
</view>
</view>
<view
class=
"roomListC-info-R row"
>
<view>
业务员
</view>
<view
class=
"flex1"
>
2121
</view>
</view>
</view>
<view
class=
"roomListC-info row"
>
<view
class=
"roomListC-info-L row"
>
<view>
出生日期
</view>
<view
class=
"flex1"
>
2121
</view>
</view>
<view
class=
"roomListC-info-R row"
>
<view>
单价
</view>
<view
class=
"flex1"
>
¥
</view>
</view>
</view>
<view
class=
"roomListC-info row"
>
<view
class=
"roomListC-info-L row"
>
<view>
备注
</view>
<view
class=
"flex1 colorE1432E"
>
21211
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</scroll-view>
<passengerInfo
v-if=
"showVisible"
@
close=
"showVisible=false"
></passengerInfo>
</view>
</
template
>
<
script
>
import
headers
from
"@/components/header/header"
;
import
passengerInfo
from
"./components/passengerInfo"
;
export
default
{
components
:
{
headers
,
passengerInfo
},
data
()
{
return
{
pageTitle
:
'分房表'
,
showVisible
:
false
}
},
onLoad
(
option
){
},
created
()
{
},
mounted
()
{
},
methods
:
{
showPassengerInfo
(){
this
.
showVisible
=
true
}
},
}
</
script
>
\ No newline at end of file
pages/teamLeader/schedule.vue
0 → 100644
View file @
cb41a0bd
This diff is collapsed.
Click to expand it.
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