Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
梁建民
/
wmsApp
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
59c04d86
authored
Jul 05, 2024
by
LJM
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
add
parent
b038ec19
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
2004 additions
and
513 deletions
pages/arrivalRegister/splitGoods.vue
uni_modules/uni-datetime-picker/changelog.md
uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue
uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue
uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue
uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js
uni_modules/uni-datetime-picker/package.json
uni_modules/uni-icons/changelog.md
uni_modules/uni-icons/components/uni-icons/uni-icons.uvue
uni_modules/uni-icons/components/uni-icons/uni-icons.vue
uni_modules/uni-icons/components/uni-icons/uniicons.css
uni_modules/uni-icons/components/uni-icons/uniicons.ttf
uni_modules/uni-icons/components/uni-icons/uniicons_file.ts
uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js
uni_modules/uni-icons/package.json
pages/arrivalRegister/splitGoods.vue
View file @
59c04d86
...
...
@@ -97,12 +97,7 @@
<view
class=
"input-wrap column"
style=
"margin-top: 20rpx;"
>
<view
class=
"label-title"
><text
style=
"color: red;"
>
*
</text>
到货时间:
</view>
<view
class=
"select-box row"
>
<picker
mode=
"date"
:value=
"formParams.register_time"
@
change=
"bindDateChange($event,1)"
style=
"width: 100%;"
>
<view
class=
"row verCenter bothSide wrap"
>
<view
class=
"uni-input"
>
{{ formParams.register_time }}
</view>
<view
class=
"uni-arrow"
></view>
</view>
</picker>
<uni-datetime-picker
v-model=
"formParams.register_time"
type=
"datetime"
:clear-icon=
"false"
/>
</view>
</view>
<view
class=
"input-wrap column"
style=
"margin-top: 20rpx;"
>
...
...
@@ -217,7 +212,7 @@
curr
:
0
,
formParams
:
{
warehouse_id
:
''
,
register_time
:
this
.
getCurrentDate
(),
register_time
:
this
.
getCurrentDate
Time
(),
register_type
:
1
,
logistics_company
:
''
,
logistics_sn
:
''
,
...
...
@@ -256,14 +251,18 @@
},
methods
:
{
/**
* 获取日期
* 获取日期
时分秒
*/
getCurrentDate
()
{
const
today
=
new
Date
();
const
year
=
today
.
getFullYear
();
const
month
=
String
(
today
.
getMonth
()
+
1
).
padStart
(
2
,
'0'
);
const
day
=
String
(
today
.
getDate
()).
padStart
(
2
,
'0'
);
return
`
${
year
}
-
${
month
}
-
${
day
}
`
;
getCurrentDateTime
()
{
const
now
=
new
Date
();
const
year
=
now
.
getFullYear
();
const
month
=
String
(
now
.
getMonth
()
+
1
).
padStart
(
2
,
'0'
);
const
day
=
String
(
now
.
getDate
()).
padStart
(
2
,
'0'
);
const
hours
=
String
(
now
.
getHours
()).
padStart
(
2
,
'0'
);
const
minutes
=
String
(
now
.
getMinutes
()).
padStart
(
2
,
'0'
);
const
seconds
=
String
(
now
.
getSeconds
()).
padStart
(
2
,
'0'
);
return
`
${
year
}
-
${
month
}
-
${
day
}
${
hours
}
:
${
minutes
}
:
${
seconds
}
`
;
},
bindDateChange
(
e
,
type
)
{
if
(
type
==
1
)
{
...
...
@@ -665,4 +664,17 @@
<
style
scoped
lang=
"scss"
>
@import
'@/assets/css/arrivalRegister/splitGoods.scss'
;
::v-deep
{
.uni-date-x
.icon-calendar
{
display
:
none
!important
;
}
.uni-date__x-input
{
padding-left
:
15
rpx
;
font-size
:
17
rpx
;
height
:
40
rpx
;
line-height
:
40
rpx
;
}
}
</
style
>
\ No newline at end of file
uni_modules/uni-datetime-picker/changelog.md
View file @
59c04d86
## 2.2.34(2024-04-24)
-
新增 日期点击事件,在点击日期时会触发该事件。
## 2.2.33(2024-04-15)
-
修复 抖音小程序事件传递失效bug
## 2.2.32(2024-02-20)
-
修复 日历的close事件触发异常的bug
[
详情
](
https://github.com/dcloudio/uni-ui/issues/844
)
## 2.2.31(2024-02-20)
-
修复 h5平台 右边日历的月份默认+1的bug
[
详情
](
https://github.com/dcloudio/uni-ui/issues/841
)
## 2.2.30(2024-01-31)
-
修复 隐藏“秒”时,在IOS15及以下版本时出现 结束时间在开始时间之前 的bug
[
详情
](
https://github.com/dcloudio/uni-ui/issues/788
)
## 2.2.29(2024-01-20)
-
新增 show事件,弹窗弹出时触发该事件
[
详情
](
https://github.com/dcloudio/uni-app/issues/4694
)
## 2.2.28(2024-01-18)
-
去除 noChange事件,当进行日期范围选择时,若只选了一天,则开始结束日期都为同一天
[
详情
](
https://github.com/dcloudio/uni-ui/issues/815
)
## 2.2.27(2024-01-10)
-
优化 增加noChange事件,当进行日期范围选择时,若有空值,则触发该事件
[
详情
](
https://github.com/dcloudio/uni-ui/issues/815
)
## 2.2.26(2024-01-08)
-
修复 字节小程序时间选择范围器失效问题
[
详情
](
https://github.com/dcloudio/uni-ui/issues/834
)
## 2.2.25(2023-10-18)
-
修复 PC端初次修改时间,开始时间未更新的Bug
[
详情
](
https://github.com/dcloudio/uni-ui/issues/737
)
## 2.2.24(2023-06-02)
-
修复 部分情况修改时间,开始、结束时间显示异常的Bug
[
详情
](
https://ask.dcloud.net.cn/question/171146
)
-
优化 当前月可以选择上月、下月的日期
-
优化 当前月可以选择上月、下月的日期
的Bug
## 2.2.23(2023-05-02)
-
修复 部分情况修改时间,开始时间未更新
[
详情
](
https://github.com/dcloudio/uni-ui/issues/737
)
-
修复 部分平台及设备第一次点击无法显示弹框
-
修复 ios 日期格式未补零显示及使用异常
[
详情
](
https://ask.dcloud.net.cn/question/162979
)
-
修复 部分情况修改时间,开始时间未更新
的Bug
[
详情
](
https://github.com/dcloudio/uni-ui/issues/737
)
-
修复 部分平台及设备第一次点击无法显示弹框
的Bug
-
修复 ios 日期格式未补零显示及使用异常
的Bug
[
详情
](
https://ask.dcloud.net.cn/question/162979
)
## 2.2.22(2023-03-30)
-
修复 日历 picker 修改年月后,自动选中当月1日
[
详情
](
https://ask.dcloud.net.cn/question/165937
)
-
修复 小程序端 低版本 ios NaN
[
详情
](
https://ask.dcloud.net.cn/question/162979
)
-
修复 日历 picker 修改年月后,自动选中当月1日
的Bug
[
详情
](
https://ask.dcloud.net.cn/question/165937
)
-
修复 小程序端 低版本 ios NaN
的Bug
[
详情
](
https://ask.dcloud.net.cn/question/162979
)
## 2.2.21(2023-02-20)
-
修复 firefox 浏览器显示区域点击无法拉起日历弹框的Bug
[
详情
](
https://ask.dcloud.net.cn/question/163362
)
## 2.2.20(2023-02-17)
-
优化 值为空依然选中当天问题
-
优化 提供 default-value 属性支持配置选择器打开时默认显示的时间
-
优化 非范围选择未选择日期时间,点击确认按钮选中当前日期时间
-
优化 字节小程序日期时间范围选择,底部日期换行
问题
-
优化 字节小程序日期时间范围选择,底部日期换行
的Bug
## 2.2.19(2023-02-09)
-
修复 2.2.18 引起范围选择配置 end 选择无效的Bug
[
详情
](
https://github.com/dcloudio/uni-ui/issues/686
)
## 2.2.18(2023-02-08)
...
...
uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue
View file @
59c04d86
...
...
@@ -21,7 +21,7 @@
<view
class=
"uni-calendar__header-btn uni-calendar--right"
></view>
</view>
<view
v-if=
"!insert"
class=
"dialog-close"
@
click=
"
close
"
>
<view
v-if=
"!insert"
class=
"dialog-close"
@
click=
"
maskClick
"
>
<view
class=
"dialog-close-plus"
data-id=
"close"
></view>
<view
class=
"dialog-close-plus dialog-close-rotate"
data-id=
"close"
></view>
</view>
...
...
@@ -58,9 +58,8 @@
<view
class=
"uni-calendar__weeks"
v-for=
"(item,weekIndex) in weeks"
:key=
"weekIndex"
>
<view
class=
"uni-calendar__weeks-item"
v-for=
"(weeks,weeksIndex) in item"
:key=
"weeksIndex"
>
<calendar-item
class=
"uni-calendar-item--hook"
:weeks=
"weeks"
:calendar=
"calendar"
:selected=
"selected"
:checkHover=
"range"
@
change=
"choiceDate"
@
handleMouse=
"handleMouse"
>
<calendar-item
class=
"uni-calendar-item--hook"
:weeks=
"weeks"
:calendar=
"calendar"
:selected=
"selected"
:checkHover=
"range"
@
change=
"choiceDate"
@
handleMouse=
"handleMouse"
>
</calendar-item>
</view>
</view>
...
...
@@ -101,13 +100,21 @@
</
template
>
<
script
>
import
{
Calendar
,
getDate
,
getTime
}
from
'./util.js'
;
import
{
Calendar
,
getDate
,
getTime
}
from
'./util.js'
;
import
calendarItem
from
'./calendar-item.vue'
import
timePicker
from
'./time-picker.vue'
import
{
initVueI18n
}
from
'@dcloudio/uni-i18n'
import
{
initVueI18n
}
from
'@dcloudio/uni-i18n'
import
i18nMessages
from
'./i18n/index.js'
const
{
t
}
=
initVueI18n
(
i18nMessages
)
const
{
t
}
=
initVueI18n
(
i18nMessages
)
/**
* Calendar 日历
...
...
@@ -134,6 +141,15 @@
calendarItem
,
timePicker
},
options
:
{
// #ifdef MP-TOUTIAO
virtualHost
:
false
,
// #endif
// #ifndef MP-TOUTIAO
virtualHost
:
true
// #endif
},
props
:
{
date
:
{
type
:
String
,
...
...
@@ -163,8 +179,8 @@
type
:
String
,
default
:
''
},
startPlaceholder
:
{
type
:
String
,
startPlaceholder
:
{
type
:
String
,
default
:
''
},
endPlaceholder
:
{
...
...
@@ -210,10 +226,10 @@
}
}
},
defaultValue
:
{
type
:
[
String
,
Object
,
Array
],
default
:
''
}
defaultValue
:
{
type
:
[
String
,
Object
,
Array
],
default
:
''
}
},
data
()
{
return
{
...
...
@@ -260,7 +276,7 @@
},
startDate
(
val
)
{
// 字节小程序 watch 早于 created
if
(
!
this
.
cale
)
{
if
(
!
this
.
cale
)
{
return
}
this
.
cale
.
setStartDate
(
val
)
...
...
@@ -269,7 +285,7 @@
},
endDate
(
val
)
{
// 字节小程序 watch 早于 created
if
(
!
this
.
cale
)
{
if
(
!
this
.
cale
)
{
return
}
this
.
cale
.
setEndDate
(
val
)
...
...
@@ -278,7 +294,7 @@
},
selected
(
newVal
)
{
// 字节小程序 watch 早于 created
if
(
!
this
.
cale
)
{
if
(
!
this
.
cale
)
{
return
}
this
.
cale
.
setSelectInfo
(
this
.
nowDate
.
fullDate
,
newVal
)
...
...
@@ -309,16 +325,16 @@
this
.
cale
.
lastHover
=
false
}
}
else
{
// 字节小程序 watch 早于 created
if
(
!
this
.
cale
)
{
return
}
// 字节小程序 watch 早于 created
if
(
!
this
.
cale
)
{
return
}
this
.
cale
.
setDefaultMultiple
(
before
,
after
)
if
(
which
===
'left'
&&
before
)
{
this
.
setDate
(
before
)
this
.
weeks
=
this
.
cale
.
weeks
}
else
if
(
after
)
{
}
else
if
(
after
)
{
this
.
setDate
(
after
)
this
.
weeks
=
this
.
cale
.
weeks
}
...
...
@@ -423,7 +439,7 @@
},
// 蒙版点击事件
maskClick
()
{
this
.
close
()
this
.
close
()
this
.
$emit
(
'maskClose'
)
},
...
...
@@ -454,36 +470,38 @@
* @param {Object} date
*/
init
(
date
)
{
// 字节小程序 watch 早于 created
if
(
!
this
.
cale
)
{
// 字节小程序 watch 早于 created
if
(
!
this
.
cale
)
{
return
}
this
.
cale
.
setDate
(
date
||
new
Date
())
this
.
weeks
=
this
.
cale
.
weeks
this
.
nowDate
=
this
.
cale
.
getInfo
(
date
)
this
.
calendar
=
{...
this
.
nowDate
}
if
(
!
date
){
// 优化date为空默认不选中今天
this
.
calendar
.
fullDate
=
''
if
(
this
.
defaultValue
&&
!
this
.
range
){
// 暂时只支持移动端非范围选择
const
defaultDate
=
new
Date
(
this
.
defaultValue
)
const
fullDate
=
getDate
(
defaultDate
)
const
year
=
defaultDate
.
getFullYear
()
const
month
=
defaultDate
.
getMonth
()
+
1
const
date
=
defaultDate
.
getDate
()
const
day
=
defaultDate
.
getDay
()
this
.
calendar
=
{
fullDate
,
year
,
month
,
date
,
day
},
this
.
tempSingleDate
=
fullDate
this
.
time
=
getTime
(
defaultDate
,
this
.
hideSecond
)
}
}
this
.
calendar
=
{
...
this
.
nowDate
}
if
(
!
date
)
{
// 优化date为空默认不选中今天
this
.
calendar
.
fullDate
=
''
if
(
this
.
defaultValue
&&
!
this
.
range
)
{
// 暂时只支持移动端非范围选择
const
defaultDate
=
new
Date
(
this
.
defaultValue
)
const
fullDate
=
getDate
(
defaultDate
)
const
year
=
defaultDate
.
getFullYear
()
const
month
=
defaultDate
.
getMonth
()
+
1
const
date
=
defaultDate
.
getDate
()
const
day
=
defaultDate
.
getDay
()
this
.
calendar
=
{
fullDate
,
year
,
month
,
date
,
day
},
this
.
tempSingleDate
=
fullDate
this
.
time
=
getTime
(
defaultDate
,
this
.
hideSecond
)
}
}
},
/**
* 打开日历弹窗
...
...
@@ -523,8 +541,8 @@
/**
* 变化触发
*/
change
()
{
if
(
!
this
.
insert
)
return
change
(
isSingleChange
)
{
if
(
!
this
.
insert
&&
!
isSingleChange
)
return
this
.
setEmit
(
'change'
)
},
/**
...
...
@@ -545,13 +563,13 @@
* @param {Object} name
*/
setEmit
(
name
)
{
if
(
!
this
.
range
)
{
if
(
!
this
.
calendar
.
fullDate
)
{
this
.
calendar
=
this
.
cale
.
getInfo
(
new
Date
())
this
.
tempSingleDate
=
this
.
calendar
.
fullDate
if
(
!
this
.
range
)
{
if
(
!
this
.
calendar
.
fullDate
)
{
this
.
calendar
=
this
.
cale
.
getInfo
(
new
Date
())
this
.
tempSingleDate
=
this
.
calendar
.
fullDate
}
if
(
this
.
hasTime
&&
!
this
.
time
)
{
this
.
time
=
getTime
(
new
Date
(),
this
.
hideSecond
)
if
(
this
.
hasTime
&&
!
this
.
time
)
{
this
.
time
=
getTime
(
new
Date
(),
this
.
hideSecond
)
}
}
let
{
...
...
@@ -586,7 +604,6 @@
this
.
tempSingleDate
=
this
.
calendar
.
fullDate
const
beforeDate
=
new
Date
(
this
.
cale
.
multipleStatus
.
before
).
getTime
()
const
afterDate
=
new
Date
(
this
.
cale
.
multipleStatus
.
after
).
getTime
()
// 如果先选择结束日期,后选择开始日期,需要交换
if
(
beforeDate
>
afterDate
&&
afterDate
)
{
this
.
tempRange
.
before
=
this
.
cale
.
multipleStatus
.
after
this
.
tempRange
.
after
=
this
.
cale
.
multipleStatus
.
before
...
...
@@ -594,19 +611,19 @@
this
.
tempRange
.
before
=
this
.
cale
.
multipleStatus
.
before
this
.
tempRange
.
after
=
this
.
cale
.
multipleStatus
.
after
}
this
.
change
()
},
changeMonth
(
type
)
{
let
newDate
if
(
type
===
'pre'
)
{
newDate
=
this
.
cale
.
getPreMonthObj
(
this
.
nowDate
.
fullDate
).
fullDate
}
else
if
(
type
===
'next'
)
{
newDate
=
this
.
cale
.
getNextMonthObj
(
this
.
nowDate
.
fullDate
).
fullDate
}
this
.
change
(
true
)
},
changeMonth
(
type
)
{
let
newDate
if
(
type
===
'pre'
)
{
newDate
=
this
.
cale
.
getPreMonthObj
(
this
.
nowDate
.
fullDate
).
fullDate
}
else
if
(
type
===
'next'
)
{
newDate
=
this
.
cale
.
getNextMonthObj
(
this
.
nowDate
.
fullDate
).
fullDate
}
this
.
setDate
(
newDate
)
this
.
setDate
(
newDate
)
this
.
monthSwitch
()
},
},
/**
* 设置日期
* @param {Object} date
...
...
@@ -620,7 +637,7 @@
}
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
$
uni-primary
:
#007aff
!
default
;
.uni-calendar
{
...
...
@@ -856,17 +873,17 @@
.uni-date-changed--time-end
{
/* #ifndef APP-NVUE */
display
:
flex
;
display
:
flex
;
/* #endif */
align-items
:
center
;
}
.uni-date-changed--time-date
{
color
:
#999
;
color
:
#999
;
line-height
:
50px
;
/* #ifdef MP-TOUTIAO */
font-size
:
16px
;
/* #endif */
/* #ifdef MP-TOUTIAO */
font-size
:
16px
;
/* #endif */
margin-right
:
5px
;
//
opacity
:
0.6
;
}
...
...
@@ -925,5 +942,6 @@
.uni-datetime-picker--btn
:active
{
opacity
:
0.7
;
}
/* #endif */
</
style
>
uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue
View file @
59c04d86
...
...
@@ -81,10 +81,16 @@
</
template
>
<
script
>
import
{
initVueI18n
}
from
'@dcloudio/uni-i18n'
import
{
initVueI18n
}
from
'@dcloudio/uni-i18n'
import
i18nMessages
from
'./i18n/index.js'
const
{
t
}
=
initVueI18n
(
i18nMessages
)
import
{
fixIosDateFormat
}
from
'./util'
const
{
t
}
=
initVueI18n
(
i18nMessages
)
import
{
fixIosDateFormat
}
from
'./util'
/**
* DatetimePicker 时间选择器
...
...
@@ -134,6 +140,14 @@
endSecond
:
59
,
}
},
options
:
{
// #ifdef MP-TOUTIAO
virtualHost
:
false
,
// #endif
// #ifndef MP-TOUTIAO
virtualHost
:
true
// #endif
},
props
:
{
type
:
{
type
:
String
,
...
...
@@ -176,11 +190,11 @@
// #ifndef VUE3
value
:
{
handler
(
newVal
)
{
if
(
newVal
)
{
this
.
parseValue
(
fixIosDateFormat
(
newVal
))
if
(
newVal
)
{
this
.
parseValue
(
fixIosDateFormat
(
newVal
))
this
.
initTime
(
false
)
}
else
{
this
.
time
=
''
this
.
time
=
''
this
.
parseValue
(
Date
.
now
())
}
},
...
...
@@ -189,8 +203,8 @@
// #endif
// #ifdef VUE3
modelValue
:
{
handler
(
newVal
)
{
if
(
newVal
)
{
handler
(
newVal
)
{
if
(
newVal
)
{
this
.
parseValue
(
fixIosDateFormat
(
newVal
))
this
.
initTime
(
false
)
}
else
{
...
...
@@ -649,14 +663,6 @@
return
new
Date
(
year
,
month
,
0
).
getDate
();
},
//兼容 iOS、safari 日期格式
fixIosDateFormat
(
value
)
{
if
(
typeof
value
===
'string'
)
{
value
=
value
.
replace
(
/-/g
,
'/'
)
}
return
value
},
/**
* 生成时间戳
* @param {Object} time
...
...
uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue
View file @
59c04d86
...
...
@@ -2,22 +2,20 @@
<view
class=
"uni-date"
>
<view
class=
"uni-date-editor"
@
click=
"show"
>
<slot>
<view
class=
"uni-date-editor--x"
:class=
"
{'uni-date-editor--x__disabled': disabled,'uni-date-x--border': border}"
>
<view
class=
"uni-date-editor--x"
:class=
"
{'uni-date-editor--x__disabled': disabled,'uni-date-x--border': border}">
<view
v-if=
"!isRange"
class=
"uni-date-x uni-date-single"
>
<uni-icons
class=
"icon-calendar"
type=
"calendar"
color=
"#c0c4cc"
size=
"22"
></uni-icons>
<view
class=
"uni-date__x-input"
>
{{
displayValue
||
singlePlaceholderText
}}
</view>
</view>
<view
v-else
class=
"uni-date-x uni-date-range"
>
<uni-icons
class=
"icon-calendar"
type=
"calendar"
color=
"#c0c4cc"
size=
"22"
></uni-icons>
<view
class=
"uni-date__x-input text-center"
>
{{
displayRangeValue
.
startDate
||
startPlaceholderText
}}
</view>
<uni-icons
class=
"icon-calendar"
type=
"calendar"
color=
"#c0c4cc"
size=
"22"
></uni-icons>
<view
class=
"uni-date__x-input text-center"
>
{{
displayRangeValue
.
startDate
||
startPlaceholderText
}}
</view>
<view
class=
"range-separator"
>
{{
rangeSeparator
}}
</view>
<view
class=
"range-separator"
>
{{
rangeSeparator
}}
</view>
<view
class=
"uni-date__x-input text-center"
>
{{
displayRangeValue
.
endDate
||
endPlaceholderText
}}
</view>
<view
class=
"uni-date__x-input text-center"
>
{{
displayRangeValue
.
endDate
||
endPlaceholderText
}}
</view>
</view>
<view
v-if=
"showClearIcon"
class=
"uni-date__icon-clear"
@
click
.
stop=
"clear"
>
...
...
@@ -34,8 +32,7 @@
<view
class=
"uni-popper__arrow"
></view>
<view
v-if=
"hasTime"
class=
"uni-date-changed popup-x-header"
>
<input
class=
"uni-date__input text-center"
type=
"text"
v-model=
"inputDate"
:placeholder=
"selectDateText"
/>
<input
class=
"uni-date__input text-center"
type=
"text"
v-model=
"inputDate"
:placeholder=
"selectDateText"
/>
<time-picker
type=
"time"
v-model=
"pickerTime"
:border=
"false"
:disabled=
"!inputDate"
:start=
"timepickerStartTime"
:end=
"timepickerEndTime"
:hideSecond=
"hideSecond"
style=
"width: 100%;"
>
...
...
@@ -45,8 +42,7 @@
</view>
<Calendar
ref=
"pcSingle"
:showMonth=
"false"
:start-date=
"calendarRange.startDate"
:end-date=
"calendarRange.endDate"
:date=
"calendarDate"
@
change=
"singleChange"
:default-value=
"defaultValue"
:end-date=
"calendarRange.endDate"
:date=
"calendarDate"
@
change=
"singleChange"
:default-value=
"defaultValue"
style=
"padding: 0 8px;"
/>
<view
v-if=
"hasTime"
class=
"popup-x-footer"
>
...
...
@@ -58,18 +54,17 @@
<view
class=
"uni-popper__arrow"
></view>
<view
v-if=
"hasTime"
class=
"popup-x-header uni-date-changed"
>
<view
class=
"popup-x-header--datetime"
>
<input
class=
"uni-date__input uni-date-range__input"
type=
"text"
v-model=
"tempRange.startDate"
:placeholder=
"startDateText"
/>
<input
class=
"uni-date__input uni-date-range__input"
type=
"text"
v-model=
"tempRange.startDate"
:placeholder=
"startDateText"
/>
<time-picker
type=
"time"
v-model=
"tempRange.startTime"
:start=
"timepickerStartTime"
:border=
"false"
:disabled=
"!tempRange.startDate"
:hideSecond=
"hideSecond"
>
<input
class=
"uni-date__input uni-date-range__input"
type=
"text"
v-model=
"tempRange.startTime"
:placeholder=
"startTimeText"
:disabled=
"!tempRange.startDate"
/>
</time-picker>
</view>
:disabled=
"!tempRange.startDate"
:hideSecond=
"hideSecond"
>
<input
class=
"uni-date__input uni-date-range__input"
type=
"text"
v-model=
"tempRange.startTime"
:placeholder=
"startTimeText"
:disabled=
"!tempRange.startDate"
/>
</time-picker>
</view>
<uni-icons
type=
"arrowthinright"
color=
"#999"
style=
"line-height: 40px;"
></uni-icons>
<uni-icons
type=
"arrowthinright"
color=
"#999"
style=
"line-height: 40px;"
></uni-icons>
<view
class=
"popup-x-header--datetime"
>
<input
class=
"uni-date__input uni-date-range__input"
type=
"text"
v-model=
"tempRange.endDate"
...
...
@@ -85,12 +80,11 @@
<view
class=
"popup-x-body"
>
<Calendar
ref=
"left"
:showMonth=
"false"
:start-date=
"calendarRange.startDate"
:end-date=
"calendarRange.endDate"
:range=
"true"
:pleStatus=
"endMultipleStatus
"
@
change=
"leftChange"
@
firstEnterCale=
"updateRightCale"
style=
"padding: 0 8px;"
/>
:end-date=
"calendarRange.endDate"
:range=
"true"
:pleStatus=
"endMultipleStatus"
@
change=
"leftChange
"
@
firstEnterCale=
"updateRightCale"
style=
"padding: 0 8px;"
/>
<Calendar
ref=
"right"
:showMonth=
"false"
:start-date=
"calendarRange.startDate"
:end-date=
"calendarRange.endDate"
:range=
"true"
@
change=
"rightChange"
:pleStatus=
"startMultipleStatus"
@
firstEnterCale=
"updateLeftCale"
style=
"padding: 0 8px;border-left: 1px solid #F1F1F1;"
/>
:end-date=
"calendarRange.endDate"
:range=
"true"
@
change=
"rightChange"
:pleStatus=
"startMultipleStatus"
@
firstEnterCale=
"updateLeftCale"
style=
"padding: 0 8px;border-left: 1px solid #F1F1F1;"
/>
</view>
<view
v-if=
"hasTime"
class=
"popup-x-footer"
>
...
...
@@ -102,10 +96,9 @@
<Calendar
v-if=
"isPhone"
ref=
"mobile"
:clearDate=
"false"
:date=
"calendarDate"
:defTime=
"mobileCalendarTime"
:start-date=
"calendarRange.startDate"
:end-date=
"calendarRange.endDate"
:selectableTimes=
"mobSelectableTime"
:startPlaceholder=
"startPlaceholder"
:endPlaceholder=
"endPlaceholder"
:default-value=
"defaultValue"
:startPlaceholder=
"startPlaceholder"
:endPlaceholder=
"endPlaceholder"
:default-value=
"defaultValue"
:pleStatus=
"endMultipleStatus"
:showMonth=
"false"
:range=
"isRange"
:hasTime=
"hasTime"
:insert=
"false"
:hideSecond=
"hideSecond"
@
confirm=
"mobileChange"
@
maskClose=
"close"
/>
:hideSecond=
"hideSecond"
@
confirm=
"mobileChange"
@
maskClose=
"close"
@
change=
"calendarClick"
/>
</view>
</
template
>
<
script
>
...
...
@@ -133,14 +126,30 @@
**/
import
Calendar
from
'./calendar.vue'
import
TimePicker
from
'./time-picker.vue'
import
{
initVueI18n
}
from
'@dcloudio/uni-i18n'
import
{
initVueI18n
}
from
'@dcloudio/uni-i18n'
import
i18nMessages
from
'./i18n/index.js'
import
{
getDateTime
,
getDate
,
getTime
,
getDefaultSecond
,
dateCompare
,
checkDate
,
fixIosDateFormat
}
from
'./util'
import
{
getDateTime
,
getDate
,
getTime
,
getDefaultSecond
,
dateCompare
,
checkDate
,
fixIosDateFormat
}
from
'./util'
export
default
{
name
:
'UniDatetimePicker'
,
options
:
{
// #ifdef MP-TOUTIAO
virtualHost
:
false
,
// #endif
// #ifndef MP-TOUTIAO
virtualHost
:
true
// #endif
},
components
:
{
Calendar
,
...
...
@@ -188,7 +197,7 @@
isEmitValue
:
false
,
isPhone
:
false
,
isFirstShow
:
true
,
i18nT
:
()
=>
{}
i18nT
:
()
=>
{}
}
},
props
:
{
...
...
@@ -221,7 +230,7 @@
default
:
''
},
startPlaceholder
:
{
type
:
String
,
type
:
String
,
default
:
''
},
endPlaceholder
:
{
...
...
@@ -248,16 +257,16 @@
type
:
[
Boolean
],
default
:
false
},
defaultValue
:
{
type
:
[
String
,
Object
,
Array
],
default
:
''
}
defaultValue
:
{
type
:
[
String
,
Object
,
Array
],
default
:
''
}
},
watch
:
{
type
:
{
immediate
:
true
,
handler
(
newVal
)
{
this
.
hasTime
=
newVal
.
indexOf
(
'time'
)
!==
-
1
this
.
hasTime
=
newVal
.
indexOf
(
'time'
)
!==
-
1
this
.
isRange
=
newVal
.
indexOf
(
'range'
)
!==
-
1
}
},
...
...
@@ -348,9 +357,9 @@
selectDateText
()
{
return
this
.
i18nT
(
"uni-datetime-picker.selectDate"
)
},
selectDateTimeText
()
{
return
this
.
i18nT
(
"uni-datetime-picker.selectDateTime"
)
},
selectDateTimeText
()
{
return
this
.
i18nT
(
"uni-datetime-picker.selectDateTime"
)
},
selectTimeText
()
{
return
this
.
i18nT
(
"uni-datetime-picker.selectTime"
)
},
...
...
@@ -373,18 +382,19 @@
return
this
.
i18nT
(
"uni-datetime-picker.clear"
)
},
showClearIcon
()
{
return
this
.
clearIcon
&&
!
this
.
disabled
&&
(
this
.
displayValue
||
(
this
.
displayRangeValue
.
startDate
&&
this
.
displayRangeValue
.
endDate
))
return
this
.
clearIcon
&&
!
this
.
disabled
&&
(
this
.
displayValue
||
(
this
.
displayRangeValue
.
startDate
&&
this
.
displayRangeValue
.
endDate
))
}
},
created
()
{
this
.
initI18nT
()
this
.
platform
()
this
.
platform
()
},
methods
:
{
initI18nT
()
{
const
vueI18n
=
initVueI18n
(
i18nMessages
)
this
.
i18nT
=
vueI18n
.
t
},
initI18nT
()
{
const
vueI18n
=
initVueI18n
(
i18nMessages
)
this
.
i18nT
=
vueI18n
.
t
},
initPicker
(
newVal
)
{
if
((
!
newVal
&&
!
this
.
defaultValue
)
||
Array
.
isArray
(
newVal
)
&&
!
newVal
.
length
)
{
this
.
$nextTick
(()
=>
{
...
...
@@ -394,26 +404,26 @@
}
if
(
!
Array
.
isArray
(
newVal
)
&&
!
this
.
isRange
)
{
if
(
newVal
)
{
this
.
displayValue
=
this
.
inputDate
=
this
.
calendarDate
=
getDate
(
newVal
)
if
(
this
.
hasTime
)
{
this
.
pickerTime
=
getTime
(
newVal
,
this
.
hideSecond
)
this
.
displayValue
=
`
${
this
.
displayValue
}
${
this
.
pickerTime
}
`
}
}
else
if
(
this
.
defaultValue
)
{
this
.
inputDate
=
this
.
calendarDate
=
getDate
(
this
.
defaultValue
)
if
(
this
.
hasTime
)
{
this
.
pickerTime
=
getTime
(
this
.
defaultValue
,
this
.
hideSecond
)
}
}
if
(
newVal
)
{
this
.
displayValue
=
this
.
inputDate
=
this
.
calendarDate
=
getDate
(
newVal
)
if
(
this
.
hasTime
)
{
this
.
pickerTime
=
getTime
(
newVal
,
this
.
hideSecond
)
this
.
displayValue
=
`
${
this
.
displayValue
}
${
this
.
pickerTime
}
`
}
}
else
if
(
this
.
defaultValue
)
{
this
.
inputDate
=
this
.
calendarDate
=
getDate
(
this
.
defaultValue
)
if
(
this
.
hasTime
)
{
this
.
pickerTime
=
getTime
(
this
.
defaultValue
,
this
.
hideSecond
)
}
}
}
else
{
const
[
before
,
after
]
=
newVal
if
(
!
before
&&
!
after
)
return
const
beforeDate
=
getDate
(
before
)
const
beforeTime
=
getTime
(
before
,
this
.
hideSecond
)
const
beforeDate
=
getDate
(
before
)
const
beforeTime
=
getTime
(
before
,
this
.
hideSecond
)
const
afterDate
=
getDate
(
after
)
const
afterTime
=
getTime
(
after
,
this
.
hideSecond
)
const
afterDate
=
getDate
(
after
)
const
afterTime
=
getTime
(
after
,
this
.
hideSecond
)
const
startDate
=
beforeDate
const
endDate
=
afterDate
this
.
displayRangeValue
.
startDate
=
this
.
tempRange
.
startDate
=
startDate
...
...
@@ -450,23 +460,26 @@
right
.
setDate
(
this
.
$refs
.
right
.
nowDate
.
fullDate
)
},
platform
()
{
if
(
typeof
navigator
!==
"undefined"
){
this
.
isPhone
=
navigator
.
userAgent
.
toLowerCase
().
indexOf
(
'mobile'
)
!==
-
1
return
}
const
{
windowWidth
}
=
uni
.
getSystemInfoSync
()
if
(
typeof
navigator
!==
"undefined"
)
{
this
.
isPhone
=
navigator
.
userAgent
.
toLowerCase
().
indexOf
(
'mobile'
)
!==
-
1
return
}
const
{
windowWidth
}
=
uni
.
getSystemInfoSync
()
this
.
isPhone
=
windowWidth
<=
500
this
.
windowWidth
=
windowWidth
},
show
()
{
this
.
$emit
(
"show"
)
if
(
this
.
disabled
)
{
return
}
this
.
platform
()
if
(
this
.
isPhone
)
{
setTimeout
(()
=>
{
this
.
$refs
.
mobile
.
open
()
},
0
);
this
.
$refs
.
mobile
.
open
()
},
0
);
return
}
this
.
pickerPositionStyle
=
{
...
...
@@ -491,8 +504,10 @@
this
.
$refs
.
right
.
changeMonth
(
'pre'
)
}
}
else
{
this
.
$refs
.
right
.
changeMonth
(
'next'
)
this
.
$refs
.
right
.
cale
.
lastHover
=
false
// this.$refs.right.changeMonth('next')
if
(
this
.
isPhone
)
{
this
.
$refs
.
right
.
cale
.
lastHover
=
false
;
}
}
}
...
...
@@ -544,52 +559,52 @@
this
.
confirmSingleChange
()
},
confirmSingleChange
()
{
if
(
!
checkDate
(
this
.
inputDate
))
{
if
(
!
checkDate
(
this
.
inputDate
))
{
const
now
=
new
Date
()
this
.
calendarDate
=
this
.
inputDate
=
getDate
(
now
)
this
.
calendarDate
=
this
.
inputDate
=
getDate
(
now
)
this
.
pickerTime
=
getTime
(
now
,
this
.
hideSecond
)
}
let
startLaterInputDate
=
false
let
startDate
,
startTime
if
(
this
.
start
)
{
let
startString
=
this
.
start
if
(
typeof
this
.
start
===
'number'
)
{
startString
=
getDateTime
(
this
.
start
,
this
.
hideSecond
)
}
[
startDate
,
startTime
]
=
startString
.
split
(
' '
)
if
(
this
.
start
&&
!
dateCompare
(
startDate
,
this
.
inputDate
))
{
startLaterInputDate
=
true
this
.
inputDate
=
startDate
}
}
let
endEarlierInputDate
=
false
let
endDate
,
endTime
if
(
this
.
end
)
{
let
endString
=
this
.
end
if
(
typeof
this
.
end
===
'number'
)
{
endString
=
getDateTime
(
this
.
end
,
this
.
hideSecond
)
}
[
endDate
,
endTime
]
=
endString
.
split
(
' '
)
if
(
this
.
end
&&
!
dateCompare
(
this
.
inputDate
,
endDate
))
{
endEarlierInputDate
=
true
this
.
inputDate
=
endDate
}
}
}
let
startLaterInputDate
=
false
let
startDate
,
startTime
if
(
this
.
start
)
{
let
startString
=
this
.
start
if
(
typeof
this
.
start
===
'number'
)
{
startString
=
getDateTime
(
this
.
start
,
this
.
hideSecond
)
}
[
startDate
,
startTime
]
=
startString
.
split
(
' '
)
if
(
this
.
start
&&
!
dateCompare
(
startDate
,
this
.
inputDate
))
{
startLaterInputDate
=
true
this
.
inputDate
=
startDate
}
}
let
endEarlierInputDate
=
false
let
endDate
,
endTime
if
(
this
.
end
)
{
let
endString
=
this
.
end
if
(
typeof
this
.
end
===
'number'
)
{
endString
=
getDateTime
(
this
.
end
,
this
.
hideSecond
)
}
[
endDate
,
endTime
]
=
endString
.
split
(
' '
)
if
(
this
.
end
&&
!
dateCompare
(
this
.
inputDate
,
endDate
))
{
endEarlierInputDate
=
true
this
.
inputDate
=
endDate
}
}
if
(
this
.
hasTime
)
{
if
(
startLaterInputDate
)
{
this
.
pickerTime
=
startTime
||
getDefaultSecond
(
this
.
hideSecond
)
}
if
(
endEarlierInputDate
)
{
this
.
pickerTime
=
endTime
||
getDefaultSecond
(
this
.
hideSecond
)
}
if
(
!
this
.
pickerTime
)
{
this
.
pickerTime
=
getTime
(
Date
.
now
(),
this
.
hideSecond
)
}
if
(
startLaterInputDate
)
{
this
.
pickerTime
=
startTime
||
getDefaultSecond
(
this
.
hideSecond
)
}
if
(
endEarlierInputDate
)
{
this
.
pickerTime
=
endTime
||
getDefaultSecond
(
this
.
hideSecond
)
}
if
(
!
this
.
pickerTime
)
{
this
.
pickerTime
=
getTime
(
Date
.
now
(),
this
.
hideSecond
)
}
this
.
displayValue
=
`
${
this
.
inputDate
}
${
this
.
pickerTime
}
`
}
else
{
this
.
displayValue
=
this
.
inputDate
this
.
displayValue
=
this
.
inputDate
}
this
.
setEmit
(
this
.
displayValue
)
this
.
pickerVisible
=
false
...
...
@@ -607,6 +622,7 @@
fulldate
:
e
.
fulldate
}
this
.
startMultipleStatus
=
Object
.
assign
({},
this
.
startMultipleStatus
,
obj
)
this
.
$emit
(
'calendarClick'
,
e
)
},
rightChange
(
e
)
{
const
{
...
...
@@ -621,14 +637,17 @@
fulldate
:
e
.
fulldate
}
this
.
endMultipleStatus
=
Object
.
assign
({},
this
.
endMultipleStatus
,
obj
)
this
.
$emit
(
'calendarClick'
,
e
)
},
mobileChange
(
e
)
{
if
(
this
.
isRange
)
{
const
{
before
,
after
}
=
e
.
range
if
(
!
before
||
!
after
){
return
}
const
{
before
,
after
}
=
e
.
range
if
(
!
before
)
{
return
;
}
this
.
handleStartAndEnd
(
before
,
after
,
true
)
if
(
this
.
hasTime
)
{
...
...
@@ -661,79 +680,79 @@
this
.
pickerVisible
=
false
return
}
if
(
!
checkDate
(
this
.
tempRange
.
startDate
))
{
this
.
tempRange
.
startDate
=
getDate
(
Date
.
now
())
}
if
(
!
checkDate
(
this
.
tempRange
.
endDate
))
{
this
.
tempRange
.
endDate
=
getDate
(
Date
.
now
())
}
if
(
!
checkDate
(
this
.
tempRange
.
startDate
))
{
this
.
tempRange
.
startDate
=
getDate
(
Date
.
now
())
}
if
(
!
checkDate
(
this
.
tempRange
.
endDate
))
{
this
.
tempRange
.
endDate
=
getDate
(
Date
.
now
())
}
let
start
,
end
let
startDateLaterRangeStartDate
=
false
let
startDateLaterRangeEndDate
=
false
let
startDate
,
startTime
if
(
this
.
start
)
{
let
startString
=
this
.
start
if
(
typeof
this
.
start
===
'number'
)
{
startString
=
getDateTime
(
this
.
start
,
this
.
hideSecond
)
}
[
startDate
,
startTime
]
=
startString
.
split
(
' '
)
if
(
this
.
start
&&
!
dateCompare
(
this
.
start
,
this
.
tempRange
.
startDate
))
{
startDateLaterRangeStartDate
=
true
this
.
tempRange
.
startDate
=
startDate
}
if
(
this
.
start
&&
!
dateCompare
(
this
.
start
,
this
.
tempRange
.
endDate
))
{
startDateLaterRangeEndDate
=
true
this
.
tempRange
.
endDate
=
startDate
}
}
let
endDateEarlierRangeStartDate
=
false
let
endDateEarlierRangeEndDate
=
false
let
endDate
,
endTime
if
(
this
.
end
)
{
let
endString
=
this
.
end
if
(
typeof
this
.
end
===
'number'
)
{
endString
=
getDateTime
(
this
.
end
,
this
.
hideSecond
)
}
[
endDate
,
endTime
]
=
endString
.
split
(
' '
)
if
(
this
.
end
&&
!
dateCompare
(
this
.
tempRange
.
startDate
,
this
.
end
))
{
endDateEarlierRangeStartDate
=
true
this
.
tempRange
.
startDate
=
endDate
}
if
(
this
.
end
&&
!
dateCompare
(
this
.
tempRange
.
endDate
,
this
.
end
))
{
endDateEarlierRangeEndDate
=
true
this
.
tempRange
.
endDate
=
endDate
}
}
let
startDateLaterRangeStartDate
=
false
let
startDateLaterRangeEndDate
=
false
let
startDate
,
startTime
if
(
this
.
start
)
{
let
startString
=
this
.
start
if
(
typeof
this
.
start
===
'number'
)
{
startString
=
getDateTime
(
this
.
start
,
this
.
hideSecond
)
}
[
startDate
,
startTime
]
=
startString
.
split
(
' '
)
if
(
this
.
start
&&
!
dateCompare
(
this
.
start
,
this
.
tempRange
.
startDate
))
{
startDateLaterRangeStartDate
=
true
this
.
tempRange
.
startDate
=
startDate
}
if
(
this
.
start
&&
!
dateCompare
(
this
.
start
,
this
.
tempRange
.
endDate
))
{
startDateLaterRangeEndDate
=
true
this
.
tempRange
.
endDate
=
startDate
}
}
let
endDateEarlierRangeStartDate
=
false
let
endDateEarlierRangeEndDate
=
false
let
endDate
,
endTime
if
(
this
.
end
)
{
let
endString
=
this
.
end
if
(
typeof
this
.
end
===
'number'
)
{
endString
=
getDateTime
(
this
.
end
,
this
.
hideSecond
)
}
[
endDate
,
endTime
]
=
endString
.
split
(
' '
)
if
(
this
.
end
&&
!
dateCompare
(
this
.
tempRange
.
startDate
,
this
.
end
))
{
endDateEarlierRangeStartDate
=
true
this
.
tempRange
.
startDate
=
endDate
}
if
(
this
.
end
&&
!
dateCompare
(
this
.
tempRange
.
endDate
,
this
.
end
))
{
endDateEarlierRangeEndDate
=
true
this
.
tempRange
.
endDate
=
endDate
}
}
if
(
!
this
.
hasTime
)
{
start
=
this
.
displayRangeValue
.
startDate
=
this
.
tempRange
.
startDate
start
=
this
.
displayRangeValue
.
startDate
=
this
.
tempRange
.
startDate
end
=
this
.
displayRangeValue
.
endDate
=
this
.
tempRange
.
endDate
}
else
{
if
(
startDateLaterRangeStartDate
)
{
this
.
tempRange
.
startTime
=
startTime
||
getDefaultSecond
(
this
.
hideSecond
)
}
else
if
(
endDateEarlierRangeStartDate
)
{
this
.
tempRange
.
startTime
=
endTime
||
getDefaultSecond
(
this
.
hideSecond
)
}
if
(
!
this
.
tempRange
.
startTime
)
{
this
.
tempRange
.
startTime
=
getTime
(
Date
.
now
(),
this
.
hideSecond
)
}
if
(
startDateLaterRangeEndDate
)
{
this
.
tempRange
.
endTime
=
startTime
||
getDefaultSecond
(
this
.
hideSecond
)
}
else
if
(
endDateEarlierRangeEndDate
)
{
this
.
tempRange
.
endTime
=
endTime
||
getDefaultSecond
(
this
.
hideSecond
)
}
if
(
!
this
.
tempRange
.
endTime
)
{
this
.
tempRange
.
endTime
=
getTime
(
Date
.
now
(),
this
.
hideSecond
)
}
if
(
startDateLaterRangeStartDate
)
{
this
.
tempRange
.
startTime
=
startTime
||
getDefaultSecond
(
this
.
hideSecond
)
}
else
if
(
endDateEarlierRangeStartDate
)
{
this
.
tempRange
.
startTime
=
endTime
||
getDefaultSecond
(
this
.
hideSecond
)
}
if
(
!
this
.
tempRange
.
startTime
)
{
this
.
tempRange
.
startTime
=
getTime
(
Date
.
now
(),
this
.
hideSecond
)
}
if
(
startDateLaterRangeEndDate
)
{
this
.
tempRange
.
endTime
=
startTime
||
getDefaultSecond
(
this
.
hideSecond
)
}
else
if
(
endDateEarlierRangeEndDate
)
{
this
.
tempRange
.
endTime
=
endTime
||
getDefaultSecond
(
this
.
hideSecond
)
}
if
(
!
this
.
tempRange
.
endTime
)
{
this
.
tempRange
.
endTime
=
getTime
(
Date
.
now
(),
this
.
hideSecond
)
}
start
=
this
.
displayRangeValue
.
startDate
=
`
${
this
.
tempRange
.
startDate
}
${
this
.
tempRange
.
startTime
}
`
end
=
this
.
displayRangeValue
.
endDate
=
`
${
this
.
tempRange
.
endDate
}
${
this
.
tempRange
.
endTime
}
`
}
if
(
!
dateCompare
(
start
,
end
))
{
[
start
,
end
]
=
[
end
,
start
]
}
if
(
!
dateCompare
(
start
,
end
))
{
[
start
,
end
]
=
[
end
,
start
]
}
this
.
displayRangeValue
.
startDate
=
start
this
.
displayRangeValue
.
endDate
=
end
const
displayRange
=
[
start
,
end
]
...
...
@@ -741,13 +760,13 @@
this
.
pickerVisible
=
false
},
handleStartAndEnd
(
before
,
after
,
temp
=
false
)
{
if
(
!
(
before
&&
after
)
)
return
if
(
!
before
)
return
if
(
!
after
)
after
=
before
;
const
type
=
temp
?
'tempRange'
:
'range'
const
isStartEarlierEnd
=
dateCompare
(
before
,
after
)
this
[
type
].
startDate
=
isStartEarlierEnd
?
before
:
after
this
[
type
].
endDate
=
isStartEarlierEnd
?
after
:
before
},
const
isStartEarlierEnd
=
dateCompare
(
before
,
after
)
this
[
type
].
startDate
=
isStartEarlierEnd
?
before
:
after
this
[
type
].
endDate
=
isStartEarlierEnd
?
after
:
before
},
/**
* 比较时间大小
*/
...
...
@@ -806,6 +825,10 @@
this
.
$emit
(
'update:modelValue'
,
[])
}
}
},
calendarClick
(
e
)
{
this
.
$emit
(
'calendarClick'
,
e
)
}
}
}
...
...
@@ -818,6 +841,7 @@
width
:
100%
;
flex
:
1
;
}
.uni-date-x
{
display
:
flex
;
flex-direction
:
row
;
...
...
@@ -829,16 +853,17 @@
font-size
:
14px
;
flex
:
1
;
.icon-calendar{
padding-left
:
3px
;
}
.range-separator
{
height
:
35px
;
/* #ifndef MP */
padding
:
0
2px
;
/* #endif */
.icon-calendar
{
padding-left
:
3px
;
}
.range-separator
{
height
:
35px
;
/* #ifndef MP */
padding
:
0
2px
;
/* #endif */
line-height
:
35px
;
}
}
}
.uni-date-x--border
{
...
...
@@ -865,9 +890,9 @@
.uni-date__x-input
{
width
:
auto
;
height
:
35px
;
/* #ifndef MP */
padding-left
:
5px
;
/* #endif */
/* #ifndef MP */
padding-left
:
5px
;
/* #endif */
position
:
relative
;
flex
:
1
;
line-height
:
35px
;
...
...
uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js
View file @
59c04d86
...
...
@@ -13,7 +13,7 @@ class Calendar {
this
.
startDate
=
startDate
// 终止时间
this
.
endDate
=
endDate
// 是否范围选择
// 是否范围选择
this
.
range
=
range
// 多选状态
this
.
cleanMultipleStatus
()
...
...
@@ -49,44 +49,44 @@ class Calendar {
this
.
endDate
=
endDate
}
getPreMonthObj
(
date
)
{
date
=
fixIosDateFormat
(
date
)
date
=
new
Date
(
date
)
const
oldMonth
=
date
.
getMonth
()
date
.
setMonth
(
oldMonth
-
1
)
const
newMonth
=
date
.
getMonth
()
if
(
oldMonth
!==
0
&&
newMonth
-
oldMonth
===
0
)
{
date
.
setMonth
(
newMonth
-
1
)
}
return
this
.
getDateObj
(
date
)
}
getNextMonthObj
(
date
)
{
date
=
fixIosDateFormat
(
date
)
date
=
new
Date
(
date
)
const
oldMonth
=
date
.
getMonth
()
date
.
setMonth
(
oldMonth
+
1
)
const
newMonth
=
date
.
getMonth
()
if
(
newMonth
-
oldMonth
>
1
)
{
date
.
setMonth
(
newMonth
-
1
)
}
return
this
.
getDateObj
(
date
)
}
getPreMonthObj
(
date
)
{
date
=
fixIosDateFormat
(
date
)
date
=
new
Date
(
date
)
const
oldMonth
=
date
.
getMonth
()
date
.
setMonth
(
oldMonth
-
1
)
const
newMonth
=
date
.
getMonth
()
if
(
oldMonth
!==
0
&&
newMonth
-
oldMonth
===
0
)
{
date
.
setMonth
(
newMonth
-
1
)
}
return
this
.
getDateObj
(
date
)
}
getNextMonthObj
(
date
)
{
date
=
fixIosDateFormat
(
date
)
date
=
new
Date
(
date
)
const
oldMonth
=
date
.
getMonth
()
date
.
setMonth
(
oldMonth
+
1
)
const
newMonth
=
date
.
getMonth
()
if
(
newMonth
-
oldMonth
>
1
)
{
date
.
setMonth
(
newMonth
-
1
)
}
return
this
.
getDateObj
(
date
)
}
/**
* 获取指定格式Date对象
*/
getDateObj
(
date
)
{
date
=
fixIosDateFormat
(
date
)
date
=
new
Date
(
date
)
date
=
fixIosDateFormat
(
date
)
date
=
new
Date
(
date
)
return
{
fullDate
:
getDate
(
date
),
year
:
date
.
getFullYear
(),
month
:
addZero
(
date
.
getMonth
()
+
1
),
date
:
addZero
(
date
.
getDate
()),
day
:
date
.
getDay
()
year
:
date
.
getFullYear
(),
month
:
addZero
(
date
.
getMonth
()
+
1
),
date
:
addZero
(
date
.
getDate
()),
day
:
date
.
getDay
()
}
}
...
...
@@ -96,36 +96,11 @@ class Calendar {
getPreMonthDays
(
amount
,
dateObj
)
{
const
result
=
[]
for
(
let
i
=
amount
-
1
;
i
>=
0
;
i
--
)
{
const
month
=
dateObj
.
month
>
1
?
dateObj
.
month
-
1
:
12
const
year
=
month
===
12
?
dateObj
.
year
-
1
:
dateObj
.
year
const
date
=
new
Date
(
year
,
month
,
-
i
).
getDate
()
const
fullDate
=
`
${
year
}
-
${
addZero
(
month
)}
-
${
addZero
(
date
)}
`
let
multiples
=
this
.
multipleStatus
.
data
let
multiplesStatus
=
-
1
if
(
this
.
range
&&
multiples
)
{
multiplesStatus
=
multiples
.
findIndex
((
item
)
=>
{
return
this
.
dateEqual
(
item
,
fullDate
)
})
}
const
checked
=
multiplesStatus
!==
-
1
// 获取打点信息
const
extraInfo
=
this
.
selected
&&
this
.
selected
.
find
((
item
)
=>
{
if
(
this
.
dateEqual
(
fullDate
,
item
.
date
))
{
return
item
}
})
const
month
=
dateObj
.
month
-
1
result
.
push
({
fullDate
,
year
,
date
:
new
Date
(
dateObj
.
year
,
month
,
-
i
).
getDate
(),
month
,
date
,
multiple
:
this
.
range
?
checked
:
false
,
beforeMultiple
:
this
.
isLogicBefore
(
fullDate
,
this
.
multipleStatus
.
before
,
this
.
multipleStatus
.
after
),
afterMultiple
:
this
.
isLogicAfter
(
fullDate
,
this
.
multipleStatus
.
before
,
this
.
multipleStatus
.
after
),
disable
:
(
this
.
startDate
&&
!
dateCompare
(
this
.
startDate
,
fullDate
))
||
(
this
.
endDate
&&
!
dateCompare
(
fullDate
,
this
.
endDate
)),
isToday
:
fullDate
===
this
.
date
.
fullDate
,
userChecked
:
false
,
extraInfo
disable
:
true
})
}
return
result
...
...
@@ -140,7 +115,7 @@ class Calendar {
const
currentDate
=
`
${
dateObj
.
year
}
-
${
dateObj
.
month
}
-
${
addZero
(
i
)}
`
const
isToday
=
fullDate
===
currentDate
// 获取打点信息
const
extraI
nfo
=
this
.
selected
&&
this
.
selected
.
find
((
item
)
=>
{
const
i
nfo
=
this
.
selected
&&
this
.
selected
.
find
((
item
)
=>
{
if
(
this
.
dateEqual
(
currentDate
,
item
.
date
))
{
return
item
}
...
...
@@ -160,24 +135,25 @@ class Calendar {
let
multiples
=
this
.
multipleStatus
.
data
let
multiplesStatus
=
-
1
if
(
this
.
range
&&
multiples
)
{
multiplesStatus
=
multiples
.
findIndex
((
item
)
=>
{
return
this
.
dateEqual
(
item
,
currentDate
)
})
multiplesStatus
=
multiples
.
findIndex
((
item
)
=>
{
return
this
.
dateEqual
(
item
,
currentDate
)
})
}
const
checked
=
multiplesStatus
!==
-
1
const
checked
=
multiplesStatus
!==
-
1
result
.
push
({
fullDate
:
currentDate
,
year
:
dateObj
.
year
,
month
:
dateObj
.
month
,
date
:
i
,
multiple
:
this
.
range
?
checked
:
false
,
beforeMultiple
:
this
.
isLogicBefore
(
currentDate
,
this
.
multipleStatus
.
before
,
this
.
multipleStatus
.
after
),
afterMultiple
:
this
.
isLogicAfter
(
currentDate
,
this
.
multipleStatus
.
before
,
this
.
multipleStatus
.
after
),
disable
:
(
this
.
startDate
&&
!
dateCompare
(
this
.
startDate
,
currentDate
))
||
(
this
.
endDate
&&
!
dateCompare
(
currentDate
,
this
.
endDate
)),
month
:
dateObj
.
month
,
disable
:
(
this
.
startDate
&&
!
dateCompare
(
this
.
startDate
,
currentDate
))
||
(
this
.
endDate
&&
!
dateCompare
(
currentDate
,
this
.
endDate
)),
isToday
,
userChecked
:
false
,
extraI
nfo
extraInfo
:
i
nfo
})
}
return
result
...
...
@@ -187,37 +163,12 @@ class Calendar {
*/
_getNextMonthDays
(
amount
,
dateObj
)
{
const
result
=
[]
const
month
=
dateObj
.
month
+
1
const
month
=
dateObj
.
month
+
1
for
(
let
i
=
1
;
i
<=
amount
;
i
++
)
{
const
month
=
dateObj
.
month
===
12
?
1
:
dateObj
.
month
*
1
+
1
const
year
=
month
===
1
?
dateObj
.
year
+
1
:
dateObj
.
year
const
fullDate
=
`
${
year
}
-
${
addZero
(
month
)}
-
${
addZero
(
i
)}
`
let
multiples
=
this
.
multipleStatus
.
data
let
multiplesStatus
=
-
1
if
(
this
.
range
&&
multiples
)
{
multiplesStatus
=
multiples
.
findIndex
((
item
)
=>
{
return
this
.
dateEqual
(
item
,
fullDate
)
})
}
const
checked
=
multiplesStatus
!==
-
1
// 获取打点信息
const
extraInfo
=
this
.
selected
&&
this
.
selected
.
find
((
item
)
=>
{
if
(
this
.
dateEqual
(
fullDate
,
item
.
date
))
{
return
item
}
})
result
.
push
({
fullDate
,
year
,
date
:
i
,
month
,
multiple
:
this
.
range
?
checked
:
false
,
beforeMultiple
:
this
.
isLogicBefore
(
fullDate
,
this
.
multipleStatus
.
before
,
this
.
multipleStatus
.
after
),
afterMultiple
:
this
.
isLogicAfter
(
fullDate
,
this
.
multipleStatus
.
before
,
this
.
multipleStatus
.
after
),
disable
:
(
this
.
startDate
&&
!
dateCompare
(
this
.
startDate
,
fullDate
))
||
(
this
.
endDate
&&
!
dateCompare
(
fullDate
,
this
.
endDate
)),
isToday
:
fullDate
===
this
.
date
.
fullDate
,
userChecked
:
false
,
extraInfo
disable
:
true
})
}
return
result
...
...
@@ -290,7 +241,7 @@ class Calendar {
* 获取多选状态
*/
setMultiple
(
fullDate
)
{
if
(
!
this
.
range
)
return
if
(
!
this
.
range
)
return
let
{
before
,
...
...
@@ -309,6 +260,7 @@ class Calendar {
}
else
{
if
(
!
before
)
{
this
.
multipleStatus
.
before
=
fullDate
this
.
multipleStatus
.
after
=
undefined
;
this
.
lastHover
=
false
}
else
{
this
.
multipleStatus
.
after
=
fullDate
...
...
@@ -329,9 +281,12 @@ class Calendar {
* 鼠标 hover 更新多选状态
*/
setHoverMultiple
(
fullDate
)
{
if
(
!
this
.
range
||
this
.
lastHover
)
return
const
{
before
}
=
this
.
multipleStatus
//抖音小程序点击会触发hover事件,需要避免一下
// #ifndef MP-TOUTIAO
if
(
!
this
.
range
||
this
.
lastHover
)
return
const
{
before
}
=
this
.
multipleStatus
if
(
!
before
)
{
this
.
multipleStatus
.
before
=
fullDate
...
...
@@ -344,6 +299,8 @@ class Calendar {
}
}
this
.
getWeeks
(
fullDate
)
// #endif
}
/**
...
...
@@ -374,22 +331,22 @@ class Calendar {
}
=
this
.
getDateObj
(
dateData
)
const
preMonthDayAmount
=
new
Date
(
year
,
month
-
1
,
1
).
getDay
()
const
preMonthDays
=
this
.
getPreMonthDays
(
preMonthDayAmount
,
this
.
getDateObj
(
dateData
))
const
preMonthDays
=
this
.
getPreMonthDays
(
preMonthDayAmount
,
this
.
getDateObj
(
dateData
))
const
currentMonthDayAmount
=
new
Date
(
year
,
month
,
0
).
getDate
()
const
currentMonthDays
=
this
.
getCurrentMonthDays
(
currentMonthDayAmount
,
this
.
getDateObj
(
dateData
))
const
currentMonthDays
=
this
.
getCurrentMonthDays
(
currentMonthDayAmount
,
this
.
getDateObj
(
dateData
))
const
nextMonthDayAmount
=
42
-
preMonthDayAmount
-
currentMonthDayAmount
const
nextMonthDays
=
this
.
_getNextMonthDays
(
nextMonthDayAmount
,
this
.
getDateObj
(
dateData
))
const
nextMonthDayAmount
=
42
-
preMonthDayAmount
-
currentMonthDayAmount
const
nextMonthDays
=
this
.
_getNextMonthDays
(
nextMonthDayAmount
,
this
.
getDateObj
(
dateData
))
const
calendarDays
=
[...
preMonthDays
,
...
currentMonthDays
,
...
nextMonthDays
]
const
weeks
=
new
Array
(
6
)
for
(
let
i
=
0
;
i
<
calendarDays
.
length
;
i
++
)
{
const
index
=
Math
.
floor
(
i
/
7
)
if
(
!
weeks
[
index
])
{
weeks
[
index
]
=
new
Array
(
7
)
}
const
index
=
Math
.
floor
(
i
/
7
)
if
(
!
weeks
[
index
])
{
weeks
[
index
]
=
new
Array
(
7
)
}
weeks
[
index
][
i
%
7
]
=
calendarDays
[
i
]
}
...
...
@@ -398,56 +355,67 @@ class Calendar {
}
}
function
getDateTime
(
date
,
hideSecond
){
return
`
${
getDate
(
date
)}
${
getTime
(
date
,
hideSecond
)}
`
function
getDateTime
(
date
,
hideSecond
)
{
return
`
${
getDate
(
date
)}
${
getTime
(
date
,
hideSecond
)}
`
}
function
getDate
(
date
)
{
date
=
fixIosDateFormat
(
date
)
date
=
new
Date
(
date
)
const
year
=
date
.
getFullYear
()
const
month
=
date
.
getMonth
()
+
1
const
day
=
date
.
getDate
()
return
`
${
year
}
-
${
addZero
(
month
)}
-
${
addZero
(
day
)}
`
date
=
fixIosDateFormat
(
date
)
date
=
new
Date
(
date
)
const
year
=
date
.
getFullYear
()
const
month
=
date
.
getMonth
()
+
1
const
day
=
date
.
getDate
()
return
`
${
year
}
-
${
addZero
(
month
)}
-
${
addZero
(
day
)}
`
}
function
getTime
(
date
,
hideSecond
){
date
=
fixIosDateFormat
(
date
)
date
=
new
Date
(
date
)
const
hour
=
date
.
getHours
()
const
minute
=
date
.
getMinutes
()
const
second
=
date
.
getSeconds
()
return
hideSecond
?
`
${
addZero
(
hour
)}
:
${
addZero
(
minute
)}
`
:
`
${
addZero
(
hour
)}
:
${
addZero
(
minute
)}
:
${
addZero
(
second
)}
`
function
getTime
(
date
,
hideSecond
)
{
date
=
fixIosDateFormat
(
date
)
date
=
new
Date
(
date
)
const
hour
=
date
.
getHours
()
const
minute
=
date
.
getMinutes
()
const
second
=
date
.
getSeconds
()
return
hideSecond
?
`
${
addZero
(
hour
)}
:
${
addZero
(
minute
)}
`
:
`
${
addZero
(
hour
)}
:
${
addZero
(
minute
)}
:
${
addZero
(
second
)}
`
}
function
addZero
(
num
)
{
if
(
num
<
10
)
{
num
=
`0
${
num
}
`
}
return
num
if
(
num
<
10
)
{
num
=
`0
${
num
}
`
}
return
num
}
function
getDefaultSecond
(
hideSecond
)
{
return
hideSecond
?
'00:00'
:
'00:00:00'
return
hideSecond
?
'00:00'
:
'00:00:00'
}
function
dateCompare
(
startDate
,
endDate
)
{
startDate
=
new
Date
(
fixIosDateFormat
(
startDate
))
endDate
=
new
Date
(
fixIosDateFormat
(
endDate
))
return
startDate
<=
endDate
startDate
=
new
Date
(
fixIosDateFormat
(
startDate
))
endDate
=
new
Date
(
fixIosDateFormat
(
endDate
))
return
startDate
<=
endDate
}
function
checkDate
(
date
){
const
dateReg
=
/
((
19|20
)\d{2})(
-|
\/)\d{1,2}(
-|
\/)\d{1,2}
/g
return
date
.
match
(
dateReg
)
function
checkDate
(
date
)
{
const
dateReg
=
/
((
19|20
)\d{2})(
-|
\/)\d{1,2}(
-|
\/)\d{1,2}
/g
return
date
.
match
(
dateReg
)
}
//ios低版本15及以下,无法匹配 没有 ’秒‘ 时的情况,所以需要在末尾 秒 加上 问号
const
dateTimeReg
=
/^
\d{4}
-
(
0
?[
1-9
]
|1
[
012
])
-
(
0
?[
1-9
]
|
[
12
][
0-9
]
|3
[
01
])(
[
0-5
]?[
0-9
]
:
[
0-5
]?[
0-9
](
:
[
0-5
]?[
0-9
])?)?
$/
;
const
dateTimeReg
=
/^
\d{4}
-
(
0
?[
1-9
]
|1
[
012
])
-
(
0
?[
1-9
]
|
[
12
][
0-9
]
|3
[
01
])(
[
0-5
]?[
0-9
]
:
[
0-5
]?[
0-9
]
:
[
0-5
]?[
0-9
])?
$/
function
fixIosDateFormat
(
value
)
{
if
(
typeof
value
===
'string'
&&
dateTimeReg
.
test
(
value
))
{
value
=
value
.
replace
(
/-/g
,
'/'
)
}
return
value
if
(
typeof
value
===
'string'
&&
dateTimeReg
.
test
(
value
))
{
value
=
value
.
replace
(
/-/g
,
'/'
)
}
return
value
}
export
{
Calendar
,
getDateTime
,
getDate
,
getTime
,
addZero
,
getDefaultSecond
,
dateCompare
,
checkDate
,
fixIosDateFormat
}
\ No newline at end of file
export
{
Calendar
,
getDateTime
,
getDate
,
getTime
,
addZero
,
getDefaultSecond
,
dateCompare
,
checkDate
,
fixIosDateFormat
}
uni_modules/uni-datetime-picker/package.json
View file @
59c04d86
{
"id"
:
"uni-datetime-picker"
,
"displayName"
:
"uni-datetime-picker 日期选择器"
,
"version"
:
"2.2.
2
4"
,
"version"
:
"2.2.
3
4"
,
"description"
:
"uni-datetime-picker 日期时间选择器,支持日历,支持范围选择"
,
"keywords"
:
[
"uni-datetime-picker"
,
...
...
@@ -46,7 +46,8 @@
"platforms"
:
{
"cloud"
:
{
"tcb"
:
"y"
,
"aliyun"
:
"y"
"aliyun"
:
"y"
,
"alipay"
:
"n"
},
"client"
:
{
"App"
:
{
...
...
uni_modules/uni-icons/changelog.md
View file @
59c04d86
## 2.0.10(2024-06-07)
-
优化 uni-app x 中,size 属性的类型
## 2.0.9(2024-01-12)
fix: 修复图标大小默认值错误的问题
## 2.0.8(2023-12-14)
-
修复 项目未使用 ts 情况下,打包报错的bug
## 2.0.7(2023-12-14)
-
修复 size 属性为 string 时,不加单位导致尺寸异常的bug
## 2.0.6(2023-12-11)
-
优化 兼容老版本icon类型,如 top ,bottom 等
## 2.0.5(2023-12-11)
-
优化 兼容老版本icon类型,如 top ,bottom 等
## 2.0.4(2023-12-06)
-
优化 uni-app x 下示例项目图标排序
## 2.0.3(2023-12-06)
-
修复 nvue下引入组件报错的bug
## 2.0.2(2023-12-05)
-优化 size 属性支持单位
## 2.0.1(2023-12-05)
-
新增 uni-app x 支持定义图标
## 1.3.5(2022-01-24)
-
优化 size 属性可以传入不带单位的字符串数值
## 1.3.4(2022-01-24)
...
...
uni_modules/uni-icons/components/uni-icons/uni-icons.uvue
0 → 100644
View file @
59c04d86
<
template
>
<
text
class
=
"uni-icons"
:
style
=
"styleObj"
>
<
slot
>
{{
unicode
}}
</
slot
>
</
text
>
</
template
>
<
script
>
import
{
fontData
,
IconsDataItem
}
from
'
.
/
uniicons_file
'
/**
* Icons 图标
* @description 用于展示 icon 图标
* @tutorial https://ext.dcloud.net.cn/plugin?id=28
* @property {Number,String} size 图标大小
* @property {String} type 图标图案,参考示例
* @property {String} color 图标颜色
* @property {String} customPrefix 自定义图标
* @event {Function} click 点击 Icon 触发事件
*/
export
default
{
name
:
"uni-icons"
,
props
:
{
type
:
{
type
:
String
,
default
:
''
},
color
:
{
type
:
String
,
default
:
'#
333333
'
},
size
:
{
type
:
[
Number
,
String
],
default
:
16
},
fontFamily
:
{
type
:
String
,
default
:
''
}
},
data
()
{
return
{};
},
computed
:
{
unicode
()
:
string
{
let
codes
=
fontData
.
find
((
item
:
IconsDataItem
)
:
boolean
=>
{
return
item
.
font_class
==
this
.
type
})
if
(
codes
!==
null
)
{
return
codes
.
unicode
}
return
''
},
iconSize
()
:
string
{
const
size
=
this
.
size
if
(
typeof
size
==
'
string
'
)
{
const
reg
=
/^
[
0
-
9
]
*
$
/
g
return
reg
.
test
(
size
as
string
)
?
''
+
size
+
'
px
'
:
''
+
size
;
// return '' + this.size
}
return
this
.
getFontSize
(
size
as
number
)
},
styleObj
()
:
UTSJSONObject
{
if
(
this
.
fontFamily
!==
''
)
{
return
{
color
:
this
.
color
,
fontSize
:
this
.
iconSize
,
fontFamily
:
this
.
fontFamily
}
}
return
{
color
:
this
.
color
,
fontSize
:
this
.
iconSize
}
}
},
created
()
{
},
methods
:
{
/**
* 字体大小
*/
getFontSize
(
size
:
number
)
:
string
{
return
size
+
'
px
'
;
},
},
}
</
script
>
<
style
scoped
>
@font
-
face
{
font
-
family
:
UniIconsFontFamily
;
src
:
url
(
'
.
/
uniicons
.
ttf
'
);
}
.
uni
-
icons
{
font
-
family
:
UniIconsFontFamily
;
font
-
size
:
18
px
;
font
-
style
:
normal
;
color
:
#
333
;
}
</
style
>
uni_modules/uni-icons/components/uni-icons/uni-icons.vue
View file @
59c04d86
<
template
>
<!-- #ifdef APP-NVUE -->
<text
:style=
"
{ color: color, 'font-size': iconSize }
" class="uni-icons" @click="_onClick">
{{
unicode
}}
</text>
<text
:style=
"
styleObj
"
class=
"uni-icons"
@
click=
"_onClick"
>
{{
unicode
}}
</text>
<!-- #endif -->
<!-- #ifndef APP-NVUE -->
<text
:style=
"
{ color: color, 'font-size': iconSize }" class="uni-icons" :class="['uniui-'+type,customPrefix,customPrefix?type:'']" @click="_onClick">
</text>
<text
:style=
"styleObj"
class=
"uni-icons"
:class=
"['uniui-'+type,customPrefix,customPrefix?type:'']"
@
click=
"_onClick"
>
<slot></slot>
</text>
<!-- #endif -->
</
template
>
<
script
>
import
icons
from
'./icons.js'
;
import
{
fontData
}
from
'./uniicons_file_vue.js'
;
const
getVal
=
(
val
)
=>
{
const
reg
=
/^
[
0-9
]
*$/g
return
(
typeof
val
===
'number'
||
reg
.
test
(
val
)
)?
val
+
'px'
:
val
;
}
return
(
typeof
val
===
'number'
||
reg
.
test
(
val
))
?
val
+
'px'
:
val
;
}
// #ifdef APP-NVUE
var
domModule
=
weex
.
requireModule
(
'dom'
);
import
iconUrl
from
'./uniicons.ttf'
domModule
.
addRule
(
'fontFace'
,
{
'fontFamily'
:
"uniicons"
,
'src'
:
"url('"
+
iconUrl
+
"')"
'src'
:
"url('"
+
iconUrl
+
"')"
});
// #endif
...
...
@@ -34,7 +38,7 @@
*/
export
default
{
name
:
'UniIcons'
,
emits
:[
'click'
],
emits
:
[
'click'
],
props
:
{
type
:
{
type
:
String
,
...
...
@@ -48,26 +52,36 @@
type
:
[
Number
,
String
],
default
:
16
},
customPrefix
:{
customPrefix
:
{
type
:
String
,
default
:
''
},
fontFamily
:
{
type
:
String
,
default
:
''
}
},
data
()
{
return
{
icons
:
icons
.
glyphs
icons
:
fontData
}
},
computed
:{
unicode
(){
let
code
=
this
.
icons
.
find
(
v
=>
v
.
font_class
===
this
.
type
)
if
(
code
)
{
return
unescape
(
`%u
${
code
.
unicode
}
`
)
computed
:
{
unicode
()
{
let
code
=
this
.
icons
.
find
(
v
=>
v
.
font_class
===
this
.
type
)
if
(
code
)
{
return
code
.
unicode
}
return
''
},
iconSize
(){
iconSize
()
{
return
getVal
(
this
.
size
)
},
styleObj
()
{
if
(
this
.
fontFamily
!==
''
)
{
return
`color:
${
this
.
color
}
; font-size:
${
this
.
iconSize
}
; font-family:
${
this
.
fontFamily
}
;`
}
return
`color:
${
this
.
color
}
; font-size:
${
this
.
iconSize
}
;`
}
},
methods
:
{
...
...
@@ -81,9 +95,10 @@
<
style
lang=
"scss"
>
/* #ifndef APP-NVUE */
@import
'./uniicons.css'
;
@font-face
{
font-family
:
uniicons
;
src
:
url('./uniicons.ttf')
format
(
'truetype'
)
;
src
:
url('./uniicons.ttf')
;
}
/* #endif */
...
...
@@ -92,5 +107,4 @@
text-decoration
:
none
;
text-align
:
center
;
}
</
style
>
uni_modules/uni-icons/components/uni-icons/uniicons.css
View file @
59c04d86
.uniui-cart-filled
:before
{
content
:
"\e6d0"
;
}
.uniui-gift-filled
:before
{
content
:
"\e6c4"
;
}
.uniui-color
:before
{
content
:
"\e6cf"
;
}
...
...
@@ -58,10 +67,6 @@
content
:
"\e6c3"
;
}
.uniui-gift-filled
:before
{
content
:
"\e6c4"
;
}
.uniui-fire-filled
:before
{
content
:
"\e6c5"
;
}
...
...
@@ -82,6 +87,18 @@
content
:
"\e698"
;
}
.uniui-arrowthinleft
:before
{
content
:
"\e6d2"
;
}
.uniui-arrowthinup
:before
{
content
:
"\e6d3"
;
}
.uniui-arrowthindown
:before
{
content
:
"\e6d4"
;
}
.uniui-back
:before
{
content
:
"\e6b9"
;
}
...
...
@@ -94,55 +111,43 @@
content
:
"\e6bb"
;
}
.uniui-arrowthinright
:before
{
content
:
"\e6bb"
;
}
.uniui-arrow-left
:before
{
content
:
"\e6bc"
;
}
.uniui-arrowthinleft
:before
{
content
:
"\e6bc"
;
}
.uniui-arrow-up
:before
{
content
:
"\e6bd"
;
}
.uniui-arrowthinup
:before
{
content
:
"\e6bd"
;
}
.uniui-arrow-down
:before
{
content
:
"\e6be"
;
}
.uniui-arrowthin
down
:before
{
content
:
"\e6
be
"
;
.uniui-arrowthin
right
:before
{
content
:
"\e6
d1
"
;
}
.uniui-
bottom
:before
{
.uniui-
down
:before
{
content
:
"\e6b8"
;
}
.uniui-
arrowdown
:before
{
.uniui-
bottom
:before
{
content
:
"\e6b8"
;
}
.uniui-right
:before
{
content
:
"\e6
b
5"
;
.uniui-
arrow
right
:before
{
content
:
"\e6
d
5"
;
}
.uniui-
arrow
right
:before
{
.uniui-right
:before
{
content
:
"\e6b5"
;
}
.uniui-
to
p
:before
{
.uniui-
u
p
:before
{
content
:
"\e6b6"
;
}
.uniui-
arrowu
p
:before
{
.uniui-
to
p
:before
{
content
:
"\e6b6"
;
}
...
...
@@ -150,8 +155,8 @@
content
:
"\e6b7"
;
}
.uniui-arrow
left
:before
{
content
:
"\e6
b7
"
;
.uniui-arrow
up
:before
{
content
:
"\e6
d6
"
;
}
.uniui-eye
:before
{
...
...
@@ -638,10 +643,6 @@
content
:
"\e627"
;
}
.uniui-cart-filled
:before
{
content
:
"\e629"
;
}
.uniui-checkbox
:before
{
content
:
"\e62b"
;
}
...
...
uni_modules/uni-icons/components/uni-icons/uniicons.ttf
View file @
59c04d86
No preview for this file type
uni_modules/uni-icons/components/uni-icons/uniicons_file.ts
0 → 100644
View file @
59c04d86
export
type
IconsData
=
{
id
:
string
name
:
string
font_family
:
string
css_prefix_text
:
string
description
:
string
glyphs
:
Array
<
IconsDataItem
>
}
export
type
IconsDataItem
=
{
font_class
:
string
unicode
:
string
}
export
const
fontData
=
[
{
"font_class"
:
"arrow-down"
,
"unicode"
:
"\ue6be"
},
{
"font_class"
:
"arrow-left"
,
"unicode"
:
"\ue6bc"
},
{
"font_class"
:
"arrow-right"
,
"unicode"
:
"\ue6bb"
},
{
"font_class"
:
"arrow-up"
,
"unicode"
:
"\ue6bd"
},
{
"font_class"
:
"auth"
,
"unicode"
:
"\ue6ab"
},
{
"font_class"
:
"auth-filled"
,
"unicode"
:
"\ue6cc"
},
{
"font_class"
:
"back"
,
"unicode"
:
"\ue6b9"
},
{
"font_class"
:
"bars"
,
"unicode"
:
"\ue627"
},
{
"font_class"
:
"calendar"
,
"unicode"
:
"\ue6a0"
},
{
"font_class"
:
"calendar-filled"
,
"unicode"
:
"\ue6c0"
},
{
"font_class"
:
"camera"
,
"unicode"
:
"\ue65a"
},
{
"font_class"
:
"camera-filled"
,
"unicode"
:
"\ue658"
},
{
"font_class"
:
"cart"
,
"unicode"
:
"\ue631"
},
{
"font_class"
:
"cart-filled"
,
"unicode"
:
"\ue6d0"
},
{
"font_class"
:
"chat"
,
"unicode"
:
"\ue65d"
},
{
"font_class"
:
"chat-filled"
,
"unicode"
:
"\ue659"
},
{
"font_class"
:
"chatboxes"
,
"unicode"
:
"\ue696"
},
{
"font_class"
:
"chatboxes-filled"
,
"unicode"
:
"\ue692"
},
{
"font_class"
:
"chatbubble"
,
"unicode"
:
"\ue697"
},
{
"font_class"
:
"chatbubble-filled"
,
"unicode"
:
"\ue694"
},
{
"font_class"
:
"checkbox"
,
"unicode"
:
"\ue62b"
},
{
"font_class"
:
"checkbox-filled"
,
"unicode"
:
"\ue62c"
},
{
"font_class"
:
"checkmarkempty"
,
"unicode"
:
"\ue65c"
},
{
"font_class"
:
"circle"
,
"unicode"
:
"\ue65b"
},
{
"font_class"
:
"circle-filled"
,
"unicode"
:
"\ue65e"
},
{
"font_class"
:
"clear"
,
"unicode"
:
"\ue66d"
},
{
"font_class"
:
"close"
,
"unicode"
:
"\ue673"
},
{
"font_class"
:
"closeempty"
,
"unicode"
:
"\ue66c"
},
{
"font_class"
:
"cloud-download"
,
"unicode"
:
"\ue647"
},
{
"font_class"
:
"cloud-download-filled"
,
"unicode"
:
"\ue646"
},
{
"font_class"
:
"cloud-upload"
,
"unicode"
:
"\ue645"
},
{
"font_class"
:
"cloud-upload-filled"
,
"unicode"
:
"\ue648"
},
{
"font_class"
:
"color"
,
"unicode"
:
"\ue6cf"
},
{
"font_class"
:
"color-filled"
,
"unicode"
:
"\ue6c9"
},
{
"font_class"
:
"compose"
,
"unicode"
:
"\ue67f"
},
{
"font_class"
:
"contact"
,
"unicode"
:
"\ue693"
},
{
"font_class"
:
"contact-filled"
,
"unicode"
:
"\ue695"
},
{
"font_class"
:
"down"
,
"unicode"
:
"\ue6b8"
},
{
"font_class"
:
"bottom"
,
"unicode"
:
"\ue6b8"
},
{
"font_class"
:
"download"
,
"unicode"
:
"\ue68d"
},
{
"font_class"
:
"download-filled"
,
"unicode"
:
"\ue681"
},
{
"font_class"
:
"email"
,
"unicode"
:
"\ue69e"
},
{
"font_class"
:
"email-filled"
,
"unicode"
:
"\ue69a"
},
{
"font_class"
:
"eye"
,
"unicode"
:
"\ue651"
},
{
"font_class"
:
"eye-filled"
,
"unicode"
:
"\ue66a"
},
{
"font_class"
:
"eye-slash"
,
"unicode"
:
"\ue6b3"
},
{
"font_class"
:
"eye-slash-filled"
,
"unicode"
:
"\ue6b4"
},
{
"font_class"
:
"fire"
,
"unicode"
:
"\ue6a1"
},
{
"font_class"
:
"fire-filled"
,
"unicode"
:
"\ue6c5"
},
{
"font_class"
:
"flag"
,
"unicode"
:
"\ue65f"
},
{
"font_class"
:
"flag-filled"
,
"unicode"
:
"\ue660"
},
{
"font_class"
:
"folder-add"
,
"unicode"
:
"\ue6a9"
},
{
"font_class"
:
"folder-add-filled"
,
"unicode"
:
"\ue6c8"
},
{
"font_class"
:
"font"
,
"unicode"
:
"\ue6a3"
},
{
"font_class"
:
"forward"
,
"unicode"
:
"\ue6ba"
},
{
"font_class"
:
"gear"
,
"unicode"
:
"\ue664"
},
{
"font_class"
:
"gear-filled"
,
"unicode"
:
"\ue661"
},
{
"font_class"
:
"gift"
,
"unicode"
:
"\ue6a4"
},
{
"font_class"
:
"gift-filled"
,
"unicode"
:
"\ue6c4"
},
{
"font_class"
:
"hand-down"
,
"unicode"
:
"\ue63d"
},
{
"font_class"
:
"hand-down-filled"
,
"unicode"
:
"\ue63c"
},
{
"font_class"
:
"hand-up"
,
"unicode"
:
"\ue63f"
},
{
"font_class"
:
"hand-up-filled"
,
"unicode"
:
"\ue63e"
},
{
"font_class"
:
"headphones"
,
"unicode"
:
"\ue630"
},
{
"font_class"
:
"heart"
,
"unicode"
:
"\ue639"
},
{
"font_class"
:
"heart-filled"
,
"unicode"
:
"\ue641"
},
{
"font_class"
:
"help"
,
"unicode"
:
"\ue679"
},
{
"font_class"
:
"help-filled"
,
"unicode"
:
"\ue674"
},
{
"font_class"
:
"home"
,
"unicode"
:
"\ue662"
},
{
"font_class"
:
"home-filled"
,
"unicode"
:
"\ue663"
},
{
"font_class"
:
"image"
,
"unicode"
:
"\ue670"
},
{
"font_class"
:
"image-filled"
,
"unicode"
:
"\ue678"
},
{
"font_class"
:
"images"
,
"unicode"
:
"\ue650"
},
{
"font_class"
:
"images-filled"
,
"unicode"
:
"\ue64b"
},
{
"font_class"
:
"info"
,
"unicode"
:
"\ue669"
},
{
"font_class"
:
"info-filled"
,
"unicode"
:
"\ue649"
},
{
"font_class"
:
"left"
,
"unicode"
:
"\ue6b7"
},
{
"font_class"
:
"link"
,
"unicode"
:
"\ue6a5"
},
{
"font_class"
:
"list"
,
"unicode"
:
"\ue644"
},
{
"font_class"
:
"location"
,
"unicode"
:
"\ue6ae"
},
{
"font_class"
:
"location-filled"
,
"unicode"
:
"\ue6af"
},
{
"font_class"
:
"locked"
,
"unicode"
:
"\ue66b"
},
{
"font_class"
:
"locked-filled"
,
"unicode"
:
"\ue668"
},
{
"font_class"
:
"loop"
,
"unicode"
:
"\ue633"
},
{
"font_class"
:
"mail-open"
,
"unicode"
:
"\ue643"
},
{
"font_class"
:
"mail-open-filled"
,
"unicode"
:
"\ue63a"
},
{
"font_class"
:
"map"
,
"unicode"
:
"\ue667"
},
{
"font_class"
:
"map-filled"
,
"unicode"
:
"\ue666"
},
{
"font_class"
:
"map-pin"
,
"unicode"
:
"\ue6ad"
},
{
"font_class"
:
"map-pin-ellipse"
,
"unicode"
:
"\ue6ac"
},
{
"font_class"
:
"medal"
,
"unicode"
:
"\ue6a2"
},
{
"font_class"
:
"medal-filled"
,
"unicode"
:
"\ue6c3"
},
{
"font_class"
:
"mic"
,
"unicode"
:
"\ue671"
},
{
"font_class"
:
"mic-filled"
,
"unicode"
:
"\ue677"
},
{
"font_class"
:
"micoff"
,
"unicode"
:
"\ue67e"
},
{
"font_class"
:
"micoff-filled"
,
"unicode"
:
"\ue6b0"
},
{
"font_class"
:
"minus"
,
"unicode"
:
"\ue66f"
},
{
"font_class"
:
"minus-filled"
,
"unicode"
:
"\ue67d"
},
{
"font_class"
:
"more"
,
"unicode"
:
"\ue64d"
},
{
"font_class"
:
"more-filled"
,
"unicode"
:
"\ue64e"
},
{
"font_class"
:
"navigate"
,
"unicode"
:
"\ue66e"
},
{
"font_class"
:
"navigate-filled"
,
"unicode"
:
"\ue67a"
},
{
"font_class"
:
"notification"
,
"unicode"
:
"\ue6a6"
},
{
"font_class"
:
"notification-filled"
,
"unicode"
:
"\ue6c1"
},
{
"font_class"
:
"paperclip"
,
"unicode"
:
"\ue652"
},
{
"font_class"
:
"paperplane"
,
"unicode"
:
"\ue672"
},
{
"font_class"
:
"paperplane-filled"
,
"unicode"
:
"\ue675"
},
{
"font_class"
:
"person"
,
"unicode"
:
"\ue699"
},
{
"font_class"
:
"person-filled"
,
"unicode"
:
"\ue69d"
},
{
"font_class"
:
"personadd"
,
"unicode"
:
"\ue69f"
},
{
"font_class"
:
"personadd-filled"
,
"unicode"
:
"\ue698"
},
{
"font_class"
:
"personadd-filled-copy"
,
"unicode"
:
"\ue6d1"
},
{
"font_class"
:
"phone"
,
"unicode"
:
"\ue69c"
},
{
"font_class"
:
"phone-filled"
,
"unicode"
:
"\ue69b"
},
{
"font_class"
:
"plus"
,
"unicode"
:
"\ue676"
},
{
"font_class"
:
"plus-filled"
,
"unicode"
:
"\ue6c7"
},
{
"font_class"
:
"plusempty"
,
"unicode"
:
"\ue67b"
},
{
"font_class"
:
"pulldown"
,
"unicode"
:
"\ue632"
},
{
"font_class"
:
"pyq"
,
"unicode"
:
"\ue682"
},
{
"font_class"
:
"qq"
,
"unicode"
:
"\ue680"
},
{
"font_class"
:
"redo"
,
"unicode"
:
"\ue64a"
},
{
"font_class"
:
"redo-filled"
,
"unicode"
:
"\ue655"
},
{
"font_class"
:
"refresh"
,
"unicode"
:
"\ue657"
},
{
"font_class"
:
"refresh-filled"
,
"unicode"
:
"\ue656"
},
{
"font_class"
:
"refreshempty"
,
"unicode"
:
"\ue6bf"
},
{
"font_class"
:
"reload"
,
"unicode"
:
"\ue6b2"
},
{
"font_class"
:
"right"
,
"unicode"
:
"\ue6b5"
},
{
"font_class"
:
"scan"
,
"unicode"
:
"\ue62a"
},
{
"font_class"
:
"search"
,
"unicode"
:
"\ue654"
},
{
"font_class"
:
"settings"
,
"unicode"
:
"\ue653"
},
{
"font_class"
:
"settings-filled"
,
"unicode"
:
"\ue6ce"
},
{
"font_class"
:
"shop"
,
"unicode"
:
"\ue62f"
},
{
"font_class"
:
"shop-filled"
,
"unicode"
:
"\ue6cd"
},
{
"font_class"
:
"smallcircle"
,
"unicode"
:
"\ue67c"
},
{
"font_class"
:
"smallcircle-filled"
,
"unicode"
:
"\ue665"
},
{
"font_class"
:
"sound"
,
"unicode"
:
"\ue684"
},
{
"font_class"
:
"sound-filled"
,
"unicode"
:
"\ue686"
},
{
"font_class"
:
"spinner-cycle"
,
"unicode"
:
"\ue68a"
},
{
"font_class"
:
"staff"
,
"unicode"
:
"\ue6a7"
},
{
"font_class"
:
"staff-filled"
,
"unicode"
:
"\ue6cb"
},
{
"font_class"
:
"star"
,
"unicode"
:
"\ue688"
},
{
"font_class"
:
"star-filled"
,
"unicode"
:
"\ue68f"
},
{
"font_class"
:
"starhalf"
,
"unicode"
:
"\ue683"
},
{
"font_class"
:
"trash"
,
"unicode"
:
"\ue687"
},
{
"font_class"
:
"trash-filled"
,
"unicode"
:
"\ue685"
},
{
"font_class"
:
"tune"
,
"unicode"
:
"\ue6aa"
},
{
"font_class"
:
"tune-filled"
,
"unicode"
:
"\ue6ca"
},
{
"font_class"
:
"undo"
,
"unicode"
:
"\ue64f"
},
{
"font_class"
:
"undo-filled"
,
"unicode"
:
"\ue64c"
},
{
"font_class"
:
"up"
,
"unicode"
:
"\ue6b6"
},
{
"font_class"
:
"top"
,
"unicode"
:
"\ue6b6"
},
{
"font_class"
:
"upload"
,
"unicode"
:
"\ue690"
},
{
"font_class"
:
"upload-filled"
,
"unicode"
:
"\ue68e"
},
{
"font_class"
:
"videocam"
,
"unicode"
:
"\ue68c"
},
{
"font_class"
:
"videocam-filled"
,
"unicode"
:
"\ue689"
},
{
"font_class"
:
"vip"
,
"unicode"
:
"\ue6a8"
},
{
"font_class"
:
"vip-filled"
,
"unicode"
:
"\ue6c6"
},
{
"font_class"
:
"wallet"
,
"unicode"
:
"\ue6b1"
},
{
"font_class"
:
"wallet-filled"
,
"unicode"
:
"\ue6c2"
},
{
"font_class"
:
"weibo"
,
"unicode"
:
"\ue68b"
},
{
"font_class"
:
"weixin"
,
"unicode"
:
"\ue691"
}
]
as
IconsDataItem
[]
// export const fontData = JSON.parse<IconsDataItem>(fontDataJson)
uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js
0 → 100644
View file @
59c04d86
export
const
fontData
=
[
{
"font_class"
:
"arrow-down"
,
"unicode"
:
"\ue6be"
},
{
"font_class"
:
"arrow-left"
,
"unicode"
:
"\ue6bc"
},
{
"font_class"
:
"arrow-right"
,
"unicode"
:
"\ue6bb"
},
{
"font_class"
:
"arrow-up"
,
"unicode"
:
"\ue6bd"
},
{
"font_class"
:
"auth"
,
"unicode"
:
"\ue6ab"
},
{
"font_class"
:
"auth-filled"
,
"unicode"
:
"\ue6cc"
},
{
"font_class"
:
"back"
,
"unicode"
:
"\ue6b9"
},
{
"font_class"
:
"bars"
,
"unicode"
:
"\ue627"
},
{
"font_class"
:
"calendar"
,
"unicode"
:
"\ue6a0"
},
{
"font_class"
:
"calendar-filled"
,
"unicode"
:
"\ue6c0"
},
{
"font_class"
:
"camera"
,
"unicode"
:
"\ue65a"
},
{
"font_class"
:
"camera-filled"
,
"unicode"
:
"\ue658"
},
{
"font_class"
:
"cart"
,
"unicode"
:
"\ue631"
},
{
"font_class"
:
"cart-filled"
,
"unicode"
:
"\ue6d0"
},
{
"font_class"
:
"chat"
,
"unicode"
:
"\ue65d"
},
{
"font_class"
:
"chat-filled"
,
"unicode"
:
"\ue659"
},
{
"font_class"
:
"chatboxes"
,
"unicode"
:
"\ue696"
},
{
"font_class"
:
"chatboxes-filled"
,
"unicode"
:
"\ue692"
},
{
"font_class"
:
"chatbubble"
,
"unicode"
:
"\ue697"
},
{
"font_class"
:
"chatbubble-filled"
,
"unicode"
:
"\ue694"
},
{
"font_class"
:
"checkbox"
,
"unicode"
:
"\ue62b"
},
{
"font_class"
:
"checkbox-filled"
,
"unicode"
:
"\ue62c"
},
{
"font_class"
:
"checkmarkempty"
,
"unicode"
:
"\ue65c"
},
{
"font_class"
:
"circle"
,
"unicode"
:
"\ue65b"
},
{
"font_class"
:
"circle-filled"
,
"unicode"
:
"\ue65e"
},
{
"font_class"
:
"clear"
,
"unicode"
:
"\ue66d"
},
{
"font_class"
:
"close"
,
"unicode"
:
"\ue673"
},
{
"font_class"
:
"closeempty"
,
"unicode"
:
"\ue66c"
},
{
"font_class"
:
"cloud-download"
,
"unicode"
:
"\ue647"
},
{
"font_class"
:
"cloud-download-filled"
,
"unicode"
:
"\ue646"
},
{
"font_class"
:
"cloud-upload"
,
"unicode"
:
"\ue645"
},
{
"font_class"
:
"cloud-upload-filled"
,
"unicode"
:
"\ue648"
},
{
"font_class"
:
"color"
,
"unicode"
:
"\ue6cf"
},
{
"font_class"
:
"color-filled"
,
"unicode"
:
"\ue6c9"
},
{
"font_class"
:
"compose"
,
"unicode"
:
"\ue67f"
},
{
"font_class"
:
"contact"
,
"unicode"
:
"\ue693"
},
{
"font_class"
:
"contact-filled"
,
"unicode"
:
"\ue695"
},
{
"font_class"
:
"down"
,
"unicode"
:
"\ue6b8"
},
{
"font_class"
:
"bottom"
,
"unicode"
:
"\ue6b8"
},
{
"font_class"
:
"download"
,
"unicode"
:
"\ue68d"
},
{
"font_class"
:
"download-filled"
,
"unicode"
:
"\ue681"
},
{
"font_class"
:
"email"
,
"unicode"
:
"\ue69e"
},
{
"font_class"
:
"email-filled"
,
"unicode"
:
"\ue69a"
},
{
"font_class"
:
"eye"
,
"unicode"
:
"\ue651"
},
{
"font_class"
:
"eye-filled"
,
"unicode"
:
"\ue66a"
},
{
"font_class"
:
"eye-slash"
,
"unicode"
:
"\ue6b3"
},
{
"font_class"
:
"eye-slash-filled"
,
"unicode"
:
"\ue6b4"
},
{
"font_class"
:
"fire"
,
"unicode"
:
"\ue6a1"
},
{
"font_class"
:
"fire-filled"
,
"unicode"
:
"\ue6c5"
},
{
"font_class"
:
"flag"
,
"unicode"
:
"\ue65f"
},
{
"font_class"
:
"flag-filled"
,
"unicode"
:
"\ue660"
},
{
"font_class"
:
"folder-add"
,
"unicode"
:
"\ue6a9"
},
{
"font_class"
:
"folder-add-filled"
,
"unicode"
:
"\ue6c8"
},
{
"font_class"
:
"font"
,
"unicode"
:
"\ue6a3"
},
{
"font_class"
:
"forward"
,
"unicode"
:
"\ue6ba"
},
{
"font_class"
:
"gear"
,
"unicode"
:
"\ue664"
},
{
"font_class"
:
"gear-filled"
,
"unicode"
:
"\ue661"
},
{
"font_class"
:
"gift"
,
"unicode"
:
"\ue6a4"
},
{
"font_class"
:
"gift-filled"
,
"unicode"
:
"\ue6c4"
},
{
"font_class"
:
"hand-down"
,
"unicode"
:
"\ue63d"
},
{
"font_class"
:
"hand-down-filled"
,
"unicode"
:
"\ue63c"
},
{
"font_class"
:
"hand-up"
,
"unicode"
:
"\ue63f"
},
{
"font_class"
:
"hand-up-filled"
,
"unicode"
:
"\ue63e"
},
{
"font_class"
:
"headphones"
,
"unicode"
:
"\ue630"
},
{
"font_class"
:
"heart"
,
"unicode"
:
"\ue639"
},
{
"font_class"
:
"heart-filled"
,
"unicode"
:
"\ue641"
},
{
"font_class"
:
"help"
,
"unicode"
:
"\ue679"
},
{
"font_class"
:
"help-filled"
,
"unicode"
:
"\ue674"
},
{
"font_class"
:
"home"
,
"unicode"
:
"\ue662"
},
{
"font_class"
:
"home-filled"
,
"unicode"
:
"\ue663"
},
{
"font_class"
:
"image"
,
"unicode"
:
"\ue670"
},
{
"font_class"
:
"image-filled"
,
"unicode"
:
"\ue678"
},
{
"font_class"
:
"images"
,
"unicode"
:
"\ue650"
},
{
"font_class"
:
"images-filled"
,
"unicode"
:
"\ue64b"
},
{
"font_class"
:
"info"
,
"unicode"
:
"\ue669"
},
{
"font_class"
:
"info-filled"
,
"unicode"
:
"\ue649"
},
{
"font_class"
:
"left"
,
"unicode"
:
"\ue6b7"
},
{
"font_class"
:
"link"
,
"unicode"
:
"\ue6a5"
},
{
"font_class"
:
"list"
,
"unicode"
:
"\ue644"
},
{
"font_class"
:
"location"
,
"unicode"
:
"\ue6ae"
},
{
"font_class"
:
"location-filled"
,
"unicode"
:
"\ue6af"
},
{
"font_class"
:
"locked"
,
"unicode"
:
"\ue66b"
},
{
"font_class"
:
"locked-filled"
,
"unicode"
:
"\ue668"
},
{
"font_class"
:
"loop"
,
"unicode"
:
"\ue633"
},
{
"font_class"
:
"mail-open"
,
"unicode"
:
"\ue643"
},
{
"font_class"
:
"mail-open-filled"
,
"unicode"
:
"\ue63a"
},
{
"font_class"
:
"map"
,
"unicode"
:
"\ue667"
},
{
"font_class"
:
"map-filled"
,
"unicode"
:
"\ue666"
},
{
"font_class"
:
"map-pin"
,
"unicode"
:
"\ue6ad"
},
{
"font_class"
:
"map-pin-ellipse"
,
"unicode"
:
"\ue6ac"
},
{
"font_class"
:
"medal"
,
"unicode"
:
"\ue6a2"
},
{
"font_class"
:
"medal-filled"
,
"unicode"
:
"\ue6c3"
},
{
"font_class"
:
"mic"
,
"unicode"
:
"\ue671"
},
{
"font_class"
:
"mic-filled"
,
"unicode"
:
"\ue677"
},
{
"font_class"
:
"micoff"
,
"unicode"
:
"\ue67e"
},
{
"font_class"
:
"micoff-filled"
,
"unicode"
:
"\ue6b0"
},
{
"font_class"
:
"minus"
,
"unicode"
:
"\ue66f"
},
{
"font_class"
:
"minus-filled"
,
"unicode"
:
"\ue67d"
},
{
"font_class"
:
"more"
,
"unicode"
:
"\ue64d"
},
{
"font_class"
:
"more-filled"
,
"unicode"
:
"\ue64e"
},
{
"font_class"
:
"navigate"
,
"unicode"
:
"\ue66e"
},
{
"font_class"
:
"navigate-filled"
,
"unicode"
:
"\ue67a"
},
{
"font_class"
:
"notification"
,
"unicode"
:
"\ue6a6"
},
{
"font_class"
:
"notification-filled"
,
"unicode"
:
"\ue6c1"
},
{
"font_class"
:
"paperclip"
,
"unicode"
:
"\ue652"
},
{
"font_class"
:
"paperplane"
,
"unicode"
:
"\ue672"
},
{
"font_class"
:
"paperplane-filled"
,
"unicode"
:
"\ue675"
},
{
"font_class"
:
"person"
,
"unicode"
:
"\ue699"
},
{
"font_class"
:
"person-filled"
,
"unicode"
:
"\ue69d"
},
{
"font_class"
:
"personadd"
,
"unicode"
:
"\ue69f"
},
{
"font_class"
:
"personadd-filled"
,
"unicode"
:
"\ue698"
},
{
"font_class"
:
"personadd-filled-copy"
,
"unicode"
:
"\ue6d1"
},
{
"font_class"
:
"phone"
,
"unicode"
:
"\ue69c"
},
{
"font_class"
:
"phone-filled"
,
"unicode"
:
"\ue69b"
},
{
"font_class"
:
"plus"
,
"unicode"
:
"\ue676"
},
{
"font_class"
:
"plus-filled"
,
"unicode"
:
"\ue6c7"
},
{
"font_class"
:
"plusempty"
,
"unicode"
:
"\ue67b"
},
{
"font_class"
:
"pulldown"
,
"unicode"
:
"\ue632"
},
{
"font_class"
:
"pyq"
,
"unicode"
:
"\ue682"
},
{
"font_class"
:
"qq"
,
"unicode"
:
"\ue680"
},
{
"font_class"
:
"redo"
,
"unicode"
:
"\ue64a"
},
{
"font_class"
:
"redo-filled"
,
"unicode"
:
"\ue655"
},
{
"font_class"
:
"refresh"
,
"unicode"
:
"\ue657"
},
{
"font_class"
:
"refresh-filled"
,
"unicode"
:
"\ue656"
},
{
"font_class"
:
"refreshempty"
,
"unicode"
:
"\ue6bf"
},
{
"font_class"
:
"reload"
,
"unicode"
:
"\ue6b2"
},
{
"font_class"
:
"right"
,
"unicode"
:
"\ue6b5"
},
{
"font_class"
:
"scan"
,
"unicode"
:
"\ue62a"
},
{
"font_class"
:
"search"
,
"unicode"
:
"\ue654"
},
{
"font_class"
:
"settings"
,
"unicode"
:
"\ue653"
},
{
"font_class"
:
"settings-filled"
,
"unicode"
:
"\ue6ce"
},
{
"font_class"
:
"shop"
,
"unicode"
:
"\ue62f"
},
{
"font_class"
:
"shop-filled"
,
"unicode"
:
"\ue6cd"
},
{
"font_class"
:
"smallcircle"
,
"unicode"
:
"\ue67c"
},
{
"font_class"
:
"smallcircle-filled"
,
"unicode"
:
"\ue665"
},
{
"font_class"
:
"sound"
,
"unicode"
:
"\ue684"
},
{
"font_class"
:
"sound-filled"
,
"unicode"
:
"\ue686"
},
{
"font_class"
:
"spinner-cycle"
,
"unicode"
:
"\ue68a"
},
{
"font_class"
:
"staff"
,
"unicode"
:
"\ue6a7"
},
{
"font_class"
:
"staff-filled"
,
"unicode"
:
"\ue6cb"
},
{
"font_class"
:
"star"
,
"unicode"
:
"\ue688"
},
{
"font_class"
:
"star-filled"
,
"unicode"
:
"\ue68f"
},
{
"font_class"
:
"starhalf"
,
"unicode"
:
"\ue683"
},
{
"font_class"
:
"trash"
,
"unicode"
:
"\ue687"
},
{
"font_class"
:
"trash-filled"
,
"unicode"
:
"\ue685"
},
{
"font_class"
:
"tune"
,
"unicode"
:
"\ue6aa"
},
{
"font_class"
:
"tune-filled"
,
"unicode"
:
"\ue6ca"
},
{
"font_class"
:
"undo"
,
"unicode"
:
"\ue64f"
},
{
"font_class"
:
"undo-filled"
,
"unicode"
:
"\ue64c"
},
{
"font_class"
:
"up"
,
"unicode"
:
"\ue6b6"
},
{
"font_class"
:
"top"
,
"unicode"
:
"\ue6b6"
},
{
"font_class"
:
"upload"
,
"unicode"
:
"\ue690"
},
{
"font_class"
:
"upload-filled"
,
"unicode"
:
"\ue68e"
},
{
"font_class"
:
"videocam"
,
"unicode"
:
"\ue68c"
},
{
"font_class"
:
"videocam-filled"
,
"unicode"
:
"\ue689"
},
{
"font_class"
:
"vip"
,
"unicode"
:
"\ue6a8"
},
{
"font_class"
:
"vip-filled"
,
"unicode"
:
"\ue6c6"
},
{
"font_class"
:
"wallet"
,
"unicode"
:
"\ue6b1"
},
{
"font_class"
:
"wallet-filled"
,
"unicode"
:
"\ue6c2"
},
{
"font_class"
:
"weibo"
,
"unicode"
:
"\ue68b"
},
{
"font_class"
:
"weixin"
,
"unicode"
:
"\ue691"
}
]
// export const fontData = JSON.parse<IconsDataItem>(fontDataJson)
uni_modules/uni-icons/package.json
View file @
59c04d86
{
"id"
:
"uni-icons"
,
"displayName"
:
"uni-icons 图标"
,
"version"
:
"
1.3.5
"
,
"version"
:
"
2.0.10
"
,
"description"
:
"图标组件,用于展示移动端常见的图标,可自定义颜色、大小。"
,
"keywords"
:
[
"uni-ui"
,
...
...
@@ -16,11 +16,7 @@
"directories"
:
{
"example"
:
"../../temps/example_temps"
},
"dcloudext"
:
{
"category"
:
[
"前端组件"
,
"通用组件"
],
"dcloudext"
:
{
"sale"
:
{
"regular"
:
{
"price"
:
"0.00"
...
...
@@ -37,7 +33,8 @@
"data"
:
"无"
,
"permissions"
:
"无"
},
"npmurl"
:
"https://www.npmjs.com/package/@dcloudio/uni-ui"
"npmurl"
:
"https://www.npmjs.com/package/@dcloudio/uni-ui"
,
"type"
:
"component-vue"
},
"uni_modules"
:
{
"dependencies"
:
[
"uni-scss"
],
...
...
@@ -45,12 +42,14 @@
"platforms"
:
{
"cloud"
:
{
"tcb"
:
"y"
,
"aliyun"
:
"y"
"aliyun"
:
"y"
,
"alipay"
:
"n"
},
"client"
:
{
"App"
:
{
"app-vue"
:
"y"
,
"app-nvue"
:
"y"
"app-nvue"
:
"y"
,
"app-uvue"
:
"y"
},
"H5-mobile"
:
{
"Safari"
:
"y"
,
...
...
@@ -70,11 +69,15 @@
"阿里"
:
"y"
,
"百度"
:
"y"
,
"字节跳动"
:
"y"
,
"QQ"
:
"y"
"QQ"
:
"y"
,
"钉钉"
:
"y"
,
"快手"
:
"y"
,
"飞书"
:
"y"
,
"京东"
:
"y"
},
"快应用"
:
{
"华为"
:
"
u
"
,
"联盟"
:
"
u
"
"华为"
:
"
y
"
,
"联盟"
:
"
y
"
},
"Vue"
:
{
"vue2"
:
"y"
,
...
...
@@ -83,4 +86,4 @@
}
}
}
}
\ No newline at end of file
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment