@weitutech/by-components 1.2.31 → 1.2.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/by-components.common.js +104 -22
- package/lib/by-components.umd.js +104 -22
- package/lib/by-components.umd.min.js +1 -1
- package/lib/index.css +1 -1
- package/package.json +1 -1
|
@@ -78969,8 +78969,8 @@ var pair_number_input_component = normalizeComponent(
|
|
|
78969
78969
|
)
|
|
78970
78970
|
|
|
78971
78971
|
/* harmony default export */ var pair_number_input = (pair_number_input_component.exports);
|
|
78972
|
-
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/comps/custom-date-picker.vue?vue&type=template&id=
|
|
78973
|
-
var
|
|
78972
|
+
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/comps/custom-date-picker.vue?vue&type=template&id=9d8d406a
|
|
78973
|
+
var custom_date_pickervue_type_template_id_9d8d406a_render = function render() {
|
|
78974
78974
|
var _vm = this,
|
|
78975
78975
|
_c = _vm._self._c;
|
|
78976
78976
|
return _c('div', {
|
|
@@ -79040,7 +79040,7 @@ var custom_date_pickervue_type_template_id_78d80522_render = function render() {
|
|
|
79040
79040
|
}, [_vm._v(" " + _vm._s(char) + " ")]);
|
|
79041
79041
|
}) : [_vm._v(_vm._s(_vm.activeShortcutLabel))]], 2) : _vm._e()], 1)], 2);
|
|
79042
79042
|
};
|
|
79043
|
-
var
|
|
79043
|
+
var custom_date_pickervue_type_template_id_9d8d406a_staticRenderFns = [];
|
|
79044
79044
|
|
|
79045
79045
|
// EXTERNAL MODULE: ./node_modules/moment/moment.js
|
|
79046
79046
|
var moment = __webpack_require__(9412);
|
|
@@ -79051,6 +79051,17 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
|
79051
79051
|
|
|
79052
79052
|
|
|
79053
79053
|
|
|
79054
|
+
const DEFAULT_FORMAT_BY_TYPE = {
|
|
79055
|
+
daterange: 'YYYY-MM-DD',
|
|
79056
|
+
datetimerange: 'YYYY-MM-DD HH:mm:ss',
|
|
79057
|
+
monthrange: 'YYYY-MM',
|
|
79058
|
+
date: 'YYYY-MM-DD',
|
|
79059
|
+
datetime: 'YYYY-MM-DD HH:mm:ss',
|
|
79060
|
+
month: 'YYYY-MM',
|
|
79061
|
+
year: 'YYYY',
|
|
79062
|
+
week: 'YYYY-MM-DD'
|
|
79063
|
+
};
|
|
79064
|
+
const FORM_FIELD_TYPE = 'customDatePicker';
|
|
79054
79065
|
/* harmony default export */ var custom_date_pickervue_type_script_lang_js = ({
|
|
79055
79066
|
name: 'ByCustomDatePicker',
|
|
79056
79067
|
props: {
|
|
@@ -79078,6 +79089,23 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
|
79078
79089
|
type: String,
|
|
79079
79090
|
default: ''
|
|
79080
79091
|
},
|
|
79092
|
+
/**
|
|
79093
|
+
* 日期选择器类型(透传 el-date-picker 的 type)
|
|
79094
|
+
* 默认 daterange;常见:daterange / datetimerange / monthrange
|
|
79095
|
+
* 注意:Form 配置里字段 type 固定为 customDatePicker,请用本属性或 otherOption.type 指定面板类型
|
|
79096
|
+
*/
|
|
79097
|
+
pickerType: {
|
|
79098
|
+
type: String,
|
|
79099
|
+
default: ''
|
|
79100
|
+
},
|
|
79101
|
+
/**
|
|
79102
|
+
* 绑定值格式(moment 格式,也兼容 Element 的 yyyy/dd 写法)
|
|
79103
|
+
* 不传时按 pickerType 自动推断,如 daterange → YYYY-MM-DD
|
|
79104
|
+
*/
|
|
79105
|
+
valueFormat: {
|
|
79106
|
+
type: String,
|
|
79107
|
+
default: ''
|
|
79108
|
+
},
|
|
79081
79109
|
/**
|
|
79082
79110
|
* 快捷按钮展示方式
|
|
79083
79111
|
* external: 快捷按钮在输入框右侧(默认,保持原有样式)
|
|
@@ -79098,43 +79126,81 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
|
79098
79126
|
};
|
|
79099
79127
|
},
|
|
79100
79128
|
computed: {
|
|
79129
|
+
/** 实际生效的面板类型 */
|
|
79130
|
+
resolvedPickerType() {
|
|
79131
|
+
const fromProp = this.normalizePickerType(this.pickerType);
|
|
79132
|
+
if (fromProp) return fromProp;
|
|
79133
|
+
const fromOther = this.normalizePickerType(this.otherOption && this.otherOption.type);
|
|
79134
|
+
if (fromOther) return fromOther;
|
|
79135
|
+
return 'daterange';
|
|
79136
|
+
},
|
|
79137
|
+
/** 实际生效的输出格式(moment) */
|
|
79138
|
+
resolvedValueFormat() {
|
|
79139
|
+
const raw = this.valueFormat || this.otherOption && this.otherOption.valueFormat || DEFAULT_FORMAT_BY_TYPE[this.resolvedPickerType] || 'YYYY-MM-DD';
|
|
79140
|
+
return this.toMomentDateFormat(raw);
|
|
79141
|
+
},
|
|
79142
|
+
/** 是否包含时分秒(用于快捷项起止时刻) */
|
|
79143
|
+
includesTime() {
|
|
79144
|
+
return /H{1,2}|m{1,2}|s{1,2}/.test(this.resolvedValueFormat);
|
|
79145
|
+
},
|
|
79101
79146
|
shortcuts() {
|
|
79147
|
+
const fmt = this.resolvedValueFormat;
|
|
79148
|
+
const rangeOfDay = dayMoment => ({
|
|
79149
|
+
start_time: dayMoment.clone().startOf('day').format(fmt),
|
|
79150
|
+
end_time: this.includesTime ? dayMoment.clone().endOf('day').format(fmt) : dayMoment.clone().startOf('day').format(fmt)
|
|
79151
|
+
});
|
|
79152
|
+
const yesterday = rangeOfDay(moment_default()().subtract(1, 'days'));
|
|
79153
|
+
const today = rangeOfDay(moment_default()());
|
|
79102
79154
|
return [{
|
|
79103
79155
|
label: '上月',
|
|
79104
|
-
start_time: moment_default()().subtract(1, 'months').startOf('month').format(
|
|
79105
|
-
end_time: moment_default()().subtract(1, 'months').endOf('month').format(
|
|
79156
|
+
start_time: moment_default()().subtract(1, 'months').startOf('month').format(fmt),
|
|
79157
|
+
end_time: moment_default()().subtract(1, 'months').endOf('month').format(fmt),
|
|
79106
79158
|
key: 'last_month'
|
|
79107
79159
|
}, {
|
|
79108
79160
|
label: '昨天',
|
|
79109
|
-
start_time:
|
|
79110
|
-
end_time:
|
|
79161
|
+
start_time: yesterday.start_time,
|
|
79162
|
+
end_time: yesterday.end_time,
|
|
79111
79163
|
key: 'yesterday'
|
|
79112
79164
|
}, {
|
|
79113
79165
|
label: '今天',
|
|
79114
|
-
start_time:
|
|
79115
|
-
end_time:
|
|
79166
|
+
start_time: today.start_time,
|
|
79167
|
+
end_time: today.end_time,
|
|
79116
79168
|
key: 'today'
|
|
79117
79169
|
}, {
|
|
79118
79170
|
label: '本周',
|
|
79119
|
-
start_time: moment_default()().startOf('isoWeek').format(
|
|
79120
|
-
end_time: moment_default()().endOf('isoWeek').format(
|
|
79171
|
+
start_time: moment_default()().startOf('isoWeek').format(fmt),
|
|
79172
|
+
end_time: moment_default()().endOf('isoWeek').format(fmt),
|
|
79121
79173
|
key: 'week'
|
|
79122
79174
|
}, {
|
|
79123
79175
|
label: '本月',
|
|
79124
|
-
start_time: moment_default()().startOf('month').format(
|
|
79125
|
-
end_time: moment_default()().endOf('month').format(
|
|
79176
|
+
start_time: moment_default()().startOf('month').format(fmt),
|
|
79177
|
+
end_time: moment_default()().endOf('month').format(fmt),
|
|
79126
79178
|
key: 'month'
|
|
79127
79179
|
}];
|
|
79128
79180
|
},
|
|
79129
79181
|
dateOptions() {
|
|
79182
|
+
const {
|
|
79183
|
+
type: _type,
|
|
79184
|
+
valueFormat: _valueFormat,
|
|
79185
|
+
format: userFormat,
|
|
79186
|
+
...restOther
|
|
79187
|
+
} = this.otherOption || {};
|
|
79188
|
+
const pickerType = this.resolvedPickerType;
|
|
79189
|
+
const elementFormat = this.toElementDateFormat(this.resolvedValueFormat);
|
|
79190
|
+
const needDefaultTime = pickerType === 'datetimerange' || pickerType === 'datetime';
|
|
79130
79191
|
return {
|
|
79131
79192
|
startPlaceholder: '开始时间',
|
|
79132
79193
|
endPlaceholder: '结束时间',
|
|
79133
|
-
type: 'daterange',
|
|
79134
79194
|
rangeSeparator: '至',
|
|
79135
79195
|
size: 'mini',
|
|
79136
79196
|
active: '',
|
|
79137
|
-
|
|
79197
|
+
format: userFormat || elementFormat,
|
|
79198
|
+
...(needDefaultTime ? {
|
|
79199
|
+
defaultTime: ['00:00:00', '23:59:59']
|
|
79200
|
+
} : {}),
|
|
79201
|
+
...restOther,
|
|
79202
|
+
// 最终以解析后的 pickerType 为准,避免 Form 的 type=customDatePicker 或旧配置干扰
|
|
79203
|
+
type: pickerType
|
|
79138
79204
|
};
|
|
79139
79205
|
},
|
|
79140
79206
|
panelDateOptions() {
|
|
@@ -79199,10 +79265,25 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
|
79199
79265
|
this.destroyShortcutTagObserver();
|
|
79200
79266
|
},
|
|
79201
79267
|
methods: {
|
|
79268
|
+
normalizePickerType(type) {
|
|
79269
|
+
if (!type || type === FORM_FIELD_TYPE) return '';
|
|
79270
|
+
return type;
|
|
79271
|
+
},
|
|
79272
|
+
/** Element 格式(yyyy/dd) → moment 格式(YYYY/DD) */
|
|
79273
|
+
toMomentDateFormat(fmt) {
|
|
79274
|
+
return String(fmt).replace(/yyyy/g, 'YYYY').replace(/dd/g, 'DD');
|
|
79275
|
+
},
|
|
79276
|
+
/** moment 格式 → Element 展示格式 */
|
|
79277
|
+
toElementDateFormat(fmt) {
|
|
79278
|
+
return String(fmt).replace(/YYYY/g, 'yyyy').replace(/DD/g, 'dd');
|
|
79279
|
+
},
|
|
79280
|
+
formatMomentValue(val) {
|
|
79281
|
+
return moment_default()(val).format(this.resolvedValueFormat);
|
|
79282
|
+
},
|
|
79202
79283
|
syncActiveFromValue(newValue) {
|
|
79203
79284
|
if (Array.isArray(newValue) && newValue.length) {
|
|
79204
|
-
const start =
|
|
79205
|
-
const end =
|
|
79285
|
+
const start = this.formatMomentValue(newValue[0]);
|
|
79286
|
+
const end = this.formatMomentValue(newValue[1]);
|
|
79206
79287
|
let matchedKey = '';
|
|
79207
79288
|
this.shortcuts.forEach(item => {
|
|
79208
79289
|
if (item.start_time === start && item.end_time === end) {
|
|
@@ -79229,12 +79310,13 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
|
79229
79310
|
});
|
|
79230
79311
|
}
|
|
79231
79312
|
} else {
|
|
79232
|
-
const
|
|
79313
|
+
const list = Array.isArray(e) ? e : [e];
|
|
79314
|
+
const formattedDates = list.map(item => this.formatMomentValue(item));
|
|
79233
79315
|
this.$emit('input', formattedDates);
|
|
79234
79316
|
if (this.startTimeField && this.endTimeField) {
|
|
79235
79317
|
this.$emit('range-change', {
|
|
79236
|
-
startTime: formattedDates[0],
|
|
79237
|
-
endTime: formattedDates[1]
|
|
79318
|
+
startTime: formattedDates[0] || '',
|
|
79319
|
+
endTime: formattedDates[1] || ''
|
|
79238
79320
|
});
|
|
79239
79321
|
}
|
|
79240
79322
|
|
|
@@ -79344,8 +79426,8 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
|
79344
79426
|
;
|
|
79345
79427
|
var custom_date_picker_component = normalizeComponent(
|
|
79346
79428
|
comps_custom_date_pickervue_type_script_lang_js,
|
|
79347
|
-
|
|
79348
|
-
|
|
79429
|
+
custom_date_pickervue_type_template_id_9d8d406a_render,
|
|
79430
|
+
custom_date_pickervue_type_template_id_9d8d406a_staticRenderFns,
|
|
79349
79431
|
false,
|
|
79350
79432
|
null,
|
|
79351
79433
|
null,
|
package/lib/by-components.umd.js
CHANGED
|
@@ -78979,8 +78979,8 @@ var pair_number_input_component = normalizeComponent(
|
|
|
78979
78979
|
)
|
|
78980
78980
|
|
|
78981
78981
|
/* harmony default export */ var pair_number_input = (pair_number_input_component.exports);
|
|
78982
|
-
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/comps/custom-date-picker.vue?vue&type=template&id=
|
|
78983
|
-
var
|
|
78982
|
+
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"185687ec-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/comps/custom-date-picker.vue?vue&type=template&id=9d8d406a
|
|
78983
|
+
var custom_date_pickervue_type_template_id_9d8d406a_render = function render() {
|
|
78984
78984
|
var _vm = this,
|
|
78985
78985
|
_c = _vm._self._c;
|
|
78986
78986
|
return _c('div', {
|
|
@@ -79050,7 +79050,7 @@ var custom_date_pickervue_type_template_id_78d80522_render = function render() {
|
|
|
79050
79050
|
}, [_vm._v(" " + _vm._s(char) + " ")]);
|
|
79051
79051
|
}) : [_vm._v(_vm._s(_vm.activeShortcutLabel))]], 2) : _vm._e()], 1)], 2);
|
|
79052
79052
|
};
|
|
79053
|
-
var
|
|
79053
|
+
var custom_date_pickervue_type_template_id_9d8d406a_staticRenderFns = [];
|
|
79054
79054
|
|
|
79055
79055
|
// EXTERNAL MODULE: ./node_modules/moment/moment.js
|
|
79056
79056
|
var moment = __webpack_require__(9618);
|
|
@@ -79061,6 +79061,17 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
|
79061
79061
|
|
|
79062
79062
|
|
|
79063
79063
|
|
|
79064
|
+
const DEFAULT_FORMAT_BY_TYPE = {
|
|
79065
|
+
daterange: 'YYYY-MM-DD',
|
|
79066
|
+
datetimerange: 'YYYY-MM-DD HH:mm:ss',
|
|
79067
|
+
monthrange: 'YYYY-MM',
|
|
79068
|
+
date: 'YYYY-MM-DD',
|
|
79069
|
+
datetime: 'YYYY-MM-DD HH:mm:ss',
|
|
79070
|
+
month: 'YYYY-MM',
|
|
79071
|
+
year: 'YYYY',
|
|
79072
|
+
week: 'YYYY-MM-DD'
|
|
79073
|
+
};
|
|
79074
|
+
const FORM_FIELD_TYPE = 'customDatePicker';
|
|
79064
79075
|
/* harmony default export */ var custom_date_pickervue_type_script_lang_js = ({
|
|
79065
79076
|
name: 'ByCustomDatePicker',
|
|
79066
79077
|
props: {
|
|
@@ -79088,6 +79099,23 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
|
79088
79099
|
type: String,
|
|
79089
79100
|
default: ''
|
|
79090
79101
|
},
|
|
79102
|
+
/**
|
|
79103
|
+
* 日期选择器类型(透传 el-date-picker 的 type)
|
|
79104
|
+
* 默认 daterange;常见:daterange / datetimerange / monthrange
|
|
79105
|
+
* 注意:Form 配置里字段 type 固定为 customDatePicker,请用本属性或 otherOption.type 指定面板类型
|
|
79106
|
+
*/
|
|
79107
|
+
pickerType: {
|
|
79108
|
+
type: String,
|
|
79109
|
+
default: ''
|
|
79110
|
+
},
|
|
79111
|
+
/**
|
|
79112
|
+
* 绑定值格式(moment 格式,也兼容 Element 的 yyyy/dd 写法)
|
|
79113
|
+
* 不传时按 pickerType 自动推断,如 daterange → YYYY-MM-DD
|
|
79114
|
+
*/
|
|
79115
|
+
valueFormat: {
|
|
79116
|
+
type: String,
|
|
79117
|
+
default: ''
|
|
79118
|
+
},
|
|
79091
79119
|
/**
|
|
79092
79120
|
* 快捷按钮展示方式
|
|
79093
79121
|
* external: 快捷按钮在输入框右侧(默认,保持原有样式)
|
|
@@ -79108,43 +79136,81 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
|
79108
79136
|
};
|
|
79109
79137
|
},
|
|
79110
79138
|
computed: {
|
|
79139
|
+
/** 实际生效的面板类型 */
|
|
79140
|
+
resolvedPickerType() {
|
|
79141
|
+
const fromProp = this.normalizePickerType(this.pickerType);
|
|
79142
|
+
if (fromProp) return fromProp;
|
|
79143
|
+
const fromOther = this.normalizePickerType(this.otherOption && this.otherOption.type);
|
|
79144
|
+
if (fromOther) return fromOther;
|
|
79145
|
+
return 'daterange';
|
|
79146
|
+
},
|
|
79147
|
+
/** 实际生效的输出格式(moment) */
|
|
79148
|
+
resolvedValueFormat() {
|
|
79149
|
+
const raw = this.valueFormat || this.otherOption && this.otherOption.valueFormat || DEFAULT_FORMAT_BY_TYPE[this.resolvedPickerType] || 'YYYY-MM-DD';
|
|
79150
|
+
return this.toMomentDateFormat(raw);
|
|
79151
|
+
},
|
|
79152
|
+
/** 是否包含时分秒(用于快捷项起止时刻) */
|
|
79153
|
+
includesTime() {
|
|
79154
|
+
return /H{1,2}|m{1,2}|s{1,2}/.test(this.resolvedValueFormat);
|
|
79155
|
+
},
|
|
79111
79156
|
shortcuts() {
|
|
79157
|
+
const fmt = this.resolvedValueFormat;
|
|
79158
|
+
const rangeOfDay = dayMoment => ({
|
|
79159
|
+
start_time: dayMoment.clone().startOf('day').format(fmt),
|
|
79160
|
+
end_time: this.includesTime ? dayMoment.clone().endOf('day').format(fmt) : dayMoment.clone().startOf('day').format(fmt)
|
|
79161
|
+
});
|
|
79162
|
+
const yesterday = rangeOfDay(moment_default()().subtract(1, 'days'));
|
|
79163
|
+
const today = rangeOfDay(moment_default()());
|
|
79112
79164
|
return [{
|
|
79113
79165
|
label: '上月',
|
|
79114
|
-
start_time: moment_default()().subtract(1, 'months').startOf('month').format(
|
|
79115
|
-
end_time: moment_default()().subtract(1, 'months').endOf('month').format(
|
|
79166
|
+
start_time: moment_default()().subtract(1, 'months').startOf('month').format(fmt),
|
|
79167
|
+
end_time: moment_default()().subtract(1, 'months').endOf('month').format(fmt),
|
|
79116
79168
|
key: 'last_month'
|
|
79117
79169
|
}, {
|
|
79118
79170
|
label: '昨天',
|
|
79119
|
-
start_time:
|
|
79120
|
-
end_time:
|
|
79171
|
+
start_time: yesterday.start_time,
|
|
79172
|
+
end_time: yesterday.end_time,
|
|
79121
79173
|
key: 'yesterday'
|
|
79122
79174
|
}, {
|
|
79123
79175
|
label: '今天',
|
|
79124
|
-
start_time:
|
|
79125
|
-
end_time:
|
|
79176
|
+
start_time: today.start_time,
|
|
79177
|
+
end_time: today.end_time,
|
|
79126
79178
|
key: 'today'
|
|
79127
79179
|
}, {
|
|
79128
79180
|
label: '本周',
|
|
79129
|
-
start_time: moment_default()().startOf('isoWeek').format(
|
|
79130
|
-
end_time: moment_default()().endOf('isoWeek').format(
|
|
79181
|
+
start_time: moment_default()().startOf('isoWeek').format(fmt),
|
|
79182
|
+
end_time: moment_default()().endOf('isoWeek').format(fmt),
|
|
79131
79183
|
key: 'week'
|
|
79132
79184
|
}, {
|
|
79133
79185
|
label: '本月',
|
|
79134
|
-
start_time: moment_default()().startOf('month').format(
|
|
79135
|
-
end_time: moment_default()().endOf('month').format(
|
|
79186
|
+
start_time: moment_default()().startOf('month').format(fmt),
|
|
79187
|
+
end_time: moment_default()().endOf('month').format(fmt),
|
|
79136
79188
|
key: 'month'
|
|
79137
79189
|
}];
|
|
79138
79190
|
},
|
|
79139
79191
|
dateOptions() {
|
|
79192
|
+
const {
|
|
79193
|
+
type: _type,
|
|
79194
|
+
valueFormat: _valueFormat,
|
|
79195
|
+
format: userFormat,
|
|
79196
|
+
...restOther
|
|
79197
|
+
} = this.otherOption || {};
|
|
79198
|
+
const pickerType = this.resolvedPickerType;
|
|
79199
|
+
const elementFormat = this.toElementDateFormat(this.resolvedValueFormat);
|
|
79200
|
+
const needDefaultTime = pickerType === 'datetimerange' || pickerType === 'datetime';
|
|
79140
79201
|
return {
|
|
79141
79202
|
startPlaceholder: '开始时间',
|
|
79142
79203
|
endPlaceholder: '结束时间',
|
|
79143
|
-
type: 'daterange',
|
|
79144
79204
|
rangeSeparator: '至',
|
|
79145
79205
|
size: 'mini',
|
|
79146
79206
|
active: '',
|
|
79147
|
-
|
|
79207
|
+
format: userFormat || elementFormat,
|
|
79208
|
+
...(needDefaultTime ? {
|
|
79209
|
+
defaultTime: ['00:00:00', '23:59:59']
|
|
79210
|
+
} : {}),
|
|
79211
|
+
...restOther,
|
|
79212
|
+
// 最终以解析后的 pickerType 为准,避免 Form 的 type=customDatePicker 或旧配置干扰
|
|
79213
|
+
type: pickerType
|
|
79148
79214
|
};
|
|
79149
79215
|
},
|
|
79150
79216
|
panelDateOptions() {
|
|
@@ -79209,10 +79275,25 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
|
79209
79275
|
this.destroyShortcutTagObserver();
|
|
79210
79276
|
},
|
|
79211
79277
|
methods: {
|
|
79278
|
+
normalizePickerType(type) {
|
|
79279
|
+
if (!type || type === FORM_FIELD_TYPE) return '';
|
|
79280
|
+
return type;
|
|
79281
|
+
},
|
|
79282
|
+
/** Element 格式(yyyy/dd) → moment 格式(YYYY/DD) */
|
|
79283
|
+
toMomentDateFormat(fmt) {
|
|
79284
|
+
return String(fmt).replace(/yyyy/g, 'YYYY').replace(/dd/g, 'DD');
|
|
79285
|
+
},
|
|
79286
|
+
/** moment 格式 → Element 展示格式 */
|
|
79287
|
+
toElementDateFormat(fmt) {
|
|
79288
|
+
return String(fmt).replace(/YYYY/g, 'yyyy').replace(/DD/g, 'dd');
|
|
79289
|
+
},
|
|
79290
|
+
formatMomentValue(val) {
|
|
79291
|
+
return moment_default()(val).format(this.resolvedValueFormat);
|
|
79292
|
+
},
|
|
79212
79293
|
syncActiveFromValue(newValue) {
|
|
79213
79294
|
if (Array.isArray(newValue) && newValue.length) {
|
|
79214
|
-
const start =
|
|
79215
|
-
const end =
|
|
79295
|
+
const start = this.formatMomentValue(newValue[0]);
|
|
79296
|
+
const end = this.formatMomentValue(newValue[1]);
|
|
79216
79297
|
let matchedKey = '';
|
|
79217
79298
|
this.shortcuts.forEach(item => {
|
|
79218
79299
|
if (item.start_time === start && item.end_time === end) {
|
|
@@ -79239,12 +79320,13 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
|
79239
79320
|
});
|
|
79240
79321
|
}
|
|
79241
79322
|
} else {
|
|
79242
|
-
const
|
|
79323
|
+
const list = Array.isArray(e) ? e : [e];
|
|
79324
|
+
const formattedDates = list.map(item => this.formatMomentValue(item));
|
|
79243
79325
|
this.$emit('input', formattedDates);
|
|
79244
79326
|
if (this.startTimeField && this.endTimeField) {
|
|
79245
79327
|
this.$emit('range-change', {
|
|
79246
|
-
startTime: formattedDates[0],
|
|
79247
|
-
endTime: formattedDates[1]
|
|
79328
|
+
startTime: formattedDates[0] || '',
|
|
79329
|
+
endTime: formattedDates[1] || ''
|
|
79248
79330
|
});
|
|
79249
79331
|
}
|
|
79250
79332
|
|
|
@@ -79354,8 +79436,8 @@ var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
|
79354
79436
|
;
|
|
79355
79437
|
var custom_date_picker_component = normalizeComponent(
|
|
79356
79438
|
comps_custom_date_pickervue_type_script_lang_js,
|
|
79357
|
-
|
|
79358
|
-
|
|
79439
|
+
custom_date_pickervue_type_template_id_9d8d406a_render,
|
|
79440
|
+
custom_date_pickervue_type_template_id_9d8d406a_staticRenderFns,
|
|
79359
79441
|
false,
|
|
79360
79442
|
null,
|
|
79361
79443
|
null,
|