92 lines
2.1 KiB
JavaScript
92 lines
2.1 KiB
JavaScript
"use strict";
|
|
|
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
|
|
exports.__esModule = true;
|
|
exports.default = void 0;
|
|
|
|
var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props"));
|
|
|
|
var _utils = require("../utils");
|
|
|
|
var _functional = require("../utils/functional");
|
|
|
|
var _cell = _interopRequireDefault(require("../cell"));
|
|
|
|
// Utils
|
|
// Components
|
|
var _createNamespace = (0, _utils.createNamespace)('coupon-cell'),
|
|
createComponent = _createNamespace[0],
|
|
bem = _createNamespace[1],
|
|
t = _createNamespace[2];
|
|
|
|
function formatValue(props) {
|
|
var coupons = props.coupons,
|
|
chosenCoupon = props.chosenCoupon,
|
|
currency = props.currency;
|
|
var coupon = coupons[+chosenCoupon];
|
|
|
|
if (coupon) {
|
|
var value = 0;
|
|
|
|
if ((0, _utils.isDef)(coupon.value)) {
|
|
value = coupon.value;
|
|
} else if ((0, _utils.isDef)(coupon.denominations)) {
|
|
value = coupon.denominations;
|
|
}
|
|
|
|
return "-" + currency + " " + (value / 100).toFixed(2);
|
|
}
|
|
|
|
return coupons.length === 0 ? t('tips') : t('count', coupons.length);
|
|
}
|
|
|
|
function CouponCell(h, props, slots, ctx) {
|
|
var selected = props.coupons[+props.chosenCoupon];
|
|
var value = formatValue(props);
|
|
return h(_cell.default, (0, _babelHelperVueJsxMergeProps.default)([{
|
|
"class": bem(),
|
|
"attrs": {
|
|
"value": value,
|
|
"title": props.title || t('title'),
|
|
"border": props.border,
|
|
"isLink": props.editable,
|
|
"valueClass": bem('value', {
|
|
selected: selected
|
|
})
|
|
}
|
|
}, (0, _functional.inherit)(ctx, true)]));
|
|
}
|
|
|
|
CouponCell.model = {
|
|
prop: 'chosenCoupon'
|
|
};
|
|
CouponCell.props = {
|
|
title: String,
|
|
coupons: {
|
|
type: Array,
|
|
default: function _default() {
|
|
return [];
|
|
}
|
|
},
|
|
currency: {
|
|
type: String,
|
|
default: '¥'
|
|
},
|
|
border: {
|
|
type: Boolean,
|
|
default: true
|
|
},
|
|
editable: {
|
|
type: Boolean,
|
|
default: true
|
|
},
|
|
chosenCoupon: {
|
|
type: [Number, String],
|
|
default: -1
|
|
}
|
|
};
|
|
|
|
var _default2 = createComponent(CouponCell);
|
|
|
|
exports.default = _default2; |