index.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports["default"] = void 0;
  5. var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props"));
  6. var _utils = require("../utils");
  7. var _functional = require("../utils/functional");
  8. var _cell = _interopRequireDefault(require("../cell"));
  9. var _use = (0, _utils.use)('coupon-cell'),
  10. sfc = _use[0],
  11. bem = _use[1],
  12. t = _use[2];
  13. function formatValue(props) {
  14. var coupons = props.coupons,
  15. chosenCoupon = props.chosenCoupon,
  16. currency = props.currency;
  17. var coupon = coupons[chosenCoupon];
  18. if (coupon) {
  19. var value = coupon.denominations || coupon.value;
  20. return "-" + currency + (value / 100).toFixed(2);
  21. }
  22. return coupons.length === 0 ? t('tips') : t('count', coupons.length);
  23. }
  24. function CouponCell(h, props, slots, ctx) {
  25. var valueClass = props.coupons[props.chosenCoupon] ? 'van-coupon-cell--selected' : '';
  26. var value = formatValue(props);
  27. return h(_cell["default"], (0, _babelHelperVueJsxMergeProps["default"])([{
  28. "class": bem(),
  29. "attrs": {
  30. "value": value,
  31. "title": props.title || t('title'),
  32. "border": props.border,
  33. "isLink": props.editable,
  34. "valueClass": valueClass
  35. }
  36. }, (0, _functional.inherit)(ctx, true)]));
  37. }
  38. CouponCell.model = {
  39. prop: 'chosenCoupon'
  40. };
  41. CouponCell.props = {
  42. title: String,
  43. coupons: Array,
  44. currency: {
  45. type: String,
  46. "default": '¥'
  47. },
  48. border: {
  49. type: Boolean,
  50. "default": true
  51. },
  52. editable: {
  53. type: Boolean,
  54. "default": true
  55. },
  56. chosenCoupon: {
  57. type: Number,
  58. "default": -1
  59. }
  60. };
  61. var _default = sfc(CouponCell);
  62. exports["default"] = _default;