vant-fork
Version:
Lightweight Mobile UI Components built on Vue
82 lines (73 loc) • 2.7 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _create = _interopRequireDefault(require("../utils/create"));
var _checkbox = _interopRequireDefault(require("../checkbox"));
var _default = (0, _create.default)({
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('div', {
class: _vm.b({
disabled: _vm.disabled
})
}, [_c('div', {
class: _vm.b('content')
}, [_c('div', {
class: _vm.b('head')
}, [_c('h2', {
domProps: {
"innerHTML": _vm._s(_vm.faceAmount)
}
}), _c('p', [_vm._v(_vm._s(_vm.conditionMessage))])]), _c('div', {
class: _vm.b('body')
}, [_c('h2', [_vm._v(_vm._s(_vm.data.name))]), _c('p', [_vm._v(_vm._s(_vm.validPeriod))]), _vm.chosen ? _c('checkbox', {
class: _vm.b('corner'),
attrs: {
"value": true
}
}) : _vm._e()], 1)]), _vm.disabled && _vm.data.reason ? _c('p', {
class: _vm.b('reason')
}, [_vm._v(_vm._s(_vm.data.reason))]) : _vm._e()]);
},
name: 'coupon-item',
props: {
data: Object,
chosen: Boolean,
disabled: Boolean
},
components: {
Checkbox: _checkbox.default
},
computed: {
validPeriod: function validPeriod() {
return this.$t('valid') + "\uFF1A" + this.getDate(this.data.startAt) + " - " + this.getDate(this.data.endAt);
},
faceAmount: function faceAmount() {
return this.data.denominations !== 0 ? "<span>\xA5</span> " + this.formatAmount(this.data.denominations) : this.data.discount !== 0 ? this.formatDiscount(this.data.discount) : '';
},
conditionMessage: function conditionMessage() {
var condition = this.data.originCondition;
condition = condition % 100 === 0 ? Math.round(condition / 100) : (condition / 100).toFixed(2);
return this.data.originCondition === 0 ? this.$t('unlimited') : this.$t('condition', condition);
}
},
methods: {
getDate: function getDate(timeStamp) {
var date = new Date(timeStamp * 1000);
return date.getFullYear() + "." + this.padZero(date.getMonth() + 1) + "." + this.padZero(date.getDate());
},
padZero: function padZero(num) {
return (num < 10 ? '0' : '') + num;
},
formatDiscount: function formatDiscount(discount) {
return this.$t('discount', "" + (discount / 10).toFixed(discount % 10 === 0 ? 0 : 1));
},
formatAmount: function formatAmount(amount) {
return (amount / 100).toFixed(amount % 100 === 0 ? 0 : amount % 10 === 0 ? 1 : 2);
}
}
});
exports.default = _default;