Commit 11466af4912387d6d114f9bd9333db9279f37803

Authored by yvan.ni
1 parent 93cd196b

多促销的优化

packageE/pages/cart/cart2/cart2.js
... ... @@ -705,7 +705,7 @@ Page({
705 705 }
706 706  
707 707 //使用sort排序
708   - prom_list.sort(comp(sort_type));
  708 + prom_list.sort(comp);
709 709 },
710 710  
711 711 //-----真的获取购物车,入口--------
... ... @@ -1799,6 +1799,7 @@ Page({
1799 1799 async buy_pro_group(item1, is_state) {
1800 1800 //-- 代发商品不参与任何活动 --
1801 1801 if(item1.whsle_id) return false;
  1802 + var th=this;
1802 1803 var url = '/api/weshop/activitylist/listGoodActInfo2New';
1803 1804 var user_id = getApp().globalData.user_id;
1804 1805 var zh_id = 0;
... ... @@ -1828,7 +1829,27 @@ Page({
1828 1829 //-- 如果有组合购的时候,同时还要判断单件商品的购买数量有没有满足组合购的条件 --
1829 1830 if (zh_id) {
1830 1831 var is_zh_ok = 1;
1831   -
  1832 + var zh_pro0 = null;
  1833 + //-- 获取活动信息 --
  1834 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + zh_id + "/" + user_id;
  1835 + await getApp().request.promiseGet(url, {}).then(res => {
  1836 + if (res.data.code == 0 && res.data.data) {
  1837 + //如果活动已经结束
  1838 + if (res.data.data.is_end == 1) {
  1839 + is_zh_ok = 0;
  1840 + }
  1841 + if (ut.gettimestamp() > res.data.data.end_time) {
  1842 + is_zh_ok = 0;
  1843 + }
  1844 + zh_pro0 = res.data.data;
  1845 + //--- 在这里要判断一下活动的组合购总数量 ---
  1846 + if (zh_pro0.zh_num > 0 && zh_pro0.zh_buy_num >= zh_pro0.zh_num) {
  1847 + is_zh_ok = 0;
  1848 + }
  1849 + } else {
  1850 + is_zh_ok = 0;
  1851 + }
  1852 + })
1832 1853  
1833 1854 //--- 首先组合购的限购 ---
1834 1855 if(is_zh_ok){
... ... @@ -1849,6 +1870,10 @@ Page({
1849 1870  
1850 1871 //-- 如果满足条件,才会显示活动 --
1851 1872 if (is_zh_ok) {
  1873 +
  1874 + //-- 组合的数组填充一下 --
  1875 + th.data.zuhe_map[zh_pro0.id] = zh_pro0;
  1876 +
1852 1877 var url1 = "/api/weshop/prom/zhbuyGoods/page";
1853 1878 var req_data = {
1854 1879 page: 1, pageSize: 2000,
... ... @@ -1865,7 +1890,7 @@ Page({
1865 1890 })
1866 1891  
1867 1892 var zh_gd_fd = gdlist.find(function (e) {
1868   - return e.goods_id == item.goods_id;
  1893 + return e.goods_id == item1.goods_id;
1869 1894 })
1870 1895  
1871 1896 if (is_zh_ok) {
... ... @@ -1903,7 +1928,7 @@ Page({
1903 1928 if (is_state == 1) {
1904 1929 //-- 看有没有必买商品不满足的时候 --
1905 1930 var f_gd = gdlist.find(function (e) {
1906   - return e.zhqty > 0 && e.goods_id != item.goods_id;
  1931 + return e.zhqty > 0 && e.goods_id != item1.goods_id;
1907 1932 })
1908 1933 if (f_gd) {
1909 1934 is_zh_ok = 0;
... ... @@ -1916,21 +1941,37 @@ Page({
1916 1941 //判断组合购活动是不是满足
1917 1942 if(is_zh_ok){
1918 1943 if(!item1.more_cx) item1.more_cx=[];
1919   - item1.more_cx.push({prom_type:7,prom_id:zh_id,gdlist:gdlist})
  1944 + var show_time=ut.formatTime(zh_pro0.start_time)+"至"+ ut.formatTime(zh_pro0.end_time);
  1945 + item1.more_cx.push({
  1946 + prom_type:7,prom_id:zh_id,gdlist:gdlist,
  1947 + title: zh_pro0.name,
  1948 + show_time: show_time,
  1949 + id:zh_id
  1950 + })
1920 1951 }
1921 1952 }
1922 1953 }
  1954 +
1923 1955 }
1924 1956  
1925 1957 //调用接口判断优惠,
1926 1958 var m_res=await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + item1.goods_id + "/0" + "/" + user_id, {});
1927 1959 if(m_res && m_res.data.code == 0 && m_res.data.data){
1928 1960  
1929   - var r_data = res.data.data;
  1961 + var r_data = m_res.data.data;
1930 1962 //-- 如果是搭配购的时候 --
1931 1963 if (r_data.collocationList) {
1932 1964 if(!item1.more_cx) item1.more_cx=[];
1933   - item1.more_cx.push({prom_type:5,prom_id: r_data.collocationPromList.id});
  1965 +
  1966 + var show_price= '¥'+r_data.collocationPromList.max+'-'+ r_data.collocationPromList.min;
  1967 + var show_time=ut.formatTime(r_data.collocationPromList.start_time)+"至"+ ut.formatTime(r_data.collocationPromList.end_time);
  1968 +
  1969 + item1.more_cx.push({
  1970 + prom_type:5,prom_id: r_data.collocationPromList.id,
  1971 + title: r_data.collocationPromList.title,
  1972 + show_time: show_time,
  1973 + id:r_data.collocationPromList.id,
  1974 + });
1934 1975 }
1935 1976 //-- 如果是阶梯促销的时候 --
1936 1977 if (r_data.ladderLists) {
... ... @@ -1938,10 +1979,48 @@ Page({
1938 1979 //-- 判断会员能不能参与阶梯促销 --
1939 1980 await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => {
1940 1981 if (res.data.code == 0 && res.data.data) {
  1982 + th.data.ladder_map[act_id] = res.data.data;
1941 1983 if(!item1.more_cx) item1.more_cx=[];
1942   - item1.more_cx.push({prom_type:10,prom_id: act_id});
  1984 +
  1985 + var prom_content = "";
  1986 +
  1987 + for (let jj in r_data.ladderLists) {
  1988 + if (r_data.ladderLists[jj].discount == 10) {
  1989 + prom_content += "第" + (parseInt(jj) + 1) + "件原价,";
  1990 + } else {
  1991 + prom_content += "第" + (parseInt(jj) + 1) + "件" + r_data.ladderLists[jj].discount + "折,";
  1992 + }
  1993 + }
  1994 + prom_content = ut.sub_last(prom_content);
  1995 +
  1996 + var s_time=res.data.data.start_time;
  1997 + var e_time=res.data.data.end_time;
  1998 +
  1999 + item1.more_cx.push({
  2000 + prom_type:10,prom_id: act_id,
  2001 + title: prom_content,
  2002 + show_time: ut.formatTime(s_time) + "至" + ut.formatTime(e_time),
  2003 + id:act_id
  2004 + });
1943 2005 }
1944 2006 })
  2007 +
  2008 + if(th.data.ladder_map[act_id]){
  2009 + //-- 获取阶梯规则 --
  2010 + var url1 = "/api/weshop/prom/ladderList/list";
  2011 + var req_data0 = {
  2012 + store_id: os.stoid,
  2013 + form_id: act_id,
  2014 + }
  2015 + await getApp().request.promiseGet(url1, {
  2016 + data: req_data0
  2017 + }).then(rs1 => {
  2018 + if (rs1.data.code == 0 && rs1.data.data) {
  2019 + var gdlist = rs1.data.data;
  2020 + th.data.ladder_map[act_id].ladder_list = gdlist;
  2021 + }
  2022 + })
  2023 + }
1945 2024 }
1946 2025 //-- 优惠促销的时候 -- 此时要注意活动的限购次数,以及活动的购买金额或者购买数量有没有满足
1947 2026 if (r_data.promGoodsLists) {
... ... @@ -1957,7 +2036,33 @@ Page({
1957 2036 //--- 这个地方是在计算优惠促销的限购 ---
1958 2037 if(!fir_act.limit_num || th.data.user_pre_buynum<fir_act.limit_num){
1959 2038  
1960   - var push_item={prom_type:3,prom_id: fir_act.prom_id,fir_act:fir_act};
  2039 +
  2040 + var more_arr = [];
  2041 + //减价
  2042 + if (fir_act.money > 0) more_arr.push('减价'+fir_act.money+'元');
  2043 + if (fir_act.sale > 0) more_arr.push('打'+fir_act.sale+'折');
  2044 + if (fir_act.past ==1) more_arr.push('包邮');
  2045 + if (fir_act.intValue > 0) more_arr.push('送'+fir_act.intValue+'积分');
  2046 + if (fir_act.couponId > 0) more_arr.push('送'+fir_act.couponMoney+'元优惠券');
  2047 + if (fir_act.gift_id) {
  2048 + var is_more_gf=fir_act.gift_id.split(',')
  2049 + if(is_more_gf.length>1){
  2050 + more_arr.push('送赠品');
  2051 + }else{
  2052 + more_arr.push('送'+fir_act.goods_name+' x'+fir_act.zp_num);
  2053 + }
  2054 + }
  2055 + if (fir_act.lb_id) more_arr.push('送'+fir_act.lbtitle);
  2056 + if (fir_act.zxlb_id) more_arr.push('送'+fir_act.zxlbtitle);
  2057 +
  2058 + var push_item={
  2059 + prom_type:3,prom_id: fir_act.prom_id,fir_act:fir_act,
  2060 + condition: fir_act.condition + (fir_act.prom_type == 1 ? '件' : '元'),
  2061 + limit: '每人' + (fir_act.limit_num ? '限参与' + fir_act.limit_num + '次' : '参与不限次'),
  2062 + more: more_arr,
  2063 + id:fir_act.prom_id
  2064 + };
  2065 +
1961 2066 //--- 如果是一件商品的时候,那么就要判断这个商品。同时商品的购买数量有没有满足 ---
1962 2067 if (is_state == 1) {
1963 2068 //-- 按件进行计算 --
... ... @@ -1967,7 +2072,7 @@ Page({
1967 2072 }
1968 2073 }else{
1969 2074 //-- 按数量进行计算 --
1970   - var all_price = item.goods_price * item1.goods_num;
  2075 + var all_price = item1.goods_price * item1.goods_num;
1971 2076 if (parseFloat(fir_act.condition) > parseFloat(parseFloat(all_price).toFixed(2))) {
1972 2077 item1.more_cx.push(push_item);
1973 2078 }
... ... @@ -1981,10 +2086,8 @@ Page({
1981 2086 }
1982 2087 }
1983 2088  
1984   -
1985 2089 },
1986 2090  
1987   -
1988 2091 //---------------检查是否有收货地址-------------------
1989 2092 checkAddressList: function () {
1990 2093 var t = this;
... ...
packageE/pages/cart/cart2/cart2.wxml
  1 +<!-- 促销弹出框 -->
  2 +<pro_pop id="pro_pop"></pro_pop>
  3 +
1 4 <wxs module="filter" src="c_filter.wxs"></wxs>
2 5 <wxs src="filter.wxs" module="util"></wxs>
3 6 <wxs module="filters" src="../../../../utils/filter.wxs"></wxs>
... ...
packageE/pages/cart/cart2/cart2.wxss
... ... @@ -540,9 +540,9 @@ transform: rotate(-135deg);
540 540 line-height: 35rpx;
541 541 text-align: center;
542 542 margin-right: 20rpx
  543 +}
543 544  
544 545  
545   -}
546 546 .xc-hooks {
547 547 width: 30rpx;
548 548 height: 30rpx;
... ...