@mdsfe/mds-ui 0.3.0-9 → 0.4.0-rc.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.
Files changed (127) hide show
  1. package/dist/_util/iconfont/index.js +1 -1
  2. package/dist/affix.js +24 -29
  3. package/dist/alert.js +24 -29
  4. package/dist/anchor.js +38 -46
  5. package/dist/avatar.js +24 -29
  6. package/dist/backtop.js +22 -27
  7. package/dist/badge.js +30 -35
  8. package/dist/base.js +1 -0
  9. package/dist/bordershadow.js +24 -29
  10. package/dist/breadcrumb.js +38 -46
  11. package/dist/button.js +36 -44
  12. package/dist/card.js +38 -46
  13. package/dist/carousel.js +52 -60
  14. package/dist/cascader.js +82 -99
  15. package/dist/cascaderpanel.js +64 -75
  16. package/dist/checkbox.js +42 -50
  17. package/dist/col.js +49 -57
  18. package/dist/collapse.js +36 -44
  19. package/dist/color.js +24 -29
  20. package/dist/datepicker.js +1129 -527
  21. package/dist/divider.js +24 -29
  22. package/dist/drawer.js +39 -44
  23. package/dist/dropdown.js +46 -54
  24. package/dist/empty.js +33 -38
  25. package/dist/font/iconfont.06c8a26.woff +0 -0
  26. package/dist/font/iconfont.c9840a2.woff2 +0 -0
  27. package/dist/font/{iconfont.ecd615a.ttf → iconfont.dffa89c.ttf} +0 -0
  28. package/dist/font.js +24 -29
  29. package/dist/form.js +42 -50
  30. package/dist/icon.js +24 -29
  31. package/dist/index.js +358 -1
  32. package/dist/input.js +253 -114
  33. package/dist/inputnumber.js +28 -33
  34. package/dist/layout.js +72 -89
  35. package/dist/list.js +38 -46
  36. package/dist/loading.js +24 -29
  37. package/dist/mds-ui.min.css +1 -2
  38. package/dist/mds-ui.min.js +4696 -2999
  39. package/dist/menu.js +87 -82
  40. package/dist/message.js +58 -69
  41. package/dist/modal.js +32 -37
  42. package/dist/notification.js +51 -59
  43. package/dist/pagination.js +61 -72
  44. package/dist/popconfirm.js +26 -26
  45. package/dist/popover.js +43 -48
  46. package/dist/progress.js +49 -60
  47. package/dist/radio.js +53 -61
  48. package/dist/rate.js +43 -51
  49. package/dist/row.js +49 -57
  50. package/dist/select.js +97 -114
  51. package/dist/slider.js +42 -50
  52. package/dist/slottable.js +57 -65
  53. package/dist/steps.js +4 -4
  54. package/dist/style/affix.css +3 -6789
  55. package/dist/style/alert.css +3 -6789
  56. package/dist/style/anchor.css +3 -6789
  57. package/dist/style/avatar.css +3 -6789
  58. package/dist/style/badge.css +5 -6791
  59. package/dist/style/base.css +1 -0
  60. package/dist/style/bordershadow.css +3 -6789
  61. package/dist/style/breadcrumb.css +3 -6789
  62. package/dist/style/button.css +3 -6789
  63. package/dist/style/card.css +3 -6789
  64. package/dist/style/carousel.css +0 -6786
  65. package/dist/style/checkbox.css +3 -6789
  66. package/dist/style/col.css +3 -6789
  67. package/dist/style/collapse.css +3 -6789
  68. package/dist/style/color.css +3 -6789
  69. package/dist/style/datepicker.css +70 -6789
  70. package/dist/style/divider.css +3 -6789
  71. package/dist/style/drawer.css +3 -6789
  72. package/dist/style/dropdown.css +3 -6789
  73. package/dist/style/empty.css +3 -6789
  74. package/dist/style/font.css +3 -6789
  75. package/dist/style/form.css +3 -6789
  76. package/dist/style/icon.css +3 -6789
  77. package/dist/style/index.css +6 -0
  78. package/dist/style/input.css +23 -6795
  79. package/dist/style/inputnumber.css +3 -6789
  80. package/dist/style/layout.css +3 -6789
  81. package/dist/style/list.css +3 -6789
  82. package/dist/style/loading.css +3 -6789
  83. package/dist/style/menu.css +3 -6789
  84. package/dist/style/modal.css +3 -6789
  85. package/dist/style/notification.css +7 -6793
  86. package/dist/style/pagination.css +23 -6795
  87. package/dist/style/popconfirm.css +3 -6789
  88. package/dist/style/popover.css +3 -6789
  89. package/dist/style/progress.css +3 -6789
  90. package/dist/style/radio.css +3 -6789
  91. package/dist/style/rate.css +3 -6789
  92. package/dist/style/row.css +3 -6789
  93. package/dist/style/select.css +3 -6789
  94. package/dist/style/slider.css +3 -6789
  95. package/dist/style/slottable.css +3 -6789
  96. package/dist/style/steps.css +3 -6789
  97. package/dist/style/switch.css +3 -6789
  98. package/dist/style/table.css +3 -6789
  99. package/dist/style/tabs.css +3 -6789
  100. package/dist/style/tag.css +3 -6789
  101. package/dist/style/text.css +3 -6789
  102. package/dist/style/timeline.css +3 -6789
  103. package/dist/style/timepicker.css +3 -6789
  104. package/dist/style/tooltip.css +3 -6789
  105. package/dist/style/transfer.css +105 -0
  106. package/dist/style/tree.css +3 -6789
  107. package/dist/style/typography.css +3 -6789
  108. package/dist/style/upload.css +3 -6789
  109. package/dist/switch.js +28 -33
  110. package/dist/table.js +180 -215
  111. package/dist/tabs.js +78 -101
  112. package/dist/tag.js +24 -29
  113. package/dist/text.js +260 -121
  114. package/dist/timeline.js +38 -46
  115. package/dist/timepicker.js +85 -102
  116. package/dist/tooltip.js +22 -22
  117. package/dist/transfer.js +1009 -66
  118. package/dist/transition.js +2 -2
  119. package/dist/tree.js +61 -69
  120. package/dist/typography.js +36 -44
  121. package/dist/upload.js +88 -108
  122. package/package.json +9 -5
  123. package/CHANGELOG.md +0 -1013
  124. package/dist/.DS_Store +0 -0
  125. package/dist/_util/.DS_Store +0 -0
  126. package/dist/font/iconfont.ae3b61b.woff2 +0 -0
  127. package/dist/font/iconfont.f1b256f.woff +0 -0
