Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
U
uni-pdtravel
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
panyongping
uni-pdtravel
Commits
34f47abe
Commit
34f47abe
authored
Nov 15, 2023
by
潘永坪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
填写订单页面开发
parent
267bf1ae
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
892 additions
and
881 deletions
+892
-881
App.vue
App.vue
+27
-5
common.js
common/common.js
+3
-0
buyKnow.vue
components/buyKnow.vue
+6
-8
customer.vue
components/customer.vue
+3
-4
merchantDetail.vue
components/merchantDetail.vue
+3
-6
calendar.vue
pages/scenic/scenicComponents/calendar.vue
+17
-39
contactList.vue
pages/scenic/scenicComponents/contactList.vue
+147
-149
detail.vue
pages/scenic/scenicComponents/detail.vue
+120
-124
times.vue
pages/scenic/scenicComponents/times.vue
+78
-73
scenicOrder.vue
pages/scenic/scenicOrder/scenicOrder.vue
+21
-20
u-popup.vue
uview-ui/components/u-popup/u-popup.vue
+155
-155
dayjs.js
uview-ui/libs/util/dayjs.js
+312
-298
No files found.
App.vue
View file @
34f47abe
...
@@ -101,14 +101,36 @@ export default {
...
@@ -101,14 +101,36 @@ export default {
textarea
{
textarea
{
box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
}
.btn
{
//小按钮
background
:
linear-gradient
(
132deg
,
#ED400C
0%
,
#FB862C
100%
);
.btn
{
background
:linear-gradient
(
132deg
,
#ED400C
0
%
,
#FB862C
100
%
)
;
display
:
inline-block
;
display
:
inline-block
;
color
:
#FFFFFF
;
color
:
#FFFFFF
;
font-size
:
28rpx
;
font-size
:
28rpx
;
border-radius
:
8rpx
;
border-radius
:
8rpx
;
text-align
:
center
;
padding
:
16rpx
32rpx
;
}
//中等按钮
.middle-btn
{
background
:linear-gradient
(
132deg
,
#ED400C
0
%
,
#FB862C
100
%
)
;
display
:
inline-block
;
color
:
#FFFFFF
;
font-size
:
32rpx
;
border-radius
:
12rpx
;
text-align
:
center
;
padding
:
18rpx
40rpx
;
}
//大按钮
.big-btn
{
background
:linear-gradient
(
132deg
,
#ED400C
0
%
,
#FB862C
100
%
)
;
display
:
inline-block
;
color
:
#FFFFFF
;
font-size
:
36rpx
;
border-radius
:
28rpx
;
text-align
:
center
;
text-align
:
center
;
padding
:
10rpx
20rpx
;
padding
:
20rpx
80rpx
;
font-weight
:
bold
;
}
}
/*单行溢出*/
/*单行溢出*/
...
...
common/common.js
View file @
34f47abe
...
@@ -101,6 +101,9 @@ export default{
...
@@ -101,6 +101,9 @@ export default{
idReg
:
function
(){
//身份证正则
idReg
:
function
(){
//身份证正则
return
/^
[
1-9
]\d{5}[
1-9
]\d{3}((
0
\d)
|
(
1
[
0-2
]))(([
0|1|2
]\d)
|3
[
0-1
])\d{3}([
0-9
]
|X|x
)
$/
return
/^
[
1-9
]\d{5}[
1-9
]\d{3}((
0
\d)
|
(
1
[
0-2
]))(([
0|1|2
]\d)
|3
[
0-1
])\d{3}([
0-9
]
|X|x
)
$/
},
},
nameReg
:
function
(){
//中文名字正则
return
/^
[\u
4E00-
\u
9FA5
]{2,40}
$/
},
getUrlKey
:
function
(
name
,
url
){
//通过连接地址获取参数值
getUrlKey
:
function
(
name
,
url
){
//通过连接地址获取参数值
return
(
new
RegExp
(
'[?|&]'
+
name
+
'='
+
'([^&;]+?)(&|#|;|$)'
).
exec
(
decodeURIComponent
(
url
))
||
[,
''
])[
1
].
replace
(
/
\+
/g
,
'%20'
)
||
''
return
(
new
RegExp
(
'[?|&]'
+
name
+
'='
+
'([^&;]+?)(&|#|;|$)'
).
exec
(
decodeURIComponent
(
url
))
||
[,
''
])[
1
].
replace
(
/
\+
/g
,
'%20'
)
||
''
},
},
...
...
components/buyKnow.vue
View file @
34f47abe
<
template
>
<
template
>
<u-popup
:show=
"showPop"
:round=
"20"
@
close=
"showPop=false"
>
<u-popup
:show=
"showPop"
:round=
"20"
@
close=
"showPop=false"
closeable
>
<view
class=
"son-wrap"
>
<view
class=
"son-wrap"
>
<view
class=
"head"
>
<view
class=
"head"
>
<view
class=
"head1"
>
<view
class=
"head1"
>
<view
style=
"flex: 1;text-align: center;"
>
购买须知
购买须知
</view>
</view>
<u-icon
name=
"close"
@
click=
"showPop=false"
></u-icon>
</view>
<view
class=
"head2"
>
<view
class=
"head2"
>
{{
buyKnowData
.
name
}}
{{
buyKnowData
.
name
}}
</view>
</view>
...
@@ -20,7 +17,7 @@
...
@@ -20,7 +17,7 @@
<view
style=
"flex: 1;overflow-y: scroll;"
>
<view
style=
"flex: 1;overflow-y: scroll;"
>
<view
class=
"middle"
>
<view
class=
"middle"
>
<view
class=
"middle-list"
v-for=
"(item,a) of buyKnowData.productTitle
ResVos
"
:key=
"a"
>
<view
class=
"middle-list"
v-for=
"(item,a) of buyKnowData.productTitle
Data
"
:key=
"a"
>
<view
class=
"middle-title"
>
<view
class=
"middle-title"
>
{{
item
.
title
}}
{{
item
.
title
}}
</view>
</view>
...
@@ -72,7 +69,7 @@ export default {
...
@@ -72,7 +69,7 @@ export default {
<
style
scoped=
"scoped"
>
<
style
scoped=
"scoped"
>
.son-wrap
{
.son-wrap
{
position
:
relative
;
position
:
relative
;
height
:
8
5
vh
;
height
:
8
0
vh
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
}
}
...
@@ -80,7 +77,7 @@ export default {
...
@@ -80,7 +77,7 @@ export default {
padding
:
0
24
rpx
;
padding
:
0
24
rpx
;
}
}
.head1
{
.head1
{
display
:
flex
;
text-align
:
center
;
font-size
:
32
rpx
;
font-size
:
32
rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
padding
:
30
rpx
0
;
padding
:
30
rpx
0
;
...
@@ -113,8 +110,9 @@ export default {
...
@@ -113,8 +110,9 @@ export default {
}
}
.middle-content
{
.middle-content
{
display
:
flex
;
display
:
flex
;
margin-top
:
3
0
rpx
;
margin-top
:
2
0
rpx
;
position
:
relative
;
position
:
relative
;
line-height
:
52
rpx
;
}
}
.middle-content
>
text
{
.middle-content
>
text
{
color
:
#666666
;
color
:
#666666
;
...
...
components/customer.vue
View file @
34f47abe
<
template
>
<
template
>
<!-- 客服 -->
<!-- 客服 -->
<u-popup
:show=
"showPop"
:round=
"20"
@
close=
"showPop = false"
>
<u-popup
:show=
"showPop"
:round=
"20"
@
close=
"showPop = false"
closeable
>
<view
class=
"son-wrap"
>
<view
class=
"son-wrap"
>
<view
class=
"title"
>
<view
class=
"title"
>
<view
style=
"flex: 1; text-align: center"
>
客服电话
</view>
客服电话
<u-icon
name=
"close"
@
click=
"showPop = false"
></u-icon>
</view>
</view>
<view
class=
"middle"
>
<view
class=
"middle"
>
<view
class=
"list"
v-for=
"(item, index) in scenicList"
:key=
"index"
@
click=
"makePhone(item.phone)"
>
<view
class=
"list"
v-for=
"(item, index) in scenicList"
:key=
"index"
@
click=
"makePhone(item.phone)"
>
...
@@ -45,7 +44,7 @@ export default {
...
@@ -45,7 +44,7 @@ export default {
flex-direction
:
column
;
flex-direction
:
column
;
}
}
.title
{
.title
{
display
:
flex
;
text-align
:
center
;
font-size
:
32rpx
;
font-size
:
32rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
padding
:
30rpx
;
padding
:
30rpx
;
...
...
components/merchantDetail.vue
View file @
34f47abe
<
template
>
<
template
>
<!-- 商家详情弹窗 -->
<!-- 商家详情弹窗 -->
<u-popup
:show=
"showPop"
:round=
"20"
@
close=
"showPop=false"
>
<u-popup
:show=
"showPop"
:round=
"20"
@
close=
"showPop=false"
closeable
>
<view
class=
"son-wrap"
>
<view
class=
"son-wrap"
>
<view
class=
"head"
>
<view
class=
"head"
>
<view
class=
"head-name"
>
{{
detailData
.
name
}}
{{
detailData
.
name
}}
</view>
</view>
<u-icon
name=
"close"
@
click=
"showPop=false"
></u-icon>
</view>
<view
style=
"flex: 1;overflow-y: scroll;"
>
<view
style=
"flex: 1;overflow-y: scroll;"
>
<view
v-if=
"detailData.imgList&&detailData.imgList.length>0"
>
<view
v-if=
"detailData.imgList&&detailData.imgList.length>0"
>
<u-swiper
:list=
"detailData.imgList"
@
change=
"e => currentNum = e.current"
indicatorStyle=
"right: 20px;bottom:25px"
height=
"400"
circular
>
<u-swiper
:list=
"detailData.imgList"
@
change=
"e => currentNum = e.current"
indicatorStyle=
"right: 20px;bottom:25px"
height=
"400"
circular
>
...
@@ -166,7 +163,7 @@ export default {
...
@@ -166,7 +163,7 @@ export default {
flex-direction
:column
;
flex-direction
:column
;
}
}
.head
{
.head
{
display
:
flex
;
text-align
:
center
;
font-size
:
32rpx
;
font-size
:
32rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
padding
:
30rpx
;
padding
:
30rpx
;
...
...
pages/scenic/scenicComponents/calendar.vue
View file @
34f47abe
<
template
>
<
template
>
<div>
<u-calendar
<u-calendar
:show=
"show"
:show=
"show"
@
confirm=
"onConfirm"
@
confirm=
"onConfirm"
...
@@ -8,8 +7,10 @@
...
@@ -8,8 +7,10 @@
:defaultDate=
"defaultDate"
:defaultDate=
"defaultDate"
:formatter=
'formatter'
:formatter=
'formatter'
ref=
"calendar2"
ref=
"calendar2"
rowHeight=
'112'
round=
'20'
closeOnClickOverlay=
'true'
></u-calendar>
></u-calendar>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
...
@@ -28,31 +29,15 @@ export default {
...
@@ -28,31 +29,15 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
date
:
''
,
//选择的日期
show
:
false
,
//控制日历显示隐藏
show
:
false
,
//控制日历显示隐藏
defaultDate
:
''
,
//默认日期
defaultDate
:
''
,
//默认日期
maxDate
:
''
,
//最大日期
maxDate
:
''
,
//最大日期
}
}
},
},
mounted
()
{
//默认为第一天
mounted
()
{
this
.
$refs
.
calendar2
.
setFormatter
(
this
.
formatter
)
this
.
$refs
.
calendar2
.
setFormatter
(
this
.
formatter
)
},
},
methods
:
{
methods
:
{
//---年月日转化
formatDate
(
date
)
{
let
year
=
date
.
getFullYear
()
let
month
=
date
.
getMonth
()
+
1
if
(
month
<
10
)
{
month
=
'0'
+
month
}
let
days
=
date
.
getDate
()
if
(
days
<
10
)
{
days
=
'0'
+
days
}
let
dates
=
year
+
'-'
+
month
+
'-'
+
days
return
dates
},
//---日期确认事件
//---日期确认事件
onConfirm
(
date
)
{
onConfirm
(
date
)
{
this
.
show
=
false
this
.
show
=
false
...
@@ -73,23 +58,16 @@ export default {
...
@@ -73,23 +58,16 @@ export default {
//真机调试手极端报错,暂时注释
//真机调试手极端报错,暂时注释
// this.dateList.forEach((item, index) => {
// this.dateList.forEach((item, index) => {
// if (item.startTime.substr(0, 10) == dates) {
// if (item.startTime.substr(0, 10) == dates) {
// day.bottomInfo =
"¥"
+ item.sellingPrice
// day.bottomInfo =
'¥'
+ item.sellingPrice
// day.dot = true
// day.dot = true
// }
// }
// })
// })
// if (!day.bottomInfo) {
// if (!day.bottomInfo) {
// day.type =
"disabled"
// day.type =
'disabled'
// }
// }
return
day
return
day
},
//---设置默认日期方法
}
setDefaultDate
(
val
)
{
let
dates
=
val
.
split
(
'-'
)
let
year
=
parseInt
(
dates
[
0
])
let
month
=
parseInt
(
dates
[
1
])
-
1
let
day
=
parseInt
(
dates
[
2
])
this
.
defaultDate
=
new
Date
(
year
,
month
,
day
)
},
}
}
}
}
</
script
>
</
script
>
...
...
pages/scenic/scenicComponents/contactList.vue
View file @
34f47abe
<
template
>
<
template
>
<
view
class=
"contact-box"
>
<
u-popup
:show=
"showPop"
:round=
"20"
@
close=
"showPop=false"
closeable
>
<
u-popup
:show=
"contactsShow"
@
close=
"contactsShow=false
"
>
<
view
class=
"son-wrap
"
>
<view
class=
"top"
>
<view
class=
"top"
>
<u-icon
name=
"close"
@
click=
"contactsShow=false"
></u-icon>
<view
class=
"top-num"
>
<text>
需填写
{{
buyNum
}}
位联系人
需填写
{{
buyNum
}}
位联系人
<text
v-if=
"buyNum-chooseContact.length>0"
>
,还需
<text
class=
"top-number"
>
{{
buyNum
-
chooseContact
.
length
}}
</text>
位出行人
</text>
</text>
<text
@
click=
"config()"
class=
"top-sure"
>
确定
</text>
</view>
</view>
<view
@
click=
"showEdit()"
class=
"top-add"
>
<view
class=
"bottom"
>
<view
@
click=
"showEdit()"
class=
"bottom-add"
>
<text>
<text>
+添加旅客信息
+添加旅客信息
</text>
</text>
</view>
</view>
</view>
<view
class=
"bottom"
>
<checkbox-group
@
change=
"chooseContactChange"
>
<checkbox-group
@
change=
"chooseContactChange"
>
<view
class=
"bottom-list"
v-for=
"(item,index) of contactData"
:key=
"item.id"
>
<view
class=
"bottom-list"
v-for=
"(item,index) of contactData"
:key=
"item.id"
>
<label>
<label>
...
@@ -43,23 +32,29 @@
...
@@ -43,23 +32,29 @@
</label>
</label>
<view
@
click=
"goEdit(item)"
style=
"margin-right:20rpx;"
>
<view
@
click=
"goEdit(item)"
style=
"margin-right:20rpx;"
>
<u-icon
name=
"edit-pen"
color=
"#3688ff"
size=
"
28
"
></u-icon>
<u-icon
name=
"edit-pen"
color=
"#3688ff"
size=
"
56
"
></u-icon>
</view>
</view>
<view
@
click=
"clickDele(item.id)"
>
<view
@
click=
"clickDele(item.id)"
>
<u-icon
name=
"trash-fill"
color=
"#3688ff"
size=
"
28
"
></u-icon>
<u-icon
name=
"trash-fill"
color=
"#3688ff"
size=
"
56
"
></u-icon>
</view>
</view>
</view>
<u-modal
:show=
"showModal"
@
confirm=
"confirmDele"
@
cancel=
"showModal=false"
showCancelButton
title=
"确认删除该联系人"
></u-modal>
<view
style=
"margin: 40rpx 0;text-align: center;"
v-if=
'contactData&&contactData.length>0'
>
已展示所有联系人
</view>
</view>
</checkbox-group>
</checkbox-group>
<view
class=
"bottom-sure"
>
确定
</view>
</view>
</u-popup>
</view>
</view>
</view>
<u-modal
:show=
"showModal"
@
confirm=
"confirmDele"
@
cancel=
"showModal=false"
showCancelButton
title=
"确认删除该联系人"
></u-modal>
</u-popup>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
props
:
[
"contactData"
,
"orderTouristList"
,
"buyNum"
],
props
:
[
'contactData'
,
'orderTouristList'
,
'buyNum'
],
watch
:
{
watch
:
{
orderTouristList
:
{
orderTouristList
:
{
handler
(
newValue
,
oldValue
)
{
handler
(
newValue
,
oldValue
)
{
...
@@ -73,7 +68,7 @@
...
@@ -73,7 +68,7 @@
},
},
data
()
{
data
()
{
return
{
return
{
contactsShow
:
false
,
//控制联系人弹窗显示隐藏
showPop
:
false
,
//控制联系人弹窗显示隐藏
chooseContact
:
[],
//选中的联系人
chooseContact
:
[],
//选中的联系人
showModal
:
false
,
//确认弹窗显示隐藏
showModal
:
false
,
//确认弹窗显示隐藏
contactId
:
''
,
//删除联系人的Id
contactId
:
''
,
//删除联系人的Id
...
@@ -83,20 +78,20 @@
...
@@ -83,20 +78,20 @@
methods
:
{
methods
:
{
//---点击新增,展示编辑联系人弹窗,并传空值给编辑弹窗
//---点击新增,展示编辑联系人弹窗,并传空值给编辑弹窗
showEdit
()
{
showEdit
()
{
this
.
contactsShow
=
false
this
.
showPop
=
false
this
.
$parent
.
showEdit
()
this
.
$parent
.
showEdit
()
this
.
$emit
(
"getEditContact"
,
""
)
this
.
$emit
(
'getEditContact'
,
''
)
},
},
//---展示编辑弹窗,并传值给编辑弹窗
//---展示编辑弹窗,并传值给编辑弹窗
goEdit
(
obj
)
{
goEdit
(
obj
)
{
this
.
contactsShow
=
false
this
.
showPop
=
false
this
.
$parent
.
showEdit
()
this
.
$parent
.
showEdit
()
this
.
$emit
(
"getEditContact"
,
obj
)
this
.
$emit
(
'getEditContact'
,
obj
)
},
},
//---确定选中的联系人
//---确定选中的联系人
config
()
{
config
()
{
this
.
contactsShow
=
false
this
.
showPop
=
false
this
.
$emit
(
"contactListConfig"
,
this
.
chooseContact
)
this
.
$emit
(
'contactListConfig'
,
this
.
chooseContact
)
},
},
//---联系人姓名变化
//---联系人姓名变化
...
@@ -107,12 +102,8 @@
...
@@ -107,12 +102,8 @@
arr
.
push
(
JSON
.
parse
(
item
))
arr
.
push
(
JSON
.
parse
(
item
))
})
})
this
.
chooseContact
=
arr
this
.
chooseContact
=
arr
if
(
arr
.
length
==
this
.
buyNum
)
{
//当选择的人数等于需要填的人数时关闭弹窗
this
.
config
()
}
if
(
arr
.
length
>
this
.
buyNum
)
{
if
(
arr
.
length
>
this
.
buyNum
)
{
arr
.
shift
()
arr
.
shift
()
this
.
config
()
}
}
},
},
//---点击删除
//---点击删除
...
@@ -132,7 +123,7 @@
...
@@ -132,7 +123,7 @@
icon
:
'none'
icon
:
'none'
})
})
this
.
showModal
=
false
this
.
showModal
=
false
this
.
contactsShow
=
false
this
.
showPop
=
false
this
.
$parent
.
getContactList
()
this
.
$parent
.
getContactList
()
}
else
{
}
else
{
uni
.
showToast
({
uni
.
showToast
({
...
@@ -145,52 +136,50 @@
...
@@ -145,52 +136,50 @@
})
})
}
}
}
}
}
}
</
script
>
</
script
>
<
style
scoped=
"scoped"
lang=
"scss"
>
<
style
scoped=
"scoped"
lang=
"scss"
>
.
top
{
.
son-wrap
{
height
:
100rpx
;
height
:
100vh
;
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
flex-direction
:column
;
background
:
#f0f0f0
;
align-items
:
center
;
padding
:
0
24rpx
;
}
.top-sure
{
color
:
var
(
--
main-color
);
font-size
:
28rpx
;
}
}
.top-number
{
.top-num
{
color
:
#f9690e
;
height
:
100rpx
;
display
:
flex
;
align-items
:
center
;
background
:
#FFF1E8
;
color
:
#FC771D
;
justify-content
:
center
;
font-weight
:
bold
;
font-size
:
32rpx
;
font-size
:
32rpx
;
font-weight
:bold
;
}
}
.top-add
{
.bottom
{
height
:
150rpx
;
padding
:
0
24rpx
80rpx
24rpx
;
}
.bottom-add
{
height
:
130rpx
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
border-bottom
:
1px
solid
#e6e6e6
;
width
:
100%
;
justify-content
:
center
;
justify-content
:
center
;
border-bottom
:
1px
solid
#e6e6e6
;
padding
:
0
24rpx
;
background
:
#ECF3FE
;
}
}
.top-add
text
{
.bottom-add
text
{
width
:
280rpx
;
height
:
65rpx
;
text-align
:
center
;
line-height
:
65rpx
;
border
:
1px
solid
var
(
--
main-color
);
color
:var
(
--main-color
)
;
display
:
inline-block
;
display
:
inline-block
;
width
:
100%
;
height
:
76rpx
;
text-align
:
center
;
line-height
:
76rpx
;
border
:
1px
solid
$theme
;
color
:
$theme
;
border-radius
:
5rpx
;
border-radius
:
5rpx
;
box-shadow
:
0px
0px
12px
2px
rgba
(
0
,
0
,
0
,
0
.08
);
}
.bottom
{
padding
:
0
24rpx
80rpx
24rpx
;
flex
:
1
;
overflow-y
:
scroll
;
}
}
.bottom-list
{
.bottom-list
{
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
...
@@ -198,29 +187,38 @@
...
@@ -198,29 +187,38 @@
border-bottom
:
1px
solid
#E6E6E6
;
border-bottom
:
1px
solid
#E6E6E6
;
padding
:
25rpx
0
;
padding
:
25rpx
0
;
}
}
.bottom-list
label
{
.bottom-list
label
{
display
:
flex
;
display
:
flex
;
flex
:
1
;
flex
:
1
;
align-items
:
center
;
align-items
:
center
;
}
}
.bottom-content
{
.bottom-content
{
flex
:
1
;
flex
:
1
;
margin-left
:
40rpx
;
margin-left
:
40rpx
;
}
}
.bottom-content
view
{
.bottom-content
view
{
font-size
:
28rpx
;
font-size
:
28rpx
;
color
:
#666666
;
color
:
#666666
;
}
}
.bottom-content
view
:not
(
:first-child
)
{
.bottom-content
view
:not
(
:first-child
)
{
margin-top
:
10rpx
;
margin-top
:
10rpx
;
}
}
.bottom-content
view
text
{
.bottom-content
view
text
{
display
:
inline-block
;
display
:
inline-block
;
width
:
100rpx
;
width
:
100rpx
;
}
}
.bottom-sure
{
position
:
fixed
;
bottom
:
0
;
left
:
0
;
width
:
100%
;
height
:
100rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
background
:
#3688ff
;
font-size
:
32rpx
;
font-weight
:
bold
;
color
:
#ffffff
;
}
</
style
>
</
style
>
pages/scenic/scenicComponents/detail.vue
View file @
34f47abe
<
template
>
<
template
>
<view>
<u-popup
:show=
"show"
:round=
"20"
@
close=
"show = false"
closeable
>
<u-popup
:show=
"show"
:round=
"10"
closeable
@
close=
"show=false"
>
<view
class=
"son-wrap"
>
<view
class=
"detail"
>
<view
class=
"detail-title"
>
<view
class=
"detail-title"
>
费用
明细
订单
明细
</view>
</view>
<view
class=
"detail-content"
>
<view
style=
"flex: 1; overflow-y: scroll"
>
<view
class=
"content-box"
>
<view
class=
"content-box"
>
<text>
<text>
{{
merchantName
}}
(
{{
name
}}
)
</text>
{{
merchantName
}}
(
{{
name
}}
)
</text>
<view
class=
"content-right"
>
<view
class=
"content-right"
>
<view>
¥
{{
sellingPrice
}}
x
{{
buyNum
}}
份
</view>
<view>
¥
{{
sellingPrice
}}
x
{{
buyNum
}}
份
</view>
<view
v-if=
"productDepositTotal"
>
押金:
{{
productDepositTotal
}}
</view>
<view
v-if=
"productDepositTotal"
>
押金:
{{
productDepositTotal
}}
</view>
</view>
</view>
</view>
</view>
<!-- ---------------------------------------额外服务------------------------------------------- -->
<!-- ---------------------------------------额外服务------------------------------------------- -->
<view
class=
"content-box"
v-for=
"(item,
index) of choooseServiceData"
:key=
"index"
>
<view
class=
"content-box"
v-for=
"(item,
index) of choooseServiceData"
:key=
"index"
>
<text>
<text>
{{
item
.
name
}}
{{
item
.
name
}}
</text>
</text>
<view
class=
"content-right"
>
<view
class=
"content-right"
>
<view>
¥
{{
item
.
sellingPrice
}}
x
{{
buyNum
}}
份
</view>
<view>
¥
{{
item
.
sellingPrice
}}
x
{{
buyNum
}}
份
</view>
<view
v-if=
"item.depositTotal"
>
押金:
{{
item
.
depositTotal
}}
</view>
<view
v-if=
"item.depositTotal"
>
押金:
{{
item
.
depositTotal
}}
</view>
</view>
</view>
</view>
</view>
<view
class=
"content-box"
v-if=
"chooseCouponObj&&chooseCouponObj.savedMoney>0"
>
<view
class=
"content-box"
v-if=
"chooseCouponObj && chooseCouponObj.savedMoney > 0"
>
<text>
<text>
券
</text>
券
</text>
<text
class=
"content-right"
>
<text
class=
"content-right"
>
-¥
{{
parseFloat
(
chooseCouponObj
.
savedMoney
.
toFixed
(
2
))
}}
</text>
-¥
{{
parseFloat
(
chooseCouponObj
.
savedMoney
.
toFixed
(
2
))
}}
</text>
</view>
</view>
<view
class=
"content-box content-total"
>
<view
class=
"content-box content-total"
>
<text>
<text>
合计
</text>
合计
</text>
<text
class=
"content-right"
>
<text
class=
"content-right"
>
¥
<text
style=
"font-size:36rpx;"
>
{{
sellTotal
}}
</text>
¥
<text
style=
"font-size: 36rpx"
>
{{
sellTotal
}}
</text>
</text>
</text>
</view>
</view>
</view>
</view>
</view>
</view>
</u-popup>
</u-popup>
</view>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
props
:
[
"merchantName"
,
"name"
,
"buyNum"
,
"sellingPrice"
,
"productDepositTotal"
,
"chooseCouponObj"
,
"choooseService"
],
props
:
[
'merchantName'
,
'name'
,
'buyNum'
,
'sellingPrice'
,
'productDepositTotal'
,
'chooseCouponObj'
,
'choooseService'
],
watch
:
{
watch
:
{
choooseService
:
{
choooseService
:
{
handler
(
newValue
,
oldValue
)
{
handler
(
newValue
,
oldValue
)
{
if
(
newValue
)
{
if
(
newValue
)
{
this
.
choooseServiceData
=
this
.
choooseService
this
.
choooseServiceData
=
this
.
choooseService
}
}
},
},
deep
:
false
,
deep
:
false
,
...
@@ -73,25 +62,29 @@
...
@@ -73,25 +62,29 @@
show
:
false
,
//控制弹窗显示隐藏
show
:
false
,
//控制弹窗显示隐藏
extraPrice
:
0
,
//额外服务价格
extraPrice
:
0
,
//额外服务价格
depositTotal
:
0
,
//额外服务总押金
depositTotal
:
0
,
//额外服务总押金
choooseServiceData
:
[],
//选中的服务
choooseServiceData
:
[]
//选中的服务
}
}
},
},
computed
:
{
computed
:
{
sellTotal
()
{
//卖价总价
sellTotal
()
{
let
savedMoney
=
0
//卖价总价
if
(
this
.
chooseCouponObj
){
let
savedMoney
=
0
if
(
this
.
chooseCouponObj
)
{
savedMoney
=
this
.
chooseCouponObj
.
savedMoney
savedMoney
=
this
.
chooseCouponObj
.
savedMoney
}
}
if
(
this
.
choooseServiceData
.
length
>
0
)
{
//额外服务价格
if
(
this
.
choooseServiceData
.
length
>
0
)
{
//额外服务价格
let
singleMoney
=
0
//单个产品总押金,用于算出总押金
let
singleMoney
=
0
//单个产品总押金,用于算出总押金
this
.
extraPrice
=
0
this
.
extraPrice
=
0
this
.
depositTotal
=
0
//总押金
this
.
depositTotal
=
0
//总押金
for
(
let
i
=
0
;
i
<
this
.
choooseServiceData
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
this
.
choooseServiceData
.
length
;
i
++
)
{
this
.
extraPrice
+=
parseFloat
((
this
.
choooseServiceData
[
i
].
sellingPrice
*
this
.
buyNum
).
toFixed
(
2
))
this
.
extraPrice
+=
parseFloat
((
this
.
choooseServiceData
[
i
].
sellingPrice
*
this
.
buyNum
).
toFixed
(
2
))
if
(
this
.
choooseServiceData
[
i
].
depositType
==
1
)
{
//---------------------------------------------------------------------------等于1,押金金额跟数量没关系
if
(
this
.
choooseServiceData
[
i
].
depositType
==
1
)
{
//等于1,押金金额跟数量没关系
singleMoney
=
this
.
choooseServiceData
[
i
].
deposit
singleMoney
=
this
.
choooseServiceData
[
i
].
deposit
this
.
choooseServiceData
[
i
].
depositTotal
=
this
.
choooseServiceData
[
i
].
deposit
//单个产品总押金
this
.
choooseServiceData
[
i
].
depositTotal
=
this
.
choooseServiceData
[
i
].
deposit
//单个产品总押金
}
else
if
(
this
.
choooseServiceData
[
i
].
depositType
==
2
)
{
//----------------------------------------------------------------------等于2,押金单价乘购买数量
}
else
if
(
this
.
choooseServiceData
[
i
].
depositType
==
2
)
{
//等于2,押金单价乘购买数量
singleMoney
=
parseFloat
((
this
.
choooseServiceData
[
i
].
deposit
*
this
.
buyNum
).
toFixed
(
2
))
singleMoney
=
parseFloat
((
this
.
choooseServiceData
[
i
].
deposit
*
this
.
buyNum
).
toFixed
(
2
))
this
.
choooseServiceData
[
i
].
depositTotal
=
parseFloat
((
this
.
choooseServiceData
[
i
].
deposit
*
this
.
buyNum
).
toFixed
(
2
))
//单个产品总押金
this
.
choooseServiceData
[
i
].
depositTotal
=
parseFloat
((
this
.
choooseServiceData
[
i
].
deposit
*
this
.
buyNum
).
toFixed
(
2
))
//单个产品总押金
}
}
...
@@ -105,38 +98,41 @@
...
@@ -105,38 +98,41 @@
}
}
},
},
methods
:
{
methods
:
{}
}
}
}
</
script
>
</
script
>
<
style
scoped=
"scoped"
>
<
style
scoped=
"scoped"
>
.detail-title
{
.son-wrap
{
height
:
120
rpx
;
position
:
relative
;
height
:
65vh
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
flex-direction
:
column
;
justify-content
:
center
;
}
.detail-title
{
text-align
:
center
;
font-size
:
32
rpx
;
font-size
:
32
rpx
;
border-bottom
:
var
(
--border-bottom
);
font-weight
:
bold
;
}
padding
:
30
rpx
24
rpx
;
.content-box
{
border-radius
:
20
rpx
20
rpx
0
0
;
}
.content-box
{
padding
:
0
30
rpx
;
padding
:
0
30
rpx
;
border-bottom
:
1px
solid
#f0f0f0
;
border-bottom
:
1px
solid
#f0f0f0
;
height
:
120
rpx
;
height
:
120
rpx
;
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
align-items
:
center
;
align-items
:
center
;
font-size
:
28
rpx
;
font-size
:
28
rpx
;
}
}
.content-right
{
.content-right
{
text-align
:
right
;
text-align
:
right
;
flex-shrink
:
0
;
flex-shrink
:
0
;
margin-left
:
20
rpx
;
margin-left
:
20
rpx
;
}
}
.content-total
{
.content-total
{
color
:
#f45803
;
color
:
#f45803
;
font-weight
:
bolder
;
font-weight
:
bolder
;
font-size
:
32
rpx
;
font-size
:
32
rpx
;
}
}
</
style
>
</
style
>
pages/scenic/scenicComponents/times.vue
View file @
34f47abe
<
template
>
<
template
>
<u-popup
:show=
"show
"
:round=
"10"
closeable
@
close=
"show=false"
>
<u-popup
:show=
"show
Pop"
:round=
"20"
@
close=
"showPop=false"
closeable
>
<view
class=
"
time
"
>
<view
class=
"
son-wrap
"
>
<view
class=
"time-title"
>
<view
class=
"time-title"
>
时间选择
时间选择
</view>
</view>
<view
style=
"flex: 1;overflow-y: scroll;padding: 0 30rpx;"
>
<view
class=
"time-content"
v-if=
"chooseTimeList&&chooseTimeList.length>0"
>
<view
class=
"time-content"
v-if=
"chooseTimeList&&chooseTimeList.length>0"
>
<!--库存大于零并且当前时间小于班次的开始时间才显示-->
<!--库存大于零并且当前时间小于班次的开始时间才显示-->
<view
<view
class=
'time-list'
class=
'time-list'
v-for=
"(item,index) of chooseTimeList"
v-for=
"(item,index) of chooseTimeList"
:class=
"
{on:active==index}"
:class=
"
{on:active==index}"
@click="chooseTime(index)"
@click="chooseTime(index)"
:key="index" v-if="item.last>0"
:key="index" v-if="item.last>0">
>
<view>
<view>
{{
item
.
startPlanTime
?
item
.
startPlanTime
.
substr
(
0
,
5
):
""
}}
{{
item
.
startPlanTime
?
item
.
startPlanTime
.
substr
(
0
,
5
):
""
}}
<text
v-if=
"item.endPlanTime"
>
-
</text>
<text
v-if=
"item.endPlanTime"
>
-
</text>
...
@@ -23,7 +22,6 @@
...
@@ -23,7 +22,6 @@
</view>
</view>
</view>
</view>
</view>
</view>
<view
style=
"padding: 0.5rem 0rem;color: #FF0000;"
v-else
>
<view
style=
"padding: 0.5rem 0rem;color: #FF0000;"
v-else
>
空空如也...
空空如也...
</view>
</view>
...
@@ -31,13 +29,15 @@
...
@@ -31,13 +29,15 @@
<text
class=
"big-btn"
@
click=
"confirm()"
>
确定
</text>
<text
class=
"big-btn"
@
click=
"confirm()"
>
确定
</text>
</view>
</view>
</view>
</view>
</view>
</u-popup>
</u-popup>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
props
:
[
"chooseTimeList"
,
"chooseTimeData"
,
"timeActive"
],
props
:
[
'chooseTimeList'
,
'chooseTimeData'
,
'timeActive'
],
watch
:
{
watch
:
{
timeActive
:
{
//父组件选中的下标
timeActive
:
{
//父组件选中的下标
handler
(
newValue
,
oldValue
)
{
handler
(
newValue
,
oldValue
)
{
...
@@ -51,14 +51,13 @@
...
@@ -51,14 +51,13 @@
},
},
data
()
{
data
()
{
return
{
return
{
show
:
false
,
//控制该组件显示隐藏
showPop
:
false
,
//控制该组件显示隐藏
active
:
10000
,
//默认不选中
active
:
10000
,
//默认不选中
times
:
""
,
//时间
times
:
''
,
//时间
timeNumber
:
""
,
//当前时间转化为数字
timeNumber
:
''
,
//当前时间转化为数字
}
}
},
},
methods
:
{
methods
:
{
//---时间选择
//---时间选择
chooseTime
(
i
)
{
chooseTime
(
i
)
{
this
.
active
=
i
this
.
active
=
i
...
@@ -66,26 +65,31 @@
...
@@ -66,26 +65,31 @@
},
},
//---时间确认事件
//---时间确认事件
confirm
(
date
)
{
confirm
(
date
)
{
this
.
show
=
false
;
this
.
showPop
=
false
this
.
$emit
(
"timeConfig"
,
this
.
times
)
this
.
$emit
(
'timeConfig'
,
this
.
times
)
},
},
},
},
mounted
()
{
mounted
()
{
let
times
=
new
Date
().
Format
(
"yyyy-MM-dd hh:mm:ss"
)
let
times
=
new
Date
().
Format
(
'yyyy-MM-dd hh:mm:ss'
)
this
.
timeNumber
=
parseInt
(
this
.
$commonjs
.
changeTime
(
times
))
this
.
timeNumber
=
parseInt
(
this
.
$commonjs
.
changeTime
(
times
))
}
}
}
}
</
script
>
</
script
>
<
style
scoped=
"scoped"
>
<
style
scoped=
"scoped"
lang=
"scss"
>
.time
{
.son-wrap
{
padding
:
30
rpx
20
rpx
60
rpx
20
rpx
;
position
:
relative
;
text-align
:
center
;
height
:
65vh
;
display
:
flex
;
flex-direction
:column
;
}
}
.time-title
{
.time-title
{
font-size
:
32
rpx
;
text-align
:
center
;
font-weight
:
bolder
;
font-size
:
32rpx
;
font-weight
:
bold
;
padding
:
30rpx
24rpx
;
border-radius
:
20rpx
20rpx
0
0
;
}
}
.time-content
{
.time-content
{
...
@@ -120,12 +124,13 @@
...
@@ -120,12 +124,13 @@
.time-list.on
{
.time-list.on
{
background
:
none
;
background
:
none
;
color
:
#3dbcff
;
color
:
$theme
;
border
:
1px
solid
#3dbcff
;
border
:
1px
solid
$theme
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
}
.time-sure
{
.time-sure
{
margin-top
:
30
rpx
;
margin-top
:
60rpx
;
text-align
:
center
;
}
}
</
style
>
</
style
>
pages/scenic/scenicOrder/scenicOrder.vue
View file @
34f47abe
...
@@ -84,7 +84,7 @@
...
@@ -84,7 +84,7 @@
<view
class=
"middle1Time"
v-if=
"productIfo.productType == 3"
>
<view
class=
"middle1Time"
v-if=
"productIfo.productType == 3"
>
<text>
游玩时间
</text>
<text>
游玩时间
</text>
<scroll-view
class=
"time-content"
scroll-x=
"true"
:scroll-left=
"timeScroll"
v-if=
"timeList
> 0"
>
<scroll-view
class=
"time-content"
scroll-x=
"true"
:scroll-left=
"timeScroll"
v-if=
"timeList
.length
> 0"
>
<view
class=
"time-list"
v-for=
"(item, index) of timeList"
@
click=
"chooseTime(index)"
:class=
"
{ on: timeActive == index }" :key="index">
<view
class=
"time-list"
v-for=
"(item, index) of timeList"
@
click=
"chooseTime(index)"
:class=
"
{ on: timeActive == index }" :key="index">
<view>
<view>
{{
item
.
startPlanTime
?
item
.
startPlanTime
.
substr
(
0
,
5
)
:
''
}}
{{
item
.
startPlanTime
?
item
.
startPlanTime
.
substr
(
0
,
5
)
:
''
}}
...
@@ -171,7 +171,7 @@
...
@@ -171,7 +171,7 @@
<view
class=
"visitorEdit"
v-show=
"orderTouristList.length > 0"
>
<view
class=
"visitorEdit"
v-show=
"orderTouristList.length > 0"
>
<view
class=
"edit-list"
v-for=
"(item, index) of orderTouristList"
:key=
"item.id"
>
<view
class=
"edit-list"
v-for=
"(item, index) of orderTouristList"
:key=
"item.id"
>
<view
@
click=
"delChooseContact(item, index)"
>
<view
@
click=
"delChooseContact(item, index)"
>
<u-icon
name=
"close-circle"
color=
"#3688ff"
size=
"
2
0"
></u-icon>
<u-icon
name=
"close-circle"
color=
"#3688ff"
size=
"
4
0"
></u-icon>
</view>
</view>
<view>
<view>
...
@@ -183,7 +183,7 @@
...
@@ -183,7 +183,7 @@
</view>
</view>
<view
@
click=
"showEdit(item)"
>
<view
@
click=
"showEdit(item)"
>
<u-icon
name=
"edit-pen-fill"
color=
"#3688ff"
size=
"
24
"
></u-icon>
<u-icon
name=
"edit-pen-fill"
color=
"#3688ff"
size=
"
48
"
></u-icon>
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -600,7 +600,7 @@ export default {
...
@@ -600,7 +600,7 @@ export default {
},
},
//---展示更多时间
//---展示更多时间
showTime
()
{
showTime
()
{
this
.
$refs
.
times
.
show
=
true
this
.
$refs
.
times
.
show
Pop
=
true
},
},
//---时间选择
//---时间选择
chooseTime
(
i
)
{
chooseTime
(
i
)
{
...
@@ -620,12 +620,9 @@ export default {
...
@@ -620,12 +620,9 @@ export default {
if
(
index
>
-
1
)
{
if
(
index
>
-
1
)
{
//子组件点击确认之后有选择的时间
//子组件点击确认之后有选择的时间
this
.
chooseTime
(
index
)
//选中确认的日期
this
.
chooseTime
(
index
)
//选中确认的日期
this
.
docQuery
this
.
docQuery
.
selectAll
(
'.time-list'
).
boundingClientRect
(
data
=>
{
.
selectAll
(
'.time-list'
)
.
boundingClientRect
(
data
=>
{
this
.
timeScroll
=
(
data
[
index
].
width
+
4
)
*
index
this
.
timeScroll
=
(
data
[
index
].
width
+
4
)
*
index
})
}).
exec
()
.
exec
()
}
}
},
},
//---获取点击的编辑联系人信息,传给编辑联系人组件
//---获取点击的编辑联系人信息,传给编辑联系人组件
...
@@ -675,7 +672,7 @@ export default {
...
@@ -675,7 +672,7 @@ export default {
},
},
//---展示新增联系人,并获取联系人列表
//---展示新增联系人,并获取联系人列表
showContacts
()
{
showContacts
()
{
this
.
$refs
.
contactList
.
contactsShow
=
true
this
.
$refs
.
contactList
.
showPop
=
true
},
},
//---游客选择
//---游客选择
visitorChoose
(
i
)
{
visitorChoose
(
i
)
{
...
@@ -719,7 +716,7 @@ export default {
...
@@ -719,7 +716,7 @@ export default {
},
},
//---展示购票须知
//---展示购票须知
showBuyKnow
()
{
showBuyKnow
()
{
this
.
$refs
.
buyKnow
.
buyKnowShow
=
true
this
.
$refs
.
buyKnow
.
showPop
=
true
},
},
//---页面初始化数据,获取产品基本信息
//---页面初始化数据,获取产品基本信息
initData
()
{
initData
()
{
...
@@ -748,6 +745,9 @@ export default {
...
@@ -748,6 +745,9 @@ export default {
this
.
merchantId
=
res
.
data
.
merchantId
//重新赋值商户id
this
.
merchantId
=
res
.
data
.
merchantId
//重新赋值商户id
this
.
beforeBookDays
=
res
.
data
.
beforeBookDays
||
0
//提前预定天数
this
.
beforeBookDays
=
res
.
data
.
beforeBookDays
||
0
//提前预定天数
this
.
buyKnowData
=
res
.
data
//购买须知,传给子组件
this
.
buyKnowData
=
res
.
data
//购买须知,传给子组件
setTimeout
(()
=>
{
console
.
log
(
this
.
buyKnowData
)
},
5000
)
this
.
loadProductResVoList
=
res
.
data
.
loadProductResVoList
//额外服务
this
.
loadProductResVoList
=
res
.
data
.
loadProductResVoList
//额外服务
this
.
afterBuyUrl
=
res
.
data
.
afterBuyUrl
||
''
//支付成功后页面跳转
this
.
afterBuyUrl
=
res
.
data
.
afterBuyUrl
||
''
//支付成功后页面跳转
//this.choooseService=res.data.data.loadProductResVoList//默认全部选中
//this.choooseService=res.data.data.loadProductResVoList//默认全部选中
...
@@ -887,6 +887,7 @@ export default {
...
@@ -887,6 +887,7 @@ export default {
this
.
$request
(
'distribution/distribution/getTimeStock'
,
data
).
then
(
res
=>
{
this
.
$request
(
'distribution/distribution/getTimeStock'
,
data
).
then
(
res
=>
{
if
(
res
.
code
==
'00'
)
{
if
(
res
.
code
==
'00'
)
{
this
.
timeList
=
res
.
data
this
.
timeList
=
res
.
data
console
.
log
(
this
.
timeList
)
this
.
timeList
.
forEach
((
item
,
index
)
=>
{
this
.
timeList
.
forEach
((
item
,
index
)
=>
{
//增加一个时间Number字段,用于判断当前时间大于班次结束时间时,不显示该班次
//增加一个时间Number字段,用于判断当前时间大于班次结束时间时,不显示该班次
item
.
timeNumber
=
parseInt
(
this
.
$commonjs
.
changeTime
(
item
.
planDate
.
substr
(
0
,
10
)
+
item
.
endPlanTime
))
item
.
timeNumber
=
parseInt
(
this
.
$commonjs
.
changeTime
(
item
.
planDate
.
substr
(
0
,
10
)
+
item
.
endPlanTime
))
...
@@ -1384,7 +1385,7 @@ export default {
...
@@ -1384,7 +1385,7 @@ export default {
flex-shrink
:
0
;
flex-shrink
:
0
;
width
:
100rpx
;
width
:
100rpx
;
height
:
90rpx
;
height
:
90rpx
;
border
:
1px
solid
var
(
--
main-color
)
;
border
:
1px
solid
$theme
;
border-radius
:
10rpx
;
border-radius
:
10rpx
;
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
...
@@ -1436,8 +1437,8 @@ export default {
...
@@ -1436,8 +1437,8 @@ export default {
.time-list.on
{
.time-list.on
{
background
:
none
;
background
:
none
;
color
:
var
(
--
main-color
)
;
color
:
$theme
;
border
:
1px
solid
var
(
--
main-color
)
;
border
:
1px
solid
$theme
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
}
...
@@ -1445,7 +1446,7 @@ export default {
...
@@ -1445,7 +1446,7 @@ export default {
flex-shrink
:
0
;
flex-shrink
:
0
;
width
:
100rpx
;
width
:
100rpx
;
height
:
90rpx
;
height
:
90rpx
;
border
:
1px
solid
var
(
--
main-color
)
;
border
:
1px
solid
$theme
;
border-radius
:
10rpx
;
border-radius
:
10rpx
;
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
...
@@ -1454,7 +1455,7 @@ export default {
...
@@ -1454,7 +1455,7 @@ export default {
.time-more-content
{
.time-more-content
{
margin
:
0
4rpx
;
margin
:
0
4rpx
;
color
:
var
(
--
main-color
)
;
color
:
$theme
;
}
}
.no-time
{
.no-time
{
...
@@ -1533,15 +1534,15 @@ export default {
...
@@ -1533,15 +1534,15 @@ export default {
}
}
.plus-list-last
{
.plus-list-last
{
color
:
var
(
--
main-color
)
;
color
:
$theme
;
background
:
#efefef
;
background
:
#efefef
;
width
:
160rpx
;
width
:
160rpx
;
border
:
none
;
border
:
none
;
}
}
.plus-list.on
{
.plus-list.on
{
border
:
1px
solid
var
(
--
main-color
)
;
border
:
1px
solid
$theme
;
color
:
var
(
--
main-color
)
;
color
:
$theme
;
}
}
.visitorEdit
{
.visitorEdit
{
...
...
uview-ui/components/u-popup/u-popup.vue
View file @
34f47abe
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
<u-icon
<u-icon
name=
"close"
name=
"close"
color=
"#909399"
color=
"#909399"
size=
"
18
"
size=
"
36
"
bold
bold
></u-icon>
></u-icon>
</view>
</view>
...
@@ -45,9 +45,9 @@
...
@@ -45,9 +45,9 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
props
from
'./props.js'
;
import
props
from
'./props.js'
/**
/**
* popup 弹窗
* popup 弹窗
* @description 弹出层容器,用于展示弹窗、信息提示等内容,支持上、下、左、右和中部弹出。组件只提供容器,内部内容由用户自定义
* @description 弹出层容器,用于展示弹窗、信息提示等内容,支持上、下、左、右和中部弹出。组件只提供容器,内部内容由用户自定义
* @tutorial https://www.uviewui.com/components/popup.html
* @tutorial https://www.uviewui.com/components/popup.html
...
@@ -71,7 +71,7 @@
...
@@ -71,7 +71,7 @@
* @event {Function} close 弹出层收起
* @event {Function} close 弹出层收起
* @example <u-popup v-model="show"><text>出淤泥而不染,濯清涟而不妖</text></u-popup>
* @example <u-popup v-model="show"><text>出淤泥而不染,濯清涟而不妖</text></u-popup>
*/
*/
export
default
{
export
default
{
name
:
'u-popup'
,
name
:
'u-popup'
,
mixins
:
[
uni
.
$u
.
mpMixin
,
uni
.
$u
.
mixin
,
props
],
mixins
:
[
uni
.
$u
.
mpMixin
,
uni
.
$u
.
mixin
,
props
],
data
()
{
data
()
{
...
@@ -222,7 +222,7 @@
...
@@ -222,7 +222,7 @@
}
}
// #endif
// #endif
}
}
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
...
uview-ui/libs/util/dayjs.js
View file @
34f47abe
...
@@ -104,7 +104,14 @@
...
@@ -104,7 +104,14 @@
const
n
=
t
.
utc
const
n
=
t
.
utc
if
(
e
===
null
)
return
new
Date
(
NaN
)
if
(
e
===
null
)
return
new
Date
(
NaN
)
if
(
g
.
u
(
e
))
return
new
Date
()
if
(
g
.
u
(
e
))
return
new
Date
()
if
(
e
instanceof
Date
)
return
new
Date
(
e
)
//由于苹果手机警告,修改了代码
if
(
e
instanceof
Date
){
if
(
e
&&
e
.
toString
().
includes
(
'000Z'
)){
return
new
Date
(
e
.
slice
(
0
,
-
5
))
}
else
{
return
new
Date
(
e
)
}
}
if
(
typeof
e
===
'string'
&&
!
/Z$/i
.
test
(
e
))
{
if
(
typeof
e
===
'string'
&&
!
/Z$/i
.
test
(
e
))
{
const
r
=
e
.
match
(
h
)
const
r
=
e
.
match
(
h
)
if
(
r
)
{
if
(
r
)
{
...
@@ -114,7 +121,14 @@
...
@@ -114,7 +121,14 @@
||
1
,
r
[
4
]
||
0
,
r
[
5
]
||
0
,
r
[
6
]
||
0
,
s
)
||
1
,
r
[
4
]
||
0
,
r
[
5
]
||
0
,
r
[
6
]
||
0
,
s
)
}
}
}
}
//由于苹果手机警告,修改了代码
if
(
e
&&
e
.
toString
().
includes
(
'000Z'
)){
return
new
Date
(
e
.
slice
(
0
,
-
5
))
}
else
{
return
new
Date
(
e
)
return
new
Date
(
e
)
}
}(
t
)),
this
.
$x
=
t
.
x
||
{},
this
.
init
()
}(
t
)),
this
.
$x
=
t
.
x
||
{},
this
.
init
()
},
$
.
init
=
function
()
{
},
$
.
init
=
function
()
{
const
t
=
this
.
$d
const
t
=
this
.
$d
...
...
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