UNPKG

captain-ui

Version:

有赞vue wap业务组件库

126 lines (112 loc) 3.4 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; require("vant/es/picker/style"); var _picker = _interopRequireDefault(require("vant/es/picker")); require("vant/es/popup/style"); var _popup = _interopRequireDefault(require("vant/es/popup")); require("vant/es/cell/style"); var _cell = _interopRequireDefault(require("vant/es/cell")); var _components; var WEEK_DAY_MAP = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']; var _default = { render: function render() { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; return _c('div', { staticClass: "cap-order-goods-delivery-time" }, [_c('van-cell', { attrs: { "title": _vm.title, "is-link": _vm.canSelect }, on: { "click": function click($event) { _vm.show = true; } } }, [_c('p', [_vm._v(_vm._s(_vm.deliveryTime))]), _c('p', [_vm._v(_vm._s(_vm.firstTimeDelivery) + " 首次送达")])]), _c('van-popup', { attrs: { "position": "bottom", "lock-on-scroll": "" }, model: { value: _vm.show, callback: function callback($$v) { _vm.show = $$v; }, expression: "show" } }, [_c('van-picker', { attrs: { "title": "选择首次送达时间", "show-toolbar": "", "columns": _vm.dateList }, on: { "cancel": function cancel($event) { _vm.show = false; }, "confirm": _vm.onDeliveryConfirm } })], 1)], 1); }, name: 'cap-order-goods-delivery-time', components: (_components = {}, _components[_cell.default.name] = _cell.default, _components[_popup.default.name] = _popup.default, _components[_picker.default.name] = _picker.default, _components), props: { title: { type: String, default: '送达时间' }, // 送达时间列表 deliveryOptions: { type: Array, required: true }, // 预计送达时间 deliveryTime: String }, data: function data() { return { show: false, deliveryIndex: 0 }; }, computed: { canSelect: function canSelect() { return this.deliveryOptions.length > 1; }, firstTimeDelivery: function firstTimeDelivery() { return this.deliveryOptions[this.deliveryIndex]; }, dateList: function dateList() { var _this = this; var dateList = this.deliveryOptions.map(function (item) { return _this.formatDate(item); }); return [{ values: dateList }]; } }, methods: { onDeliveryConfirm: function onDeliveryConfirm(val) { var index = this.dateList[0].values.indexOf(val[0]); var time = this.deliveryOptions[index]; this.deliveryIndex = index; this.show = false; this.$emit('change', time); }, // 格式化日期为 xxxx年xx月xx日 (周x) formatDate: function formatDate(date) { date = new Date(date); return [date.getFullYear() + '年', this.padZero(date.getMonth() + 1) + '月', this.padZero(date.getDate()) + '日', ' (' + WEEK_DAY_MAP[date.getDay()] + ')'].join(''); }, padZero: function padZero(num) { return num < 10 ? '0' + num : num; } } }; exports.default = _default;