@@ -1,13 +1,13 @@
1
1
  (function webpackUniversalModuleDefinition(root, factory) {
2
2
  if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory(require("vue"), require("./_util/dateUtil"), require("./icon"), require("./_util/proptype"), require("./_mixin/locale"), require("./_mixin/emitter"), require("./button"), require("./input"), require("./_util/util"), require("./_util/clickoutside"), require("./_util/merge"), require("./_util/repeatClick"), require("./_util/dom"));
3
+ module.exports = factory(require("vue"), require("./_util/dateUtil"), require("./icon"), require("./_util/proptype"), require("./_mixin/locale"), require("./button"), require("./_mixin/emitter"), require("./input"), require("./_util/util"), require("./_util/clickoutside"), require("./_util/merge"), require("./_util/repeatClick"), require("./_util/dom"));
4
4
  else if(typeof define === 'function' && define.amd)
5
- define(["vue", "./_util/dateUtil", "./icon", "./_util/proptype", "./_mixin/locale", "./_mixin/emitter", "./button", "./input", "./_util/util", "./_util/clickoutside", "./_util/merge", "./_util/repeatClick", "./_util/dom"], factory);
5
+ define(["vue", "./_util/dateUtil", "./icon", "./_util/proptype", "./_mixin/locale", "./button", "./_mixin/emitter", "./input", "./_util/util", "./_util/clickoutside", "./_util/merge", "./_util/repeatClick", "./_util/dom"], factory);
6
6
  else {
7
- var a = typeof exports === 'object' ? factory(require("vue"), require("./_util/dateUtil"), require("./icon"), require("./_util/proptype"), require("./_mixin/locale"), require("./_mixin/emitter"), require("./button"), require("./input"), require("./_util/util"), require("./_util/clickoutside"), require("./_util/merge"), require("./_util/repeatClick"), require("./_util/dom")) : factory(root["Vue"], root["./_util/dateUtil"], root["./icon"], root["./_util/proptype"], root["./_mixin/locale"], root["./_mixin/emitter"], root["./button"], root["./input"], root["./_util/util"], root["./_util/clickoutside"], root["./_util/merge"], root["./_util/repeatClick"], root["./_util/dom"]);
7
+ var a = typeof exports === 'object' ? factory(require("vue"), require("./_util/dateUtil"), require("./icon"), require("./_util/proptype"), require("./_mixin/locale"), require("./button"), require("./_mixin/emitter"), require("./input"), require("./_util/util"), require("./_util/clickoutside"), require("./_util/merge"), require("./_util/repeatClick"), require("./_util/dom")) : factory(root["Vue"], root["./_util/dateUtil"], root["./icon"], root["./_util/proptype"], root["./_mixin/locale"], root["./button"], root["./_mixin/emitter"], root["./input"], root["./_util/util"], root["./_util/clickoutside"], root["./_util/merge"], root["./_util/repeatClick"], root["./_util/dom"]);
8
8
  for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
9
  }
10
- })(window, function(__WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__4__, __WEBPACK_EXTERNAL_MODULE__7__, __WEBPACK_EXTERNAL_MODULE__8__, __WEBPACK_EXTERNAL_MODULE__10__, __WEBPACK_EXTERNAL_MODULE__13__, __WEBPACK_EXTERNAL_MODULE__14__, __WEBPACK_EXTERNAL_MODULE__17__, __WEBPACK_EXTERNAL_MODULE__21__, __WEBPACK_EXTERNAL_MODULE__32__, __WEBPACK_EXTERNAL_MODULE__48__, __WEBPACK_EXTERNAL_MODULE__67__, __WEBPACK_EXTERNAL_MODULE__68__) {
10
+ })(window, function(__WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__4__, __WEBPACK_EXTERNAL_MODULE__7__, __WEBPACK_EXTERNAL_MODULE__8__, __WEBPACK_EXTERNAL_MODULE__9__, __WEBPACK_EXTERNAL_MODULE__13__, __WEBPACK_EXTERNAL_MODULE__14__, __WEBPACK_EXTERNAL_MODULE__17__, __WEBPACK_EXTERNAL_MODULE__22__, __WEBPACK_EXTERNAL_MODULE__33__, __WEBPACK_EXTERNAL_MODULE__48__, __WEBPACK_EXTERNAL_MODULE__67__, __WEBPACK_EXTERNAL_MODULE__68__) {
11
11
  return /******/ (function(modules) { // webpackBootstrap
12
12
  /******/ // The module cache
13
13
  /******/ var installedModules = {};
@@ -107,20 +107,19 @@ return /******/ (function(modules) { // webpackBootstrap
107
107
  // This module is a runtime utility for cleaner component module output and will
108
108
  // be included in the final webpack user bundle.
109
109
 
110
- function normalizeComponent (
110
+ function normalizeComponent(
111
111
  scriptExports,
112
112
  render,
113
113
  staticRenderFns,
114
114
  functionalTemplate,
115
115
  injectStyles,
116
116
  scopeId,
117
- moduleIdentifier, /* server only */
117
+ moduleIdentifier /* server only */,
118
118
  shadowMode /* vue-cli only */
119
119
  ) {
120
120
  // Vue.extend constructor export interop
121
- var options = typeof scriptExports === 'function'
122
- ? scriptExports.options
123
- : scriptExports
121
+ var options =
122
+ typeof scriptExports === 'function' ? scriptExports.options : scriptExports
124
123
 
125
124
  // render functions
126
125
  if (render) {
@@ -140,7 +139,8 @@ function normalizeComponent (
140
139
  }
141
140
 
142
141
  var hook
143
- if (moduleIdentifier) { // server build
142
+ if (moduleIdentifier) {
143
+ // server build
144
144
  hook = function (context) {
145
145
  // 2.3 injection
146
146
  context =
@@ -166,11 +166,11 @@ function normalizeComponent (
166
166
  } else if (injectStyles) {
167
167
  hook = shadowMode
168
168
  ? function () {
169
- injectStyles.call(
170
- this,
171
- (options.functional ? this.parent : this).$root.$options.shadowRoot
172
- )
173
- }
169
+ injectStyles.call(
170
+ this,
171
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
172
+ )
173
+ }
174
174
  : injectStyles
175
175
  }
176
176
 
@@ -181,16 +181,14 @@ function normalizeComponent (
181
181
  options._injectStyles = hook
182
182
  // register for functional component in vue file
183
183
  var originalRender = options.render
184
- options.render = function renderWithStyleInjection (h, context) {
184
+ options.render = function renderWithStyleInjection(h, context) {
185
185
  hook.call(context)
186
186
  return originalRender(h, context)
187
187
  }
188
188
  } else {
189
189
  // inject component registration as beforeCreate hook
190
190
  var existing = options.beforeCreate
191
- options.beforeCreate = existing
192
- ? [].concat(existing, hook)
193
- : [hook]
191
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
194
192
  }
195
193
  }
196
194
 
@@ -220,7 +218,7 @@ function normalizeComponent (
220
218
  /* unused harmony export isInContainer */
221
219
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return merge; });
222
220
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getScrollBarWidth; });
223
- /* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9);
221
+ /* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10);
224
222
  /* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);
225
223
  /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
226
224
  /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_1__);
@@ -495,7 +493,7 @@ function getScrollBarWidth() {
495
493
  /***/ 10:
496
494
  /***/ (function(module, exports) {
497
495
 
498
- module.exports = __WEBPACK_EXTERNAL_MODULE__10__;
496
+ module.exports = require("babel-runtime/helpers/typeof");
499
497
 
500
498
  /***/ }),
501
499
 
@@ -973,14 +971,14 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__17__;
973
971
 
974
972
  /***/ }),
975
973
 
976
- /***/ 176:
974
+ /***/ 172:
977
975
  /***/ (function(module, exports) {
978
976
 
979
977
  // removed by extract-text-webpack-plugin
980
978
 
981
979
  /***/ }),
982
980
 
983
- /***/ 178:
981
+ /***/ 174:
984
982
  /***/ (function(module, exports) {
985
983
 
986
984
  // removed by extract-text-webpack-plugin
@@ -996,7 +994,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__17__;
996
994
  var popup_main = __webpack_require__(15);
997
995
 
998
996
  // EXTERNAL MODULE: external "babel-runtime/core-js/object/get-own-property-descriptor"
999
- var get_own_property_descriptor_ = __webpack_require__(19);
997
+ var get_own_property_descriptor_ = __webpack_require__(20);
1000
998
  var get_own_property_descriptor_default = /*#__PURE__*/__webpack_require__.n(get_own_property_descriptor_);
1001
999
 
1002
1000
  // EXTERNAL MODULE: external "babel-runtime/core-js/object/keys"
@@ -2462,7 +2460,7 @@ var stop = function stop(e) {
2462
2460
  /***/ 19:
2463
2461
  /***/ (function(module, exports) {
2464
2462
 
2465
- module.exports = require("babel-runtime/core-js/object/get-own-property-descriptor");
2463
+ module.exports = require("babel-runtime/helpers/toConsumableArray");
2466
2464
 
2467
2465
  /***/ }),
2468
2466
 
@@ -2473,14 +2471,21 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
2473
2471
 
2474
2472
  /***/ }),
2475
2473
 
2476
- /***/ 21:
2474
+ /***/ 20:
2477
2475
  /***/ (function(module, exports) {
2478
2476
 
2479
- module.exports = __WEBPACK_EXTERNAL_MODULE__21__;
2477
+ module.exports = require("babel-runtime/core-js/object/get-own-property-descriptor");
2480
2478
 
2481
2479
  /***/ }),
2482
2480
 
2483
2481
  /***/ 22:
2482
+ /***/ (function(module, exports) {
2483
+
2484
+ module.exports = __WEBPACK_EXTERNAL_MODULE__22__;
2485
+
2486
+ /***/ }),
2487
+
2488
+ /***/ 23:
2484
2489
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2485
2490
 
2486
2491
  "use strict";
@@ -2495,7 +2500,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__21__;
2495
2500
  /* unused harmony export isScroll */
2496
2501
  /* unused harmony export getScrollContainer */
2497
2502
  /* unused harmony export isInContainer */
2498
- /* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9);
2503
+ /* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10);
2499
2504
  /* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);
2500
2505
  /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
2501
2506
  /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_1__);
@@ -2725,19 +2730,12 @@ var isInContainer = function isInContainer(el, container) {
2725
2730
 
2726
2731
  /***/ }),
2727
2732
 
2728
- /***/ 25:
2729
- /***/ (function(module, exports) {
2730
-
2731
- module.exports = require("babel-runtime/helpers/toConsumableArray");
2732
-
2733
- /***/ }),
2734
-
2735
2733
  /***/ 27:
2736
2734
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2737
2735
 
2738
2736
  "use strict";
2739
2737
 
2740
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/scroll-bar/scroll-bar.vue?vue&type=template&id=2fbcec38&
2738
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/scroll-bar/scroll-bar.vue?vue&type=template&id=0bf326ee
2741
2739
  var render = function () {
2742
2740
  var _vm = this
2743
2741
  var _h = _vm.$createElement
@@ -2753,9 +2751,9 @@ var staticRenderFns = []
2753
2751
  render._withStripped = true
2754
2752
 
2755
2753
 
2756
- // CONCATENATED MODULE: ./components/scroll-bar/scroll-bar.vue?vue&type=template&id=2fbcec38&
2754
+ // CONCATENATED MODULE: ./components/scroll-bar/scroll-bar.vue?vue&type=template&id=0bf326ee
2757
2755
 
2758
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/scroll-bar/scroll-bar.vue?vue&type=script&lang=js&
2756
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/scroll-bar/scroll-bar.vue?vue&type=script&lang=js
2759
2757
  //
2760
2758
  //
2761
2759
  //
@@ -2766,7 +2764,7 @@ render._withStripped = true
2766
2764
  //
2767
2765
  //
2768
2766
 
2769
- /* harmony default export */ var scroll_barvue_type_script_lang_js_ = ({
2767
+ /* harmony default export */ var scroll_barvue_type_script_lang_js = ({
2770
2768
  name: 'mdsScrollBar',
2771
2769
  props: {
2772
2770
  prefixCls: {
@@ -2790,8 +2788,8 @@ render._withStripped = true
2790
2788
  methods: {},
2791
2789
  created: function created() {}
2792
2790
  });
2793
- // CONCATENATED MODULE: ./components/scroll-bar/scroll-bar.vue?vue&type=script&lang=js&
2794
- /* harmony default export */ var scroll_bar_scroll_barvue_type_script_lang_js_ = (scroll_barvue_type_script_lang_js_);
2791
+ // CONCATENATED MODULE: ./components/scroll-bar/scroll-bar.vue?vue&type=script&lang=js
2792
+ /* harmony default export */ var scroll_bar_scroll_barvue_type_script_lang_js = (scroll_barvue_type_script_lang_js);
2795
2793
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
2796
2794
  var componentNormalizer = __webpack_require__(0);
2797
2795
 
@@ -2804,7 +2802,7 @@ var componentNormalizer = __webpack_require__(0);
2804
2802
  /* normalize component */
2805
2803
 
2806
2804
  var component = Object(componentNormalizer["a" /* default */])(
2807
- scroll_bar_scroll_barvue_type_script_lang_js_,
2805
+ scroll_bar_scroll_barvue_type_script_lang_js,
2808
2806
  render,
2809
2807
  staticRenderFns,
2810
2808
  false,
@@ -2814,9 +2812,6 @@ var component = Object(componentNormalizer["a" /* default */])(
2814
2812
 
2815
2813
  )
2816
2814
 
2817
- /* hot reload */
2818
- if (false) { var api; }
2819
- component.options.__file = "components/scroll-bar/scroll-bar.vue"
2820
2815
  /* harmony default export */ var scroll_bar = (component.exports);
2821
2816
  // CONCATENATED MODULE: ./components/scroll-bar/index.js
2822
2817
 
@@ -2825,10 +2820,10 @@ component.options.__file = "components/scroll-bar/scroll-bar.vue"
2825
2820
 
2826
2821
  /***/ }),
2827
2822
 
2828
- /***/ 32:
2823
+ /***/ 33:
2829
2824
  /***/ (function(module, exports) {
2830
2825
 
2831
- module.exports = __WEBPACK_EXTERNAL_MODULE__32__;
2826
+ module.exports = __WEBPACK_EXTERNAL_MODULE__33__;
2832
2827
 
2833
2828
  /***/ }),
2834
2829
 
@@ -3472,20 +3467,20 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__8__;
3472
3467
  // ESM COMPAT FLAG
3473
3468
  __webpack_require__.r(__webpack_exports__);
3474
3469
 
3475
- // EXTERNAL MODULE: ./components/style/index.less
3476
- var components_style = __webpack_require__(142);
3470
+ // EXTERNAL MODULE: ./components/style/mixins-only.less
3471
+ var mixins_only = __webpack_require__(142);
3477
3472
 
3478
3473
  // EXTERNAL MODULE: ./components/datepicker/style/index.less
3479
- var datepicker_style = __webpack_require__(176);
3474
+ var datepicker_style = __webpack_require__(172);
3480
3475
 
3481
3476
  // EXTERNAL MODULE: ./components/datepicker/style/transition.less
3482
- var transition = __webpack_require__(178);
3477
+ var transition = __webpack_require__(174);
3483
3478
 
3484
3479
  // CONCATENATED MODULE: ./components/datepicker/style/index.js
3485
3480
 
3486
3481
 
3487
3482
 
3488
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/picker.vue?vue&type=template&id=311c2352&
3483
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/picker.vue?vue&type=template&id=12fefd94
3489
3484
  var render = function () {
3490
3485
  var _vm = this
3491
3486
  var _h = _vm.$createElement
@@ -3679,10 +3674,10 @@ var staticRenderFns = []
3679
3674
  render._withStripped = true
3680
3675
 
3681
3676
 
3682
- // CONCATENATED MODULE: ./components/datepicker/picker/picker.vue?vue&type=template&id=311c2352&
3677
+ // CONCATENATED MODULE: ./components/datepicker/picker/picker.vue?vue&type=template&id=12fefd94
3683
3678
 
3684
3679
  // EXTERNAL MODULE: external "babel-runtime/helpers/toConsumableArray"
3685
- var toConsumableArray_ = __webpack_require__(25);
3680
+ var toConsumableArray_ = __webpack_require__(19);
3686
3681
  var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray_);
3687
3682
 
3688
3683
  // EXTERNAL MODULE: external "babel-runtime/core-js/object/keys"
@@ -3694,7 +3689,7 @@ var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(
3694
3689
  var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default = /*#__PURE__*/__webpack_require__.n(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_);
3695
3690
 
3696
3691
  // EXTERNAL MODULE: external "./_util/clickoutside"
3697
- var clickoutside_ = __webpack_require__(32);
3692
+ var clickoutside_ = __webpack_require__(33);
3698
3693
  var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
3699
3694
 
3700
3695
  // EXTERNAL MODULE: external "./_util/dateUtil"
@@ -3704,7 +3699,7 @@ var dateUtil_ = __webpack_require__(4);
3704
3699
  var vue_popper = __webpack_require__(18);
3705
3700
 
3706
3701
  // EXTERNAL MODULE: external "./_mixin/emitter"
3707
- var emitter_ = __webpack_require__(13);
3702
+ var emitter_ = __webpack_require__(14);
3708
3703
  var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
3709
3704
 
3710
3705
  // EXTERNAL MODULE: external "./input"
@@ -3720,13 +3715,13 @@ var merge_ = __webpack_require__(48);
3720
3715
  var merge_default = /*#__PURE__*/__webpack_require__.n(merge_);
3721
3716
 
3722
3717
  // EXTERNAL MODULE: external "./_mixin/locale"
3723
- var locale_ = __webpack_require__(10);
3718
+ var locale_ = __webpack_require__(9);
3724
3719
  var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
3725
3720
 
3726
3721
  // EXTERNAL MODULE: external "./_util/proptype"
3727
3722
  var proptype_ = __webpack_require__(8);
3728
3723
 
3729
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/picker.vue?vue&type=script&lang=js&
3724
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/picker.vue?vue&type=script&lang=js
3730
3725
 
3731
3726
 
3732
3727
  //
@@ -3856,7 +3851,7 @@ var DEFAULT_FORMATS = {
3856
3851
  datetimerangeflat: 'yyyy-MM-dd HH:mm:ss',
3857
3852
  year: 'yyyy'
3858
3853
  };
3859
- var HAVE_TRIGGER_TYPES = ['date', 'datetime', 'time', 'time-select', 'week', 'month', 'year', 'daterange', 'monthrange', 'timerange', 'datetimerange', 'dates', 'datetimerangeflat'];
3854
+ var HAVE_TRIGGER_TYPES = ['date', 'datetime', 'time', 'time-select', 'week', 'month', 'year', 'daterange', 'monthrange', 'timerange', 'datetimerange', 'dates', 'datetimerangeflat', 'quarter'];
3860
3855
  var pickervue_type_script_lang_js_DATE_FORMATTER = function DATE_FORMATTER(value, format) {
3861
3856
  if (format === 'timestamp') return value.getTime();
3862
3857
  return Object(dateUtil_["formatDate"])(value, format);
@@ -3984,6 +3979,31 @@ var TYPE_VALUE_RESOLVER_MAP = {
3984
3979
  return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format);
3985
3980
  });
3986
3981
  }
3982
+ },
3983
+ quarter: {
3984
+ formatter: function formatter(value, format) {
3985
+ // value 是 Date
3986
+ if (!value) return '';
3987
+ var year = value.getFullYear();
3988
+ var month = value.getMonth();
3989
+ var quarter = Math.floor(month / 3) + 1;
3990
+ // 支持自定义格式,否则默认 'yyyy-Qn'
3991
+ if (format) {
3992
+ return format.replace('yyyy', year).replace('Q', quarter);
3993
+ }
3994
+ return year + '-Q' + quarter;
3995
+ },
3996
+ parser: function parser(text, format) {
3997
+ // 支持 'yyyy-Qn' 格式
3998
+ if (!text) return null;
3999
+ var match = text.match(/(\\d{4})-?Q(\\d)/);
4000
+ if (match) {
4001
+ var year = parseInt(match[1]);
4002
+ var quarter = parseInt(match[2]);
4003
+ return new Date(year, (quarter - 1) * 3, 1);
4004
+ }
4005
+ return new Date(text);
4006
+ }
3987
4007
  }
3988
4008
  };
3989
4009
  var PLACEMENT_MAP = {
@@ -4053,7 +4073,7 @@ var pickervue_type_script_lang_js_validator = function validator(val) {
4053
4073
  return val === null || val === undefined || isString(val) || Array.isArray(val) && val.length === 2 && val.every(isString);
4054
4074
  };
4055
4075
 
4056
- /* harmony default export */ var pickervue_type_script_lang_js_ = ({
4076
+ /* harmony default export */ var pickervue_type_script_lang_js = ({
4057
4077
  mixins: [emitter_default.a, NewPopper, locale_default.a],
4058
4078
  props: {
4059
4079
  size: {
@@ -4118,6 +4138,14 @@ var pickervue_type_script_lang_js_validator = function validator(val) {
4118
4138
  validateEvent: {
4119
4139
  type: Boolean,
4120
4140
  default: true
4141
+ },
4142
+ pickerType: {
4143
+ type: String,
4144
+ default: 'date'
4145
+ },
4146
+ appendToBody: {
4147
+ type: Boolean,
4148
+ default: true // 默认插入到 body
4121
4149
  }
4122
4150
  },
4123
4151
 
@@ -4232,6 +4260,8 @@ var pickervue_type_script_lang_js_validator = function validator(val) {
4232
4260
  return 'year';
4233
4261
  } else if (this.type === 'dates') {
4234
4262
  return 'dates';
4263
+ } else if (this.type === 'quarter') {
4264
+ return 'quarter';
4235
4265
  }
4236
4266
 
4237
4267
  return 'day';
@@ -4446,8 +4476,7 @@ var pickervue_type_script_lang_js_validator = function validator(val) {
4446
4476
  this.userInput = initialValue === '' ? null : initialValue;
4447
4477
  },
4448
4478
  handleFocus: function handleFocus() {
4449
- var type = this.type;
4450
- if (HAVE_TRIGGER_TYPES.indexOf(type) !== -1 && !this.pickerVisible) {
4479
+ if (HAVE_TRIGGER_TYPES.indexOf(this.type) !== -1 && !this.pickerVisible) {
4451
4480
  this.pickerVisible = true;
4452
4481
  }
4453
4482
  this.$emit('focus', this);
@@ -4514,35 +4543,72 @@ var pickervue_type_script_lang_js_validator = function validator(val) {
4514
4543
  }
4515
4544
  this.$emit('focus', this);
4516
4545
  },
4517
- hidePicker: function hidePicker() {
4518
- if (this.picker) {
4519
- this.picker.resetView && this.picker.resetView();
4520
- this.pickerVisible = this.picker.visible = false;
4521
- this.destroyPopper();
4522
- }
4523
- },
4546
+
4547
+
4548
+ // 修复 showPicker 方法
4524
4549
  showPicker: function showPicker() {
4525
4550
  var _this2 = this;
4526
4551
 
4527
4552
  if (this.$isServer) return;
4528
- if (!this.picker) {
4553
+
4554
+ // 如果面板已存在,先重置状态
4555
+ if (this.picker) {
4556
+ this.picker.resetView && this.picker.resetView();
4557
+ this.picker.visible = false;
4558
+ } else {
4559
+ // 面板不存在时才创建
4529
4560
  this.mountPicker();
4530
4561
  }
4562
+
4563
+ // 设置面板可见
4531
4564
  this.pickerVisible = this.picker.visible = true;
4532
4565
 
4566
+ // 确保面板在正确的位置
4567
+ this.ensurePanelPosition();
4568
+
4569
+ // 更新 Popper 定位
4533
4570
  this.updatePopper();
4534
4571
 
4572
+ // 重置面板状态
4535
4573
  this.picker.value = this.parsedValue;
4536
4574
  this.picker.resetView && this.picker.resetView();
4537
4575
 
4538
4576
  this.$nextTick(function () {
4539
4577
  _this2.picker.adjustSpinners && _this2.picker.adjustSpinners();
4578
+ // 再次确保位置正确并更新定位
4579
+ _this2.ensurePanelPosition();
4580
+ _this2.updatePopper();
4540
4581
  });
4541
4582
  },
4583
+
4584
+
4585
+ // 修复 mountPicker 方法
4542
4586
  mountPicker: function mountPicker() {
4543
4587
  var _this3 = this;
4544
4588
 
4545
- this.picker = new external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a(this.panel).$mount();
4589
+ var Panel = external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.extend(this.panel);
4590
+ this.picker = new Panel({
4591
+ propsData: {
4592
+ pickerType: this.type,
4593
+ referenceElm: this.reference,
4594
+ popperClass: this.popperClass,
4595
+ appendToBody: this.appendToBody, // 使用组件的 appendToBody 配置
4596
+ placement: this.placement
4597
+ }
4598
+ }).$mount();
4599
+
4600
+ // 根据配置决定插入位置
4601
+ if (this.type !== 'quarter') {
4602
+ if (this.appendToBody !== false) {
4603
+ // 插入到 body 下
4604
+ document.body.appendChild(this.picker.$el);
4605
+ } else {
4606
+ // 插入到当前元素下
4607
+ this.$el.appendChild(this.picker.$el);
4608
+ }
4609
+ }
4610
+
4611
+ // 设置面板属性
4546
4612
  this.picker.defaultValue = this.defaultValue;
4547
4613
  this.picker.defaultTime = this.defaultTime;
4548
4614
  this.picker.popperClass = this.popperClass;
@@ -4554,56 +4620,41 @@ var pickervue_type_script_lang_js_validator = function validator(val) {
4554
4620
  this.picker.arrowControl = this.arrowControl || this.timeArrowControl || false;
4555
4621
  this.picker.listenScroll = this.listenScroll;
4556
4622
  this.picker.step = this.step;
4557
- this.picker.pickerType = this.type;
4623
+
4624
+ // 监听格式变化
4558
4625
  this.$watch('format', function (format) {
4559
4626
  _this3.picker.format = format;
4560
4627
  });
4561
4628
 
4562
- var updateOptions = function updateOptions() {
4563
- var options = _this3.pickerOptions;
4564
-
4565
- if (options && options.selectableRange) {
4566
- var ranges = options.selectableRange;
4567
- var parser = TYPE_VALUE_RESOLVER_MAP.datetimerange.parser;
4568
- var format = DEFAULT_FORMATS.timerange;
4569
-
4570
- ranges = Array.isArray(ranges) ? ranges : [ranges];
4571
- _this3.picker.selectableRange = ranges.map(function (range) {
4572
- return parser(range, format, _this3.rangeSeparator);
4573
- });
4574
- }
4575
-
4576
- for (var option in options) {
4577
- if (options.hasOwnProperty(option) &&
4578
- // 忽略 time-picker 的该配置项
4579
- option !== 'selectableRange') {
4580
- _this3.picker[option] = options[option];
4581
- }
4582
- }
4583
-
4584
- // main format must prevail over undocumented pickerOptions.format
4585
- if (_this3.format) {
4586
- _this3.picker.format = _this3.format;
4587
- }
4588
- };
4589
- updateOptions();
4590
- this.unwatchPickerOptions = this.$watch('pickerOptions', function () {
4591
- return updateOptions();
4592
- }, { deep: true });
4593
- this.$el.appendChild(this.picker.$el);
4594
- this.picker.resetView && this.picker.resetView();
4629
+ // 更新选项
4630
+ this.updatePickerOptions();
4595
4631
 
4632
+ // 设置事件监听
4596
4633
  this.picker.$on('dodestroy', this.doDestroy);
4634
+
4635
+ // 修复 pick 事件处理
4597
4636
  this.picker.$on('pick', function () {
4598
4637
  var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
4599
4638
  var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
4600
4639
 
4601
4640
  _this3.userInput = null;
4602
- _this3.pickerVisible = _this3.picker.visible = visible;
4641
+
4642
+ if (visible === false) {
4643
+ // 隐藏面板但不销毁
4644
+ _this3.pickerVisible = false;
4645
+ _this3.picker.visible = false;
4646
+ _this3.hidePicker();
4647
+ } else {
4648
+ // 保持面板可见
4649
+ _this3.pickerVisible = true;
4650
+ _this3.picker.visible = true;
4651
+ }
4652
+
4603
4653
  _this3.emitInput(date);
4604
4654
  _this3.picker.resetView && _this3.picker.resetView();
4605
4655
  });
4606
4656
 
4657
+ // 其他事件监听保持不变
4607
4658
  this.picker.$on('select-range', function (start, end, pos) {
4608
4659
  if (_this3.refInput.length === 0) return;
4609
4660
  if (!pos || pos === 'min') {
@@ -4615,14 +4666,100 @@ var pickervue_type_script_lang_js_validator = function validator(val) {
4615
4666
  }
4616
4667
  });
4617
4668
  },
4669
+
4670
+
4671
+ // 新增方法:更新面板选项
4672
+ updatePickerOptions: function updatePickerOptions() {
4673
+ var _this4 = this;
4674
+
4675
+ var options = this.pickerOptions;
4676
+
4677
+ if (options && options.selectableRange) {
4678
+ var ranges = options.selectableRange;
4679
+ var parser = TYPE_VALUE_RESOLVER_MAP.datetimerange.parser;
4680
+ var format = DEFAULT_FORMATS.timerange;
4681
+
4682
+ ranges = Array.isArray(ranges) ? ranges : [ranges];
4683
+ this.picker.selectableRange = ranges.map(function (range) {
4684
+ return parser(range, format, _this4.rangeSeparator);
4685
+ });
4686
+ }
4687
+
4688
+ for (var option in options) {
4689
+ if (options.hasOwnProperty(option) && option !== 'selectableRange') {
4690
+ this.picker[option] = options[option];
4691
+ }
4692
+ }
4693
+
4694
+ // 主格式优先
4695
+ if (this.format) {
4696
+ this.picker.format = this.format;
4697
+ }
4698
+ },
4699
+
4700
+
4701
+ // 修复 hidePicker 方法
4702
+ hidePicker: function hidePicker() {
4703
+ if (this.picker) {
4704
+ this.picker.resetView && this.picker.resetView();
4705
+ this.pickerVisible = this.picker.visible = false;
4706
+
4707
+ // 不要立即销毁面板,只是隐藏
4708
+ // this.destroyPopper()
4709
+
4710
+ // 确保面板位置正确
4711
+ this.ensurePanelPosition();
4712
+ }
4713
+ },
4714
+
4715
+
4716
+ // 确保面板位置正确的方法
4717
+ ensurePanelPosition: function ensurePanelPosition() {
4718
+ var _this5 = this;
4719
+
4720
+ if (!this.picker || !this.picker.$el) return;
4721
+
4722
+ var panelEl = this.picker.$el;
4723
+ var currentParent = panelEl.parentNode;
4724
+
4725
+ // 检查面板是否在正确的位置
4726
+ if (this.appendToBody !== false && currentParent !== document.body) {
4727
+ // 面板不在 body 下,需要移动到 body
4728
+ if (currentParent) {
4729
+ currentParent.removeChild(panelEl);
4730
+ }
4731
+ document.body.appendChild(panelEl);
4732
+
4733
+ // 重新计算定位
4734
+ this.$nextTick(function () {
4735
+ _this5.updatePopper();
4736
+ });
4737
+ } else if (this.appendToBody === false && currentParent !== this.$el) {
4738
+ // 面板不在当前元素下,需要移动
4739
+ if (currentParent) {
4740
+ currentParent.removeChild(panelEl);
4741
+ }
4742
+ this.$el.appendChild(panelEl);
4743
+ }
4744
+ },
4745
+
4746
+
4747
+ // 修复 unmountPicker 方法
4618
4748
  unmountPicker: function unmountPicker() {
4619
4749
  if (this.picker) {
4750
+ // 确保面板从正确的父元素中移除
4751
+ if (this.picker.$el && this.picker.$el.parentNode) {
4752
+ this.picker.$el.parentNode.removeChild(this.picker.$el);
4753
+ }
4754
+
4620
4755
  this.picker.$destroy();
4621
4756
  this.picker.$off();
4757
+
4622
4758
  if (typeof this.unwatchPickerOptions === 'function') {
4623
4759
  this.unwatchPickerOptions();
4624
4760
  }
4625
- if (this.picker.$el.parentNode) this.picker.$el.parentNode.removeChild(this.picker.$el);
4761
+
4762
+ this.picker = null;
4626
4763
  }
4627
4764
  },
4628
4765
  emitChange: function emitChange(val) {
@@ -4649,11 +4786,36 @@ var pickervue_type_script_lang_js_validator = function validator(val) {
4649
4786
  } else {
4650
4787
  return true;
4651
4788
  }
4789
+ },
4790
+ selectQuarter: function selectQuarter(quarter) {
4791
+ var selectedDate = new Date(this.currentYear, quarter.startMonth, 1);
4792
+ this.$emit('pick', selectedDate, false);
4793
+ },
4794
+ prevYear: function prevYear() {
4795
+ this.currentYear--;
4796
+ this.$emit('pick', new Date(this.currentYear, 0, 1));
4797
+ },
4798
+ nextYear: function nextYear() {
4799
+ this.currentYear++;
4800
+ this.$emit('pick', new Date(this.currentYear, 0, 1));
4801
+ },
4802
+ isSelected: function isSelected(quarter) {
4803
+ if (!this.value || !(this.value instanceof Date) || isNaN(this.value)) {
4804
+ return false;
4805
+ }
4806
+ var selectedYear = this.value.getFullYear();
4807
+ var selectedMonth = this.value.getMonth();
4808
+ return selectedYear === this.currentYear && selectedMonth >= quarter.startMonth && selectedMonth <= quarter.endMonth;
4652
4809
  }
4810
+ },
4811
+
4812
+ // 生命周期钩子
4813
+ beforeDestroy: function beforeDestroy() {
4814
+ this.unmountPicker();
4653
4815
  }
4654
4816
  });
4655
- // CONCATENATED MODULE: ./components/datepicker/picker/picker.vue?vue&type=script&lang=js&
4656
- /* harmony default export */ var picker_pickervue_type_script_lang_js_ = (pickervue_type_script_lang_js_);
4817
+ // CONCATENATED MODULE: ./components/datepicker/picker/picker.vue?vue&type=script&lang=js
4818
+ /* harmony default export */ var picker_pickervue_type_script_lang_js = (pickervue_type_script_lang_js);
4657
4819
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
4658
4820
  var componentNormalizer = __webpack_require__(0);
4659
4821
 
@@ -4666,7 +4828,7 @@ var componentNormalizer = __webpack_require__(0);
4666
4828
  /* normalize component */
4667
4829
 
4668
4830
  var component = Object(componentNormalizer["a" /* default */])(
4669
- picker_pickervue_type_script_lang_js_,
4831
+ picker_pickervue_type_script_lang_js,
4670
4832
  render,
4671
4833
  staticRenderFns,
4672
4834
  false,
@@ -4676,12 +4838,9 @@ var component = Object(componentNormalizer["a" /* default */])(
4676
4838
 
4677
4839
  )
4678
4840
 
4679
- /* hot reload */
4680
- if (false) { var api; }
4681
- component.options.__file = "components/datepicker/picker/picker.vue"
4682
4841
  /* harmony default export */ var picker = (component.exports);
4683
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/date.vue?vue&type=template&id=1a0bc492&
4684
- var datevue_type_template_id_1a0bc492_render = function () {
4842
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/date.vue?vue&type=template&id=52f16377
4843
+ var datevue_type_template_id_52f16377_render = function () {
4685
4844
  var _vm = this
4686
4845
  var _h = _vm.$createElement
4687
4846
  var _c = _vm._self._c || _h
@@ -4725,100 +4884,130 @@ var datevue_type_template_id_1a0bc492_render = function () {
4725
4884
  class: this.prefixCls + "-picker-panel-header",
4726
4885
  },
4727
4886
  [
4728
- _c("i", {
4729
- staticClass: "mdsicon mdsicon-line-caret-left-double",
4730
- class: [
4731
- _vm.prefixCls + "-picker-panel-header-base-icon",
4732
- _vm.prefixCls + "-prev-year",
4733
- _vm.prefixCls + "-other-icon",
4734
- _vm.prefixCls + "-picker-panel-header-base-left",
4735
- ],
4736
- attrs: { "aria-label": _vm.t("mds.datepicker.prevYear") },
4737
- on: { click: _vm.prevYear },
4738
- }),
4739
- _c("i", {
4740
- directives: [
4741
- {
4742
- name: "show",
4743
- rawName: "v-show",
4744
- value: _vm.currentView === "date",
4745
- expression: "currentView === 'date'",
4746
- },
4747
- ],
4748
- staticClass: "mdsicon mdsicon-line-caret-left",
4749
- class: [
4750
- _vm.prefixCls + "-picker-panel-header-base-icon",
4751
- _vm.prefixCls + "-prev-month",
4752
- _vm.prefixCls + "-other-icon",
4753
- _vm.prefixCls + "-picker-panel-header-base-left",
4754
- ],
4755
- attrs: { "aria-label": _vm.t("mds.datepicker.prevMonth") },
4756
- on: { click: _vm.prevMonth },
4757
- }),
4758
- _c(
4759
- "span",
4760
- {
4761
- class: _vm.prefixCls + "-picker-panel-header-label",
4762
- attrs: { role: "button" },
4763
- on: { click: _vm.showYearPicker },
4764
- },
4765
- [_vm._v(_vm._s(_vm.yearLabel))]
4766
- ),
4767
- _c(
4768
- "span",
4769
- {
4770
- directives: [
4771
- {
4772
- name: "show",
4773
- rawName: "v-show",
4774
- value: _vm.currentView === "date",
4775
- expression: "currentView === 'date'",
4776
- },
4777
- ],
4778
- class: [
4779
- _vm.prefixCls + "-picker-panel-header-label",
4780
- { active: _vm.currentView === "month" },
4887
+ _vm.pickerType === "quarter"
4888
+ ? [
4889
+ _c(
4890
+ "span",
4891
+ { staticClass: "mds-date-picker-quarter-header" },
4892
+ [
4893
+ _vm._v(
4894
+ "\n " +
4895
+ _vm._s(_vm.year) +
4896
+ " " +
4897
+ _vm._s(_vm.t("mds.datepicker.year")) +
4898
+ "\n "
4899
+ ),
4900
+ ]
4901
+ ),
4902
+ ]
4903
+ : [
4904
+ _c("i", {
4905
+ staticClass: "mdsicon mdsicon-line-caret-left-double",
4906
+ class: [
4907
+ _vm.prefixCls + "-picker-panel-header-base-icon",
4908
+ _vm.prefixCls + "-prev-year",
4909
+ _vm.prefixCls + "-other-icon",
4910
+ _vm.prefixCls + "-picker-panel-header-base-left",
4911
+ ],
4912
+ attrs: {
4913
+ "aria-label": _vm.t("mds.datepicker.prevYear"),
4914
+ },
4915
+ on: { click: _vm.prevYear },
4916
+ }),
4917
+ _c("i", {
4918
+ directives: [
4919
+ {
4920
+ name: "show",
4921
+ rawName: "v-show",
4922
+ value: _vm.currentView === "date",
4923
+ expression: "currentView === 'date'",
4924
+ },
4925
+ ],
4926
+ staticClass: "mdsicon mdsicon-line-caret-left",
4927
+ class: [
4928
+ _vm.prefixCls + "-picker-panel-header-base-icon",
4929
+ _vm.prefixCls + "-prev-month",
4930
+ _vm.prefixCls + "-other-icon",
4931
+ _vm.prefixCls + "-picker-panel-header-base-left",
4932
+ ],
4933
+ attrs: {
4934
+ "aria-label": _vm.t("mds.datepicker.prevMonth"),
4935
+ },
4936
+ on: { click: _vm.prevMonth },
4937
+ }),
4938
+ _c(
4939
+ "span",
4940
+ {
4941
+ class: _vm.prefixCls + "-picker-panel-header-label",
4942
+ attrs: { role: "button" },
4943
+ on: { click: _vm.showYearPicker },
4944
+ },
4945
+ [_vm._v(_vm._s(_vm.yearLabel))]
4946
+ ),
4947
+ _c(
4948
+ "span",
4949
+ {
4950
+ directives: [
4951
+ {
4952
+ name: "show",
4953
+ rawName: "v-show",
4954
+ value: _vm.currentView === "date",
4955
+ expression: "currentView === 'date'",
4956
+ },
4957
+ ],
4958
+ class: [
4959
+ _vm.prefixCls + "-picker-panel-header-label",
4960
+ { active: _vm.currentView === "month" },
4961
+ ],
4962
+ attrs: { role: "button" },
4963
+ on: { click: _vm.showMonthPicker },
4964
+ },
4965
+ [
4966
+ _vm._v(
4967
+ _vm._s(
4968
+ _vm.t("mds.datepicker.month" + (_vm.month + 1))
4969
+ )
4970
+ ),
4971
+ ]
4972
+ ),
4973
+ _c("i", {
4974
+ staticClass:
4975
+ "mdsicon mdsicon-line-caret-right-double",
4976
+ class: [
4977
+ _vm.prefixCls + "-picker-panel-header-base-icon",
4978
+ _vm.prefixCls + "-next-year",
4979
+ _vm.prefixCls + "-other-icon",
4980
+ _vm.prefixCls + "-picker-panel-header-base-right",
4981
+ ],
4982
+ attrs: {
4983
+ "aria-label": _vm.t("mds.datepicker.nextYear"),
4984
+ },
4985
+ on: { click: _vm.nextYear },
4986
+ }),
4987
+ _c("i", {
4988
+ directives: [
4989
+ {
4990
+ name: "show",
4991
+ rawName: "v-show",
4992
+ value: _vm.currentView === "date",
4993
+ expression: "currentView === 'date'",
4994
+ },
4995
+ ],
4996
+ staticClass: "mdsicon mdsicon-line-caret-right",
4997
+ class: [
4998
+ _vm.prefixCls + "-picker-panel-header-base-icon",
4999
+ _vm.prefixCls + "-next-month",
5000
+ _vm.prefixCls + "-other-icon",
5001
+ _vm.prefixCls + "-picker-panel-header-base-right",
5002
+ ],
5003
+ attrs: {
5004
+ "aria-label": _vm.t("mds.datepicker.nextMonth"),
5005
+ },
5006
+ on: { click: _vm.nextMonth },
5007
+ }),
4781
5008
  ],
4782
- attrs: { role: "button" },
4783
- on: { click: _vm.showMonthPicker },
4784
- },
4785
- [
4786
- _vm._v(
4787
- _vm._s(_vm.t("mds.datepicker.month" + (_vm.month + 1)))
4788
- ),
4789
- ]
4790
- ),
4791
- _c("i", {
4792
- staticClass: "mdsicon mdsicon-line-caret-right-double",
4793
- class: [
4794
- _vm.prefixCls + "-picker-panel-header-base-icon",
4795
- _vm.prefixCls + "-next-year",
4796
- _vm.prefixCls + "-other-icon",
4797
- _vm.prefixCls + "-picker-panel-header-base-right",
4798
- ],
4799
- attrs: { "aria-label": _vm.t("mds.datepicker.nextYear") },
4800
- on: { click: _vm.nextYear },
4801
- }),
4802
- _c("i", {
4803
- directives: [
4804
- {
4805
- name: "show",
4806
- rawName: "v-show",
4807
- value: _vm.currentView === "date",
4808
- expression: "currentView === 'date'",
4809
- },
4810
- ],
4811
- staticClass: "mdsicon mdsicon-line-caret-right",
4812
- class: [
4813
- _vm.prefixCls + "-picker-panel-header-base-icon",
4814
- _vm.prefixCls + "-next-month",
4815
- _vm.prefixCls + "-other-icon",
4816
- _vm.prefixCls + "-picker-panel-header-base-right",
4817
- ],
4818
- attrs: { "aria-label": _vm.t("mds.datepicker.nextMonth") },
4819
- on: { click: _vm.nextMonth },
4820
- }),
4821
- ]
5009
+ ],
5010
+ 2
4822
5011
  ),
4823
5012
  _vm.timePickerVisible
4824
5013
  ? _c(
@@ -4843,98 +5032,105 @@ var datevue_type_template_id_1a0bc492_render = function () {
4843
5032
  "div",
4844
5033
  { class: this.prefixCls + "-picker-panel-content" },
4845
5034
  [
4846
- _c("date-table", {
4847
- directives: [
4848
- {
4849
- name: "show",
4850
- rawName: "v-show",
4851
- value:
4852
- _vm.currentView === "date" &&
4853
- _vm.timePickerVisible === false,
4854
- expression:
4855
- "currentView === 'date' && timePickerVisible === false",
4856
- },
4857
- ],
4858
- attrs: {
4859
- "selection-mode": _vm.selectionMode,
4860
- "first-day-of-week": _vm.firstDayOfWeek,
4861
- value: _vm.value,
4862
- "default-value": _vm.defaultValue
4863
- ? new Date(_vm.defaultValue)
4864
- : null,
4865
- date: _vm.date,
4866
- "cell-class-name": _vm.cellClassName,
4867
- "disabled-date": _vm.disabledDate,
4868
- },
4869
- on: { pick: _vm.handleDatePick },
4870
- }),
4871
- _c("year-table", {
4872
- directives: [
4873
- {
4874
- name: "show",
4875
- rawName: "v-show",
4876
- value:
4877
- _vm.currentView === "year" &&
4878
- _vm.timePickerVisible === false,
4879
- expression:
4880
- "currentView === 'year' && timePickerVisible === false",
4881
- },
4882
- ],
4883
- attrs: {
4884
- value: _vm.value,
4885
- "default-value": _vm.defaultValue
4886
- ? new Date(_vm.defaultValue)
4887
- : null,
4888
- date: _vm.date,
4889
- "disabled-date": _vm.disabledDate,
4890
- },
4891
- on: { pick: _vm.handleYearPick },
4892
- }),
4893
- _c("month-table", {
4894
- directives: [
4895
- {
4896
- name: "show",
4897
- rawName: "v-show",
4898
- value:
4899
- _vm.currentView === "month" &&
4900
- _vm.timePickerVisible === false,
4901
- expression:
4902
- "currentView === 'month' && timePickerVisible === false",
4903
- },
4904
- ],
4905
- attrs: {
4906
- value: _vm.value,
4907
- "default-value": _vm.defaultValue
4908
- ? new Date(_vm.defaultValue)
4909
- : null,
4910
- date: _vm.date,
4911
- "disabled-date": _vm.disabledDate,
4912
- },
4913
- on: { pick: _vm.handleMonthPick },
4914
- }),
4915
- _c("time-picker", {
4916
- directives: [
4917
- {
4918
- name: "show",
4919
- rawName: "v-show",
4920
- value: _vm.timePickerVisible && _vm.showTime,
4921
- expression: "timePickerVisible && showTime",
4922
- },
4923
- ],
4924
- ref: "timepicker",
4925
- attrs: {
4926
- "time-arrow-control": _vm.arrowControl,
4927
- visible: true,
4928
- "listen-scroll": _vm.listenScroll,
4929
- step: _vm.step,
4930
- },
4931
- on: {
4932
- pick: _vm.handleTimePick,
4933
- mounted: _vm.proxyTimePickerDataProperties,
4934
- },
4935
- }),
5035
+ _vm.pickerType === "quarter"
5036
+ ? _c("quarter-panel", {
5037
+ attrs: { value: _vm.value, date: _vm.date },
5038
+ on: { pick: _vm.handleQuarterPick },
5039
+ })
5040
+ : [
5041
+ _c("date-table", {
5042
+ directives: [
5043
+ {
5044
+ name: "show",
5045
+ rawName: "v-show",
5046
+ value:
5047
+ _vm.currentView === "date" &&
5048
+ _vm.timePickerVisible === false,
5049
+ expression:
5050
+ "currentView === 'date' && timePickerVisible === false",
5051
+ },
5052
+ ],
5053
+ attrs: {
5054
+ "selection-mode": _vm.selectionMode,
5055
+ "first-day-of-week": _vm.firstDayOfWeek,
5056
+ value: _vm.value,
5057
+ "default-value": _vm.defaultValue
5058
+ ? new Date(_vm.defaultValue)
5059
+ : null,
5060
+ date: _vm.date,
5061
+ "cell-class-name": _vm.cellClassName,
5062
+ "disabled-date": _vm.disabledDate,
5063
+ },
5064
+ on: { pick: _vm.handleDatePick },
5065
+ }),
5066
+ _c("year-table", {
5067
+ directives: [
5068
+ {
5069
+ name: "show",
5070
+ rawName: "v-show",
5071
+ value:
5072
+ _vm.currentView === "year" &&
5073
+ _vm.timePickerVisible === false,
5074
+ expression:
5075
+ "currentView === 'year' && timePickerVisible === false",
5076
+ },
5077
+ ],
5078
+ attrs: {
5079
+ value: _vm.value,
5080
+ "default-value": _vm.defaultValue
5081
+ ? new Date(_vm.defaultValue)
5082
+ : null,
5083
+ date: _vm.date,
5084
+ "disabled-date": _vm.disabledDate,
5085
+ },
5086
+ on: { pick: _vm.handleYearPick },
5087
+ }),
5088
+ _c("month-table", {
5089
+ directives: [
5090
+ {
5091
+ name: "show",
5092
+ rawName: "v-show",
5093
+ value:
5094
+ _vm.currentView === "month" &&
5095
+ _vm.timePickerVisible === false,
5096
+ expression:
5097
+ "currentView === 'month' && timePickerVisible === false",
5098
+ },
5099
+ ],
5100
+ attrs: {
5101
+ value: _vm.value,
5102
+ "default-value": _vm.defaultValue
5103
+ ? new Date(_vm.defaultValue)
5104
+ : null,
5105
+ date: _vm.date,
5106
+ "disabled-date": _vm.disabledDate,
5107
+ },
5108
+ on: { pick: _vm.handleMonthPick },
5109
+ }),
5110
+ _c("time-picker", {
5111
+ directives: [
5112
+ {
5113
+ name: "show",
5114
+ rawName: "v-show",
5115
+ value: _vm.timePickerVisible && _vm.showTime,
5116
+ expression: "timePickerVisible && showTime",
5117
+ },
5118
+ ],
5119
+ ref: "timepicker",
5120
+ attrs: {
5121
+ "time-arrow-control": _vm.arrowControl,
5122
+ visible: true,
5123
+ "listen-scroll": _vm.listenScroll,
5124
+ step: _vm.step,
5125
+ },
5126
+ on: {
5127
+ pick: _vm.handleTimePick,
5128
+ mounted: _vm.proxyTimePickerDataProperties,
5129
+ },
5130
+ }),
5131
+ ],
4936
5132
  ],
4937
- 1
5133
+ 2
4938
5134
  ),
4939
5135
  ]),
4940
5136
  ]),
@@ -4945,8 +5141,12 @@ var datevue_type_template_id_1a0bc492_render = function () {
4945
5141
  {
4946
5142
  name: "show",
4947
5143
  rawName: "v-show",
4948
- value: _vm.footerVisible && _vm.currentView === "date",
4949
- expression: "footerVisible && currentView === 'date'",
5144
+ value:
5145
+ _vm.footerVisible &&
5146
+ _vm.currentView === "date" &&
5147
+ _vm.pickerType !== "quarter",
5148
+ expression:
5149
+ "footerVisible && currentView === 'date' && pickerType !== 'quarter'",
4950
5150
  },
4951
5151
  ],
4952
5152
  class: this.prefixCls + "-picker-panel-footer",
@@ -5029,18 +5229,18 @@ var datevue_type_template_id_1a0bc492_render = function () {
5029
5229
  ]
5030
5230
  )
5031
5231
  }
5032
- var datevue_type_template_id_1a0bc492_staticRenderFns = []
5033
- datevue_type_template_id_1a0bc492_render._withStripped = true
5232
+ var datevue_type_template_id_52f16377_staticRenderFns = []
5233
+ datevue_type_template_id_52f16377_render._withStripped = true
5034
5234
 
5035
5235
 
5036
- // CONCATENATED MODULE: ./components/datepicker/picker/date.vue?vue&type=template&id=1a0bc492&
5236
+ // CONCATENATED MODULE: ./components/datepicker/picker/date.vue?vue&type=template&id=52f16377
5037
5237
 
5038
5238
  // EXTERNAL MODULE: external "./button"
5039
- var external_button_ = __webpack_require__(14);
5239
+ var external_button_ = __webpack_require__(13);
5040
5240
  var external_button_default = /*#__PURE__*/__webpack_require__.n(external_button_);
5041
5241
 
5042
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/time.vue?vue&type=template&id=0c4cd956&
5043
- var timevue_type_template_id_0c4cd956_render = function () {
5242
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/time.vue?vue&type=template&id=0cfac746
5243
+ var timevue_type_template_id_0cfac746_render = function () {
5044
5244
  var _vm = this
5045
5245
  var _h = _vm.$createElement
5046
5246
  var _c = _vm._self._c || _h
@@ -5075,14 +5275,14 @@ var timevue_type_template_id_0c4cd956_render = function () {
5075
5275
  1
5076
5276
  )
5077
5277
  }
5078
- var timevue_type_template_id_0c4cd956_staticRenderFns = []
5079
- timevue_type_template_id_0c4cd956_render._withStripped = true
5278
+ var timevue_type_template_id_0cfac746_staticRenderFns = []
5279
+ timevue_type_template_id_0cfac746_render._withStripped = true
5080
5280
 
5081
5281
 
5082
- // CONCATENATED MODULE: ./components/datepicker/picker/time.vue?vue&type=template&id=0c4cd956&
5282
+ // CONCATENATED MODULE: ./components/datepicker/picker/time.vue?vue&type=template&id=0cfac746
5083
5283
 
5084
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/time-spinner.vue?vue&type=template&id=79c97ebf&
5085
- var time_spinnervue_type_template_id_79c97ebf_render = function () {
5284
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/time-spinner.vue?vue&type=template&id=c5c646d0
5285
+ var time_spinnervue_type_template_id_c5c646d0_render = function () {
5086
5286
  var _vm = this
5087
5287
  var _h = _vm.$createElement
5088
5288
  var _c = _vm._self._c || _h
@@ -5275,11 +5475,11 @@ var time_spinnervue_type_template_id_79c97ebf_render = function () {
5275
5475
  ]
5276
5476
  )
5277
5477
  }
5278
- var time_spinnervue_type_template_id_79c97ebf_staticRenderFns = []
5279
- time_spinnervue_type_template_id_79c97ebf_render._withStripped = true
5478
+ var time_spinnervue_type_template_id_c5c646d0_staticRenderFns = []
5479
+ time_spinnervue_type_template_id_c5c646d0_render._withStripped = true
5280
5480
 
5281
5481
 
5282
- // CONCATENATED MODULE: ./components/datepicker/base/time-spinner.vue?vue&type=template&id=79c97ebf&
5482
+ // CONCATENATED MODULE: ./components/datepicker/base/time-spinner.vue?vue&type=template&id=c5c646d0
5283
5483
 
5284
5484
  // EXTERNAL MODULE: ./components/_util/date.js
5285
5485
  var _util_date = __webpack_require__(52);
@@ -5595,7 +5795,7 @@ var scroll_bar = __webpack_require__(27);
5595
5795
  var repeatClick_ = __webpack_require__(67);
5596
5796
  var repeatClick_default = /*#__PURE__*/__webpack_require__.n(repeatClick_);
5597
5797
 
5598
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/time-spinner.vue?vue&type=script&lang=js&
5798
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/time-spinner.vue?vue&type=script&lang=js
5599
5799
  //
5600
5800
  //
5601
5801
  //
@@ -5674,7 +5874,7 @@ var repeatClick_default = /*#__PURE__*/__webpack_require__.n(repeatClick_);
5674
5874
 
5675
5875
 
5676
5876
 
5677
- /* harmony default export */ var time_spinnervue_type_script_lang_js_ = ({
5877
+ /* harmony default export */ var time_spinnervue_type_script_lang_js = ({
5678
5878
  mixins: [locale_default.a],
5679
5879
  components: { MdsScrollbar: scroll_bar["a" /* default */] },
5680
5880
 
@@ -5892,8 +6092,8 @@ var repeatClick_default = /*#__PURE__*/__webpack_require__.n(repeatClick_);
5892
6092
  }
5893
6093
  }
5894
6094
  });
5895
- // CONCATENATED MODULE: ./components/datepicker/base/time-spinner.vue?vue&type=script&lang=js&
5896
- /* harmony default export */ var base_time_spinnervue_type_script_lang_js_ = (time_spinnervue_type_script_lang_js_);
6095
+ // CONCATENATED MODULE: ./components/datepicker/base/time-spinner.vue?vue&type=script&lang=js
6096
+ /* harmony default export */ var base_time_spinnervue_type_script_lang_js = (time_spinnervue_type_script_lang_js);
5897
6097
  // CONCATENATED MODULE: ./components/datepicker/base/time-spinner.vue
5898
6098
 
5899
6099
 
@@ -5903,9 +6103,9 @@ var repeatClick_default = /*#__PURE__*/__webpack_require__.n(repeatClick_);
5903
6103
  /* normalize component */
5904
6104
 
5905
6105
  var time_spinner_component = Object(componentNormalizer["a" /* default */])(
5906
- base_time_spinnervue_type_script_lang_js_,
5907
- time_spinnervue_type_template_id_79c97ebf_render,
5908
- time_spinnervue_type_template_id_79c97ebf_staticRenderFns,
6106
+ base_time_spinnervue_type_script_lang_js,
6107
+ time_spinnervue_type_template_id_c5c646d0_render,
6108
+ time_spinnervue_type_template_id_c5c646d0_staticRenderFns,
5909
6109
  false,
5910
6110
  null,
5911
6111
  null,
@@ -5913,11 +6113,8 @@ var time_spinner_component = Object(componentNormalizer["a" /* default */])(
5913
6113
 
5914
6114
  )
5915
6115
 
5916
- /* hot reload */
5917
- if (false) { var time_spinner_api; }
5918
- time_spinner_component.options.__file = "components/datepicker/base/time-spinner.vue"
5919
6116
  /* harmony default export */ var time_spinner = (time_spinner_component.exports);
5920
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/time.vue?vue&type=script&lang=js&
6117
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/time.vue?vue&type=script&lang=js
5921
6118
  //
5922
6119
  //
5923
6120
  //
@@ -5940,7 +6137,7 @@ time_spinner_component.options.__file = "components/datepicker/base/time-spinner
5940
6137
 
5941
6138
 
5942
6139
 
5943
- /* harmony default export */ var timevue_type_script_lang_js_ = ({
6140
+ /* harmony default export */ var timevue_type_script_lang_js = ({
5944
6141
  mixins: [locale_default.a],
5945
6142
  components: {
5946
6143
  TimeSpinner: time_spinner
@@ -6094,8 +6291,8 @@ time_spinner_component.options.__file = "components/datepicker/base/time-spinner
6094
6291
  this.$emit('mounted');
6095
6292
  }
6096
6293
  });
6097
- // CONCATENATED MODULE: ./components/datepicker/picker/time.vue?vue&type=script&lang=js&
6098
- /* harmony default export */ var picker_timevue_type_script_lang_js_ = (timevue_type_script_lang_js_);
6294
+ // CONCATENATED MODULE: ./components/datepicker/picker/time.vue?vue&type=script&lang=js
6295
+ /* harmony default export */ var picker_timevue_type_script_lang_js = (timevue_type_script_lang_js);
6099
6296
  // CONCATENATED MODULE: ./components/datepicker/picker/time.vue
6100
6297
 
6101
6298
 
@@ -6105,9 +6302,9 @@ time_spinner_component.options.__file = "components/datepicker/base/time-spinner
6105
6302
  /* normalize component */
6106
6303
 
6107
6304
  var time_component = Object(componentNormalizer["a" /* default */])(
6108
- picker_timevue_type_script_lang_js_,
6109
- timevue_type_template_id_0c4cd956_render,
6110
- timevue_type_template_id_0c4cd956_staticRenderFns,
6305
+ picker_timevue_type_script_lang_js,
6306
+ timevue_type_template_id_0cfac746_render,
6307
+ timevue_type_template_id_0cfac746_staticRenderFns,
6111
6308
  false,
6112
6309
  null,
6113
6310
  null,
@@ -6115,12 +6312,9 @@ var time_component = Object(componentNormalizer["a" /* default */])(
6115
6312
 
6116
6313
  )
6117
6314
 
6118
- /* hot reload */
6119
- if (false) { var time_api; }
6120
- time_component.options.__file = "components/datepicker/picker/time.vue"
6121
6315
  /* harmony default export */ var picker_time = (time_component.exports);
6122
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/year-table.vue?vue&type=template&id=aa64ca38&
6123
- var year_tablevue_type_template_id_aa64ca38_render = function () {
6316
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/year-table.vue?vue&type=template&id=4e42f730
6317
+ var year_tablevue_type_template_id_4e42f730_render = function () {
6124
6318
  var _vm = this
6125
6319
  var _h = _vm.$createElement
6126
6320
  var _c = _vm._self._c || _h
@@ -6286,19 +6480,19 @@ var year_tablevue_type_template_id_aa64ca38_render = function () {
6286
6480
  ),
6287
6481
  ])
6288
6482
  }
6289
- var year_tablevue_type_template_id_aa64ca38_staticRenderFns = []
6290
- year_tablevue_type_template_id_aa64ca38_render._withStripped = true
6483
+ var year_tablevue_type_template_id_4e42f730_staticRenderFns = []
6484
+ year_tablevue_type_template_id_4e42f730_render._withStripped = true
6291
6485
 
6292
6486
 
6293
- // CONCATENATED MODULE: ./components/datepicker/base/year-table.vue?vue&type=template&id=aa64ca38&
6487
+ // CONCATENATED MODULE: ./components/datepicker/base/year-table.vue?vue&type=template&id=4e42f730
6294
6488
 
6295
6489
  // EXTERNAL MODULE: external "./_util/dom"
6296
6490
  var dom_ = __webpack_require__(68);
6297
6491
 
6298
6492
  // EXTERNAL MODULE: external "./_util/util"
6299
- var util_ = __webpack_require__(21);
6493
+ var util_ = __webpack_require__(22);
6300
6494
 
6301
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/year-table.vue?vue&type=script&lang=js&
6495
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/year-table.vue?vue&type=script&lang=js
6302
6496
  //
6303
6497
  //
6304
6498
  //
@@ -6379,7 +6573,7 @@ var year_tablevue_type_script_lang_js_datesInYear = function datesInYear(year) {
6379
6573
  });
6380
6574
  };
6381
6575
 
6382
- /* harmony default export */ var year_tablevue_type_script_lang_js_ = ({
6576
+ /* harmony default export */ var year_tablevue_type_script_lang_js = ({
6383
6577
  mixins: [locale_default.a],
6384
6578
  props: {
6385
6579
  disabledDate: {},
@@ -6429,8 +6623,8 @@ var year_tablevue_type_script_lang_js_datesInYear = function datesInYear(year) {
6429
6623
  }
6430
6624
  }
6431
6625
  });
6432
- // CONCATENATED MODULE: ./components/datepicker/base/year-table.vue?vue&type=script&lang=js&
6433
- /* harmony default export */ var base_year_tablevue_type_script_lang_js_ = (year_tablevue_type_script_lang_js_);
6626
+ // CONCATENATED MODULE: ./components/datepicker/base/year-table.vue?vue&type=script&lang=js
6627
+ /* harmony default export */ var base_year_tablevue_type_script_lang_js = (year_tablevue_type_script_lang_js);
6434
6628
  // CONCATENATED MODULE: ./components/datepicker/base/year-table.vue
6435
6629
 
6436
6630
 
@@ -6440,9 +6634,9 @@ var year_tablevue_type_script_lang_js_datesInYear = function datesInYear(year) {
6440
6634
  /* normalize component */
6441
6635
 
6442
6636
  var year_table_component = Object(componentNormalizer["a" /* default */])(
6443
- base_year_tablevue_type_script_lang_js_,
6444
- year_tablevue_type_template_id_aa64ca38_render,
6445
- year_tablevue_type_template_id_aa64ca38_staticRenderFns,
6637
+ base_year_tablevue_type_script_lang_js,
6638
+ year_tablevue_type_template_id_4e42f730_render,
6639
+ year_tablevue_type_template_id_4e42f730_staticRenderFns,
6446
6640
  false,
6447
6641
  null,
6448
6642
  null,
@@ -6450,12 +6644,9 @@ var year_table_component = Object(componentNormalizer["a" /* default */])(
6450
6644
 
6451
6645
  )
6452
6646
 
6453
- /* hot reload */
6454
- if (false) { var year_table_api; }
6455
- year_table_component.options.__file = "components/datepicker/base/year-table.vue"
6456
6647
  /* harmony default export */ var year_table = (year_table_component.exports);
6457
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/month-table.vue?vue&type=template&id=c295c5ea&
6458
- var month_tablevue_type_template_id_c295c5ea_render = function () {
6648
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/month-table.vue?vue&type=template&id=b2039112
6649
+ var month_tablevue_type_template_id_b2039112_render = function () {
6459
6650
  var _vm = this
6460
6651
  var _h = _vm.$createElement
6461
6652
  var _c = _vm._self._c || _h
@@ -6501,19 +6692,19 @@ var month_tablevue_type_template_id_c295c5ea_render = function () {
6501
6692
  ),
6502
6693
  ])
6503
6694
  }
6504
- var month_tablevue_type_template_id_c295c5ea_staticRenderFns = []
6505
- month_tablevue_type_template_id_c295c5ea_render._withStripped = true
6695
+ var month_tablevue_type_template_id_b2039112_staticRenderFns = []
6696
+ month_tablevue_type_template_id_b2039112_render._withStripped = true
6506
6697
 
6507
6698
 
6508
- // CONCATENATED MODULE: ./components/datepicker/base/month-table.vue?vue&type=template&id=c295c5ea&
6699
+ // CONCATENATED MODULE: ./components/datepicker/base/month-table.vue?vue&type=template&id=b2039112
6509
6700
 
6510
6701
  // EXTERNAL MODULE: ./components/_util/dom.js
6511
- var dom = __webpack_require__(22);
6702
+ var dom = __webpack_require__(23);
6512
6703
 
6513
6704
  // EXTERNAL MODULE: ./components/_util/util.js
6514
6705
  var util = __webpack_require__(16);
6515
6706
 
6516
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/month-table.vue?vue&type=script&lang=js&
6707
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/month-table.vue?vue&type=script&lang=js
6517
6708
  //
6518
6709
  //
6519
6710
  //
@@ -6562,7 +6753,7 @@ var getMonthTimestamp = function getMonthTimestamp(time) {
6562
6753
  return NaN;
6563
6754
  }
6564
6755
  };
6565
- /* harmony default export */ var month_tablevue_type_script_lang_js_ = ({
6756
+ /* harmony default export */ var month_tablevue_type_script_lang_js = ({
6566
6757
  mixins: [locale_default.a],
6567
6758
  props: {
6568
6759
  disabledDate: {},
@@ -6792,8 +6983,8 @@ var getMonthTimestamp = function getMonthTimestamp(time) {
6792
6983
  }
6793
6984
  }
6794
6985
  });
6795
- // CONCATENATED MODULE: ./components/datepicker/base/month-table.vue?vue&type=script&lang=js&
6796
- /* harmony default export */ var base_month_tablevue_type_script_lang_js_ = (month_tablevue_type_script_lang_js_);
6986
+ // CONCATENATED MODULE: ./components/datepicker/base/month-table.vue?vue&type=script&lang=js
6987
+ /* harmony default export */ var base_month_tablevue_type_script_lang_js = (month_tablevue_type_script_lang_js);
6797
6988
  // CONCATENATED MODULE: ./components/datepicker/base/month-table.vue
6798
6989
 
6799
6990
 
@@ -6803,9 +6994,9 @@ var getMonthTimestamp = function getMonthTimestamp(time) {
6803
6994
  /* normalize component */
6804
6995
 
6805
6996
  var month_table_component = Object(componentNormalizer["a" /* default */])(
6806
- base_month_tablevue_type_script_lang_js_,
6807
- month_tablevue_type_template_id_c295c5ea_render,
6808
- month_tablevue_type_template_id_c295c5ea_staticRenderFns,
6997
+ base_month_tablevue_type_script_lang_js,
6998
+ month_tablevue_type_template_id_b2039112_render,
6999
+ month_tablevue_type_template_id_b2039112_staticRenderFns,
6809
7000
  false,
6810
7001
  null,
6811
7002
  null,
@@ -6813,12 +7004,9 @@ var month_table_component = Object(componentNormalizer["a" /* default */])(
6813
7004
 
6814
7005
  )
6815
7006
 
6816
- /* hot reload */
6817
- if (false) { var month_table_api; }
6818
- month_table_component.options.__file = "components/datepicker/base/month-table.vue"
6819
7007
  /* harmony default export */ var month_table = (month_table_component.exports);
6820
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/date-table.vue?vue&type=template&id=6c222915&
6821
- var date_tablevue_type_template_id_6c222915_render = function () {
7008
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/date-table.vue?vue&type=template&id=1c74037d
7009
+ var date_tablevue_type_template_id_1c74037d_render = function () {
6822
7010
  var _vm = this
6823
7011
  var _h = _vm.$createElement
6824
7012
  var _c = _vm._self._c || _h
@@ -6894,13 +7082,13 @@ var date_tablevue_type_template_id_6c222915_render = function () {
6894
7082
  ]),
6895
7083
  ])
6896
7084
  }
6897
- var date_tablevue_type_template_id_6c222915_staticRenderFns = []
6898
- date_tablevue_type_template_id_6c222915_render._withStripped = true
7085
+ var date_tablevue_type_template_id_1c74037d_staticRenderFns = []
7086
+ date_tablevue_type_template_id_1c74037d_render._withStripped = true
6899
7087
 
6900
7088
 
6901
- // CONCATENATED MODULE: ./components/datepicker/base/date-table.vue?vue&type=template&id=6c222915&
7089
+ // CONCATENATED MODULE: ./components/datepicker/base/date-table.vue?vue&type=template&id=1c74037d
6902
7090
 
6903
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/date-table.vue?vue&type=script&lang=js&
7091
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/base/date-table.vue?vue&type=script&lang=js
6904
7092
 
6905
7093
  //
6906
7094
  //
@@ -6971,11 +7159,12 @@ var date_tablevue_type_script_lang_js_getDateTimestamp = function getDateTimesta
6971
7159
  // return a new array if modification occurs
6972
7160
  // return the original array otherwise
6973
7161
  var date_tablevue_type_script_lang_js_removeFromArray = function removeFromArray(arr, pred) {
6974
- var idx = typeof pred === 'function' ? Object(util["b" /* arrayFindIndex */])(arr, pred) : arr.indexOf(pred);
7162
+ var idx = typeof pred === 'function' ? arr.findIndex(pred) // 使用原生 findIndex 方法
7163
+ : arr.indexOf(pred);
6975
7164
  return idx >= 0 ? [].concat(toConsumableArray_default()(arr.slice(0, idx)), toConsumableArray_default()(arr.slice(idx + 1))) : arr;
6976
7165
  };
6977
7166
 
6978
- /* harmony default export */ var date_tablevue_type_script_lang_js_ = ({
7167
+ /* harmony default export */ var date_tablevue_type_script_lang_js = ({
6979
7168
  mixins: [locale_default.a],
6980
7169
  props: {
6981
7170
  firstDayOfWeek: {
@@ -7050,27 +7239,29 @@ var date_tablevue_type_script_lang_js_removeFromArray = function removeFromArray
7050
7239
  rows: function rows() {
7051
7240
  var _this = this;
7052
7241
 
7053
- // TODO: refactory rows / getCellClasses
7242
+ // 确保每次计算都从干净的状态开始
7054
7243
  var date = new Date(this.year, this.month, 1);
7055
- var day = getFirstDayOfMonth(date); // day of first day
7244
+ var day = getFirstDayOfMonth(date);
7056
7245
  var dateCountOfMonth = getDayCountOfMonth(date.getFullYear(), date.getMonth());
7057
7246
  var dateCountOfLastMonth = getDayCountOfMonth(date.getFullYear(), date.getMonth() === 0 ? 11 : date.getMonth() - 1);
7058
7247
 
7059
7248
  day = day === 0 ? 7 : day;
7060
-
7061
7249
  var offset = this.offsetDay;
7062
7250
  var rows = this.tableRows;
7063
7251
  var count = 1;
7064
-
7065
7252
  var startDate = this.startDate;
7066
7253
  var disabledDate = this.disabledDate;
7067
7254
  var cellClassName = this.cellClassName;
7255
+
7256
+ // 关键修复:确保 selectedDate 是当前有效的选择状态
7068
7257
  var selectedDate = this.selectionMode === 'dates' ? Object(util["c" /* coerceTruthyValueToArray */])(this.value) : [];
7258
+
7069
7259
  var now = date_tablevue_type_script_lang_js_getDateTimestamp(new Date());
7070
7260
 
7071
7261
  for (var i = 0; i < 6; i++) {
7072
7262
  var row = rows[i];
7073
7263
 
7264
+ // 重置行状态
7074
7265
  if (this.showWeekNumber) {
7075
7266
  if (!row[0]) {
7076
7267
  row[0] = {
@@ -7082,33 +7273,51 @@ var date_tablevue_type_script_lang_js_removeFromArray = function removeFromArray
7082
7273
 
7083
7274
  var _loop = function _loop(j) {
7084
7275
  var cell = row[_this.showWeekNumber ? j + 1 : j];
7085
- if (!cell) {
7086
- cell = {
7087
- row: i,
7088
- column: j,
7089
- type: 'normal',
7090
- inRange: false,
7091
- start: false,
7092
- end: false
7093
- };
7094
- }
7095
7276
 
7096
- cell.type = 'normal';
7277
+ // 关键修复:每次都创建新的 cell 对象,避免状态污染
7278
+ cell = {
7279
+ row: i,
7280
+ column: j,
7281
+ type: 'normal',
7282
+ inRange: false,
7283
+ start: false,
7284
+ end: false,
7285
+ disabled: false,
7286
+ selected: false,
7287
+ customClass: null
7288
+ };
7097
7289
 
7098
7290
  var index = i * 7 + j;
7099
7291
  var time = nextDate(startDate, index - offset).getTime();
7100
- cell.inRange = time >= date_tablevue_type_script_lang_js_getDateTimestamp(_this.minDate) && time <= date_tablevue_type_script_lang_js_getDateTimestamp(_this.maxDate);
7101
- cell.start = _this.minDate && time === date_tablevue_type_script_lang_js_getDateTimestamp(_this.minDate);
7102
- cell.end = _this.maxDate && time === date_tablevue_type_script_lang_js_getDateTimestamp(_this.maxDate);
7103
- var isToday = time === now;
7292
+ var cellDate = new Date(time);
7104
7293
 
7294
+ // 正确计算范围状态
7295
+ if (_this.minDate && _this.maxDate) {
7296
+ var minTime = date_tablevue_type_script_lang_js_getDateTimestamp(_this.minDate);
7297
+ var maxTime = date_tablevue_type_script_lang_js_getDateTimestamp(_this.maxDate);
7298
+ cell.inRange = time >= minTime && time <= maxTime;
7299
+ cell.start = time === minTime;
7300
+ cell.end = time === maxTime;
7301
+ }
7302
+
7303
+ // 正确计算选中状态
7304
+ if (_this.selectionMode === 'dates') {
7305
+ cell.selected = selectedDate.some(function (date) {
7306
+ return date && date.getTime() === cellDate.getTime();
7307
+ });
7308
+ } else if (_this.selectionMode === 'day' && _this.value) {
7309
+ cell.selected = _this.value.getTime() === cellDate.getTime();
7310
+ }
7311
+
7312
+ // 其他状态计算...
7313
+ var isToday = time === now;
7105
7314
  if (isToday) {
7106
7315
  cell.type = 'today';
7107
7316
  }
7108
7317
 
7318
+ // 日期文本计算...
7109
7319
  if (i >= 0 && i <= 1) {
7110
7320
  var numberOfDaysFromPreviousMonth = day + offset < 0 ? 7 + day + offset : day + offset;
7111
-
7112
7321
  if (j + i * 7 >= numberOfDaysFromPreviousMonth) {
7113
7322
  cell.text = count++;
7114
7323
  } else {
@@ -7124,29 +7333,19 @@ var date_tablevue_type_script_lang_js_removeFromArray = function removeFromArray
7124
7333
  }
7125
7334
  }
7126
7335
 
7127
- var cellDate = new Date(time);
7336
+ // 禁用状态
7128
7337
  cell.disabled = typeof disabledDate === 'function' && disabledDate(cellDate);
7129
- cell.selected = Object(util["a" /* arrayFind */])(selectedDate, function (date) {
7130
- return (date && date.getTime()) === (cellDate && cellDate.getTime());
7131
- });
7338
+
7339
+ // 自定义类名
7132
7340
  cell.customClass = typeof cellClassName === 'function' && cellClassName(cellDate);
7341
+
7342
+ // 更新行数据
7133
7343
  _this.$set(row, _this.showWeekNumber ? j + 1 : j, cell);
7134
7344
  };
7135
7345
 
7136
7346
  for (var j = 0; j < 7; j++) {
7137
7347
  _loop(j);
7138
7348
  }
7139
-
7140
- if (this.selectionMode === 'week') {
7141
- var start = this.showWeekNumber ? 1 : 0;
7142
- var end = this.showWeekNumber ? 7 : 6;
7143
- var isWeekActive = this.isWeekActive(row[start + 1]);
7144
-
7145
- row[start].inRange = isWeekActive;
7146
- row[start].start = isWeekActive;
7147
- row[end].inRange = isWeekActive;
7148
- row[end].end = isWeekActive;
7149
- }
7150
7349
  }
7151
7350
 
7152
7351
  return rows;
@@ -7278,11 +7477,11 @@ var date_tablevue_type_script_lang_js_removeFromArray = function removeFromArray
7278
7477
 
7279
7478
  var _cell = row[j];
7280
7479
  var index = i * 7 + j + (this.showWeekNumber ? -1 : 0);
7281
- var time = nextDate(startDate, index - this.offsetDay).getTime();
7480
+ var _time = nextDate(startDate, index - this.offsetDay).getTime();
7282
7481
 
7283
- _cell.inRange = minDate && time >= minDate && time <= maxDate;
7284
- _cell.start = minDate && time === minDate;
7285
- _cell.end = maxDate && time === maxDate;
7482
+ _cell.inRange = minDate && _time >= minDate && _time <= maxDate;
7483
+ _cell.start = minDate && _time === minDate;
7484
+ _cell.end = maxDate && _time === maxDate;
7286
7485
  }
7287
7486
  }
7288
7487
  },
@@ -7370,8 +7569,8 @@ var date_tablevue_type_script_lang_js_removeFromArray = function removeFromArray
7370
7569
  }
7371
7570
  }
7372
7571
  });
7373
- // CONCATENATED MODULE: ./components/datepicker/base/date-table.vue?vue&type=script&lang=js&
7374
- /* harmony default export */ var base_date_tablevue_type_script_lang_js_ = (date_tablevue_type_script_lang_js_);
7572
+ // CONCATENATED MODULE: ./components/datepicker/base/date-table.vue?vue&type=script&lang=js
7573
+ /* harmony default export */ var base_date_tablevue_type_script_lang_js = (date_tablevue_type_script_lang_js);
7375
7574
  // CONCATENATED MODULE: ./components/datepicker/base/date-table.vue
7376
7575
 
7377
7576
 
@@ -7381,9 +7580,9 @@ var date_tablevue_type_script_lang_js_removeFromArray = function removeFromArray
7381
7580
  /* normalize component */
7382
7581
 
7383
7582
  var date_table_component = Object(componentNormalizer["a" /* default */])(
7384
- base_date_tablevue_type_script_lang_js_,
7385
- date_tablevue_type_template_id_6c222915_render,
7386
- date_tablevue_type_template_id_6c222915_staticRenderFns,
7583
+ base_date_tablevue_type_script_lang_js,
7584
+ date_tablevue_type_template_id_1c74037d_render,
7585
+ date_tablevue_type_template_id_1c74037d_staticRenderFns,
7387
7586
  false,
7388
7587
  null,
7389
7588
  null,
@@ -7391,12 +7590,91 @@ var date_table_component = Object(componentNormalizer["a" /* default */])(
7391
7590
 
7392
7591
  )
7393
7592
 
7394
- /* hot reload */
7395
- if (false) { var date_table_api; }
7396
- date_table_component.options.__file = "components/datepicker/base/date-table.vue"
7397
7593
  /* harmony default export */ var date_table = (date_table_component.exports);
7398
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/date.vue?vue&type=script&lang=js&
7594
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/quarter.vue?vue&type=template&id=68b06cd8
7595
+ var quartervue_type_template_id_68b06cd8_render = function () {
7596
+ var _vm = this
7597
+ var _h = _vm.$createElement
7598
+ var _c = _vm._self._c || _h
7599
+ return _c(
7600
+ "div",
7601
+ {
7602
+ directives: [
7603
+ {
7604
+ name: "show",
7605
+ rawName: "v-show",
7606
+ value: _vm.visible,
7607
+ expression: "visible",
7608
+ },
7609
+ ],
7610
+ ref: "popper",
7611
+ class: ["mds-quarter-panel", _vm.popperClass],
7612
+ style: _vm.popperStyle,
7613
+ },
7614
+ [
7615
+ _c("div", { staticClass: "mds-quarter-panel__header" }, [
7616
+ _c("i", {
7617
+ staticClass: "mdsicon mdsicon-line-caret-left-double",
7618
+ class: [
7619
+ _vm.prefixCls + "-picker-panel-header-base-icon",
7620
+ _vm.prefixCls + "-left-prev-year",
7621
+ _vm.prefixCls + "-other-icon",
7622
+ _vm.prefixCls + "-picker-panel-header-base-left",
7623
+ ],
7624
+ attrs: { "aria-label": _vm.t("mds.datepicker.prevYear") },
7625
+ on: { click: _vm.prevYear },
7626
+ }),
7627
+ _c("span", [_vm._v(_vm._s(_vm.currentYear))]),
7628
+ _c("i", {
7629
+ staticClass: "mdsicon mdsicon-line-caret-right-double",
7630
+ class: [
7631
+ _vm.prefixCls + "-picker-panel-header-base-icon",
7632
+ _vm.prefixCls + "-next-year",
7633
+ _vm.prefixCls + "-other-icon",
7634
+ _vm.prefixCls + "-picker-panel-header-base-right",
7635
+ ],
7636
+ attrs: { "aria-label": _vm.t("mds.datepicker.nextYear") },
7637
+ on: { click: _vm.nextYear },
7638
+ }),
7639
+ ]),
7640
+ _c(
7641
+ "div",
7642
+ { staticClass: "mds-quarter-panel__body" },
7643
+ _vm._l(_vm.quarters, function (quarter) {
7644
+ return _c(
7645
+ "div",
7646
+ {
7647
+ key: quarter.value,
7648
+ class: [
7649
+ "mds-quarter-panel__quarter",
7650
+ {
7651
+ "is-selected": _vm.isSelected(quarter),
7652
+ today: _vm.isTodayQuarter(quarter), // 只判断是否今天
7653
+ },
7654
+ ],
7655
+ on: {
7656
+ click: function ($event) {
7657
+ return _vm.selectQuarter(quarter)
7658
+ },
7659
+ },
7660
+ },
7661
+ [_vm._v("\n " + _vm._s(quarter.label) + "\n ")]
7662
+ )
7663
+ }),
7664
+ 0
7665
+ ),
7666
+ ]
7667
+ )
7668
+ }
7669
+ var quartervue_type_template_id_68b06cd8_staticRenderFns = []
7670
+ quartervue_type_template_id_68b06cd8_render._withStripped = true
7671
+
7672
+
7673
+ // CONCATENATED MODULE: ./components/datepicker/picker/quarter.vue?vue&type=template&id=68b06cd8
7399
7674
 
7675
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/quarter.vue?vue&type=script&lang=js
7676
+ //
7677
+ //
7400
7678
  //
7401
7679
  //
7402
7680
  //
@@ -7446,6 +7724,157 @@ date_table_component.options.__file = "components/datepicker/base/date-table.vue
7446
7724
  //
7447
7725
  //
7448
7726
  //
7727
+
7728
+
7729
+
7730
+
7731
+ /* harmony default export */ var quartervue_type_script_lang_js = ({
7732
+ mixins: [locale_default.a, vue_popper["a" /* default */]],
7733
+ name: 'QuarterPanel',
7734
+ props: {
7735
+ prefixCls: {
7736
+ type: String,
7737
+ default: 'mds-date'
7738
+ },
7739
+ value: {
7740
+ type: [Date, String],
7741
+ default: null
7742
+ },
7743
+ date: {
7744
+ type: Date,
7745
+ default: function _default() {
7746
+ return new Date();
7747
+ }
7748
+ },
7749
+ pickerType: {
7750
+ type: String,
7751
+ default: 'quarter'
7752
+ },
7753
+ popperClass: {
7754
+ type: String,
7755
+ default: ''
7756
+ },
7757
+ referenceElm: {
7758
+ type: null,
7759
+ default: null
7760
+ },
7761
+ appendToBody: {
7762
+ type: Boolean,
7763
+ default: true
7764
+ },
7765
+ placement: {
7766
+ type: String,
7767
+ default: 'bottom-start'
7768
+ }
7769
+ },
7770
+ data: function data() {
7771
+ return {
7772
+ currentYear: new Date().getFullYear(),
7773
+ visible: true // 控制面板显示
7774
+ };
7775
+ },
7776
+
7777
+ computed: {
7778
+ quarters: function quarters() {
7779
+ return [{ label: 'Q1', value: 1, startMonth: 0, endMonth: 2 }, { label: 'Q2', value: 2, startMonth: 3, endMonth: 5 }, { label: 'Q3', value: 3, startMonth: 6, endMonth: 8 }, { label: 'Q4', value: 4, startMonth: 9, endMonth: 11 }];
7780
+ },
7781
+ hasSelected: function hasSelected() {
7782
+ return this.value && this.value instanceof Date && !isNaN(this.value);
7783
+ }
7784
+ },
7785
+ watch: {
7786
+ date: {
7787
+ immediate: true,
7788
+ handler: function handler(newDate) {
7789
+ if (newDate instanceof Date && !isNaN(newDate)) {
7790
+ this.currentYear = newDate.getFullYear();
7791
+ }
7792
+ }
7793
+ },
7794
+ value: {
7795
+ immediate: true,
7796
+ handler: function handler(newValue) {
7797
+ if (newValue instanceof Date && !isNaN(newValue)) {
7798
+ this.currentYear = newValue.getFullYear();
7799
+ }
7800
+ }
7801
+ }
7802
+ },
7803
+ mounted: function mounted() {
7804
+ var _this = this;
7805
+
7806
+ if (this.appendToBody && this.$el.parentNode !== document.body) {
7807
+ document.body.appendChild(this.$el);
7808
+ }
7809
+ // 关键:必须在 append 到 body 后再 updatePopper
7810
+ this.$nextTick(function () {
7811
+ if (_this.referenceElm) {
7812
+ _this.updatePopper();
7813
+ }
7814
+ });
7815
+ },
7816
+ beforeDestroy: function beforeDestroy() {
7817
+ if (this.appendToBody && this.$el && this.$el.parentNode === document.body) {
7818
+ document.body.removeChild(this.$el);
7819
+ }
7820
+ },
7821
+
7822
+ methods: {
7823
+ prevYear: function prevYear() {
7824
+ this.currentYear--;
7825
+ // this.$emit('pick', new Date(this.currentYear, 0, 1))
7826
+ },
7827
+ nextYear: function nextYear() {
7828
+ this.currentYear++;
7829
+ // this.$emit('pick', new Date(this.currentYear, 0, 1))
7830
+ },
7831
+ selectQuarter: function selectQuarter(quarter) {
7832
+ var selectedDate = new Date(this.currentYear, quarter.startMonth, 1);
7833
+ this.$emit('pick', selectedDate, false); // 关键:false自动收起
7834
+ },
7835
+ isSelected: function isSelected(quarter) {
7836
+ if (this.hasSelected) {
7837
+ var selectedYear = this.value.getFullYear();
7838
+ var selectedMonth = this.value.getMonth();
7839
+ return selectedYear === this.currentYear && selectedMonth >= quarter.startMonth && selectedMonth <= quarter.endMonth;
7840
+ }
7841
+ return false;
7842
+ },
7843
+ isTodayQuarter: function isTodayQuarter(quarter) {
7844
+ var today = new Date();
7845
+ var year = today.getFullYear();
7846
+ var month = today.getMonth();
7847
+ return year === this.currentYear && month >= quarter.startMonth && month <= quarter.endMonth;
7848
+ }
7849
+ }
7850
+ });
7851
+ // CONCATENATED MODULE: ./components/datepicker/picker/quarter.vue?vue&type=script&lang=js
7852
+ /* harmony default export */ var picker_quartervue_type_script_lang_js = (quartervue_type_script_lang_js);
7853
+ // CONCATENATED MODULE: ./components/datepicker/picker/quarter.vue
7854
+
7855
+
7856
+
7857
+
7858
+
7859
+ /* normalize component */
7860
+
7861
+ var quarter_component = Object(componentNormalizer["a" /* default */])(
7862
+ picker_quartervue_type_script_lang_js,
7863
+ quartervue_type_template_id_68b06cd8_render,
7864
+ quartervue_type_template_id_68b06cd8_staticRenderFns,
7865
+ false,
7866
+ null,
7867
+ null,
7868
+ null
7869
+
7870
+ )
7871
+
7872
+ /* harmony default export */ var quarter = (quarter_component.exports);
7873
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/date.vue?vue&type=script&lang=js
7874
+
7875
+ //
7876
+ //
7877
+ //
7449
7878
  //
7450
7879
  //
7451
7880
  //
@@ -7548,6 +7977,68 @@ date_table_component.options.__file = "components/datepicker/base/date-table.vue
7548
7977
  //
7549
7978
  //
7550
7979
  //
7980
+ //
7981
+ //
7982
+ //
7983
+ //
7984
+ //
7985
+ //
7986
+ //
7987
+ //
7988
+ //
7989
+ //
7990
+ //
7991
+ //
7992
+ //
7993
+ //
7994
+ //
7995
+ //
7996
+ //
7997
+ //
7998
+ //
7999
+ //
8000
+ //
8001
+ //
8002
+ //
8003
+ //
8004
+ //
8005
+ //
8006
+ //
8007
+ //
8008
+ //
8009
+ //
8010
+ //
8011
+ //
8012
+ //
8013
+ //
8014
+ //
8015
+ //
8016
+ //
8017
+ //
8018
+ //
8019
+ //
8020
+ //
8021
+ //
8022
+ //
8023
+ //
8024
+ //
8025
+ //
8026
+ //
8027
+ //
8028
+ //
8029
+ //
8030
+ //
8031
+ //
8032
+ //
8033
+ //
8034
+ //
8035
+ //
8036
+ //
8037
+ //
8038
+ //
8039
+ //
8040
+ //
8041
+
7551
8042
 
7552
8043
 
7553
8044
 
@@ -7558,13 +8049,17 @@ date_table_component.options.__file = "components/datepicker/base/date-table.vue
7558
8049
 
7559
8050
 
7560
8051
 
7561
- /* harmony default export */ var datevue_type_script_lang_js_ = ({
8052
+ /* harmony default export */ var datevue_type_script_lang_js = ({
7562
8053
  mixins: [locale_default.a],
7563
8054
  directives: { Clickoutside: clickoutside_default.a },
7564
8055
  props: {
7565
8056
  prefixCls: {
7566
8057
  type: String,
7567
8058
  default: 'mds-date'
8059
+ },
8060
+ pickerType: {
8061
+ type: String,
8062
+ default: 'date'
7568
8063
  }
7569
8064
  },
7570
8065
  watch: {
@@ -7876,11 +8371,18 @@ date_table_component.options.__file = "components/datepicker/base/date-table.vue
7876
8371
  },
7877
8372
  checkDateWithinRange: function checkDateWithinRange(date) {
7878
8373
  return this.selectableRange.length > 0 ? Object(dateUtil_["timeWithinRange"])(date, this.selectableRange, this.format || 'HH:mm:ss') : true;
8374
+ },
8375
+ handleQuarterPick: function handleQuarterPick(date) {
8376
+ this.date = date;
8377
+ this.emit(date, false);
8378
+ },
8379
+ showQuarterPicker: function showQuarterPicker() {
8380
+ this.currentView = 'quarter';
7879
8381
  }
7880
8382
  },
7881
8383
 
7882
8384
  components: {
7883
- TimePicker: picker_time, YearTable: year_table, MonthTable: month_table, DateTable: date_table, MdsButton: external_button_default.a
8385
+ TimePicker: picker_time, YearTable: year_table, MonthTable: month_table, DateTable: date_table, MdsButton: external_button_default.a, QuarterPanel: quarter
7884
8386
  },
7885
8387
 
7886
8388
  data: function data() {
@@ -7976,8 +8478,8 @@ date_table_component.options.__file = "components/datepicker/base/date-table.vue
7976
8478
  }
7977
8479
  }
7978
8480
  });
7979
- // CONCATENATED MODULE: ./components/datepicker/picker/date.vue?vue&type=script&lang=js&
7980
- /* harmony default export */ var picker_datevue_type_script_lang_js_ = (datevue_type_script_lang_js_);
8481
+ // CONCATENATED MODULE: ./components/datepicker/picker/date.vue?vue&type=script&lang=js
8482
+ /* harmony default export */ var picker_datevue_type_script_lang_js = (datevue_type_script_lang_js);
7981
8483
  // CONCATENATED MODULE: ./components/datepicker/picker/date.vue
7982
8484
 
7983
8485
 
@@ -7987,9 +8489,9 @@ date_table_component.options.__file = "components/datepicker/base/date-table.vue
7987
8489
  /* normalize component */
7988
8490
 
7989
8491
  var date_component = Object(componentNormalizer["a" /* default */])(
7990
- picker_datevue_type_script_lang_js_,
7991
- datevue_type_template_id_1a0bc492_render,
7992
- datevue_type_template_id_1a0bc492_staticRenderFns,
8492
+ picker_datevue_type_script_lang_js,
8493
+ datevue_type_template_id_52f16377_render,
8494
+ datevue_type_template_id_52f16377_staticRenderFns,
7993
8495
  false,
7994
8496
  null,
7995
8497
  null,
@@ -7997,12 +8499,9 @@ var date_component = Object(componentNormalizer["a" /* default */])(
7997
8499
 
7998
8500
  )
7999
8501
 
8000
- /* hot reload */
8001
- if (false) { var date_api; }
8002
- date_component.options.__file = "components/datepicker/picker/date.vue"
8003
8502
  /* harmony default export */ var picker_date = (date_component.exports);
8004
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/range/date-range.vue?vue&type=template&id=6eca7cf8&
8005
- var date_rangevue_type_template_id_6eca7cf8_render = function () {
8503
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/range/date-range.vue?vue&type=template&id=535e73c9
8504
+ var date_rangevue_type_template_id_535e73c9_render = function () {
8006
8505
  var _obj, _obj$1
8007
8506
  var _vm = this
8008
8507
  var _h = _vm.$createElement
@@ -8159,6 +8658,7 @@ var date_rangevue_type_template_id_6eca7cf8_render = function () {
8159
8658
  { class: this.prefixCls + "-picker-panel-content" },
8160
8659
  [
8161
8660
  _c("date-table", {
8661
+ ref: "leftDateTable",
8162
8662
  attrs: {
8163
8663
  "selection-mode": "range",
8164
8664
  date: _vm.leftDate,
@@ -8318,6 +8818,7 @@ var date_rangevue_type_template_id_6eca7cf8_render = function () {
8318
8818
  { class: this.prefixCls + "-picker-panel-content" },
8319
8819
  [
8320
8820
  _c("date-table", {
8821
+ ref: "rightDateTable",
8321
8822
  attrs: {
8322
8823
  "selection-mode": "range",
8323
8824
  date: _vm.rightDate,
@@ -8467,18 +8968,18 @@ var date_rangevue_type_template_id_6eca7cf8_render = function () {
8467
8968
  ]
8468
8969
  )
8469
8970
  }
8470
- var date_rangevue_type_template_id_6eca7cf8_staticRenderFns = []
8471
- date_rangevue_type_template_id_6eca7cf8_render._withStripped = true
8971
+ var date_rangevue_type_template_id_535e73c9_staticRenderFns = []
8972
+ date_rangevue_type_template_id_535e73c9_render._withStripped = true
8472
8973
 
8473
8974
 
8474
- // CONCATENATED MODULE: ./components/datepicker/range/date-range.vue?vue&type=template&id=6eca7cf8&
8975
+ // CONCATENATED MODULE: ./components/datepicker/range/date-range.vue?vue&type=template&id=535e73c9
8475
8976
 
8476
8977
  // EXTERNAL MODULE: external "babel-runtime/helpers/slicedToArray"
8477
8978
  var slicedToArray_ = __webpack_require__(57);
8478
8979
  var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray_);
8479
8980
 
8480
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/datetime-select.vue?vue&type=template&id=5b910c15&
8481
- var datetime_selectvue_type_template_id_5b910c15_render = function () {
8981
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/datetime-select.vue?vue&type=template&id=527d7b90
8982
+ var datetime_selectvue_type_template_id_527d7b90_render = function () {
8482
8983
  var _vm = this
8483
8984
  var _h = _vm.$createElement
8484
8985
  var _c = _vm._self._c || _h
@@ -8663,13 +9164,13 @@ var datetime_selectvue_type_template_id_5b910c15_render = function () {
8663
9164
  1
8664
9165
  )
8665
9166
  }
8666
- var datetime_selectvue_type_template_id_5b910c15_staticRenderFns = []
8667
- datetime_selectvue_type_template_id_5b910c15_render._withStripped = true
9167
+ var datetime_selectvue_type_template_id_527d7b90_staticRenderFns = []
9168
+ datetime_selectvue_type_template_id_527d7b90_render._withStripped = true
8668
9169
 
8669
9170
 
8670
- // CONCATENATED MODULE: ./components/datepicker/picker/datetime-select.vue?vue&type=template&id=5b910c15&
9171
+ // CONCATENATED MODULE: ./components/datepicker/picker/datetime-select.vue?vue&type=template&id=527d7b90
8671
9172
 
8672
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/datetime-select.vue?vue&type=script&lang=js&
9173
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/picker/datetime-select.vue?vue&type=script&lang=js
8673
9174
  //
8674
9175
  //
8675
9176
  //
@@ -8784,7 +9285,7 @@ datetime_selectvue_type_template_id_5b910c15_render._withStripped = true
8784
9285
 
8785
9286
 
8786
9287
 
8787
- /* harmony default export */ var datetime_selectvue_type_script_lang_js_ = ({
9288
+ /* harmony default export */ var datetime_selectvue_type_script_lang_js = ({
8788
9289
  components: {
8789
9290
  TimeSpinner: time_spinner,
8790
9291
  MdsInput: external_input_default.a,
@@ -8981,8 +9482,8 @@ datetime_selectvue_type_template_id_5b910c15_render._withStripped = true
8981
9482
  }
8982
9483
  }
8983
9484
  });
8984
- // CONCATENATED MODULE: ./components/datepicker/picker/datetime-select.vue?vue&type=script&lang=js&
8985
- /* harmony default export */ var picker_datetime_selectvue_type_script_lang_js_ = (datetime_selectvue_type_script_lang_js_);
9485
+ // CONCATENATED MODULE: ./components/datepicker/picker/datetime-select.vue?vue&type=script&lang=js
9486
+ /* harmony default export */ var picker_datetime_selectvue_type_script_lang_js = (datetime_selectvue_type_script_lang_js);
8986
9487
  // CONCATENATED MODULE: ./components/datepicker/picker/datetime-select.vue
8987
9488
 
8988
9489
 
@@ -8992,9 +9493,9 @@ datetime_selectvue_type_template_id_5b910c15_render._withStripped = true
8992
9493
  /* normalize component */
8993
9494
 
8994
9495
  var datetime_select_component = Object(componentNormalizer["a" /* default */])(
8995
- picker_datetime_selectvue_type_script_lang_js_,
8996
- datetime_selectvue_type_template_id_5b910c15_render,
8997
- datetime_selectvue_type_template_id_5b910c15_staticRenderFns,
9496
+ picker_datetime_selectvue_type_script_lang_js,
9497
+ datetime_selectvue_type_template_id_527d7b90_render,
9498
+ datetime_selectvue_type_template_id_527d7b90_staticRenderFns,
8998
9499
  false,
8999
9500
  null,
9000
9501
  null,
@@ -9002,11 +9503,8 @@ var datetime_select_component = Object(componentNormalizer["a" /* default */])(
9002
9503
 
9003
9504
  )
9004
9505
 
9005
- /* hot reload */
9006
- if (false) { var datetime_select_api; }
9007
- datetime_select_component.options.__file = "components/datepicker/picker/datetime-select.vue"
9008
9506
  /* harmony default export */ var datetime_select = (datetime_select_component.exports);
9009
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/range/date-range.vue?vue&type=script&lang=js&
9507
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/range/date-range.vue?vue&type=script&lang=js
9010
9508
 
9011
9509
  //
9012
9510
  //
@@ -9260,6 +9758,8 @@ datetime_select_component.options.__file = "components/datepicker/picker/datetim
9260
9758
  //
9261
9759
  //
9262
9760
  //
9761
+ //
9762
+ //
9263
9763
 
9264
9764
 
9265
9765
 
@@ -9270,6 +9770,7 @@ datetime_select_component.options.__file = "components/datepicker/picker/datetim
9270
9770
 
9271
9771
 
9272
9772
 
9773
+ // 确保 calcDefaultValue 函数可用
9273
9774
  var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultValue(defaultValue) {
9274
9775
  if (Array.isArray(defaultValue)) {
9275
9776
  return [new Date(defaultValue[0]), new Date(defaultValue[1])];
@@ -9280,7 +9781,7 @@ var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVal
9280
9781
  }
9281
9782
  };
9282
9783
 
9283
- /* harmony default export */ var date_rangevue_type_script_lang_js_ = ({
9784
+ /* harmony default export */ var date_rangevue_type_script_lang_js = ({
9284
9785
  mixins: [locale_default.a],
9285
9786
  directives: { Clickoutside: clickoutside_default.a },
9286
9787
  props: {
@@ -9418,39 +9919,76 @@ var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVal
9418
9919
 
9419
9920
  watch: {
9420
9921
  visible: function visible(val) {
9421
- val && (this.timePickerVisible = false);
9422
- },
9423
- minDate: function minDate(val) {
9424
9922
  var _this = this;
9425
9923
 
9426
- this.dateUserInput.min = null;
9427
- this.timeUserInput.min = null;
9428
- this.$nextTick(function () {
9429
- if (_this.$refs.maxTimePicker && _this.maxDate && _this.maxDate < _this.minDate) {
9430
- var format = 'HH:mm:ss';
9431
- _this.$refs.maxTimePicker.selectableRange = [[Object(dateUtil_["parseDate"])(Object(dateUtil_["formatDate"])(_this.minDate, format), format), Object(dateUtil_["parseDate"])('23:59:59', format)]];
9432
- }
9433
- });
9434
- if (val && this.$refs.minTimePicker) {
9435
- this.$refs.minTimePicker.date = val;
9436
- this.$refs.minTimePicker.value = val;
9924
+ if (val) {
9925
+ this.timePickerVisible = false;
9926
+ // 当面板显示时重置状态
9927
+ this.resetView();
9928
+ // 强制重新计算布局
9437
9929
  this.$nextTick(function () {
9438
- _this.$refs.maxTimePicker.adjustSpinners();
9930
+ _this.$forceUpdate();
9439
9931
  });
9440
9932
  }
9441
9933
  },
9442
- maxDate: function maxDate(val) {
9934
+
9935
+
9936
+ // 分别监听 minDate 和 maxDate
9937
+ minDate: function minDate(newVal, oldVal) {
9443
9938
  var _this2 = this;
9444
9939
 
9445
- this.dateUserInput.max = null;
9446
- this.timeUserInput.max = null;
9447
- if (val && this.$refs.maxTimePicker) {
9448
- this.$refs.maxTimePicker.date = val;
9449
- this.$refs.maxTimePicker.value = val;
9940
+ if (newVal !== oldVal && this.minDate) {
9941
+ this.dateUserInput.min = null;
9942
+ this.timeUserInput.min = null;
9450
9943
  this.$nextTick(function () {
9451
- _this2.$refs.minTimePicker.adjustSpinners();
9944
+ if (_this2.$refs.maxTimePicker && _this2.maxDate && _this2.maxDate < _this2.minDate) {
9945
+ var format = 'HH:mm:ss';
9946
+ _this2.$refs.maxTimePicker.selectableRange = [[Object(dateUtil_["parseDate"])(Object(dateUtil_["formatDate"])(_this2.minDate, format), format), Object(dateUtil_["parseDate"])('23:59:59', format)]];
9947
+ }
9452
9948
  });
9949
+ if (this.$refs.minTimePicker) {
9950
+ this.$refs.minTimePicker.date = this.minDate;
9951
+ this.$refs.minTimePicker.value = this.minDate;
9952
+ this.$nextTick(function () {
9953
+ _this2.$refs.maxTimePicker && _this2.$refs.maxTimePicker.adjustSpinners();
9954
+ });
9955
+ }
9956
+ }
9957
+
9958
+ // 强制子组件重新计算状态
9959
+ this.$nextTick(function () {
9960
+ if (_this2.$refs.leftDateTable) {
9961
+ _this2.$refs.leftDateTable.$forceUpdate();
9962
+ }
9963
+ if (_this2.$refs.rightDateTable) {
9964
+ _this2.$refs.rightDateTable.$forceUpdate();
9965
+ }
9966
+ });
9967
+ },
9968
+ maxDate: function maxDate(newVal, oldVal) {
9969
+ var _this3 = this;
9970
+
9971
+ if (newVal !== oldVal && this.maxDate) {
9972
+ this.dateUserInput.max = null;
9973
+ this.timeUserInput.max = null;
9974
+ if (this.$refs.maxTimePicker) {
9975
+ this.$refs.maxTimePicker.date = this.maxDate;
9976
+ this.$refs.maxTimePicker.value = this.maxDate;
9977
+ this.$nextTick(function () {
9978
+ _this3.$refs.minTimePicker && _this3.$refs.minTimePicker.adjustSpinners();
9979
+ });
9980
+ }
9453
9981
  }
9982
+
9983
+ // 强制子组件重新计算状态
9984
+ this.$nextTick(function () {
9985
+ if (_this3.$refs.leftDateTable) {
9986
+ _this3.$refs.leftDateTable.$forceUpdate();
9987
+ }
9988
+ if (_this3.$refs.rightDateTable) {
9989
+ _this3.$refs.rightDateTable.$forceUpdate();
9990
+ }
9991
+ });
9454
9992
  },
9455
9993
  value: function value(newVal) {
9456
9994
  if (!newVal) {
@@ -9488,24 +10026,28 @@ var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVal
9488
10026
  }
9489
10027
  },
9490
10028
  format: function format() {
9491
- this.$refs.minTimePicker.format = this.timeFormat;
9492
- this.$refs.maxTimePicker.format = this.timeFormat;
10029
+ if (this.$refs.minTimePicker) {
10030
+ this.$refs.minTimePicker.format = this.timeFormat;
10031
+ }
10032
+ if (this.$refs.maxTimePicker) {
10033
+ this.$refs.maxTimePicker.format = this.timeFormat;
10034
+ }
9493
10035
  }
9494
10036
  },
9495
10037
 
9496
10038
  methods: {
9497
10039
  selectTime: function selectTime() {
9498
- var _this3 = this;
10040
+ var _this4 = this;
9499
10041
 
9500
10042
  this.timePickerVisible = !this.timePickerVisible;
9501
10043
  if (this.timePickerVisible) {
9502
10044
  this.$nextTick(function () {
9503
- _this3.$refs.maxTimePicker.date = _this3.maxDate;
9504
- _this3.$refs.maxTimePicker.value = _this3.maxDate;
9505
- _this3.$refs.maxTimePicker.adjustSpinners();
9506
- _this3.$refs.minTimePicker.date = _this3.minDate;
9507
- _this3.$refs.minTimePicker.value = _this3.minDate;
9508
- _this3.$refs.minTimePicker.adjustSpinners();
10045
+ _this4.$refs.maxTimePicker.date = _this4.maxDate;
10046
+ _this4.$refs.maxTimePicker.value = _this4.maxDate;
10047
+ _this4.$refs.maxTimePicker.adjustSpinners();
10048
+ _this4.$refs.minTimePicker.date = _this4.minDate;
10049
+ _this4.$refs.minTimePicker.value = _this4.minDate;
10050
+ _this4.$refs.minTimePicker.adjustSpinners();
9509
10051
  });
9510
10052
  }
9511
10053
  },
@@ -9514,12 +10056,36 @@ var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVal
9514
10056
  this.maxDate = null;
9515
10057
  this.leftDate = date_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0];
9516
10058
  this.rightDate = Object(dateUtil_["nextMonth"])(this.leftDate);
10059
+
10060
+ // 重置 rangeState
10061
+ this.rangeState = {
10062
+ endDate: null,
10063
+ selecting: false,
10064
+ row: null,
10065
+ column: null
10066
+ };
9517
10067
  this.$emit('pick', null);
9518
10068
  },
9519
10069
  handleChangeRange: function handleChangeRange(val) {
9520
- this.minDate = val.minDate;
9521
- this.maxDate = val.maxDate;
9522
- this.rangeState = val.rangeState;
10070
+ var _this5 = this;
10071
+
10072
+ // 确保状态一致性
10073
+ if (val.minDate && val.maxDate) {
10074
+ this.minDate = new Date(val.minDate);
10075
+ this.maxDate = new Date(val.maxDate);
10076
+ }
10077
+
10078
+ // 更新 rangeState,确保所有字段都被正确设置
10079
+ this.rangeState = {
10080
+ endDate: val.rangeState ? val.rangeState.endDate : null,
10081
+ selecting: val.rangeState ? val.rangeState.selecting : false,
10082
+ row: val.rangeState ? val.rangeState.row : null,
10083
+ column: val.rangeState ? val.rangeState.column : null
10084
+
10085
+ // 强制重新计算 date-table 的状态
10086
+ };this.$nextTick(function () {
10087
+ _this5.$forceUpdate();
10088
+ });
9523
10089
  },
9524
10090
  handleDateInput: function handleDateInput(value, type) {
9525
10091
  this.dateUserInput[type] = value;
@@ -9562,7 +10128,7 @@ var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVal
9562
10128
  }
9563
10129
  },
9564
10130
  handleTimeInput: function handleTimeInput(value, type) {
9565
- var _this4 = this;
10131
+ var _this6 = this;
9566
10132
 
9567
10133
  this.timeUserInput[type] = value;
9568
10134
  if (value.length !== this.timeFormat.length) return;
@@ -9572,12 +10138,12 @@ var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVal
9572
10138
  if (type === 'min') {
9573
10139
  this.minDate = Object(dateUtil_["modifyTime"])(this.minDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds());
9574
10140
  this.$nextTick(function (_) {
9575
- return _this4.$refs.minTimePicker.adjustSpinners();
10141
+ return _this6.$refs.minTimePicker.adjustSpinners();
9576
10142
  });
9577
10143
  } else {
9578
10144
  this.maxDate = Object(dateUtil_["modifyTime"])(this.maxDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds());
9579
10145
  this.$nextTick(function (_) {
9580
- return _this4.$refs.maxTimePicker.adjustSpinners();
10146
+ return _this6.$refs.maxTimePicker.adjustSpinners();
9581
10147
  });
9582
10148
  }
9583
10149
  }
@@ -9601,7 +10167,7 @@ var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVal
9601
10167
  }
9602
10168
  },
9603
10169
  handleRangePick: function handleRangePick(val) {
9604
- var _this5 = this;
10170
+ var _this7 = this;
9605
10171
 
9606
10172
  var close = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
9607
10173
 
@@ -9618,8 +10184,8 @@ var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVal
9618
10184
 
9619
10185
  // workaround for https://github.com/ElemeFE/element/issues/7539, should remove this block when we don't have to care about Chromium 55 - 57
9620
10186
  setTimeout(function () {
9621
- _this5.maxDate = maxDate;
9622
- _this5.minDate = minDate;
10187
+ _this7.maxDate = maxDate;
10188
+ _this7.minDate = minDate;
9623
10189
  }, 10);
9624
10190
  if (!close || this.showTime) return;
9625
10191
  this.handleConfirm();
@@ -9719,21 +10285,57 @@ var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVal
9719
10285
  return Array.isArray(value) && value && value[0] && value[1] && Object(dateUtil_["isDate"])(value[0]) && Object(dateUtil_["isDate"])(value[1]) && value[0].getTime() <= value[1].getTime() && (typeof this.disabledDate === 'function' ? !this.disabledDate(value[0]) && !this.disabledDate(value[1]) : true);
9720
10286
  },
9721
10287
  resetView: function resetView() {
9722
- // NOTE: this is a hack to reset {min, max}Date on picker open.
9723
- // TODO: correct way of doing so is to refactor {min, max}Date to be dependent on value and internal selection state
9724
- // an alternative would be resetView whenever picker becomes visible, should also investigate date-panel's resetView
9725
- if (this.minDate && this.maxDate == null) {
9726
- this.rangeState.selecting = false;
10288
+ var _this8 = this;
10289
+
10290
+ // 完全重置所有状态
10291
+ this.rangeState = {
10292
+ endDate: null,
10293
+ selecting: false,
10294
+ row: null,
10295
+ column: null
10296
+
10297
+ // 重置日期状态
10298
+ };if (this.value && Array.isArray(this.value) && this.value.length === 2) {
10299
+ this.minDate = new Date(this.value[0]);
10300
+ this.maxDate = new Date(this.value[1]);
10301
+
10302
+ // 确保左右面板日期正确
10303
+ this.leftDate = new Date(this.value[0]);
10304
+ if (this.unlinkPanels) {
10305
+ this.rightDate = new Date(this.value[1]);
10306
+ } else {
10307
+ this.rightDate = Object(dateUtil_["nextMonth"])(this.leftDate);
10308
+ }
10309
+ } else {
10310
+ // 如果没有值,重置为默认状态
10311
+ this.minDate = null;
10312
+ this.maxDate = null;
10313
+ this.leftDate = date_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0];
10314
+ this.rightDate = Object(dateUtil_["nextMonth"])(this.leftDate);
9727
10315
  }
9728
- this.minDate = this.value && Object(dateUtil_["isDate"])(this.value[0]) ? new Date(this.value[0]) : null;
9729
- this.maxDate = this.value && Object(dateUtil_["isDate"])(this.value[0]) ? new Date(this.value[1]) : null;
10316
+
10317
+ // 重置用户输入状态
10318
+ this.dateUserInput = { min: null, max: null };
10319
+ this.timeUserInput = { min: null, max: null
10320
+
10321
+ // 强制重新渲染所有子组件
10322
+ };this.$nextTick(function () {
10323
+ // 通知子组件重置状态
10324
+ if (_this8.$refs.leftDateTable) {
10325
+ _this8.$refs.leftDateTable.$forceUpdate();
10326
+ }
10327
+ if (_this8.$refs.rightDateTable) {
10328
+ _this8.$refs.rightDateTable.$forceUpdate();
10329
+ }
10330
+ _this8.$forceUpdate();
10331
+ });
9730
10332
  }
9731
10333
  },
9732
10334
 
9733
10335
  components: { TimePicker: picker_time, DateTable: date_table, MdsInput: external_input_default.a, MdsButton: external_button_default.a, dateTimeSelecter: datetime_select }
9734
10336
  });
9735
- // CONCATENATED MODULE: ./components/datepicker/range/date-range.vue?vue&type=script&lang=js&
9736
- /* harmony default export */ var range_date_rangevue_type_script_lang_js_ = (date_rangevue_type_script_lang_js_);
10337
+ // CONCATENATED MODULE: ./components/datepicker/range/date-range.vue?vue&type=script&lang=js
10338
+ /* harmony default export */ var range_date_rangevue_type_script_lang_js = (date_rangevue_type_script_lang_js);
9737
10339
  // CONCATENATED MODULE: ./components/datepicker/range/date-range.vue
9738
10340
 
9739
10341
 
@@ -9743,9 +10345,9 @@ var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVal
9743
10345
  /* normalize component */
9744
10346
 
9745
10347
  var date_range_component = Object(componentNormalizer["a" /* default */])(
9746
- range_date_rangevue_type_script_lang_js_,
9747
- date_rangevue_type_template_id_6eca7cf8_render,
9748
- date_rangevue_type_template_id_6eca7cf8_staticRenderFns,
10348
+ range_date_rangevue_type_script_lang_js,
10349
+ date_rangevue_type_template_id_535e73c9_render,
10350
+ date_rangevue_type_template_id_535e73c9_staticRenderFns,
9749
10351
  false,
9750
10352
  null,
9751
10353
  null,
@@ -9753,12 +10355,9 @@ var date_range_component = Object(componentNormalizer["a" /* default */])(
9753
10355
 
9754
10356
  )
9755
10357
 
9756
- /* hot reload */
9757
- if (false) { var date_range_api; }
9758
- date_range_component.options.__file = "components/datepicker/range/date-range.vue"
9759
10358
  /* harmony default export */ var date_range = (date_range_component.exports);
9760
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/range/month-range.vue?vue&type=template&id=4d54e386&
9761
- var month_rangevue_type_template_id_4d54e386_render = function () {
10359
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/range/month-range.vue?vue&type=template&id=b1c048ca
10360
+ var month_rangevue_type_template_id_b1c048ca_render = function () {
9762
10361
  var _vm = this
9763
10362
  var _h = _vm.$createElement
9764
10363
  var _c = _vm._self._c || _h
@@ -9914,13 +10513,13 @@ var month_rangevue_type_template_id_4d54e386_render = function () {
9914
10513
  ]
9915
10514
  )
9916
10515
  }
9917
- var month_rangevue_type_template_id_4d54e386_staticRenderFns = []
9918
- month_rangevue_type_template_id_4d54e386_render._withStripped = true
10516
+ var month_rangevue_type_template_id_b1c048ca_staticRenderFns = []
10517
+ month_rangevue_type_template_id_b1c048ca_render._withStripped = true
9919
10518
 
9920
10519
 
9921
- // CONCATENATED MODULE: ./components/datepicker/range/month-range.vue?vue&type=template&id=4d54e386&
10520
+ // CONCATENATED MODULE: ./components/datepicker/range/month-range.vue?vue&type=template&id=b1c048ca
9922
10521
 
9923
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/range/month-range.vue?vue&type=script&lang=js&
10522
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/datepicker/range/month-range.vue?vue&type=script&lang=js
9924
10523
 
9925
10524
  //
9926
10525
  //
@@ -10041,7 +10640,7 @@ var month_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVa
10041
10640
  return [new Date(), Object(dateUtil_["nextMonth"])(new Date())];
10042
10641
  }
10043
10642
  };
10044
- /* harmony default export */ var month_rangevue_type_script_lang_js_ = ({
10643
+ /* harmony default export */ var month_rangevue_type_script_lang_js = ({
10045
10644
  mixins: [locale_default.a],
10046
10645
  directives: { Clickoutside: clickoutside_default.a },
10047
10646
  props: {
@@ -10226,8 +10825,8 @@ var month_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVa
10226
10825
 
10227
10826
  components: { MonthTable: month_table, MdsInput: external_input_default.a, MdsButton: external_button_default.a }
10228
10827
  });
10229
- // CONCATENATED MODULE: ./components/datepicker/range/month-range.vue?vue&type=script&lang=js&
10230
- /* harmony default export */ var range_month_rangevue_type_script_lang_js_ = (month_rangevue_type_script_lang_js_);
10828
+ // CONCATENATED MODULE: ./components/datepicker/range/month-range.vue?vue&type=script&lang=js
10829
+ /* harmony default export */ var range_month_rangevue_type_script_lang_js = (month_rangevue_type_script_lang_js);
10231
10830
  // CONCATENATED MODULE: ./components/datepicker/range/month-range.vue
10232
10831
 
10233
10832
 
@@ -10237,9 +10836,9 @@ var month_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultVa
10237
10836
  /* normalize component */
10238
10837
 
10239
10838
  var month_range_component = Object(componentNormalizer["a" /* default */])(
10240
- range_month_rangevue_type_script_lang_js_,
10241
- month_rangevue_type_template_id_4d54e386_render,
10242
- month_rangevue_type_template_id_4d54e386_staticRenderFns,
10839
+ range_month_rangevue_type_script_lang_js,
10840
+ month_rangevue_type_template_id_b1c048ca_render,
10841
+ month_rangevue_type_template_id_b1c048ca_staticRenderFns,
10243
10842
  false,
10244
10843
  null,
10245
10844
  null,
@@ -10247,9 +10846,6 @@ var month_range_component = Object(componentNormalizer["a" /* default */])(
10247
10846
 
10248
10847
  )
10249
10848
 
10250
- /* hot reload */
10251
- if (false) { var month_range_api; }
10252
- month_range_component.options.__file = "components/datepicker/range/month-range.vue"
10253
10849
  /* harmony default export */ var month_range = (month_range_component.exports);
10254
10850
  // CONCATENATED MODULE: ./components/datepicker/picker/index.js
10255
10851
 
@@ -10257,11 +10853,14 @@ month_range_component.options.__file = "components/datepicker/range/month-range.
10257
10853
 
10258
10854
 
10259
10855
 
10856
+
10260
10857
  var picker_getPanel = function getPanel(type) {
10261
10858
  if (type === 'daterange' || type === 'datetimerange' || type === 'datetimerangeflat') {
10262
10859
  return date_range;
10263
10860
  } else if (type === 'monthrange') {
10264
10861
  return month_range;
10862
+ } else if (type === 'quarter') {
10863
+ return quarter;
10265
10864
  }
10266
10865
  return picker_date;
10267
10866
  };
@@ -10276,7 +10875,10 @@ var picker_getPanel = function getPanel(type) {
10276
10875
  props: {
10277
10876
  type: {
10278
10877
  type: String,
10279
- default: 'date'
10878
+ default: 'date',
10879
+ validator: function validator(value) {
10880
+ return ['date', 'datetime', 'week', 'month', 'year', 'daterange', 'datetimerange', 'datetimerangeflat', 'monthrange', 'quarter', 'dates'].includes(value);
10881
+ }
10280
10882
  },
10281
10883
  timeArrowControl: Boolean
10282
10884
  },
@@ -10311,7 +10913,7 @@ datepicker_picker.install = function (Vue) {
10311
10913
  /***/ 9:
10312
10914
  /***/ (function(module, exports) {
10313
10915
 
10314
- module.exports = require("babel-runtime/helpers/typeof");
10916
+ module.exports = __WEBPACK_EXTERNAL_MODULE__9__;
10315
10917
 
10316
10918
  /***/ })
10317
10919