first
This commit is contained in:
129
node_modules/vant/lib/sku/components/SkuDateTimeField.js
generated
vendored
Normal file
129
node_modules/vant/lib/sku/components/SkuDateTimeField.js
generated
vendored
Normal file
@ -0,0 +1,129 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
|
||||
var _utils = require("../../utils");
|
||||
|
||||
var _timeHelper = require("../utils/time-helper");
|
||||
|
||||
var _popup = _interopRequireDefault(require("../../popup"));
|
||||
|
||||
var _datetimePicker = _interopRequireDefault(require("../../datetime-picker"));
|
||||
|
||||
var _field = _interopRequireDefault(require("../../field"));
|
||||
|
||||
// Utils
|
||||
// Components
|
||||
var namespace = (0, _utils.createNamespace)('sku-datetime-field');
|
||||
var createComponent = namespace[0];
|
||||
var t = namespace[2];
|
||||
|
||||
var _default = createComponent({
|
||||
props: {
|
||||
value: String,
|
||||
label: String,
|
||||
required: Boolean,
|
||||
placeholder: String,
|
||||
type: {
|
||||
type: String,
|
||||
default: 'date'
|
||||
}
|
||||
},
|
||||
data: function data() {
|
||||
return {
|
||||
showDatePicker: false,
|
||||
currentDate: this.type === 'time' ? '' : new Date(),
|
||||
minDate: new Date(new Date().getFullYear() - 60, 0, 1)
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
value: function value(val) {
|
||||
switch (this.type) {
|
||||
case 'time':
|
||||
this.currentDate = val;
|
||||
break;
|
||||
|
||||
case 'date':
|
||||
case 'datetime':
|
||||
this.currentDate = (0, _timeHelper.stringToDate)(val) || new Date();
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
title: function title() {
|
||||
return t("title." + this.type);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onClick: function onClick() {
|
||||
this.showDatePicker = true;
|
||||
},
|
||||
onConfirm: function onConfirm(val) {
|
||||
var data = val;
|
||||
|
||||
if (this.type !== 'time') {
|
||||
data = (0, _timeHelper.dateToString)(val, this.type);
|
||||
}
|
||||
|
||||
this.$emit('input', data);
|
||||
this.showDatePicker = false;
|
||||
},
|
||||
onCancel: function onCancel() {
|
||||
this.showDatePicker = false;
|
||||
},
|
||||
formatter: function formatter(type, val) {
|
||||
var word = t("format." + type);
|
||||
return "" + val + word;
|
||||
}
|
||||
},
|
||||
render: function render() {
|
||||
var _this = this;
|
||||
|
||||
var h = arguments[0];
|
||||
return h(_field.default, {
|
||||
"attrs": {
|
||||
"readonly": true,
|
||||
"is-link": true,
|
||||
"center": true,
|
||||
"value": this.value,
|
||||
"label": this.label,
|
||||
"required": this.required,
|
||||
"placeholder": this.placeholder
|
||||
},
|
||||
"on": {
|
||||
"click": this.onClick
|
||||
}
|
||||
}, [h(_popup.default, {
|
||||
"attrs": {
|
||||
"round": true,
|
||||
"position": "bottom",
|
||||
"getContainer": "body"
|
||||
},
|
||||
"slot": "extra",
|
||||
"model": {
|
||||
value: _this.showDatePicker,
|
||||
callback: function callback($$v) {
|
||||
_this.showDatePicker = $$v;
|
||||
}
|
||||
}
|
||||
}, [h(_datetimePicker.default, {
|
||||
"attrs": {
|
||||
"type": this.type,
|
||||
"title": this.title,
|
||||
"value": this.currentDate,
|
||||
"minDate": this.minDate,
|
||||
"formatter": this.formatter
|
||||
},
|
||||
"on": {
|
||||
"cancel": this.onCancel,
|
||||
"confirm": this.onConfirm
|
||||
}
|
||||
})])]);
|
||||
}
|
||||
});
|
||||
|
||||
exports.default = _default;
|
Reference in New Issue
Block a user