Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
genary
uni-app
提交
7ff61d14
U
uni-app
项目概览
genary
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7ff61d14
编写于
3月 29, 2022
作者:
D
DCloud_LXH
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: picker 弹出闪烁、mask 遮罩层丢失
上级
80a2b59c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
2 addition
and
2 deletion
+2
-2
packages/uni-app-vite/lib/template/__uniapppicker.js
packages/uni-app-vite/lib/template/__uniapppicker.js
+2
-2
未找到文件。
packages/uni-app-vite/lib/template/__uniapppicker.js
浏览文件 @
7ff61d14
"
use weex:vue
"
;
(()
=>
{
var
T
=
Object
.
create
;
var
d
=
Object
.
defineProperty
;
var
x
=
Object
.
getOwnPropertyDescriptor
;
var
C
=
Object
.
getOwnPropertyNames
;
var
M
=
Object
.
getPrototypeOf
,
D
=
Object
.
prototype
.
hasOwnProperty
;
var
I
=
e
=>
d
(
e
,
"
__esModule
"
,{
value
:
!
0
});
var
L
=
(
e
,
t
)
=>
()
=>
(
t
||
e
((
t
=
{
exports
:{}}).
exports
,
t
),
t
.
exports
);
var
V
=
(
e
,
t
,
a
,
r
)
=>
{
if
(
t
&&
typeof
t
==
"
object
"
||
typeof
t
==
"
function
"
)
for
(
let
s
of
C
(
t
))
!
D
.
call
(
e
,
s
)
&&
(
a
||
s
!==
"
default
"
)
&&
d
(
e
,
s
,{
get
:()
=>
t
[
s
],
enumerable
:
!
(
r
=
x
(
t
,
s
))
||
r
.
enumerable
});
return
e
},
N
=
(
e
,
t
)
=>
V
(
I
(
d
(
e
!=
null
?
T
(
M
(
e
)):{},
"
default
"
,
!
t
&&
e
&&
e
.
__esModule
?{
get
:()
=>
e
.
default
,
enumerable
:
!
0
}:{
value
:
e
,
enumerable
:
!
0
})),
e
);
var
A
=
L
((
K
,
b
)
=>
{
b
.
exports
=
Vue
});
var
_
=
{
data
(){
return
{
locale
:
"
en
"
,
fallbackLocale
:
"
en
"
,
localization
:{
en
:{
done
:
"
OK
"
,
cancel
:
"
Cancel
"
},
zh
:{
done
:
"
\
u5B8C
\
u6210
"
,
cancel
:
"
\
u53D6
\
u6D88
"
},
"
zh-hans
"
:{},
"
zh-hant
"
:{},
messages
:{}}}},
onLoad
(){
this
.
initLocale
()},
created
(){
this
.
initLocale
()},
methods
:{
initLocale
(){
if
(
this
.
__initLocale
)
return
;
this
.
__initLocale
=!
0
;
let
e
=
(
plus
.
webview
.
currentWebview
().
extras
||
{}).
data
||
{};
if
(
e
.
messages
&&
(
this
.
localization
.
messages
=
e
.
messages
),
e
.
locale
){
this
.
locale
=
e
.
locale
.
toLowerCase
();
return
}
let
t
=
{
chs
:
"
hans
"
,
cn
:
"
hans
"
,
sg
:
"
hans
"
,
cht
:
"
hant
"
,
tw
:
"
hant
"
,
hk
:
"
hant
"
,
mo
:
"
hant
"
},
a
=
plus
.
os
.
language
.
toLowerCase
().
split
(
"
/
"
)[
0
].
replace
(
"
_
"
,
"
-
"
).
split
(
"
-
"
),
r
=
a
[
1
];
r
&&
(
a
[
1
]
=
t
[
r
]
||
r
),
a
.
length
=
a
.
length
>
2
?
2
:
a
.
length
,
this
.
locale
=
a
.
join
(
"
-
"
)},
localize
(
e
){
let
t
=
this
.
locale
,
a
=
t
.
split
(
"
-
"
)[
0
],
r
=
this
.
fallbackLocale
,
s
=
this
.
localization
;
function
n
(
c
){
return
s
[
c
]
||
{}}
return
n
(
"
messages
"
)[
e
]
||
n
(
t
)[
e
]
||
n
(
a
)[
e
]
||
n
(
r
)[
e
]
||
e
}}},
v
=
{
onLoad
(){
this
.
initMessage
()},
methods
:{
initMessage
(){
let
{
from
:
e
,
callback
:
t
,
runtime
:
a
,
data
:
r
=
{},
useGlobalEvent
:
s
}
=
plus
.
webview
.
currentWebview
().
extras
||
{};
this
.
__from
=
e
,
this
.
__runtime
=
a
,
this
.
__page
=
plus
.
webview
.
currentWebview
().
id
,
this
.
__useGlobalEvent
=
s
,
this
.
data
=
JSON
.
parse
(
JSON
.
stringify
(
r
)),
plus
.
key
.
addEventListener
(
"
backbutton
"
,()
=>
{
typeof
this
.
onClose
==
"
function
"
?
this
.
onClose
():
plus
.
webview
.
currentWebview
().
close
(
"
auto
"
)});
let
n
=
this
,
c
=
function
(
o
){
let
u
=
o
.
data
&&
o
.
data
.
__message
;
!
u
||
n
.
__onMessageCallback
&&
n
.
__onMessageCallback
(
u
.
data
)};
if
(
this
.
__useGlobalEvent
)
weex
.
requireModule
(
"
globalEvent
"
).
addEventListener
(
"
plusMessage
"
,
c
);
else
{
let
o
=
new
BroadcastChannel
(
this
.
__page
);
o
.
onmessage
=
c
}},
postMessage
(
e
=
{},
t
=!
1
){
let
a
=
JSON
.
parse
(
JSON
.
stringify
({
__message
:{
__page
:
this
.
__page
,
data
:
e
,
keep
:
t
}})),
r
=
this
.
__from
;
if
(
this
.
__runtime
===
"
v8
"
)
this
.
__useGlobalEvent
?
plus
.
webview
.
postMessageToUniNView
(
a
,
r
):
new
BroadcastChannel
(
r
).
postMessage
(
a
);
else
{
let
s
=
plus
.
webview
.
getWebviewById
(
r
);
s
&&
s
.
evalJS
(
`__plusMessage&&__plusMessage(
${
JSON
.
stringify
({
data
:
a
})}
)`
)}},
onMessage
(
e
){
this
.
__onMessageCallback
=
e
}}};
var
i
=
N
(
A
());
var
m
=
(
e
,
t
)
=>
{
let
a
=
e
.
__vccOpts
||
e
;
for
(
let
[
r
,
s
]
of
t
)
a
[
r
]
=
s
;
return
a
};
var
f
=
e
=>
e
>
9
?
e
:
"
0
"
+
e
;
function
k
({
date
:
e
=
new
Date
,
mode
:
t
=
"
date
"
}){
return
t
===
"
time
"
?
f
(
e
.
getHours
())
+
"
:
"
+
f
(
e
.
getMinutes
()):
e
.
getFullYear
()
+
"
-
"
+
f
(
e
.
getMonth
()
+
1
)
+
"
-
"
+
f
(
e
.
getDate
())}
var
O
=
{
data
(){
return
{
safeAreaInsets
:{
left
:
0
,
right
:
0
,
top
:
0
,
bottom
:
0
}}},
onLoad
(){
this
.
initSafeAreaInsets
()},
created
(){
this
.
initSafeAreaInsets
()},
methods
:{
initSafeAreaInsets
(){
if
(
this
.
__initSafeAreaInsets
)
return
;
this
.
__initSafeAreaInsets
=!
0
;
let
e
=
plus
.
webview
.
currentWebview
();
e
.
addEventListener
(
"
resize
"
,()
=>
{
setTimeout
(()
=>
{
this
.
updateSafeAreaInsets
(
e
)},
20
)}),
this
.
updateSafeAreaInsets
(
e
)},
updateSafeAreaInsets
(
e
){
let
t
=
e
.
getSafeAreaInsets
(),
a
=
this
.
safeAreaInsets
;
Object
.
keys
(
a
).
forEach
(
r
=>
{
a
[
r
]
=
t
[
r
]})}}},
z
=
{
content
:{
""
:{
position
:
"
absolute
"
,
top
:
0
,
left
:
0
,
bottom
:
0
,
right
:
0
}},
"
uni-mask
"
:{
""
:{
position
:
"
absolute
"
,
top
:
0
,
left
:
0
,
bottom
:
0
,
right
:
0
,
backgroundColor
:
"
rgba(0,0,0,0.4)
"
,
opacity
:
0
,
transitionProperty
:
"
opacity
"
,
transitionDuration
:
200
,
transitionTimingFunction
:
"
linear
"
}},
"
uni-mask-android
"
:{
""
:{
backgroundColor
:
"
rgba(0,0,0,0.6)
"
}},
"
uni-mask-visible
"
:{
""
:{
opacity
:
1
}},
"
uni-picker
"
:{
""
:{
position
:
"
absolute
"
,
left
:
0
,
bottom
:
0
,
right
:
0
,
backgroundColor
:
"
#ffffff
"
,
color
:
"
#000000
"
,
flexDirection
:
"
column
"
,
transform
:
"
translateY(295px)
"
}},
"
uni-picker-header
"
:{
""
:{
height
:
45
,
borderBottomWidth
:
0
,
backgroundColor
:
"
#E6E6E6
"
,
fontSize
:
20
}},
"
uni-picker-action
"
:{
""
:{
position
:
"
absolute
"
,
textAlign
:
"
center
"
,
top
:
0
,
height
:
45
,
paddingTop
:
0
,
paddingRight
:
14
,
paddingBottom
:
0
,
paddingLeft
:
14
,
fontSize
:
17
,
lineHeight
:
45
}},
"
uni-picker-action-cancel
"
:{
""
:{
left
:
0
,
color
:
"
#888888
"
}},
"
uni-picker-action-confirm
"
:{
""
:{
right
:
0
,
color
:
"
#007aff
"
}},
"
uni-picker-content
"
:{
""
:{
flex
:
1
}},
"
uni-picker-item
"
:{
""
:{
lineHeight
:
34
,
textAlign
:
"
center
"
,
color
:
"
#000000
"
}},
"
@TRANSITION
"
:{
"
uni-mask
"
:{
property
:
"
opacity
"
,
duration
:
200
,
timingFunction
:
"
linear
"
}}};
function
E
(){
if
(
this
.
mode
===
l
.
TIME
)
return
"
00:00
"
;
if
(
this
.
mode
===
l
.
DATE
){
let
e
=
new
Date
().
getFullYear
()
-
61
;
switch
(
this
.
fields
){
case
h
.
YEAR
:
return
e
;
case
h
.
MONTH
:
return
e
+
"
-01
"
;
default
:
return
e
+
"
-01-01
"
}}
return
""
}
function
w
(){
if
(
this
.
mode
===
l
.
TIME
)
return
"
23:59
"
;
if
(
this
.
mode
===
l
.
DATE
){
let
e
=
new
Date
().
getFullYear
()
+
61
;
switch
(
this
.
fields
){
case
h
.
YEAR
:
return
e
;
case
h
.
MONTH
:
return
e
+
"
-12
"
;
default
:
return
e
+
"
-12-31
"
}}
return
""
}
var
S
=
weex
.
requireModule
(
"
animation
"
),
l
=
{
SELECTOR
:
"
selector
"
,
MULTISELECTOR
:
"
multiSelector
"
,
TIME
:
"
time
"
,
DATE
:
"
date
"
,
REGION
:
"
region
"
},
h
=
{
YEAR
:
"
year
"
,
MONTH
:
"
month
"
,
DAY
:
"
day
"
},
R
=
{
name
:
"
Picker
"
,
mixins
:[
_
,
O
],
props
:{
pageId
:{
type
:
Number
,
default
:
0
},
range
:{
type
:
Array
,
default
(){
return
[]}},
rangeKey
:{
type
:
String
,
default
:
""
},
value
:{
type
:[
Number
,
String
,
Array
],
default
:
0
},
mode
:{
type
:
String
,
default
:
l
.
SELECTOR
},
fields
:{
type
:
String
,
default
:
h
.
DAY
},
start
:{
type
:
String
,
default
:
E
},
end
:{
type
:
String
,
default
:
w
},
disabled
:{
type
:[
Boolean
,
String
],
default
:
!
1
},
visible
:{
type
:
Boolean
,
default
:
!
1
}},
data
(){
return
{
valueSync
:
null
,
timeArray
:[],
dateArray
:[],
valueArray
:[],
oldValueArray
:[],
fontSize
:
16
,
height
:
261
,
android
:
weex
.
config
.
env
.
platform
.
toLowerCase
()
===
"
android
"
}},
computed
:{
rangeArray
(){
var
e
=
this
.
range
;
switch
(
this
.
mode
){
case
l
.
SELECTOR
:
return
[
e
];
case
l
.
MULTISELECTOR
:
return
e
;
case
l
.
TIME
:
return
this
.
timeArray
;
case
l
.
DATE
:{
let
t
=
this
.
dateArray
;
switch
(
this
.
fields
){
case
h
.
YEAR
:
return
[
t
[
0
]];
case
h
.
MONTH
:
return
[
t
[
0
],
t
[
1
]];
default
:
return
[
t
[
0
],
t
[
1
],
t
[
2
]]}}}
return
[]},
startArray
(){
return
this
.
_getDateValueArray
(
this
.
start
,
E
.
bind
(
this
)())},
endArray
(){
return
this
.
_getDateValueArray
(
this
.
end
,
w
.
bind
(
this
)())},
textMaxLength
(){
return
Math
.
floor
(
Math
.
min
(
weex
.
config
.
env
.
deviceWidth
,
weex
.
config
.
env
.
deviceHeight
)
/
(
this
.
fontSize
*
weex
.
config
.
env
.
scale
+
1
)
/
this
.
rangeArray
.
length
)}},
watch
:{
value
(){
this
.
_setValueSync
()},
mode
(){
this
.
_setValueSync
()},
range
(){
this
.
_setValueSync
()},
valueSync
(){
this
.
_setValueArray
()},
valueArray
(
e
){
if
(
this
.
mode
===
l
.
TIME
||
this
.
mode
===
l
.
DATE
){
let
t
=
this
.
mode
===
l
.
TIME
?
this
.
_getTimeValue
:
this
.
_getDateValue
,
a
=
this
.
valueArray
,
r
=
this
.
startArray
,
s
=
this
.
endArray
;
if
(
this
.
mode
===
l
.
DATE
){
let
n
=
this
.
dateArray
,
c
=
n
[
2
].
length
,
o
=
Number
(
n
[
2
][
a
[
2
]])
||
1
,
u
=
new
Date
(
`
${
n
[
0
][
a
[
0
]]}
/
${
n
[
1
][
a
[
1
]]}
/
${
o
}
`
).
getDate
();
u
<
o
&&
(
a
[
2
]
-=
u
+
c
-
o
)}
t
(
a
)
<
t
(
r
)?
this
.
_cloneArray
(
a
,
r
):
t
(
a
)
>
t
(
s
)
&&
this
.
_cloneArray
(
a
,
s
)}
e
.
forEach
((
t
,
a
)
=>
{
t
!==
this
.
oldValueArray
[
a
]
&&
(
this
.
oldValueArray
[
a
]
=
t
,
this
.
mode
===
l
.
MULTISELECTOR
&&
this
.
$emit
(
"
columnchange
"
,{
column
:
a
,
value
:
t
}))})},
visible
(
e
){
e
?
setTimeout
(()
=>
{
S
.
transition
(
this
.
$refs
.
picker
,{
styles
:{
transform
:
"
translateY(0)
"
},
duration
:
200
})},
20
):
S
.
transition
(
this
.
$refs
.
picker
,{
styles
:{
transform
:
`translateY(
${
283
+
this
.
safeAreaInsets
.
bottom
}
px)`
},
duration
:
200
})}},
created
(){
this
.
_createTime
(),
this
.
_createDate
(),
this
.
_setValueSync
()},
methods
:{
getTexts
(
e
,
t
){
let
a
=
this
.
textMaxLength
;
return
e
.
map
(
r
=>
{
let
s
=
String
(
typeof
r
==
"
object
"
?
r
[
this
.
rangeKey
]
||
""
:
this
.
_l10nItem
(
r
,
t
));
if
(
a
>
0
&&
s
.
length
>
a
){
let
n
=
0
,
c
=
0
;
for
(
let
o
=
0
;
o
<
s
.
length
;
o
++
){
let
u
=
s
.
charCodeAt
(
o
);
if
(
u
>
127
||
u
===
94
?
n
+=
1
:
n
+=
.
65
,
n
<=
a
-
1
&&
(
c
=
o
),
n
>=
a
)
return
o
===
s
.
length
-
1
?
s
:
s
.
substr
(
0
,
c
+
1
)
+
"
\
u2026
"
}}
return
s
||
"
"
}).
join
(
`
`
)},
_createTime
(){
var
e
=
[],
t
=
[];
e
.
splice
(
0
,
e
.
length
);
for
(
let
a
=
0
;
a
<
24
;
a
++
)
e
.
push
((
a
<
10
?
"
0
"
:
""
)
+
a
);
t
.
splice
(
0
,
t
.
length
);
for
(
let
a
=
0
;
a
<
60
;
a
++
)
t
.
push
((
a
<
10
?
"
0
"
:
""
)
+
a
);
this
.
timeArray
.
push
(
e
,
t
)},
_createDate
(){
var
e
=
[],
t
=
new
Date
().
getFullYear
();
for
(
let
s
=
t
-
61
,
n
=
t
+
61
;
s
<=
n
;
s
++
)
e
.
push
(
String
(
s
));
var
a
=
[];
for
(
let
s
=
1
;
s
<=
12
;
s
++
)
a
.
push
((
s
<
10
?
"
0
"
:
""
)
+
s
);
var
r
=
[];
for
(
let
s
=
1
;
s
<=
31
;
s
++
)
r
.
push
((
s
<
10
?
"
0
"
:
""
)
+
s
);
this
.
dateArray
.
push
(
e
,
a
,
r
)},
_getTimeValue
(
e
){
return
e
[
0
]
*
60
+
e
[
1
]},
_getDateValue
(
e
){
return
e
[
0
]
*
31
*
12
+
(
e
[
1
]
||
0
)
*
31
+
(
e
[
2
]
||
0
)},
_cloneArray
(
e
,
t
){
for
(
let
a
=
0
;
a
<
e
.
length
&&
a
<
t
.
length
;
a
++
)
e
[
a
]
=
t
[
a
]},
_setValueSync
(){
let
e
=
this
.
value
;
switch
(
this
.
mode
){
case
l
.
MULTISELECTOR
:
Array
.
isArray
(
e
)
||
(
e
=
[]),
Array
.
isArray
(
this
.
valueSync
)
||
(
this
.
valueSync
=
[]);
let
t
=
this
.
valueSync
.
length
=
Math
.
max
(
e
.
length
,
this
.
range
.
length
);
for
(
let
a
=
0
;
a
<
t
;
a
++
){
let
r
=
Number
(
e
[
a
]),
s
=
Number
(
this
.
valueSync
[
a
]),
n
=
isNaN
(
r
)?
isNaN
(
s
)?
0
:
s
:
r
,
c
=
this
.
range
[
a
]?
this
.
range
[
a
].
length
-
1
:
0
;
this
.
valueSync
.
splice
(
a
,
1
,
n
<
0
||
n
>
c
?
0
:
n
)}
break
;
case
l
.
TIME
:
case
l
.
DATE
:
this
.
valueSync
=
String
(
e
);
break
;
default
:{
let
a
=
Number
(
e
);
this
.
valueSync
=
a
<
0
?
0
:
a
;
break
}}},
_setValueArray
(){
var
e
=
this
.
valueSync
,
t
;
switch
(
this
.
mode
){
case
l
.
MULTISELECTOR
:
t
=
[...
e
];
break
;
case
l
.
TIME
:
t
=
this
.
_getDateValueArray
(
e
,
k
({
mode
:
l
.
TIME
}));
break
;
case
l
.
DATE
:
t
=
this
.
_getDateValueArray
(
e
,
k
({
mode
:
l
.
DATE
}));
break
;
default
:
t
=
[
e
];
break
}
this
.
oldValueArray
=
[...
t
],
this
.
valueArray
=
[...
t
]},
_getValue
(){
var
e
=
this
.
valueArray
;
switch
(
this
.
mode
){
case
l
.
SELECTOR
:
return
e
[
0
];
case
l
.
MULTISELECTOR
:
return
e
.
map
(
t
=>
t
);
case
l
.
TIME
:
return
this
.
valueArray
.
map
((
t
,
a
)
=>
this
.
timeArray
[
a
][
t
]).
join
(
"
:
"
);
case
l
.
DATE
:
return
this
.
valueArray
.
map
((
t
,
a
)
=>
this
.
dateArray
[
a
][
t
]).
join
(
"
-
"
)}},
_getDateValueArray
(
e
,
t
){
let
a
=
this
.
mode
===
l
.
DATE
?
"
-
"
:
"
:
"
,
r
=
this
.
mode
===
l
.
DATE
?
this
.
dateArray
:
this
.
timeArray
,
s
=
3
;
switch
(
this
.
fields
){
case
h
.
YEAR
:
s
=
1
;
break
;
case
h
.
MONTH
:
s
=
2
;
break
}
let
n
=
String
(
e
).
split
(
a
),
c
=
[];
for
(
let
o
=
0
;
o
<
s
;
o
++
){
let
u
=
n
[
o
];
c
.
push
(
r
[
o
].
indexOf
(
u
))}
return
c
.
indexOf
(
-
1
)
>=
0
&&
(
c
=
t
?
this
.
_getDateValueArray
(
t
):
c
.
map
(()
=>
0
)),
c
},
_change
(){
this
.
$emit
(
"
change
"
,{
value
:
this
.
_getValue
()})},
_cancel
(){
this
.
$emit
(
"
cancel
"
)},
_pickerViewChange
(
e
){
this
.
valueArray
=
this
.
_l10nColumn
(
e
.
detail
.
value
,
!
0
)},
_l10nColumn
(
e
,
t
){
if
(
this
.
mode
===
l
.
DATE
){
let
a
=
this
.
locale
;
if
(
!
a
.
startsWith
(
"
zh
"
))
switch
(
this
.
fields
){
case
h
.
YEAR
:
return
e
;
case
h
.
MONTH
:
return
[
e
[
1
],
e
[
0
]];
default
:
switch
(
a
){
case
"
es
"
:
case
"
fr
"
:
return
[
e
[
2
],
e
[
1
],
e
[
0
]];
default
:
return
t
?[
e
[
2
],
e
[
0
],
e
[
1
]]:[
e
[
1
],
e
[
2
],
e
[
0
]]}}}
return
e
},
_l10nItem
(
e
,
t
){
if
(
this
.
mode
===
l
.
DATE
){
let
a
=
this
.
locale
;
if
(
a
.
startsWith
(
"
zh
"
))
return
e
+
[
"
\
u5E74
"
,
"
\
u6708
"
,
"
\
u65E5
"
][
t
];
if
(
this
.
fields
!==
h
.
YEAR
&&
t
===
(
this
.
fields
!==
h
.
MONTH
&&
(
a
===
"
es
"
||
a
===
"
fr
"
)?
1
:
0
)){
let
r
;
switch
(
a
){
case
"
es
"
:
r
=
[
"
enero
"
,
"
febrero
"
,
"
marzo
"
,
"
abril
"
,
"
mayo
"
,
"
junio
"
,
"
\
u200B
\
u200Bjulio
"
,
"
agosto
"
,
"
septiembre
"
,
"
octubre
"
,
"
noviembre
"
,
"
diciembre
"
];
break
;
case
"
fr
"
:
r
=
[
"
janvier
"
,
"
f
\
xE9vrier
"
,
"
mars
"
,
"
avril
"
,
"
mai
"
,
"
juin
"
,
"
juillet
"
,
"
ao
\
xFBt
"
,
"
septembre
"
,
"
octobre
"
,
"
novembre
"
,
"
d
\
xE9cembre
"
];
break
;
default
:
r
=
[
"
January
"
,
"
February
"
,
"
March
"
,
"
April
"
,
"
May
"
,
"
June
"
,
"
July
"
,
"
August
"
,
"
September
"
,
"
October
"
,
"
November
"
,
"
December
"
];
break
}
return
r
[
Number
(
e
)
-
1
]}}
return
e
}}};
function
Y
(
e
,
t
,
a
,
r
,
s
,
n
){
let
c
=
(
0
,
i
.
resolveComponent
)(
"
picker-view-column
"
),
o
=
(
0
,
i
.
resolveComponent
)(
"
picker-view
"
);
return
(
0
,
i
.
openBlock
)(),(
0
,
i
.
createElementBlock
)(
"
div
"
,{
class
:
"
content
"
},[(
0
,
i
.
createElementVNode
)(
"
div
"
,{
ref
:
"
mask
"
,
class
:(
0
,
i
.
normalizeClass
)([{
"
uni-mask-visible
"
:
a
.
visible
,
"
uni-mask-android
"
:
s
.
android
},
"
uni-mask
"
]),
onClick
:
t
[
0
]
||
(
t
[
0
]
=
(...
u
)
=>
n
.
_cancel
&&
n
.
_cancel
(...
u
))},
null
,
2
),(
0
,
i
.
createElementVNode
)(
"
div
"
,{
style
:(
0
,
i
.
normalizeStyle
)(
`padding-bottom:
${
e
.
safeAreaInsets
.
bottom
}
px;height:
${
s
.
height
+
e
.
safeAreaInsets
.
bottom
}
px;`
),
ref
:
"
picker
"
,
class
:(
0
,
i
.
normalizeClass
)([{
"
uni-picker-visible
"
:
a
.
visible
},
"
uni-picker
"
])},[(
0
,
i
.
createElementVNode
)(
"
div
"
,{
class
:
"
uni-picker-header
"
},[(
0
,
i
.
createElementVNode
)(
"
u-text
"
,{
style
:(
0
,
i
.
normalizeStyle
)(
`left:
${
e
.
safeAreaInsets
.
left
}
px`
),
class
:
"
uni-picker-action uni-picker-action-cancel
"
,
onClick
:
t
[
1
]
||
(
t
[
1
]
=
(...
u
)
=>
n
.
_cancel
&&
n
.
_cancel
(...
u
))},(
0
,
i
.
toDisplayString
)(
e
.
localize
(
"
cancel
"
)),
5
),(
0
,
i
.
createElementVNode
)(
"
u-text
"
,{
style
:(
0
,
i
.
normalizeStyle
)(
`right:
${
e
.
safeAreaInsets
.
right
}
px`
),
class
:
"
uni-picker-action uni-picker-action-confirm
"
,
onClick
:
t
[
2
]
||
(
t
[
2
]
=
(...
u
)
=>
n
.
_change
&&
n
.
_change
(...
u
))},(
0
,
i
.
toDisplayString
)(
e
.
localize
(
"
done
"
)),
5
)]),
a
.
visible
?((
0
,
i
.
openBlock
)(),(
0
,
i
.
createBlock
)(
o
,{
key
:
0
,
style
:(
0
,
i
.
normalizeStyle
)(
`margin-left:
${
e
.
safeAreaInsets
.
left
}
px`
),
height
:
"
216
"
,
"
indicator-style
"
:
"
height: 34px;border-color:#C8C9C9;border-top-width:0.5px;border-bottom-width:0.5px;
"
,
value
:
n
.
_l10nColumn
(
s
.
valueArray
),
class
:
"
uni-picker-content
"
,
onChange
:
n
.
_pickerViewChange
},{
default
:(
0
,
i
.
withCtx
)(()
=>
[((
0
,
i
.
openBlock
)(
!
0
),(
0
,
i
.
createElementBlock
)(
i
.
Fragment
,
null
,(
0
,
i
.
renderList
)(
n
.
_l10nColumn
(
n
.
rangeArray
),(
u
,
y
)
=>
((
0
,
i
.
openBlock
)(),(
0
,
i
.
createBlock
)(
c
,{
length
:
u
.
length
,
key
:
y
},{
default
:(
0
,
i
.
withCtx
)(()
=>
[(
0
,
i
.
createCommentVNode
)(
"
iOS
\
u6E32
\
u67D3
\
u901F
\
u5EA6
\
u6709
\
u95EE
\
u9898
\
u4F7F
\
u7528
\
u5355
\
u4E2Atext
\
u4F18
\
u5316
"
),(
0
,
i
.
createElementVNode
)(
"
u-text
"
,{
class
:
"
uni-picker-item
"
,
style
:(
0
,
i
.
normalizeStyle
)({
fontSize
:
s
.
fontSize
+
"
px
"
,
"
line-height
"
:
"
34px
"
,
"
text-align
"
:
"
center
"
,
color
:
"
#000
"
})},(
0
,
i
.
toDisplayString
)(
n
.
getTexts
(
u
,
y
)),
5
),(
0
,
i
.
createCommentVNode
)(
` <text v-for="(item,index) in range" :key="index" class="uni-picker-item uni-picker-item-line" :style="{fontSize: fontSize + 'px'}">{{ typeof item==='object'?item[rangeKey]||'':_l10nItem(item) }}</text> `
)]),
_
:
2
},
1032
,[
"
length
"
]))),
128
))]),
_
:
1
},
8
,[
"
style
"
,
"
value
"
,
"
onChange
"
])):(
0
,
i
.
createCommentVNode
)(
"
v-if
"
,
!
0
)],
6
)])}
var
B
=
m
(
R
,[[
"
render
"
,
Y
],[
"
styles
"
,[
z
]]]),
j
=
{
page
:{
""
:{
flex
:
1
}}},
F
=
{
mixins
:[
v
],
components
:{
picker
:
B
},
data
(){
return
{
range
:[],
rangeKey
:
""
,
value
:
0
,
mode
:
"
selector
"
,
fields
:
"
day
"
,
start
:
""
,
end
:
""
,
disabled
:
!
1
,
visible
:
!
1
}},
onLoad
(){
this
.
data
===
null
?
this
.
postMessage
({
event
:
"
created
"
},
!
0
):
this
.
showPicker
(
this
.
data
),
this
.
onMessage
(
e
=>
{
this
.
showPicker
(
e
)})},
onReady
(){
this
.
$nextTick
(()
=>
{
this
.
visible
=!
0
})},
methods
:{
showPicker
(
e
=
{}){
let
t
=
e
.
column
;
for
(
let
a
in
e
)
a
!==
"
column
"
&&
(
typeof
t
==
"
number
"
?
this
.
$set
(
this
.
$data
[
a
],
t
,
e
[
a
]):
this
.
$data
[
a
]
=
e
[
a
])},
close
(
e
,{
value
:
t
=-
1
}
=
{}){
this
.
visible
=!
1
,
setTimeout
(()
=>
{
this
.
postMessage
({
event
:
e
,
value
:
t
})},
210
)},
onClose
(){
this
.
close
(
"
cancel
"
)},
columnchange
({
column
:
e
,
value
:
t
}){
this
.
$set
(
this
.
value
,
e
,
t
),
this
.
postMessage
({
event
:
"
columnchange
"
,
column
:
e
,
value
:
t
},
!
0
)}}};
function
H
(
e
,
t
,
a
,
r
,
s
,
n
){
let
c
=
(
0
,
i
.
resolveComponent
)(
"
picker
"
);
return
(
0
,
i
.
openBlock
)(),(
0
,
i
.
createElementBlock
)(
"
scroll-view
"
,{
scrollY
:
!
0
,
showScrollbar
:
!
0
,
enableBackToTop
:
!
0
,
bubble
:
!
0
,
style
:{
flexDirection
:
"
column
"
}},[(
0
,
i
.
createElementVNode
)(
"
view
"
,{
class
:
"
page
"
},[(
0
,
i
.
createVNode
)(
c
,{
range
:
s
.
range
,
rangeKey
:
s
.
rangeKey
,
value
:
s
.
value
,
mode
:
s
.
mode
,
fields
:
s
.
fields
,
start
:
s
.
start
,
end
:
s
.
end
,
disabled
:
s
.
disabled
,
visible
:
s
.
visible
,
onChange
:
t
[
0
]
||
(
t
[
0
]
=
o
=>
n
.
close
(
"
change
"
,
o
)),
onCancel
:
t
[
1
]
||
(
t
[
1
]
=
o
=>
n
.
close
(
"
cancel
"
,
o
)),
onColumnchange
:
n
.
columnchange
},
null
,
8
,[
"
range
"
,
"
rangeKey
"
,
"
value
"
,
"
mode
"
,
"
fields
"
,
"
start
"
,
"
end
"
,
"
disabled
"
,
"
visible
"
,
"
onColumnchange
"
])])])}
var
g
=
m
(
F
,[[
"
render
"
,
H
],[
"
styles
"
,[
j
]]]);
var
p
=
plus
.
webview
.
currentWebview
();
if
(
p
){
let
e
=
parseInt
(
p
.
id
),
t
=
"
template/__uniapppicker
"
,
a
=
{};
try
{
a
=
JSON
.
parse
(
p
.
__query__
)}
catch
{}
g
.
mpType
=
"
page
"
;
let
r
=
Vue
.
createPageApp
(
g
,{
$store
:
getApp
({
allowDefault
:
!
0
}).
$store
,
__pageId
:
e
,
__pagePath
:
t
,
__pageQuery
:
a
});
r
.
provide
(
"
__globalStyles
"
,
Vue
.
useCssStyles
([...
__uniConfig
.
styles
,...
g
.
styles
||
[]])),
r
.
mount
(
"
#root
"
)}})();
(()
=>
{
var
T
=
Object
.
create
;
var
d
=
Object
.
defineProperty
;
var
x
=
Object
.
getOwnPropertyDescriptor
;
var
M
=
Object
.
getOwnPropertyNames
;
var
C
=
Object
.
getPrototypeOf
,
D
=
Object
.
prototype
.
hasOwnProperty
;
var
I
=
e
=>
d
(
e
,
"
__esModule
"
,{
value
:
!
0
});
var
L
=
(
e
,
t
)
=>
()
=>
(
t
||
e
((
t
=
{
exports
:{}}).
exports
,
t
),
t
.
exports
);
var
V
=
(
e
,
t
,
a
,
r
)
=>
{
if
(
t
&&
typeof
t
==
"
object
"
||
typeof
t
==
"
function
"
)
for
(
let
s
of
M
(
t
))
!
D
.
call
(
e
,
s
)
&&
(
a
||
s
!==
"
default
"
)
&&
d
(
e
,
s
,{
get
:()
=>
t
[
s
],
enumerable
:
!
(
r
=
x
(
t
,
s
))
||
r
.
enumerable
});
return
e
},
N
=
(
e
,
t
)
=>
V
(
I
(
d
(
e
!=
null
?
T
(
C
(
e
)):{},
"
default
"
,
!
t
&&
e
&&
e
.
__esModule
?{
get
:()
=>
e
.
default
,
enumerable
:
!
0
}:{
value
:
e
,
enumerable
:
!
0
})),
e
);
var
A
=
L
((
K
,
v
)
=>
{
v
.
exports
=
Vue
});
var
_
=
{
data
(){
return
{
locale
:
"
en
"
,
fallbackLocale
:
"
en
"
,
localization
:{
en
:{
done
:
"
OK
"
,
cancel
:
"
Cancel
"
},
zh
:{
done
:
"
\
u5B8C
\
u6210
"
,
cancel
:
"
\
u53D6
\
u6D88
"
},
"
zh-hans
"
:{},
"
zh-hant
"
:{},
messages
:{}}}},
onLoad
(){
this
.
initLocale
()},
created
(){
this
.
initLocale
()},
methods
:{
initLocale
(){
if
(
this
.
__initLocale
)
return
;
this
.
__initLocale
=!
0
;
let
e
=
(
plus
.
webview
.
currentWebview
().
extras
||
{}).
data
||
{};
if
(
e
.
messages
&&
(
this
.
localization
.
messages
=
e
.
messages
),
e
.
locale
){
this
.
locale
=
e
.
locale
.
toLowerCase
();
return
}
let
t
=
{
chs
:
"
hans
"
,
cn
:
"
hans
"
,
sg
:
"
hans
"
,
cht
:
"
hant
"
,
tw
:
"
hant
"
,
hk
:
"
hant
"
,
mo
:
"
hant
"
},
a
=
plus
.
os
.
language
.
toLowerCase
().
split
(
"
/
"
)[
0
].
replace
(
"
_
"
,
"
-
"
).
split
(
"
-
"
),
r
=
a
[
1
];
r
&&
(
a
[
1
]
=
t
[
r
]
||
r
),
a
.
length
=
a
.
length
>
2
?
2
:
a
.
length
,
this
.
locale
=
a
.
join
(
"
-
"
)},
localize
(
e
){
let
t
=
this
.
locale
,
a
=
t
.
split
(
"
-
"
)[
0
],
r
=
this
.
fallbackLocale
,
s
=
this
.
localization
;
function
n
(
c
){
return
s
[
c
]
||
{}}
return
n
(
"
messages
"
)[
e
]
||
n
(
t
)[
e
]
||
n
(
a
)[
e
]
||
n
(
r
)[
e
]
||
e
}}},
b
=
{
onLoad
(){
this
.
initMessage
()},
methods
:{
initMessage
(){
let
{
from
:
e
,
callback
:
t
,
runtime
:
a
,
data
:
r
=
{},
useGlobalEvent
:
s
}
=
plus
.
webview
.
currentWebview
().
extras
||
{};
this
.
__from
=
e
,
this
.
__runtime
=
a
,
this
.
__page
=
plus
.
webview
.
currentWebview
().
id
,
this
.
__useGlobalEvent
=
s
,
this
.
data
=
JSON
.
parse
(
JSON
.
stringify
(
r
)),
plus
.
key
.
addEventListener
(
"
backbutton
"
,()
=>
{
typeof
this
.
onClose
==
"
function
"
?
this
.
onClose
():
plus
.
webview
.
currentWebview
().
close
(
"
auto
"
)});
let
n
=
this
,
c
=
function
(
o
){
let
u
=
o
.
data
&&
o
.
data
.
__message
;
!
u
||
n
.
__onMessageCallback
&&
n
.
__onMessageCallback
(
u
.
data
)};
if
(
this
.
__useGlobalEvent
)
weex
.
requireModule
(
"
globalEvent
"
).
addEventListener
(
"
plusMessage
"
,
c
);
else
{
let
o
=
new
BroadcastChannel
(
this
.
__page
);
o
.
onmessage
=
c
}},
postMessage
(
e
=
{},
t
=!
1
){
let
a
=
JSON
.
parse
(
JSON
.
stringify
({
__message
:{
__page
:
this
.
__page
,
data
:
e
,
keep
:
t
}})),
r
=
this
.
__from
;
if
(
this
.
__runtime
===
"
v8
"
)
this
.
__useGlobalEvent
?
plus
.
webview
.
postMessageToUniNView
(
a
,
r
):
new
BroadcastChannel
(
r
).
postMessage
(
a
);
else
{
let
s
=
plus
.
webview
.
getWebviewById
(
r
);
s
&&
s
.
evalJS
(
`__plusMessage&&__plusMessage(
${
JSON
.
stringify
({
data
:
a
})}
)`
)}},
onMessage
(
e
){
this
.
__onMessageCallback
=
e
}}};
var
i
=
N
(
A
());
var
m
=
(
e
,
t
)
=>
{
let
a
=
e
.
__vccOpts
||
e
;
for
(
let
[
r
,
s
]
of
t
)
a
[
r
]
=
s
;
return
a
};
var
f
=
e
=>
e
>
9
?
e
:
"
0
"
+
e
;
function
E
({
date
:
e
=
new
Date
,
mode
:
t
=
"
date
"
}){
return
t
===
"
time
"
?
f
(
e
.
getHours
())
+
"
:
"
+
f
(
e
.
getMinutes
()):
e
.
getFullYear
()
+
"
-
"
+
f
(
e
.
getMonth
()
+
1
)
+
"
-
"
+
f
(
e
.
getDate
())}
var
O
=
{
data
(){
return
{
safeAreaInsets
:{
left
:
0
,
right
:
0
,
top
:
0
,
bottom
:
0
}}},
onLoad
(){
this
.
initSafeAreaInsets
()},
created
(){
this
.
initSafeAreaInsets
()},
methods
:{
initSafeAreaInsets
(){
if
(
this
.
__initSafeAreaInsets
)
return
;
this
.
__initSafeAreaInsets
=!
0
;
let
e
=
plus
.
webview
.
currentWebview
();
e
.
addEventListener
(
"
resize
"
,()
=>
{
setTimeout
(()
=>
{
this
.
updateSafeAreaInsets
(
e
)},
20
)}),
this
.
updateSafeAreaInsets
(
e
)},
updateSafeAreaInsets
(
e
){
let
t
=
e
.
getSafeAreaInsets
(),
a
=
this
.
safeAreaInsets
;
Object
.
keys
(
a
).
forEach
(
r
=>
{
a
[
r
]
=
t
[
r
]})}}},
z
=
{
content
:{
""
:{
position
:
"
absolute
"
,
top
:
0
,
left
:
0
,
bottom
:
0
,
right
:
0
}},
"
uni-mask
"
:{
""
:{
position
:
"
absolute
"
,
top
:
0
,
left
:
0
,
bottom
:
0
,
right
:
0
,
backgroundColor
:
"
rgba(0,0,0,0.4)
"
,
opacity
:
0
,
transitionProperty
:
"
opacity
"
,
transitionDuration
:
200
,
transitionTimingFunction
:
"
linear
"
}},
"
uni-mask-android
"
:{
""
:{
backgroundColor
:
"
rgba(0,0,0,0.6)
"
}},
"
uni-mask-visible
"
:{
""
:{
opacity
:
1
}},
"
uni-picker
"
:{
""
:{
position
:
"
absolute
"
,
left
:
0
,
bottom
:
0
,
right
:
0
,
backgroundColor
:
"
#ffffff
"
,
color
:
"
#000000
"
,
flexDirection
:
"
column
"
,
transform
:
"
translateY(295px)
"
}},
"
uni-picker-header
"
:{
""
:{
height
:
45
,
borderBottomWidth
:
0
,
backgroundColor
:
"
#E6E6E6
"
,
fontSize
:
20
}},
"
uni-picker-action
"
:{
""
:{
position
:
"
absolute
"
,
textAlign
:
"
center
"
,
top
:
0
,
height
:
45
,
paddingTop
:
0
,
paddingRight
:
14
,
paddingBottom
:
0
,
paddingLeft
:
14
,
fontSize
:
17
,
lineHeight
:
45
}},
"
uni-picker-action-cancel
"
:{
""
:{
left
:
0
,
color
:
"
#888888
"
}},
"
uni-picker-action-confirm
"
:{
""
:{
right
:
0
,
color
:
"
#007aff
"
}},
"
uni-picker-content
"
:{
""
:{
flex
:
1
}},
"
uni-picker-item
"
:{
""
:{
lineHeight
:
34
,
textAlign
:
"
center
"
,
color
:
"
#000000
"
}},
"
@TRANSITION
"
:{
"
uni-mask
"
:{
property
:
"
opacity
"
,
duration
:
200
,
timingFunction
:
"
linear
"
}}};
function
k
(){
if
(
this
.
mode
===
l
.
TIME
)
return
"
00:00
"
;
if
(
this
.
mode
===
l
.
DATE
){
let
e
=
new
Date
().
getFullYear
()
-
61
;
switch
(
this
.
fields
){
case
h
.
YEAR
:
return
e
;
case
h
.
MONTH
:
return
e
+
"
-01
"
;
default
:
return
e
+
"
-01-01
"
}}
return
""
}
function
w
(){
if
(
this
.
mode
===
l
.
TIME
)
return
"
23:59
"
;
if
(
this
.
mode
===
l
.
DATE
){
let
e
=
new
Date
().
getFullYear
()
+
61
;
switch
(
this
.
fields
){
case
h
.
YEAR
:
return
e
;
case
h
.
MONTH
:
return
e
+
"
-12
"
;
default
:
return
e
+
"
-12-31
"
}}
return
""
}
var
S
=
weex
.
requireModule
(
"
animation
"
),
l
=
{
SELECTOR
:
"
selector
"
,
MULTISELECTOR
:
"
multiSelector
"
,
TIME
:
"
time
"
,
DATE
:
"
date
"
,
REGION
:
"
region
"
},
h
=
{
YEAR
:
"
year
"
,
MONTH
:
"
month
"
,
DAY
:
"
day
"
},
R
=
{
name
:
"
Picker
"
,
mixins
:[
_
,
O
],
props
:{
pageId
:{
type
:
Number
,
default
:
0
},
range
:{
type
:
Array
,
default
(){
return
[]}},
rangeKey
:{
type
:
String
,
default
:
""
},
value
:{
type
:[
Number
,
String
,
Array
],
default
:
0
},
mode
:{
type
:
String
,
default
:
l
.
SELECTOR
},
fields
:{
type
:
String
,
default
:
h
.
DAY
},
start
:{
type
:
String
,
default
:
k
},
end
:{
type
:
String
,
default
:
w
},
disabled
:{
type
:[
Boolean
,
String
],
default
:
!
1
},
visible
:{
type
:
Boolean
,
default
:
!
1
}},
data
(){
return
{
valueSync
:
null
,
timeArray
:[],
dateArray
:[],
valueArray
:[],
oldValueArray
:[],
fontSize
:
16
,
height
:
261
,
android
:
weex
.
config
.
env
.
platform
.
toLowerCase
()
===
"
android
"
}},
computed
:{
rangeArray
(){
var
e
=
this
.
range
;
switch
(
this
.
mode
){
case
l
.
SELECTOR
:
return
[
e
];
case
l
.
MULTISELECTOR
:
return
e
;
case
l
.
TIME
:
return
this
.
timeArray
;
case
l
.
DATE
:{
let
t
=
this
.
dateArray
;
switch
(
this
.
fields
){
case
h
.
YEAR
:
return
[
t
[
0
]];
case
h
.
MONTH
:
return
[
t
[
0
],
t
[
1
]];
default
:
return
[
t
[
0
],
t
[
1
],
t
[
2
]]}}}
return
[]},
startArray
(){
return
this
.
_getDateValueArray
(
this
.
start
,
k
.
bind
(
this
)())},
endArray
(){
return
this
.
_getDateValueArray
(
this
.
end
,
w
.
bind
(
this
)())},
textMaxLength
(){
return
Math
.
floor
(
Math
.
min
(
weex
.
config
.
env
.
deviceWidth
,
weex
.
config
.
env
.
deviceHeight
)
/
(
this
.
fontSize
*
weex
.
config
.
env
.
scale
+
1
)
/
this
.
rangeArray
.
length
)}},
watch
:{
value
(){
this
.
_setValueSync
()},
mode
(){
this
.
_setValueSync
()},
range
(){
this
.
_setValueSync
()},
valueSync
(){
this
.
_setValueArray
()},
valueArray
(
e
){
if
(
this
.
mode
===
l
.
TIME
||
this
.
mode
===
l
.
DATE
){
let
t
=
this
.
mode
===
l
.
TIME
?
this
.
_getTimeValue
:
this
.
_getDateValue
,
a
=
this
.
valueArray
,
r
=
this
.
startArray
,
s
=
this
.
endArray
;
if
(
this
.
mode
===
l
.
DATE
){
let
n
=
this
.
dateArray
,
c
=
n
[
2
].
length
,
o
=
Number
(
n
[
2
][
a
[
2
]])
||
1
,
u
=
new
Date
(
`
${
n
[
0
][
a
[
0
]]}
/
${
n
[
1
][
a
[
1
]]}
/
${
o
}
`
).
getDate
();
u
<
o
&&
(
a
[
2
]
-=
u
+
c
-
o
)}
t
(
a
)
<
t
(
r
)?
this
.
_cloneArray
(
a
,
r
):
t
(
a
)
>
t
(
s
)
&&
this
.
_cloneArray
(
a
,
s
)}
e
.
forEach
((
t
,
a
)
=>
{
t
!==
this
.
oldValueArray
[
a
]
&&
(
this
.
oldValueArray
[
a
]
=
t
,
this
.
mode
===
l
.
MULTISELECTOR
&&
this
.
$emit
(
"
columnchange
"
,{
column
:
a
,
value
:
t
}))})},
visible
(
e
){
e
?
setTimeout
(()
=>
{
S
.
transition
(
this
.
$refs
.
picker
,{
styles
:{
transform
:
"
translateY(0)
"
},
duration
:
200
})},
20
):
S
.
transition
(
this
.
$refs
.
picker
,{
styles
:{
transform
:
`translateY(
${
283
+
this
.
safeAreaInsets
.
bottom
}
px)`
},
duration
:
200
})}},
created
(){
this
.
_createTime
(),
this
.
_createDate
(),
this
.
_setValueSync
()},
methods
:{
getTexts
(
e
,
t
){
let
a
=
this
.
textMaxLength
;
return
e
.
map
(
r
=>
{
let
s
=
String
(
typeof
r
==
"
object
"
?
r
[
this
.
rangeKey
]
||
""
:
this
.
_l10nItem
(
r
,
t
));
if
(
a
>
0
&&
s
.
length
>
a
){
let
n
=
0
,
c
=
0
;
for
(
let
o
=
0
;
o
<
s
.
length
;
o
++
){
let
u
=
s
.
charCodeAt
(
o
);
if
(
u
>
127
||
u
===
94
?
n
+=
1
:
n
+=
.
65
,
n
<=
a
-
1
&&
(
c
=
o
),
n
>=
a
)
return
o
===
s
.
length
-
1
?
s
:
s
.
substr
(
0
,
c
+
1
)
+
"
\
u2026
"
}}
return
s
||
"
"
}).
join
(
`
`
)},
_createTime
(){
var
e
=
[],
t
=
[];
e
.
splice
(
0
,
e
.
length
);
for
(
let
a
=
0
;
a
<
24
;
a
++
)
e
.
push
((
a
<
10
?
"
0
"
:
""
)
+
a
);
t
.
splice
(
0
,
t
.
length
);
for
(
let
a
=
0
;
a
<
60
;
a
++
)
t
.
push
((
a
<
10
?
"
0
"
:
""
)
+
a
);
this
.
timeArray
.
push
(
e
,
t
)},
_createDate
(){
var
e
=
[],
t
=
new
Date
().
getFullYear
();
for
(
let
s
=
t
-
61
,
n
=
t
+
61
;
s
<=
n
;
s
++
)
e
.
push
(
String
(
s
));
var
a
=
[];
for
(
let
s
=
1
;
s
<=
12
;
s
++
)
a
.
push
((
s
<
10
?
"
0
"
:
""
)
+
s
);
var
r
=
[];
for
(
let
s
=
1
;
s
<=
31
;
s
++
)
r
.
push
((
s
<
10
?
"
0
"
:
""
)
+
s
);
this
.
dateArray
.
push
(
e
,
a
,
r
)},
_getTimeValue
(
e
){
return
e
[
0
]
*
60
+
e
[
1
]},
_getDateValue
(
e
){
return
e
[
0
]
*
31
*
12
+
(
e
[
1
]
||
0
)
*
31
+
(
e
[
2
]
||
0
)},
_cloneArray
(
e
,
t
){
for
(
let
a
=
0
;
a
<
e
.
length
&&
a
<
t
.
length
;
a
++
)
e
[
a
]
=
t
[
a
]},
_setValueSync
(){
let
e
=
this
.
value
;
switch
(
this
.
mode
){
case
l
.
MULTISELECTOR
:
Array
.
isArray
(
e
)
||
(
e
=
[]),
Array
.
isArray
(
this
.
valueSync
)
||
(
this
.
valueSync
=
[]);
let
t
=
this
.
valueSync
.
length
=
Math
.
max
(
e
.
length
,
this
.
range
.
length
);
for
(
let
a
=
0
;
a
<
t
;
a
++
){
let
r
=
Number
(
e
[
a
]),
s
=
Number
(
this
.
valueSync
[
a
]),
n
=
isNaN
(
r
)?
isNaN
(
s
)?
0
:
s
:
r
,
c
=
this
.
range
[
a
]?
this
.
range
[
a
].
length
-
1
:
0
;
this
.
valueSync
.
splice
(
a
,
1
,
n
<
0
||
n
>
c
?
0
:
n
)}
break
;
case
l
.
TIME
:
case
l
.
DATE
:
this
.
valueSync
=
String
(
e
);
break
;
default
:{
let
a
=
Number
(
e
);
this
.
valueSync
=
a
<
0
?
0
:
a
;
break
}}},
_setValueArray
(){
var
e
=
this
.
valueSync
,
t
;
switch
(
this
.
mode
){
case
l
.
MULTISELECTOR
:
t
=
[...
e
];
break
;
case
l
.
TIME
:
t
=
this
.
_getDateValueArray
(
e
,
E
({
mode
:
l
.
TIME
}));
break
;
case
l
.
DATE
:
t
=
this
.
_getDateValueArray
(
e
,
E
({
mode
:
l
.
DATE
}));
break
;
default
:
t
=
[
e
];
break
}
this
.
oldValueArray
=
[...
t
],
this
.
valueArray
=
[...
t
]},
_getValue
(){
var
e
=
this
.
valueArray
;
switch
(
this
.
mode
){
case
l
.
SELECTOR
:
return
e
[
0
];
case
l
.
MULTISELECTOR
:
return
e
.
map
(
t
=>
t
);
case
l
.
TIME
:
return
this
.
valueArray
.
map
((
t
,
a
)
=>
this
.
timeArray
[
a
][
t
]).
join
(
"
:
"
);
case
l
.
DATE
:
return
this
.
valueArray
.
map
((
t
,
a
)
=>
this
.
dateArray
[
a
][
t
]).
join
(
"
-
"
)}},
_getDateValueArray
(
e
,
t
){
let
a
=
this
.
mode
===
l
.
DATE
?
"
-
"
:
"
:
"
,
r
=
this
.
mode
===
l
.
DATE
?
this
.
dateArray
:
this
.
timeArray
,
s
=
3
;
switch
(
this
.
fields
){
case
h
.
YEAR
:
s
=
1
;
break
;
case
h
.
MONTH
:
s
=
2
;
break
}
let
n
=
String
(
e
).
split
(
a
),
c
=
[];
for
(
let
o
=
0
;
o
<
s
;
o
++
){
let
u
=
n
[
o
];
c
.
push
(
r
[
o
].
indexOf
(
u
))}
return
c
.
indexOf
(
-
1
)
>=
0
&&
(
c
=
t
?
this
.
_getDateValueArray
(
t
):
c
.
map
(()
=>
0
)),
c
},
_change
(){
this
.
$emit
(
"
change
"
,{
value
:
this
.
_getValue
()})},
_cancel
(){
this
.
$emit
(
"
cancel
"
)},
_pickerViewChange
(
e
){
this
.
valueArray
=
this
.
_l10nColumn
(
e
.
detail
.
value
,
!
0
)},
_l10nColumn
(
e
,
t
){
if
(
this
.
mode
===
l
.
DATE
){
let
a
=
this
.
locale
;
if
(
!
a
.
startsWith
(
"
zh
"
))
switch
(
this
.
fields
){
case
h
.
YEAR
:
return
e
;
case
h
.
MONTH
:
return
[
e
[
1
],
e
[
0
]];
default
:
switch
(
a
){
case
"
es
"
:
case
"
fr
"
:
return
[
e
[
2
],
e
[
1
],
e
[
0
]];
default
:
return
t
?[
e
[
2
],
e
[
0
],
e
[
1
]]:[
e
[
1
],
e
[
2
],
e
[
0
]]}}}
return
e
},
_l10nItem
(
e
,
t
){
if
(
this
.
mode
===
l
.
DATE
){
let
a
=
this
.
locale
;
if
(
a
.
startsWith
(
"
zh
"
))
return
e
+
[
"
\
u5E74
"
,
"
\
u6708
"
,
"
\
u65E5
"
][
t
];
if
(
this
.
fields
!==
h
.
YEAR
&&
t
===
(
this
.
fields
!==
h
.
MONTH
&&
(
a
===
"
es
"
||
a
===
"
fr
"
)?
1
:
0
)){
let
r
;
switch
(
a
){
case
"
es
"
:
r
=
[
"
enero
"
,
"
febrero
"
,
"
marzo
"
,
"
abril
"
,
"
mayo
"
,
"
junio
"
,
"
\
u200B
\
u200Bjulio
"
,
"
agosto
"
,
"
septiembre
"
,
"
octubre
"
,
"
noviembre
"
,
"
diciembre
"
];
break
;
case
"
fr
"
:
r
=
[
"
janvier
"
,
"
f
\
xE9vrier
"
,
"
mars
"
,
"
avril
"
,
"
mai
"
,
"
juin
"
,
"
juillet
"
,
"
ao
\
xFBt
"
,
"
septembre
"
,
"
octobre
"
,
"
novembre
"
,
"
d
\
xE9cembre
"
];
break
;
default
:
r
=
[
"
January
"
,
"
February
"
,
"
March
"
,
"
April
"
,
"
May
"
,
"
June
"
,
"
July
"
,
"
August
"
,
"
September
"
,
"
October
"
,
"
November
"
,
"
December
"
];
break
}
return
r
[
Number
(
e
)
-
1
]}}
return
e
}}};
function
Y
(
e
,
t
,
a
,
r
,
s
,
n
){
let
c
=
(
0
,
i
.
resolveComponent
)(
"
picker-view-column
"
),
o
=
(
0
,
i
.
resolveComponent
)(
"
picker-view
"
);
return
(
0
,
i
.
openBlock
)(),(
0
,
i
.
createElementBlock
)(
"
div
"
,{
class
:
"
content
"
},[(
0
,
i
.
createElementVNode
)(
"
div
"
,{
ref
:
"
mask
"
,
class
:
"
uni-mask
"
,
style
:(
0
,
i
.
normalizeStyle
)({
opacity
:
a
.
visible
?
1
:
0
,
"
background-color
"
:
s
.
android
?
"
rgba(0, 0, 0, 0.6)
"
:
"
rgba(0, 0, 0, 0.4)
"
}),
onClick
:
t
[
0
]
||
(
t
[
0
]
=
(...
u
)
=>
n
.
_cancel
&&
n
.
_cancel
(...
u
))},
null
,
4
),(
0
,
i
.
createElementVNode
)(
"
div
"
,{
style
:(
0
,
i
.
normalizeStyle
)(
`padding-bottom:
${
e
.
safeAreaInsets
.
bottom
}
px;height:
${
s
.
height
+
e
.
safeAreaInsets
.
bottom
}
px;`
),
ref
:
"
picker
"
,
class
:
"
uni-picker
"
},[(
0
,
i
.
createElementVNode
)(
"
div
"
,{
class
:
"
uni-picker-header
"
},[(
0
,
i
.
createElementVNode
)(
"
u-text
"
,{
style
:(
0
,
i
.
normalizeStyle
)(
`left:
${
e
.
safeAreaInsets
.
left
}
px`
),
class
:
"
uni-picker-action uni-picker-action-cancel
"
,
onClick
:
t
[
1
]
||
(
t
[
1
]
=
(...
u
)
=>
n
.
_cancel
&&
n
.
_cancel
(...
u
))},(
0
,
i
.
toDisplayString
)(
e
.
localize
(
"
cancel
"
)),
5
),(
0
,
i
.
createElementVNode
)(
"
u-text
"
,{
style
:(
0
,
i
.
normalizeStyle
)(
`right:
${
e
.
safeAreaInsets
.
right
}
px`
),
class
:
"
uni-picker-action uni-picker-action-confirm
"
,
onClick
:
t
[
2
]
||
(
t
[
2
]
=
(...
u
)
=>
n
.
_change
&&
n
.
_change
(...
u
))},(
0
,
i
.
toDisplayString
)(
e
.
localize
(
"
done
"
)),
5
)]),
a
.
visible
?((
0
,
i
.
openBlock
)(),(
0
,
i
.
createBlock
)(
o
,{
key
:
0
,
style
:(
0
,
i
.
normalizeStyle
)(
`margin-left:
${
e
.
safeAreaInsets
.
left
}
px`
),
height
:
"
216
"
,
"
indicator-style
"
:
"
height: 34px;border-color:#C8C9C9;border-top-width:0.5px;border-bottom-width:0.5px;
"
,
value
:
n
.
_l10nColumn
(
s
.
valueArray
),
class
:
"
uni-picker-content
"
,
onChange
:
n
.
_pickerViewChange
},{
default
:(
0
,
i
.
withCtx
)(()
=>
[((
0
,
i
.
openBlock
)(
!
0
),(
0
,
i
.
createElementBlock
)(
i
.
Fragment
,
null
,(
0
,
i
.
renderList
)(
n
.
_l10nColumn
(
n
.
rangeArray
),(
u
,
y
)
=>
((
0
,
i
.
openBlock
)(),(
0
,
i
.
createBlock
)(
c
,{
length
:
u
.
length
,
key
:
y
},{
default
:(
0
,
i
.
withCtx
)(()
=>
[(
0
,
i
.
createCommentVNode
)(
"
iOS
\
u6E32
\
u67D3
\
u901F
\
u5EA6
\
u6709
\
u95EE
\
u9898
\
u4F7F
\
u7528
\
u5355
\
u4E2Atext
\
u4F18
\
u5316
"
),(
0
,
i
.
createElementVNode
)(
"
u-text
"
,{
class
:
"
uni-picker-item
"
,
style
:(
0
,
i
.
normalizeStyle
)({
fontSize
:
s
.
fontSize
+
"
px
"
,
"
line-height
"
:
"
34px
"
,
"
text-align
"
:
"
center
"
,
color
:
"
#000
"
})},(
0
,
i
.
toDisplayString
)(
n
.
getTexts
(
u
,
y
)),
5
),(
0
,
i
.
createCommentVNode
)(
` <text v-for="(item,index) in range" :key="index" class="uni-picker-item uni-picker-item-line" :style="{fontSize: fontSize + 'px'}">{{ typeof item==='object'?item[rangeKey]||'':_l10nItem(item) }}</text> `
)]),
_
:
2
},
1032
,[
"
length
"
]))),
128
))]),
_
:
1
},
8
,[
"
style
"
,
"
value
"
,
"
onChange
"
])):(
0
,
i
.
createCommentVNode
)(
"
v-if
"
,
!
0
)],
4
)])}
var
B
=
m
(
R
,[[
"
render
"
,
Y
],[
"
styles
"
,[
z
]]]),
j
=
{
page
:{
""
:{
flex
:
1
}}},
F
=
{
mixins
:[
b
],
components
:{
picker
:
B
},
data
(){
return
{
range
:[],
rangeKey
:
""
,
value
:
0
,
mode
:
"
selector
"
,
fields
:
"
day
"
,
start
:
""
,
end
:
""
,
disabled
:
!
1
,
visible
:
!
1
}},
onLoad
(){
this
.
data
===
null
?
this
.
postMessage
({
event
:
"
created
"
},
!
0
):
this
.
showPicker
(
this
.
data
),
this
.
onMessage
(
e
=>
{
this
.
showPicker
(
e
)})},
onReady
(){
this
.
$nextTick
(()
=>
{
this
.
visible
=!
0
})},
methods
:{
showPicker
(
e
=
{}){
let
t
=
e
.
column
;
for
(
let
a
in
e
)
a
!==
"
column
"
&&
(
typeof
t
==
"
number
"
?
this
.
$set
(
this
.
$data
[
a
],
t
,
e
[
a
]):
this
.
$data
[
a
]
=
e
[
a
])},
close
(
e
,{
value
:
t
=-
1
}
=
{}){
this
.
visible
=!
1
,
setTimeout
(()
=>
{
this
.
postMessage
({
event
:
e
,
value
:
t
})},
210
)},
onClose
(){
this
.
close
(
"
cancel
"
)},
columnchange
({
column
:
e
,
value
:
t
}){
this
.
$set
(
this
.
value
,
e
,
t
),
this
.
postMessage
({
event
:
"
columnchange
"
,
column
:
e
,
value
:
t
},
!
0
)}}};
function
H
(
e
,
t
,
a
,
r
,
s
,
n
){
let
c
=
(
0
,
i
.
resolveComponent
)(
"
picker
"
);
return
(
0
,
i
.
openBlock
)(),(
0
,
i
.
createElementBlock
)(
"
scroll-view
"
,{
scrollY
:
!
0
,
showScrollbar
:
!
0
,
enableBackToTop
:
!
0
,
bubble
:
!
0
,
style
:{
flexDirection
:
"
column
"
}},[(
0
,
i
.
createElementVNode
)(
"
view
"
,{
class
:
"
page
"
},[(
0
,
i
.
createVNode
)(
c
,{
range
:
s
.
range
,
rangeKey
:
s
.
rangeKey
,
value
:
s
.
value
,
mode
:
s
.
mode
,
fields
:
s
.
fields
,
start
:
s
.
start
,
end
:
s
.
end
,
disabled
:
s
.
disabled
,
visible
:
s
.
visible
,
onChange
:
t
[
0
]
||
(
t
[
0
]
=
o
=>
n
.
close
(
"
change
"
,
o
)),
onCancel
:
t
[
1
]
||
(
t
[
1
]
=
o
=>
n
.
close
(
"
cancel
"
,
o
)),
onColumnchange
:
n
.
columnchange
},
null
,
8
,[
"
range
"
,
"
rangeKey
"
,
"
value
"
,
"
mode
"
,
"
fields
"
,
"
start
"
,
"
end
"
,
"
disabled
"
,
"
visible
"
,
"
onColumnchange
"
])])])}
var
g
=
m
(
F
,[[
"
render
"
,
H
],[
"
styles
"
,[
j
]]]);
var
p
=
plus
.
webview
.
currentWebview
();
if
(
p
){
let
e
=
parseInt
(
p
.
id
),
t
=
"
template/__uniapppicker
"
,
a
=
{};
try
{
a
=
JSON
.
parse
(
p
.
__query__
)}
catch
{}
g
.
mpType
=
"
page
"
;
let
r
=
Vue
.
createPageApp
(
g
,{
$store
:
getApp
({
allowDefault
:
!
0
}).
$store
,
__pageId
:
e
,
__pagePath
:
t
,
__pageQuery
:
a
});
r
.
provide
(
"
__globalStyles
"
,
Vue
.
useCssStyles
([...
__uniConfig
.
styles
,...
g
.
styles
||
[]])),
r
.
mount
(
"
#root
"
)}})();
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录