bi-eleme 2.1.2 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/date-picker.js +66 -41
- package/lib/element-ui.common.js +77 -52
- package/lib/index.js +1 -1
- package/lib/time-picker.js +4 -2
- package/lib/time-select.js +4 -2
- package/lib/utils/date-util.js +10 -1
- package/package.json +1 -1
- package/packages/date-picker/src/basic/date-table.vue +10 -5
- package/packages/date-picker/src/basic/month-table.vue +9 -6
- package/packages/date-picker/src/basic/year-table.vue +6 -2
- package/packages/date-picker/src/panel/date.vue +4 -0
- package/packages/date-picker/src/picker.vue +2 -0
- package/src/index.js +1 -1
- package/src/utils/date-util.js +7 -0
package/lib/time-picker.js
CHANGED
|
@@ -631,7 +631,7 @@ var component = Object(componentNormalizer["a" /* default */])(
|
|
|
631
631
|
|
|
632
632
|
"use strict";
|
|
633
633
|
|
|
634
|
-
// CONCATENATED MODULE: ./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=template&id=
|
|
634
|
+
// CONCATENATED MODULE: ./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=template&id=8f8c7f3a
|
|
635
635
|
var render = function () {
|
|
636
636
|
var _vm = this
|
|
637
637
|
var _h = _vm.$createElement
|
|
@@ -809,7 +809,7 @@ var staticRenderFns = []
|
|
|
809
809
|
render._withStripped = true
|
|
810
810
|
|
|
811
811
|
|
|
812
|
-
// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=template&id=
|
|
812
|
+
// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=template&id=8f8c7f3a
|
|
813
813
|
|
|
814
814
|
// EXTERNAL MODULE: external "vue"
|
|
815
815
|
var external_vue_ = __webpack_require__(7);
|
|
@@ -1228,6 +1228,7 @@ var validator = function validator(val) {
|
|
|
1228
1228
|
validator: validator
|
|
1229
1229
|
},
|
|
1230
1230
|
popperClass: String,
|
|
1231
|
+
utc: Number,
|
|
1231
1232
|
editable: {
|
|
1232
1233
|
type: Boolean,
|
|
1233
1234
|
default: true
|
|
@@ -1667,6 +1668,7 @@ var validator = function validator(val) {
|
|
|
1667
1668
|
this.picker.defaultValue = this.defaultValue;
|
|
1668
1669
|
this.picker.defaultTime = this.defaultTime;
|
|
1669
1670
|
this.picker.popperClass = this.popperClass;
|
|
1671
|
+
this.picker.utc = this.utc;
|
|
1670
1672
|
this.popperElm = this.picker.$el;
|
|
1671
1673
|
this.picker.width = this.reference.getBoundingClientRect().width;
|
|
1672
1674
|
this.picker.showTime = this.type === 'datetime' || this.type === 'datetimerange';
|
package/lib/time-select.js
CHANGED
|
@@ -232,7 +232,7 @@ module.exports = require("bi-eleme/lib/utils/scroll-into-view");
|
|
|
232
232
|
|
|
233
233
|
"use strict";
|
|
234
234
|
|
|
235
|
-
// CONCATENATED MODULE: ./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=template&id=
|
|
235
|
+
// CONCATENATED MODULE: ./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=template&id=8f8c7f3a
|
|
236
236
|
var render = function () {
|
|
237
237
|
var _vm = this
|
|
238
238
|
var _h = _vm.$createElement
|
|
@@ -410,7 +410,7 @@ var staticRenderFns = []
|
|
|
410
410
|
render._withStripped = true
|
|
411
411
|
|
|
412
412
|
|
|
413
|
-
// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=template&id=
|
|
413
|
+
// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=template&id=8f8c7f3a
|
|
414
414
|
|
|
415
415
|
// EXTERNAL MODULE: external "vue"
|
|
416
416
|
var external_vue_ = __webpack_require__(7);
|
|
@@ -829,6 +829,7 @@ var validator = function validator(val) {
|
|
|
829
829
|
validator: validator
|
|
830
830
|
},
|
|
831
831
|
popperClass: String,
|
|
832
|
+
utc: Number,
|
|
832
833
|
editable: {
|
|
833
834
|
type: Boolean,
|
|
834
835
|
default: true
|
|
@@ -1268,6 +1269,7 @@ var validator = function validator(val) {
|
|
|
1268
1269
|
this.picker.defaultValue = this.defaultValue;
|
|
1269
1270
|
this.picker.defaultTime = this.defaultTime;
|
|
1270
1271
|
this.picker.popperClass = this.popperClass;
|
|
1272
|
+
this.picker.utc = this.utc;
|
|
1271
1273
|
this.popperElm = this.picker.$el;
|
|
1272
1274
|
this.picker.width = this.reference.getBoundingClientRect().width;
|
|
1273
1275
|
this.picker.showTime = this.type === 'datetime' || this.type === 'datetimerange';
|
package/lib/utils/date-util.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.validateRangeInOneMonth = exports.extractTimeFormat = exports.extractDateFormat = exports.nextYear = exports.prevYear = exports.nextMonth = exports.prevMonth = exports.changeYearMonthAndClampDate = exports.timeWithinRange = exports.limitTimeRange = exports.clearMilliseconds = exports.clearTime = exports.modifyWithTimeString = exports.modifyTime = exports.modifyDate = exports.range = exports.getRangeMinutes = exports.getMonthDays = exports.getPrevMonthLastDays = exports.getRangeHours = exports.getWeekNumber = exports.getStartDateOfMonth = exports.nextDate = exports.prevDate = exports.getFirstDayOfMonth = exports.getDayCountOfYear = exports.getDayCountOfMonth = exports.parseDate = exports.formatDate = exports.isDateObject = exports.isDate = exports.toDate = exports.getI18nSettings = undefined;
|
|
4
|
+
exports.validateRangeInOneMonth = exports.extractTimeFormat = exports.extractDateFormat = exports.nextYear = exports.prevYear = exports.nextMonth = exports.prevMonth = exports.changeYearMonthAndClampDate = exports.timeWithinRange = exports.limitTimeRange = exports.clearMilliseconds = exports.getTimestampInTimezone = exports.clearTime = exports.modifyWithTimeString = exports.modifyTime = exports.modifyDate = exports.range = exports.getRangeMinutes = exports.getMonthDays = exports.getPrevMonthLastDays = exports.getRangeHours = exports.getWeekNumber = exports.getStartDateOfMonth = exports.nextDate = exports.prevDate = exports.getFirstDayOfMonth = exports.getDayCountOfYear = exports.getDayCountOfMonth = exports.parseDate = exports.formatDate = exports.isDateObject = exports.isDate = exports.toDate = exports.getI18nSettings = undefined;
|
|
5
5
|
|
|
6
6
|
var _date = require('bi-eleme/lib/utils/date');
|
|
7
7
|
|
|
@@ -222,6 +222,15 @@ var clearTime = exports.clearTime = function clearTime(date) {
|
|
|
222
222
|
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
223
223
|
};
|
|
224
224
|
|
|
225
|
+
var getTimestampInTimezone = exports.getTimestampInTimezone = function getTimestampInTimezone(date) {
|
|
226
|
+
var timezoneOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 8;
|
|
227
|
+
|
|
228
|
+
// 将日期转换为指定时区的时间
|
|
229
|
+
var targetDate = new Date(date.getTime() + (date.getTimezoneOffset() + timezoneOffset * 60) * 60000);
|
|
230
|
+
// 返回时间戳
|
|
231
|
+
return targetDate;
|
|
232
|
+
};
|
|
233
|
+
|
|
225
234
|
var clearMilliseconds = exports.clearMilliseconds = function clearMilliseconds(date) {
|
|
226
235
|
return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), 0);
|
|
227
236
|
};
|
package/package.json
CHANGED
|
@@ -38,16 +38,16 @@
|
|
|
38
38
|
</template>
|
|
39
39
|
|
|
40
40
|
<script>
|
|
41
|
-
import { getFirstDayOfMonth, getDayCountOfMonth, getWeekNumber, getStartDateOfMonth, prevDate, nextDate, isDate, clearTime as _clearTime } from 'bi-eleme/src/utils/date-util'
|
|
41
|
+
import { getFirstDayOfMonth, getDayCountOfMonth, getWeekNumber, getStartDateOfMonth, prevDate, nextDate, isDate, clearTime as _clearTime, getTimestampInTimezone } from 'bi-eleme/src/utils/date-util'
|
|
42
42
|
import Locale from 'bi-eleme/src/mixins/locale'
|
|
43
43
|
import { arrayFindIndex, arrayFind, coerceTruthyValueToArray } from 'bi-eleme/src/utils/util'
|
|
44
44
|
|
|
45
45
|
const WEEKS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']
|
|
46
|
-
const getDateTimestamp = function (time) {
|
|
46
|
+
const getDateTimestamp = function (time, utc = 8) {
|
|
47
47
|
if (typeof time === 'number' || typeof time === 'string') {
|
|
48
|
-
return _clearTime(new Date(time)).getTime()
|
|
48
|
+
return _clearTime(getTimestampInTimezone(new Date(time), utc)).getTime()
|
|
49
49
|
} else if (time instanceof Date) {
|
|
50
|
-
return _clearTime(time).getTime()
|
|
50
|
+
return _clearTime(getTimestampInTimezone(time, utc)).getTime()
|
|
51
51
|
} else {
|
|
52
52
|
return NaN
|
|
53
53
|
}
|
|
@@ -71,6 +71,11 @@ export default {
|
|
|
71
71
|
validator: (val) => val >= 1 && val <= 7
|
|
72
72
|
},
|
|
73
73
|
|
|
74
|
+
utc: {
|
|
75
|
+
default: 8,
|
|
76
|
+
type: Number
|
|
77
|
+
},
|
|
78
|
+
|
|
74
79
|
value: {},
|
|
75
80
|
|
|
76
81
|
defaultValue: {
|
|
@@ -150,7 +155,7 @@ export default {
|
|
|
150
155
|
const disabledDate = this.disabledDate
|
|
151
156
|
const cellClassName = this.cellClassName
|
|
152
157
|
const selectedDate = this.selectionMode === 'dates' ? coerceTruthyValueToArray(this.value) : []
|
|
153
|
-
const now = getDateTimestamp(new Date())
|
|
158
|
+
const now = getDateTimestamp(new Date(), this.utc)
|
|
154
159
|
|
|
155
160
|
for (let i = 0; i < 6; i++) {
|
|
156
161
|
const row = rows[i]
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
<script type="text/babel">
|
|
27
27
|
import Locale from 'bi-eleme/src/mixins/locale'
|
|
28
|
-
import { isDate, range, getDayCountOfMonth, nextDate } from 'bi-eleme/src/utils/date-util'
|
|
28
|
+
import { isDate, range, getDayCountOfMonth, nextDate, getTimestampInTimezone } from 'bi-eleme/src/utils/date-util'
|
|
29
29
|
import { hasClass } from 'bi-eleme/src/utils/dom'
|
|
30
30
|
import { arrayFindIndex, coerceTruthyValueToArray, arrayFind } from 'bi-eleme/src/utils/util'
|
|
31
31
|
|
|
@@ -39,11 +39,11 @@ const clearDate = (date) => {
|
|
|
39
39
|
return new Date(date.getFullYear(), date.getMonth())
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
const getMonthTimestamp = function (time) {
|
|
42
|
+
const getMonthTimestamp = function (time, utc = 8) {
|
|
43
43
|
if (typeof time === 'number' || typeof time === 'string') {
|
|
44
|
-
return clearDate(new Date(time)).getTime()
|
|
44
|
+
return clearDate(getTimestampInTimezone(new Date(time), utc)).getTime()
|
|
45
45
|
} else if (time instanceof Date) {
|
|
46
|
-
return clearDate(time).getTime()
|
|
46
|
+
return clearDate(getTimestampInTimezone(time, utc)).getTime()
|
|
47
47
|
} else {
|
|
48
48
|
return NaN
|
|
49
49
|
}
|
|
@@ -64,7 +64,10 @@ export default {
|
|
|
64
64
|
default: 'month'
|
|
65
65
|
},
|
|
66
66
|
minDate: {},
|
|
67
|
-
|
|
67
|
+
utc: {
|
|
68
|
+
default: 8,
|
|
69
|
+
type: Number
|
|
70
|
+
},
|
|
68
71
|
maxDate: {},
|
|
69
72
|
defaultValue: {
|
|
70
73
|
validator(val) {
|
|
@@ -238,7 +241,7 @@ export default {
|
|
|
238
241
|
const rows = this.tableRows
|
|
239
242
|
const disabledDate = this.disabledDate
|
|
240
243
|
const selectedDate = []
|
|
241
|
-
const now = getMonthTimestamp(new Date())
|
|
244
|
+
const now = getMonthTimestamp(new Date(), this.utc)
|
|
242
245
|
|
|
243
246
|
for (let i = 0; i < 3; i++) {
|
|
244
247
|
const row = rows[i]
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
|
|
79
79
|
<script type="text/babel">
|
|
80
80
|
import { hasClass } from 'bi-eleme/src/utils/dom'
|
|
81
|
-
import { isDate, range, nextDate, getDayCountOfYear } from 'bi-eleme/src/utils/date-util'
|
|
81
|
+
import { isDate, range, nextDate, getDayCountOfYear, getTimestampInTimezone } from 'bi-eleme/src/utils/date-util'
|
|
82
82
|
import { arrayFindIndex, coerceTruthyValueToArray } from 'bi-eleme/src/utils/util'
|
|
83
83
|
|
|
84
84
|
const datesInYear = (year) => {
|
|
@@ -97,6 +97,10 @@ export default {
|
|
|
97
97
|
return val === null || (val instanceof Date && isDate(val))
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
|
+
utc: {
|
|
101
|
+
default: 8,
|
|
102
|
+
type: Number
|
|
103
|
+
},
|
|
100
104
|
date: {},
|
|
101
105
|
selectionMode: {}
|
|
102
106
|
},
|
|
@@ -110,7 +114,7 @@ export default {
|
|
|
110
114
|
methods: {
|
|
111
115
|
getCellStyle(year) {
|
|
112
116
|
const style = {}
|
|
113
|
-
const today = new Date()
|
|
117
|
+
const today = getTimestampInTimezone(new Date(), this.utc)
|
|
114
118
|
|
|
115
119
|
style.disabled = typeof this.disabledDate === 'function' ? datesInYear(year).every(this.disabledDate) : false
|
|
116
120
|
style.current = arrayFindIndex(coerceTruthyValueToArray(this.value), (date) => date.getFullYear() === year) >= 0
|
|
@@ -128,6 +128,7 @@
|
|
|
128
128
|
:date="date"
|
|
129
129
|
:cell-class-name="cellClassName"
|
|
130
130
|
:disabled-date="disabledDate"
|
|
131
|
+
:utc="utc"
|
|
131
132
|
>
|
|
132
133
|
</date-table>
|
|
133
134
|
<year-table
|
|
@@ -138,6 +139,7 @@
|
|
|
138
139
|
:default-value="defaultValue ? new Date(defaultValue) : null"
|
|
139
140
|
:date="date"
|
|
140
141
|
:disabled-date="disabledDate"
|
|
142
|
+
:utc="utc"
|
|
141
143
|
>
|
|
142
144
|
</year-table>
|
|
143
145
|
<month-table
|
|
@@ -148,6 +150,7 @@
|
|
|
148
150
|
:default-value="defaultValue ? new Date(defaultValue) : null"
|
|
149
151
|
:date="date"
|
|
150
152
|
:disabled-date="disabledDate"
|
|
153
|
+
:utc="utc"
|
|
151
154
|
>
|
|
152
155
|
</month-table>
|
|
153
156
|
</div>
|
|
@@ -556,6 +559,7 @@ export default {
|
|
|
556
559
|
popperClass: '',
|
|
557
560
|
date: new Date(),
|
|
558
561
|
value: '',
|
|
562
|
+
utc: 8,
|
|
559
563
|
defaultValue: null, // use getDefaultValue() for time computation
|
|
560
564
|
defaultTime: null,
|
|
561
565
|
showTime: false,
|
|
@@ -370,6 +370,7 @@ export default {
|
|
|
370
370
|
validator
|
|
371
371
|
},
|
|
372
372
|
popperClass: String,
|
|
373
|
+
utc: Number,
|
|
373
374
|
editable: {
|
|
374
375
|
type: Boolean,
|
|
375
376
|
default: true
|
|
@@ -825,6 +826,7 @@ export default {
|
|
|
825
826
|
this.picker.defaultValue = this.defaultValue
|
|
826
827
|
this.picker.defaultTime = this.defaultTime
|
|
827
828
|
this.picker.popperClass = this.popperClass
|
|
829
|
+
this.picker.utc = this.utc
|
|
828
830
|
this.popperElm = this.picker.$el
|
|
829
831
|
this.picker.width = this.reference.getBoundingClientRect().width
|
|
830
832
|
this.picker.showTime = this.type === 'datetime' || this.type === 'datetimerange'
|
package/src/index.js
CHANGED
package/src/utils/date-util.js
CHANGED
|
@@ -194,6 +194,13 @@ export const clearTime = function (date) {
|
|
|
194
194
|
return new Date(date.getFullYear(), date.getMonth(), date.getDate())
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
+
export const getTimestampInTimezone = function (date, timezoneOffset = 8) {
|
|
198
|
+
// 将日期转换为指定时区的时间
|
|
199
|
+
const targetDate = new Date(date.getTime() + (date.getTimezoneOffset() + timezoneOffset * 60) * 60000)
|
|
200
|
+
// 返回时间戳
|
|
201
|
+
return targetDate
|
|
202
|
+
}
|
|
203
|
+
|
|
197
204
|
export const clearMilliseconds = function (date) {
|
|
198
205
|
return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), 0)
|
|
199
206
|
}
|