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.
@@ -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=0b6babce
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=0b6babce
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';
@@ -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=0b6babce
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=0b6babce
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';
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bi-eleme",
3
- "version": "2.1.2",
3
+ "version": "2.2.1",
4
4
  "description": "A Component Library for Vue.js.from element-ui@2.15.10",
5
5
  "main": "lib/element-ui.common.js",
6
6
  "files": [
@@ -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
@@ -210,7 +210,7 @@ if (typeof window !== 'undefined' && window.Vue) {
210
210
  }
211
211
 
212
212
  export default {
213
- version: '2.1.2',
213
+ version: '2.2.1',
214
214
  locale: locale.use,
215
215
  i18n: locale.i18n,
216
216
  install,
@@ -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
  }