Commit 11466af4912387d6d114f9bd9333db9279f37803

Authored by yvan.ni
1 parent 93cd196b

多促销的优化

packageE/pages/cart/cart2/cart2.js
@@ -705,7 +705,7 @@ Page({ @@ -705,7 +705,7 @@ Page({
705 } 705 }
706 706
707 //使用sort排序 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,6 +1799,7 @@ Page({
1799 async buy_pro_group(item1, is_state) { 1799 async buy_pro_group(item1, is_state) {
1800 //-- 代发商品不参与任何活动 -- 1800 //-- 代发商品不参与任何活动 --
1801 if(item1.whsle_id) return false; 1801 if(item1.whsle_id) return false;
  1802 + var th=this;
1802 var url = '/api/weshop/activitylist/listGoodActInfo2New'; 1803 var url = '/api/weshop/activitylist/listGoodActInfo2New';
1803 var user_id = getApp().globalData.user_id; 1804 var user_id = getApp().globalData.user_id;
1804 var zh_id = 0; 1805 var zh_id = 0;
@@ -1828,7 +1829,27 @@ Page({ @@ -1828,7 +1829,27 @@ Page({
1828 //-- 如果有组合购的时候,同时还要判断单件商品的购买数量有没有满足组合购的条件 -- 1829 //-- 如果有组合购的时候,同时还要判断单件商品的购买数量有没有满足组合购的条件 --
1829 if (zh_id) { 1830 if (zh_id) {
1830 var is_zh_ok = 1; 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 if(is_zh_ok){ 1855 if(is_zh_ok){
@@ -1849,6 +1870,10 @@ Page({ @@ -1849,6 +1870,10 @@ Page({
1849 1870
1850 //-- 如果满足条件,才会显示活动 -- 1871 //-- 如果满足条件,才会显示活动 --
1851 if (is_zh_ok) { 1872 if (is_zh_ok) {
  1873 +
  1874 + //-- 组合的数组填充一下 --
  1875 + th.data.zuhe_map[zh_pro0.id] = zh_pro0;
  1876 +
1852 var url1 = "/api/weshop/prom/zhbuyGoods/page"; 1877 var url1 = "/api/weshop/prom/zhbuyGoods/page";
1853 var req_data = { 1878 var req_data = {
1854 page: 1, pageSize: 2000, 1879 page: 1, pageSize: 2000,
@@ -1865,7 +1890,7 @@ Page({ @@ -1865,7 +1890,7 @@ Page({
1865 }) 1890 })
1866 1891
1867 var zh_gd_fd = gdlist.find(function (e) { 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 if (is_zh_ok) { 1896 if (is_zh_ok) {
@@ -1903,7 +1928,7 @@ Page({ @@ -1903,7 +1928,7 @@ Page({
1903 if (is_state == 1) { 1928 if (is_state == 1) {
1904 //-- 看有没有必买商品不满足的时候 -- 1929 //-- 看有没有必买商品不满足的时候 --
1905 var f_gd = gdlist.find(function (e) { 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 if (f_gd) { 1933 if (f_gd) {
1909 is_zh_ok = 0; 1934 is_zh_ok = 0;
@@ -1916,21 +1941,37 @@ Page({ @@ -1916,21 +1941,37 @@ Page({
1916 //判断组合购活动是不是满足 1941 //判断组合购活动是不是满足
1917 if(is_zh_ok){ 1942 if(is_zh_ok){
1918 if(!item1.more_cx) item1.more_cx=[]; 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 var m_res=await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + item1.goods_id + "/0" + "/" + user_id, {}); 1958 var m_res=await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + item1.goods_id + "/0" + "/" + user_id, {});
1927 if(m_res && m_res.data.code == 0 && m_res.data.data){ 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 if (r_data.collocationList) { 1963 if (r_data.collocationList) {
1932 if(!item1.more_cx) item1.more_cx=[]; 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 if (r_data.ladderLists) { 1977 if (r_data.ladderLists) {
@@ -1938,10 +1979,48 @@ Page({ @@ -1938,10 +1979,48 @@ Page({
1938 //-- 判断会员能不能参与阶梯促销 -- 1979 //-- 判断会员能不能参与阶梯促销 --
1939 await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => { 1980 await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => {
1940 if (res.data.code == 0 && res.data.data) { 1981 if (res.data.code == 0 && res.data.data) {
  1982 + th.data.ladder_map[act_id] = res.data.data;
1941 if(!item1.more_cx) item1.more_cx=[]; 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 if (r_data.promGoodsLists) { 2026 if (r_data.promGoodsLists) {
@@ -1957,7 +2036,33 @@ Page({ @@ -1957,7 +2036,33 @@ Page({
1957 //--- 这个地方是在计算优惠促销的限购 --- 2036 //--- 这个地方是在计算优惠促销的限购 ---
1958 if(!fir_act.limit_num || th.data.user_pre_buynum<fir_act.limit_num){ 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 if (is_state == 1) { 2067 if (is_state == 1) {
1963 //-- 按件进行计算 -- 2068 //-- 按件进行计算 --
@@ -1967,7 +2072,7 @@ Page({ @@ -1967,7 +2072,7 @@ Page({
1967 } 2072 }
1968 }else{ 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 if (parseFloat(fir_act.condition) > parseFloat(parseFloat(all_price).toFixed(2))) { 2076 if (parseFloat(fir_act.condition) > parseFloat(parseFloat(all_price).toFixed(2))) {
1972 item1.more_cx.push(push_item); 2077 item1.more_cx.push(push_item);
1973 } 2078 }
@@ -1981,10 +2086,8 @@ Page({ @@ -1981,10 +2086,8 @@ Page({
1981 } 2086 }
1982 } 2087 }
1983 2088
1984 -  
1985 }, 2089 },
1986 2090
1987 -  
1988 //---------------检查是否有收货地址------------------- 2091 //---------------检查是否有收货地址-------------------
1989 checkAddressList: function () { 2092 checkAddressList: function () {
1990 var t = this; 2093 var t = this;
packageE/pages/cart/cart2/cart2.wxml
  1 +<!-- 促销弹出框 -->
  2 +<pro_pop id="pro_pop"></pro_pop>
  3 +
1 <wxs module="filter" src="c_filter.wxs"></wxs> 4 <wxs module="filter" src="c_filter.wxs"></wxs>
2 <wxs src="filter.wxs" module="util"></wxs> 5 <wxs src="filter.wxs" module="util"></wxs>
3 <wxs module="filters" src="../../../../utils/filter.wxs"></wxs> 6 <wxs module="filters" src="../../../../utils/filter.wxs"></wxs>
packageE/pages/cart/cart2/cart2.wxss
@@ -540,9 +540,9 @@ transform: rotate(-135deg); @@ -540,9 +540,9 @@ transform: rotate(-135deg);
540 line-height: 35rpx; 540 line-height: 35rpx;
541 text-align: center; 541 text-align: center;
542 margin-right: 20rpx 542 margin-right: 20rpx
  543 +}
543 544
544 545
545 -}  
546 .xc-hooks { 546 .xc-hooks {
547 width: 30rpx; 547 width: 30rpx;
548 height: 30rpx; 548 height: 30rpx;