Commit 59c04d86 by LJM

add

parent b038ec19
...@@ -97,12 +97,7 @@ ...@@ -97,12 +97,7 @@
<view class="input-wrap column" style="margin-top: 20rpx;"> <view class="input-wrap column" style="margin-top: 20rpx;">
<view class="label-title"><text style="color: red;">*</text>到货时间:</view> <view class="label-title"><text style="color: red;">*</text>到货时间:</view>
<view class="select-box row"> <view class="select-box row">
<picker mode="date" :value="formParams.register_time" @change="bindDateChange($event,1)" style="width: 100%;"> <uni-datetime-picker v-model="formParams.register_time" type="datetime" :clear-icon="false" />
<view class="row verCenter bothSide wrap">
<view class="uni-input">{{ formParams.register_time }}</view>
<view class="uni-arrow"></view>
</view>
</picker>
</view> </view>
</view> </view>
<view class="input-wrap column" style="margin-top: 20rpx;"> <view class="input-wrap column" style="margin-top: 20rpx;">
...@@ -217,7 +212,7 @@ ...@@ -217,7 +212,7 @@
curr: 0, curr: 0,
formParams: { formParams: {
warehouse_id: '', warehouse_id: '',
register_time: this.getCurrentDate(), register_time: this.getCurrentDateTime(),
register_type: 1, register_type: 1,
logistics_company: '', logistics_company: '',
logistics_sn: '', logistics_sn: '',
...@@ -256,14 +251,18 @@ ...@@ -256,14 +251,18 @@
}, },
methods: { methods: {
/** /**
* 获取日期 * 获取日期 时分秒
*/ */
getCurrentDate() { getCurrentDateTime() {
const today = new Date(); const now = new Date();
const year = today.getFullYear(); const year = now.getFullYear();
const month = String(today.getMonth() + 1).padStart(2, '0'); const month = String(now.getMonth() + 1).padStart(2, '0');
const day = String(today.getDate()).padStart(2, '0'); const day = String(now.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`; 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) { bindDateChange(e, type) {
if (type == 1) { if (type == 1) {
...@@ -665,4 +664,17 @@ ...@@ -665,4 +664,17 @@
<style scoped lang="scss"> <style scoped lang="scss">
@import '@/assets/css/arrivalRegister/splitGoods.scss'; @import '@/assets/css/arrivalRegister/splitGoods.scss';
::v-deep {
.uni-date-x .icon-calendar {
display: none !important;
}
.uni-date__x-input {
padding-left: 15rpx;
font-size: 17rpx;
height: 40rpx;
line-height: 40rpx;
}
}
</style> </style>
\ No newline at end of file
## 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) ## 2.2.24(2023-06-02)
- 修复 部分情况修改时间,开始、结束时间显示异常的Bug [详情](https://ask.dcloud.net.cn/question/171146) - 修复 部分情况修改时间,开始、结束时间显示异常的Bug [详情](https://ask.dcloud.net.cn/question/171146)
- 优化 当前月可以选择上月、下月的日期 - 优化 当前月可以选择上月、下月的日期的Bug
## 2.2.23(2023-05-02) ## 2.2.23(2023-05-02)
- 修复 部分情况修改时间,开始时间未更新 [详情](https://github.com/dcloudio/uni-ui/issues/737) - 修复 部分情况修改时间,开始时间未更新的Bug [详情](https://github.com/dcloudio/uni-ui/issues/737)
- 修复 部分平台及设备第一次点击无法显示弹框 - 修复 部分平台及设备第一次点击无法显示弹框的Bug
- 修复 ios 日期格式未补零显示及使用异常 [详情](https://ask.dcloud.net.cn/question/162979) - 修复 ios 日期格式未补零显示及使用异常的Bug [详情](https://ask.dcloud.net.cn/question/162979)
## 2.2.22(2023-03-30) ## 2.2.22(2023-03-30)
- 修复 日历 picker 修改年月后,自动选中当月1日 [详情](https://ask.dcloud.net.cn/question/165937) - 修复 日历 picker 修改年月后,自动选中当月1日的Bug [详情](https://ask.dcloud.net.cn/question/165937)
- 修复 小程序端 低版本 ios NaN [详情](https://ask.dcloud.net.cn/question/162979) - 修复 小程序端 低版本 ios NaN的Bug [详情](https://ask.dcloud.net.cn/question/162979)
## 2.2.21(2023-02-20) ## 2.2.21(2023-02-20)
- 修复 firefox 浏览器显示区域点击无法拉起日历弹框的Bug [详情](https://ask.dcloud.net.cn/question/163362) - 修复 firefox 浏览器显示区域点击无法拉起日历弹框的Bug [详情](https://ask.dcloud.net.cn/question/163362)
## 2.2.20(2023-02-17) ## 2.2.20(2023-02-17)
- 优化 值为空依然选中当天问题 - 优化 值为空依然选中当天问题
- 优化 提供 default-value 属性支持配置选择器打开时默认显示的时间 - 优化 提供 default-value 属性支持配置选择器打开时默认显示的时间
- 优化 非范围选择未选择日期时间,点击确认按钮选中当前日期时间 - 优化 非范围选择未选择日期时间,点击确认按钮选中当前日期时间
- 优化 字节小程序日期时间范围选择,底部日期换行问题 - 优化 字节小程序日期时间范围选择,底部日期换行的Bug
## 2.2.19(2023-02-09) ## 2.2.19(2023-02-09)
- 修复 2.2.18 引起范围选择配置 end 选择无效的Bug [详情](https://github.com/dcloudio/uni-ui/issues/686) - 修复 2.2.18 引起范围选择配置 end 选择无效的Bug [详情](https://github.com/dcloudio/uni-ui/issues/686)
## 2.2.18(2023-02-08) ## 2.2.18(2023-02-08)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<view class="uni-calendar__header-btn uni-calendar--right"></view> <view class="uni-calendar__header-btn uni-calendar--right"></view>
</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" data-id="close"></view>
<view class="dialog-close-plus dialog-close-rotate" data-id="close"></view> <view class="dialog-close-plus dialog-close-rotate" data-id="close"></view>
</view> </view>
...@@ -58,9 +58,8 @@ ...@@ -58,9 +58,8 @@
<view class="uni-calendar__weeks" v-for="(item,weekIndex) in weeks" :key="weekIndex"> <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"> <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" <calendar-item class="uni-calendar-item--hook" :weeks="weeks" :calendar="calendar" :selected="selected"
:selected="selected" :checkHover="range" @change="choiceDate" :checkHover="range" @change="choiceDate" @handleMouse="handleMouse">
@handleMouse="handleMouse">
</calendar-item> </calendar-item>
</view> </view>
</view> </view>
...@@ -101,13 +100,21 @@ ...@@ -101,13 +100,21 @@
</template> </template>
<script> <script>
import { Calendar, getDate, getTime } from './util.js'; import {
Calendar,
getDate,
getTime
} from './util.js';
import calendarItem from './calendar-item.vue' import calendarItem from './calendar-item.vue'
import timePicker from './time-picker.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 i18nMessages from './i18n/index.js'
const { t } = initVueI18n(i18nMessages) const {
t
} = initVueI18n(i18nMessages)
/** /**
* Calendar 日历 * Calendar 日历
...@@ -134,6 +141,15 @@ ...@@ -134,6 +141,15 @@
calendarItem, calendarItem,
timePicker timePicker
}, },
options: {
// #ifdef MP-TOUTIAO
virtualHost: false,
// #endif
// #ifndef MP-TOUTIAO
virtualHost: true
// #endif
},
props: { props: {
date: { date: {
type: String, type: String,
...@@ -163,8 +179,8 @@ ...@@ -163,8 +179,8 @@
type: String, type: String,
default: '' default: ''
}, },
startPlaceholder: { startPlaceholder: {
type: String, type: String,
default: '' default: ''
}, },
endPlaceholder: { endPlaceholder: {
...@@ -210,10 +226,10 @@ ...@@ -210,10 +226,10 @@
} }
} }
}, },
defaultValue: { defaultValue: {
type: [String, Object, Array], type: [String, Object, Array],
default: '' default: ''
} }
}, },
data() { data() {
return { return {
...@@ -260,7 +276,7 @@ ...@@ -260,7 +276,7 @@
}, },
startDate(val) { startDate(val) {
// 字节小程序 watch 早于 created // 字节小程序 watch 早于 created
if(!this.cale){ if (!this.cale) {
return return
} }
this.cale.setStartDate(val) this.cale.setStartDate(val)
...@@ -269,7 +285,7 @@ ...@@ -269,7 +285,7 @@
}, },
endDate(val) { endDate(val) {
// 字节小程序 watch 早于 created // 字节小程序 watch 早于 created
if(!this.cale){ if (!this.cale) {
return return
} }
this.cale.setEndDate(val) this.cale.setEndDate(val)
...@@ -278,7 +294,7 @@ ...@@ -278,7 +294,7 @@
}, },
selected(newVal) { selected(newVal) {
// 字节小程序 watch 早于 created // 字节小程序 watch 早于 created
if(!this.cale){ if (!this.cale) {
return return
} }
this.cale.setSelectInfo(this.nowDate.fullDate, newVal) this.cale.setSelectInfo(this.nowDate.fullDate, newVal)
...@@ -309,16 +325,16 @@ ...@@ -309,16 +325,16 @@
this.cale.lastHover = false this.cale.lastHover = false
} }
} else { } else {
// 字节小程序 watch 早于 created // 字节小程序 watch 早于 created
if(!this.cale){ if (!this.cale) {
return return
} }
this.cale.setDefaultMultiple(before, after) this.cale.setDefaultMultiple(before, after)
if (which === 'left' && before) { if (which === 'left' && before) {
this.setDate(before) this.setDate(before)
this.weeks = this.cale.weeks this.weeks = this.cale.weeks
} else if(after) { } else if (after) {
this.setDate(after) this.setDate(after)
this.weeks = this.cale.weeks this.weeks = this.cale.weeks
} }
...@@ -423,7 +439,7 @@ ...@@ -423,7 +439,7 @@
}, },
// 蒙版点击事件 // 蒙版点击事件
maskClick() { maskClick() {
this.close() this.close()
this.$emit('maskClose') this.$emit('maskClose')
}, },
...@@ -454,36 +470,38 @@ ...@@ -454,36 +470,38 @@
* @param {Object} date * @param {Object} date
*/ */
init(date) { init(date) {
// 字节小程序 watch 早于 created // 字节小程序 watch 早于 created
if(!this.cale){ if (!this.cale) {
return return
} }
this.cale.setDate(date || new Date()) this.cale.setDate(date || new Date())
this.weeks = this.cale.weeks this.weeks = this.cale.weeks
this.nowDate = this.cale.getInfo(date) this.nowDate = this.cale.getInfo(date)
this.calendar = {...this.nowDate} this.calendar = {
if(!date){ ...this.nowDate
// 优化date为空默认不选中今天 }
this.calendar.fullDate = '' if (!date) {
if(this.defaultValue && !this.range){ // 优化date为空默认不选中今天
// 暂时只支持移动端非范围选择 this.calendar.fullDate = ''
const defaultDate = new Date(this.defaultValue) if (this.defaultValue && !this.range) {
const fullDate = getDate(defaultDate) // 暂时只支持移动端非范围选择
const year = defaultDate.getFullYear() const defaultDate = new Date(this.defaultValue)
const month = defaultDate.getMonth()+1 const fullDate = getDate(defaultDate)
const date = defaultDate.getDate() const year = defaultDate.getFullYear()
const day = defaultDate.getDay() const month = defaultDate.getMonth() + 1
this.calendar = { const date = defaultDate.getDate()
fullDate, const day = defaultDate.getDay()
year, this.calendar = {
month, fullDate,
date, year,
day month,
}, date,
this.tempSingleDate = fullDate day
this.time = getTime(defaultDate, this.hideSecond) },
} this.tempSingleDate = fullDate
} this.time = getTime(defaultDate, this.hideSecond)
}
}
}, },
/** /**
* 打开日历弹窗 * 打开日历弹窗
...@@ -523,8 +541,8 @@ ...@@ -523,8 +541,8 @@
/** /**
* 变化触发 * 变化触发
*/ */
change() { change(isSingleChange) {
if (!this.insert) return if (!this.insert && !isSingleChange) return
this.setEmit('change') this.setEmit('change')
}, },
/** /**
...@@ -545,13 +563,13 @@ ...@@ -545,13 +563,13 @@
* @param {Object} name * @param {Object} name
*/ */
setEmit(name) { setEmit(name) {
if(!this.range){ if (!this.range) {
if(!this.calendar.fullDate){ if (!this.calendar.fullDate) {
this.calendar = this.cale.getInfo(new Date()) this.calendar = this.cale.getInfo(new Date())
this.tempSingleDate = this.calendar.fullDate this.tempSingleDate = this.calendar.fullDate
} }
if(this.hasTime && !this.time) { if (this.hasTime && !this.time) {
this.time = getTime(new Date(), this.hideSecond) this.time = getTime(new Date(), this.hideSecond)
} }
} }
let { let {
...@@ -586,7 +604,6 @@ ...@@ -586,7 +604,6 @@
this.tempSingleDate = this.calendar.fullDate this.tempSingleDate = this.calendar.fullDate
const beforeDate = new Date(this.cale.multipleStatus.before).getTime() const beforeDate = new Date(this.cale.multipleStatus.before).getTime()
const afterDate = new Date(this.cale.multipleStatus.after).getTime() const afterDate = new Date(this.cale.multipleStatus.after).getTime()
// 如果先选择结束日期,后选择开始日期,需要交换
if (beforeDate > afterDate && afterDate) { if (beforeDate > afterDate && afterDate) {
this.tempRange.before = this.cale.multipleStatus.after this.tempRange.before = this.cale.multipleStatus.after
this.tempRange.after = this.cale.multipleStatus.before this.tempRange.after = this.cale.multipleStatus.before
...@@ -594,19 +611,19 @@ ...@@ -594,19 +611,19 @@
this.tempRange.before = this.cale.multipleStatus.before this.tempRange.before = this.cale.multipleStatus.before
this.tempRange.after = this.cale.multipleStatus.after this.tempRange.after = this.cale.multipleStatus.after
} }
this.change() this.change(true)
}, },
changeMonth(type) { changeMonth(type) {
let newDate let newDate
if(type === 'pre') { if (type === 'pre') {
newDate = this.cale.getPreMonthObj(this.nowDate.fullDate).fullDate newDate = this.cale.getPreMonthObj(this.nowDate.fullDate).fullDate
} else if(type === 'next') { } else if (type === 'next') {
newDate = this.cale.getNextMonthObj(this.nowDate.fullDate).fullDate newDate = this.cale.getNextMonthObj(this.nowDate.fullDate).fullDate
} }
this.setDate(newDate) this.setDate(newDate)
this.monthSwitch() this.monthSwitch()
}, },
/** /**
* 设置日期 * 设置日期
* @param {Object} date * @param {Object} date
...@@ -620,7 +637,7 @@ ...@@ -620,7 +637,7 @@
} }
</script> </script>
<style lang="scss" > <style lang="scss">
$uni-primary: #007aff !default; $uni-primary: #007aff !default;
.uni-calendar { .uni-calendar {
...@@ -856,17 +873,17 @@ ...@@ -856,17 +873,17 @@
.uni-date-changed--time-end { .uni-date-changed--time-end {
/* #ifndef APP-NVUE */ /* #ifndef APP-NVUE */
display: flex; display: flex;
/* #endif */ /* #endif */
align-items: center; align-items: center;
} }
.uni-date-changed--time-date { .uni-date-changed--time-date {
color: #999; color: #999;
line-height: 50px; line-height: 50px;
/* #ifdef MP-TOUTIAO */ /* #ifdef MP-TOUTIAO */
font-size: 16px; font-size: 16px;
/* #endif */ /* #endif */
margin-right: 5px; margin-right: 5px;
// opacity: 0.6; // opacity: 0.6;
} }
...@@ -925,5 +942,6 @@ ...@@ -925,5 +942,6 @@
.uni-datetime-picker--btn:active { .uni-datetime-picker--btn:active {
opacity: 0.7; opacity: 0.7;
} }
/* #endif */ /* #endif */
</style> </style>
...@@ -81,10 +81,16 @@ ...@@ -81,10 +81,16 @@
</template> </template>
<script> <script>
import { initVueI18n } from '@dcloudio/uni-i18n' import {
initVueI18n
} from '@dcloudio/uni-i18n'
import i18nMessages from './i18n/index.js' import i18nMessages from './i18n/index.js'
const { t } = initVueI18n(i18nMessages) const {
import { fixIosDateFormat } from './util' t
} = initVueI18n(i18nMessages)
import {
fixIosDateFormat
} from './util'
/** /**
* DatetimePicker 时间选择器 * DatetimePicker 时间选择器
...@@ -134,6 +140,14 @@ ...@@ -134,6 +140,14 @@
endSecond: 59, endSecond: 59,
} }
}, },
options: {
// #ifdef MP-TOUTIAO
virtualHost: false,
// #endif
// #ifndef MP-TOUTIAO
virtualHost: true
// #endif
},
props: { props: {
type: { type: {
type: String, type: String,
...@@ -176,11 +190,11 @@ ...@@ -176,11 +190,11 @@
// #ifndef VUE3 // #ifndef VUE3
value: { value: {
handler(newVal) { handler(newVal) {
if (newVal) { if (newVal) {
this.parseValue(fixIosDateFormat(newVal)) this.parseValue(fixIosDateFormat(newVal))
this.initTime(false) this.initTime(false)
} else { } else {
this.time = '' this.time = ''
this.parseValue(Date.now()) this.parseValue(Date.now())
} }
}, },
...@@ -189,8 +203,8 @@ ...@@ -189,8 +203,8 @@
// #endif // #endif
// #ifdef VUE3 // #ifdef VUE3
modelValue: { modelValue: {
handler(newVal) { handler(newVal) {
if (newVal) { if (newVal) {
this.parseValue(fixIosDateFormat(newVal)) this.parseValue(fixIosDateFormat(newVal))
this.initTime(false) this.initTime(false)
} else { } else {
...@@ -649,14 +663,6 @@ ...@@ -649,14 +663,6 @@
return new Date(year, month, 0).getDate(); return new Date(year, month, 0).getDate();
}, },
//兼容 iOS、safari 日期格式
fixIosDateFormat(value) {
if (typeof value === 'string') {
value = value.replace(/-/g, '/')
}
return value
},
/** /**
* 生成时间戳 * 生成时间戳
* @param {Object} time * @param {Object} time
......
{ {
"id": "uni-datetime-picker", "id": "uni-datetime-picker",
"displayName": "uni-datetime-picker 日期选择器", "displayName": "uni-datetime-picker 日期选择器",
"version": "2.2.24", "version": "2.2.34",
"description": "uni-datetime-picker 日期时间选择器,支持日历,支持范围选择", "description": "uni-datetime-picker 日期时间选择器,支持日历,支持范围选择",
"keywords": [ "keywords": [
"uni-datetime-picker", "uni-datetime-picker",
...@@ -46,7 +46,8 @@ ...@@ -46,7 +46,8 @@
"platforms": { "platforms": {
"cloud": { "cloud": {
"tcb": "y", "tcb": "y",
"aliyun": "y" "aliyun": "y",
"alipay": "n"
}, },
"client": { "client": {
"App": { "App": {
......
## 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) ## 1.3.5(2022-01-24)
- 优化 size 属性可以传入不带单位的字符串数值 - 优化 size 属性可以传入不带单位的字符串数值
## 1.3.4(2022-01-24) ## 1.3.4(2022-01-24)
......
<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: 18px;
font-style: normal;
color: #333;
}
</style>
<template> <template>
<!-- #ifdef APP-NVUE --> <!-- #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 --> <!-- #endif -->
<!-- #ifndef APP-NVUE --> <!-- #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 --> <!-- #endif -->
</template> </template>
<script> <script>
import icons from './icons.js'; import { fontData } from './uniicons_file_vue.js';
const getVal = (val) => { const getVal = (val) => {
const reg = /^[0-9]*$/g 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 // #ifdef APP-NVUE
var domModule = weex.requireModule('dom'); var domModule = weex.requireModule('dom');
import iconUrl from './uniicons.ttf' import iconUrl from './uniicons.ttf'
domModule.addRule('fontFace', { domModule.addRule('fontFace', {
'fontFamily': "uniicons", 'fontFamily': "uniicons",
'src': "url('"+iconUrl+"')" 'src': "url('" + iconUrl + "')"
}); });
// #endif // #endif
...@@ -34,7 +38,7 @@ ...@@ -34,7 +38,7 @@
*/ */
export default { export default {
name: 'UniIcons', name: 'UniIcons',
emits:['click'], emits: ['click'],
props: { props: {
type: { type: {
type: String, type: String,
...@@ -48,26 +52,36 @@ ...@@ -48,26 +52,36 @@
type: [Number, String], type: [Number, String],
default: 16 default: 16
}, },
customPrefix:{ customPrefix: {
type: String,
default: ''
},
fontFamily: {
type: String, type: String,
default: '' default: ''
} }
}, },
data() { data() {
return { return {
icons: icons.glyphs icons: fontData
} }
}, },
computed:{ computed: {
unicode(){ unicode() {
let code = this.icons.find(v=>v.font_class === this.type) let code = this.icons.find(v => v.font_class === this.type)
if(code){ if (code) {
return unescape(`%u${code.unicode}`) return code.unicode
} }
return '' return ''
}, },
iconSize(){ iconSize() {
return getVal(this.size) 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: { methods: {
...@@ -81,9 +95,10 @@ ...@@ -81,9 +95,10 @@
<style lang="scss"> <style lang="scss">
/* #ifndef APP-NVUE */ /* #ifndef APP-NVUE */
@import './uniicons.css'; @import './uniicons.css';
@font-face { @font-face {
font-family: uniicons; font-family: uniicons;
src: url('./uniicons.ttf') format('truetype'); src: url('./uniicons.ttf');
} }
/* #endif */ /* #endif */
...@@ -92,5 +107,4 @@ ...@@ -92,5 +107,4 @@
text-decoration: none; text-decoration: none;
text-align: center; text-align: center;
} }
</style> </style>
.uniui-cart-filled:before {
content: "\e6d0";
}
.uniui-gift-filled:before {
content: "\e6c4";
}
.uniui-color:before { .uniui-color:before {
content: "\e6cf"; content: "\e6cf";
} }
...@@ -58,10 +67,6 @@ ...@@ -58,10 +67,6 @@
content: "\e6c3"; content: "\e6c3";
} }
.uniui-gift-filled:before {
content: "\e6c4";
}
.uniui-fire-filled:before { .uniui-fire-filled:before {
content: "\e6c5"; content: "\e6c5";
} }
...@@ -82,6 +87,18 @@ ...@@ -82,6 +87,18 @@
content: "\e698"; content: "\e698";
} }
.uniui-arrowthinleft:before {
content: "\e6d2";
}
.uniui-arrowthinup:before {
content: "\e6d3";
}
.uniui-arrowthindown:before {
content: "\e6d4";
}
.uniui-back:before { .uniui-back:before {
content: "\e6b9"; content: "\e6b9";
} }
...@@ -94,55 +111,43 @@ ...@@ -94,55 +111,43 @@
content: "\e6bb"; content: "\e6bb";
} }
.uniui-arrowthinright:before {
content: "\e6bb";
}
.uniui-arrow-left:before { .uniui-arrow-left:before {
content: "\e6bc"; content: "\e6bc";
} }
.uniui-arrowthinleft:before {
content: "\e6bc";
}
.uniui-arrow-up:before { .uniui-arrow-up:before {
content: "\e6bd"; content: "\e6bd";
} }
.uniui-arrowthinup:before {
content: "\e6bd";
}
.uniui-arrow-down:before { .uniui-arrow-down:before {
content: "\e6be"; content: "\e6be";
} }
.uniui-arrowthindown:before { .uniui-arrowthinright:before {
content: "\e6be"; content: "\e6d1";
} }
.uniui-bottom:before { .uniui-down:before {
content: "\e6b8"; content: "\e6b8";
} }
.uniui-arrowdown:before { .uniui-bottom:before {
content: "\e6b8"; content: "\e6b8";
} }
.uniui-right:before { .uniui-arrowright:before {
content: "\e6b5"; content: "\e6d5";
} }
.uniui-arrowright:before { .uniui-right:before {
content: "\e6b5"; content: "\e6b5";
} }
.uniui-top:before { .uniui-up:before {
content: "\e6b6"; content: "\e6b6";
} }
.uniui-arrowup:before { .uniui-top:before {
content: "\e6b6"; content: "\e6b6";
} }
...@@ -150,8 +155,8 @@ ...@@ -150,8 +155,8 @@
content: "\e6b7"; content: "\e6b7";
} }
.uniui-arrowleft:before { .uniui-arrowup:before {
content: "\e6b7"; content: "\e6d6";
} }
.uniui-eye:before { .uniui-eye:before {
...@@ -638,10 +643,6 @@ ...@@ -638,10 +643,6 @@
content: "\e627"; content: "\e627";
} }
.uniui-cart-filled:before {
content: "\e629";
}
.uniui-checkbox:before { .uniui-checkbox:before {
content: "\e62b"; content: "\e62b";
} }
......
{ {
"id": "uni-icons", "id": "uni-icons",
"displayName": "uni-icons 图标", "displayName": "uni-icons 图标",
"version": "1.3.5", "version": "2.0.10",
"description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。", "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。",
"keywords": [ "keywords": [
"uni-ui", "uni-ui",
...@@ -16,11 +16,7 @@ ...@@ -16,11 +16,7 @@
"directories": { "directories": {
"example": "../../temps/example_temps" "example": "../../temps/example_temps"
}, },
"dcloudext": { "dcloudext": {
"category": [
"前端组件",
"通用组件"
],
"sale": { "sale": {
"regular": { "regular": {
"price": "0.00" "price": "0.00"
...@@ -37,7 +33,8 @@ ...@@ -37,7 +33,8 @@
"data": "无", "data": "无",
"permissions": "无" "permissions": "无"
}, },
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
"type": "component-vue"
}, },
"uni_modules": { "uni_modules": {
"dependencies": ["uni-scss"], "dependencies": ["uni-scss"],
...@@ -45,12 +42,14 @@ ...@@ -45,12 +42,14 @@
"platforms": { "platforms": {
"cloud": { "cloud": {
"tcb": "y", "tcb": "y",
"aliyun": "y" "aliyun": "y",
"alipay": "n"
}, },
"client": { "client": {
"App": { "App": {
"app-vue": "y", "app-vue": "y",
"app-nvue": "y" "app-nvue": "y",
"app-uvue": "y"
}, },
"H5-mobile": { "H5-mobile": {
"Safari": "y", "Safari": "y",
...@@ -70,11 +69,15 @@ ...@@ -70,11 +69,15 @@
"阿里": "y", "阿里": "y",
"百度": "y", "百度": "y",
"字节跳动": "y", "字节跳动": "y",
"QQ": "y" "QQ": "y",
"钉钉": "y",
"快手": "y",
"飞书": "y",
"京东": "y"
}, },
"快应用": { "快应用": {
"华为": "u", "华为": "y",
"联盟": "u" "联盟": "y"
}, },
"Vue": { "Vue": {
"vue2": "y", "vue2": "y",
...@@ -83,4 +86,4 @@ ...@@ -83,4 +86,4 @@
} }
} }
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment