useGoods.ts 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { getToken } from '@/utils/common';
  2. export function useGoods(params: any = {}) {
  3. const baseTagStyle = (data: any) => {
  4. let style = "";
  5. if (data.color_json && data.color_json.text_color) {
  6. style += `color:${ data.color_json.text_color };`;
  7. }
  8. if (data.color_json && data.color_json.border_color) {
  9. style += `border-color: ${ data.color_json.border_color };`;
  10. }
  11. if (data.color_json && data.color_json.bg_color) {
  12. style += `background-color: ${ data.color_json.bg_color };`;
  13. }
  14. return style;
  15. }
  16. // 价格类型
  17. const priceType = (data: any) => {
  18. let type = "";
  19. if(data.is_discount && data.goodsSku.sale_price != data.goodsSku.price) {
  20. type = 'discount_price'
  21. } else if (data.member_discount && getToken() && data.goodsSku.member_price != data.goodsSku.price) {
  22. type = 'member_price' // 会员价
  23. }
  24. return type;
  25. }
  26. // 商品价格
  27. const goodsPrice = (data: any) => {
  28. let price = "0.00";
  29. if(data.is_discount && data.goodsSku.sale_price != data.goodsSku.price) {
  30. price = data.goodsSku.sale_price ? data.goodsSku.sale_price : data.goodsSku.price // 折扣价
  31. } else if (data.member_discount && getToken() && data.goodsSku.member_price != data.goodsSku.price) {
  32. price = data.goodsSku.member_price ? data.goodsSku.member_price : data.goodsSku.price // 会员价
  33. } else {
  34. price = data.goodsSku ? data.goodsSku.price : data.price; //兼容商品推荐组件
  35. }
  36. return parseFloat(price);
  37. }
  38. // 错误图片展示
  39. const errorImgFn = (data: any, type: any) => {
  40. data[type] = '';
  41. }
  42. return {
  43. baseTagStyle: baseTagStyle,
  44. goodsPrice: goodsPrice,
  45. priceType: priceType,
  46. error: errorImgFn
  47. }
  48. }