SelectCouponModal.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. "use strict";
  2. const common_vendor = require("../../../common/vendor.js");
  3. const utils_file = require("../../../utils/file.js");
  4. if (!Math) {
  5. BasicModal();
  6. }
  7. const BasicModal = () => "../../../components/Modal/BasicModal.js";
  8. const _sfc_main = {
  9. __name: "SelectCouponModal",
  10. props: {
  11. open: {
  12. type: Boolean,
  13. default: false
  14. },
  15. couponList: {
  16. type: Array,
  17. default: () => []
  18. },
  19. selectedCouponId: {
  20. type: [Number, String],
  21. default: null
  22. }
  23. },
  24. emits: ["update:open", "select", "close"],
  25. setup(__props, { emit: __emit }) {
  26. const props = __props;
  27. const emit = __emit;
  28. const getOpen = common_vendor.computed({
  29. get: () => props.open,
  30. set: (val) => emit("update:open", val)
  31. });
  32. const formatExpireDate = (date) => {
  33. if (!date)
  34. return "";
  35. if (typeof date === "string") {
  36. const d = new Date(date);
  37. if (!isNaN(d.getTime())) {
  38. const year = d.getFullYear();
  39. const month = String(d.getMonth() + 1).padStart(2, "0");
  40. const day = String(d.getDate()).padStart(2, "0");
  41. return `${year}/${month}/${day}`;
  42. }
  43. if (date.includes("/")) {
  44. return date;
  45. }
  46. }
  47. return date;
  48. };
  49. const isSelected = (coupon) => {
  50. return props.selectedCouponId !== null && coupon.id === props.selectedCouponId;
  51. };
  52. const handleSelect = (coupon, index) => {
  53. const newSelectedId = isSelected(coupon) ? null : coupon.id;
  54. emit("select", { coupon, index, selectedId: newSelectedId });
  55. };
  56. const handleClose = () => {
  57. getOpen.value = false;
  58. emit("close");
  59. };
  60. return (_ctx, _cache) => {
  61. return {
  62. a: common_vendor.unref(utils_file.getFileUrl)("img/icon/close.png"),
  63. b: common_vendor.o(handleClose),
  64. c: common_vendor.f(__props.couponList, (coupon, index, i0) => {
  65. return {
  66. a: common_vendor.t(coupon.amount),
  67. b: common_vendor.t(coupon.minAmount),
  68. c: common_vendor.t(coupon.name),
  69. d: common_vendor.t(formatExpireDate(coupon.expireDate)),
  70. e: isSelected(coupon),
  71. f: !isSelected(coupon),
  72. g: coupon.id || index,
  73. h: common_vendor.o(($event) => handleSelect(coupon, index), coupon.id || index)
  74. };
  75. }),
  76. d: common_vendor.unref(utils_file.getFileUrl)("img/icon/sele1.png"),
  77. e: common_vendor.unref(utils_file.getFileUrl)("img/icon/sele2.png"),
  78. f: common_vendor.o(($event) => getOpen.value = $event),
  79. g: common_vendor.p({
  80. type: "bottom",
  81. isMack: true,
  82. open: getOpen.value
  83. })
  84. };
  85. };
  86. }
  87. };
  88. const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-5880f75a"]]);
  89. wx.createComponent(Component);
  90. //# sourceMappingURL=../../../../.sourcemap/mp-weixin/pages/orderFood/components/SelectCouponModal.js.map