first commit
This commit is contained in:
70
node_modules/vant/es/coupon-cell/CouponCell.mjs
generated
vendored
Normal file
70
node_modules/vant/es/coupon-cell/CouponCell.mjs
generated
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
import { defineComponent, createVNode as _createVNode } from "vue";
|
||||
import { isDef, truthProp, makeArrayProp, makeStringProp, createNamespace } from "../utils/index.mjs";
|
||||
import { Cell } from "../cell/index.mjs";
|
||||
const [name, bem, t] = createNamespace("coupon-cell");
|
||||
const couponCellProps = {
|
||||
title: String,
|
||||
border: truthProp,
|
||||
editable: truthProp,
|
||||
coupons: makeArrayProp(),
|
||||
currency: makeStringProp("\xA5"),
|
||||
chosenCoupon: {
|
||||
type: [Number, Array],
|
||||
default: -1
|
||||
}
|
||||
};
|
||||
const getValue = (coupon) => {
|
||||
const {
|
||||
value,
|
||||
denominations
|
||||
} = coupon;
|
||||
if (isDef(value)) {
|
||||
return value;
|
||||
}
|
||||
if (isDef(denominations)) {
|
||||
return denominations;
|
||||
}
|
||||
return 0;
|
||||
};
|
||||
function formatValue({
|
||||
coupons,
|
||||
chosenCoupon,
|
||||
currency
|
||||
}) {
|
||||
let value = 0;
|
||||
let isExist = false;
|
||||
(Array.isArray(chosenCoupon) ? chosenCoupon : [chosenCoupon]).forEach((i) => {
|
||||
const coupon = coupons[+i];
|
||||
if (coupon) {
|
||||
isExist = true;
|
||||
value += getValue(coupon);
|
||||
}
|
||||
});
|
||||
if (isExist) {
|
||||
return `-${currency} ${(value / 100).toFixed(2)}`;
|
||||
}
|
||||
return coupons.length === 0 ? t("noCoupon") : t("count", coupons.length);
|
||||
}
|
||||
var stdin_default = defineComponent({
|
||||
name,
|
||||
props: couponCellProps,
|
||||
setup(props) {
|
||||
return () => {
|
||||
const selected = Array.isArray(props.chosenCoupon) ? props.chosenCoupon.length : props.coupons[+props.chosenCoupon];
|
||||
return _createVNode(Cell, {
|
||||
"class": bem(),
|
||||
"value": formatValue(props),
|
||||
"title": props.title || t("title"),
|
||||
"border": props.border,
|
||||
"isLink": props.editable,
|
||||
"valueClass": bem("value", {
|
||||
selected
|
||||
})
|
||||
}, null);
|
||||
};
|
||||
}
|
||||
});
|
||||
export {
|
||||
couponCellProps,
|
||||
stdin_default as default
|
||||
};
|
||||
Reference in New Issue
Block a user