Commit f808ba387e81728b84ec73b29225d8729a04f0ef
1 parent
d4373af5
多促销的优化
Showing
4 changed files
with
676 additions
and
552 deletions
packageE/pages/cart/cart2/cart2.js
@@ -151,6 +151,7 @@ Page({ | @@ -151,6 +151,7 @@ Page({ | ||
151 | yh_is_xz_yh:{},//优惠促销优惠券使用开关 | 151 | yh_is_xz_yh:{},//优惠促销优惠券使用开关 |
152 | 152 | ||
153 | }, | 153 | }, |
154 | + | ||
154 | onLoad: function (t) { | 155 | onLoad: function (t) { |
155 | wx.setNavigationBarTitle({ title: "填写订单", }) | 156 | wx.setNavigationBarTitle({ title: "填写订单", }) |
156 | var th = this; | 157 | var th = this; |
@@ -161,8 +162,7 @@ Page({ | @@ -161,8 +162,7 @@ Page({ | ||
161 | //清空is_pick_up | 162 | //清空is_pick_up |
162 | getApp().request.put("/api/weshop/useraddress/updatePickUp", { | 163 | getApp().request.put("/api/weshop/useraddress/updatePickUp", { |
163 | data: { user_id: getApp().globalData.user_id, is_pickup: 0 }, | 164 | data: { user_id: getApp().globalData.user_id, is_pickup: 0 }, |
164 | - success: function (s) { | ||
165 | - } | 165 | + success: function (s) {} |
166 | }); | 166 | }); |
167 | 167 | ||
168 | //阶梯购 或者 组合购的立即购买 | 168 | //阶梯购 或者 组合购的立即购买 |
@@ -355,6 +355,8 @@ Page({ | @@ -355,6 +355,8 @@ Page({ | ||
355 | } | 355 | } |
356 | this.calculatePrice()//计算金额 | 356 | this.calculatePrice()//计算金额 |
357 | }, | 357 | }, |
358 | + | ||
359 | + | ||
358 | //直接购买预存开启关闭 | 360 | //直接购买预存开启关闭 |
359 | prestore2() { | 361 | prestore2() { |
360 | let txt = 'bn_goods.yck_off'; | 362 | let txt = 'bn_goods.yck_off'; |
@@ -376,7 +378,6 @@ Page({ | @@ -376,7 +378,6 @@ Page({ | ||
376 | }else{ | 378 | }else{ |
377 | this.calculatePrice2()//计算金额 | 379 | this.calculatePrice2()//计算金额 |
378 | } | 380 | } |
379 | - | ||
380 | }, | 381 | }, |
381 | //计算商品预存款前置方法------------------------------------ | 382 | //计算商品预存款前置方法------------------------------------ |
382 | async beforAdvancesum(cartList) { | 383 | async beforAdvancesum(cartList) { |
@@ -542,7 +543,7 @@ Page({ | @@ -542,7 +543,7 @@ Page({ | ||
542 | }); | 543 | }); |
543 | }, | 544 | }, |
544 | 545 | ||
545 | - //----------------展示页面,是再获取用户信息之后-------------- | 546 | + //---------------- 展示页面,是再获取用户信息之后 -------------- |
546 | async show_page() { | 547 | async show_page() { |
547 | var th = this, ta = this.data.param; | 548 | var th = this, ta = this.data.param; |
548 | //获取用户预存款 | 549 | //获取用户预存款 |
@@ -676,6 +677,37 @@ Page({ | @@ -676,6 +677,37 @@ Page({ | ||
676 | 677 | ||
677 | }, | 678 | }, |
678 | 679 | ||
680 | + | ||
681 | + //获取促销活动的组合 | ||
682 | + cx_prom_group(prom_list){ | ||
683 | + var th=this; | ||
684 | + | ||
685 | + //需要读者系统顺序 | ||
686 | + var json_d =this.data.json_d; | ||
687 | + var auto_promote_sale=json_d.auto_promote_sale; | ||
688 | + var sort_type=''; | ||
689 | + | ||
690 | + if(!auto_promote_sale){ | ||
691 | + sort_type='prom_id'; | ||
692 | + }else{ | ||
693 | + var auto_promote_sale=auto_promote_sale.split(','); | ||
694 | + //-- 循环处理 -- | ||
695 | + prom_list.map(function (e){ | ||
696 | + var fd=auto_promote_sale.indexOf(e.prom_type+''); | ||
697 | + e.sort=fd; | ||
698 | + }) | ||
699 | + sort_type='sort'; | ||
700 | + } | ||
701 | + | ||
702 | + //-- 排序一下,进行升序 -- | ||
703 | + function comp(a, b,sort_type) { | ||
704 | + return a[sort_type]-b[sort_type]; //升序 | ||
705 | + } | ||
706 | + | ||
707 | + //使用sort排序 | ||
708 | + prom_list.sort(comp); | ||
709 | + }, | ||
710 | + | ||
679 | //-----真的获取购物车,入口-------- | 711 | //-----真的获取购物车,入口-------- |
680 | get_cart: function () { | 712 | get_cart: function () { |
681 | var th = this, app = getApp(); | 713 | var th = this, app = getApp(); |
@@ -715,14 +747,25 @@ Page({ | @@ -715,14 +747,25 @@ Page({ | ||
715 | //---是不是购买等级卡成功的返回---等级卡显示的判断--- | 747 | //---是不是购买等级卡成功的返回---等级卡显示的判断--- |
716 | var is_card_back = getApp().globalData.is_card_back; | 748 | var is_card_back = getApp().globalData.is_card_back; |
717 | 749 | ||
718 | - | ||
719 | //-- 判断组合购是总数量是不是存在 -- | 750 | //-- 判断组合购是总数量是不是存在 -- |
720 | var no_zh_num={}; | 751 | var no_zh_num={}; |
721 | 752 | ||
753 | + //-------- 如果是立即购买过来的时候 或者购买的商品只有一种的时候 --- | ||
754 | + if(carr.length==1){ | ||
755 | + var item1=carr[0]; | ||
756 | + await th.buy_pro_group(item1,1); | ||
757 | + if(item1.prom_type==0 && item1.more_cx){ | ||
758 | + //-- 对活动进行排序 -- | ||
759 | + th.cx_prom_group(item1.more_cx); | ||
760 | + item1.prom_type=item1.more_cx[0].prom_type; | ||
761 | + item1.prom_type=item1.more_cx[0].prom_id; | ||
762 | + } | ||
763 | + } | ||
764 | + | ||
765 | + | ||
722 | for (var i = 0; i < carr.length; i++) { | 766 | for (var i = 0; i < carr.length; i++) { |
723 | var item1 = carr[i]; | 767 | var item1 = carr[i]; |
724 | //把已经购买了多少见的内容填入 | 768 | //把已经购买了多少见的内容填入 |
725 | - | ||
726 | var goodsbuynum = 0, promgoodsbuynum = 0; | 769 | var goodsbuynum = 0, promgoodsbuynum = 0; |
727 | //--要获得商品,该用户买了多少件,同步应用-- | 770 | //--要获得商品,该用户买了多少件,同步应用-- |
728 | await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | 771 | await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { |
@@ -1244,7 +1287,7 @@ Page({ | @@ -1244,7 +1287,7 @@ Page({ | ||
1244 | }, | 1287 | }, |
1245 | 1288 | ||
1246 | 1289 | ||
1247 | - //-----获取立即购买的商品信息,入口---- | 1290 | + //-----单个商品购买的入口判断---- |
1248 | get_buy_goods: function (e) { | 1291 | get_buy_goods: function (e) { |
1249 | var th = this; | 1292 | var th = this; |
1250 | var gg = to.get_b_now(); | 1293 | var gg = to.get_b_now(); |
@@ -1750,37 +1793,198 @@ Page({ | @@ -1750,37 +1793,198 @@ Page({ | ||
1750 | } | 1793 | } |
1751 | }, | 1794 | }, |
1752 | 1795 | ||
1753 | - //-- 立即购买的时候,获取商品优惠活动 -- | ||
1754 | - async buy_pro_group(gd){ | 1796 | + //-- 立即购买的时候,获取商品优惠活动,is_state判断是不是单个商品购买, |
1797 | + // 很多活动需要判断会员的plus等级, 权益登陆,user_id调用接口是必须的 -- | ||
1798 | + //先用着,后面会用接口来代替 | ||
1799 | + async buy_pro_group(item1, is_state) { | ||
1800 | + //-- 代发商品不参与任何活动 -- | ||
1801 | + if(item1.whsle_id) return false; | ||
1755 | var url = '/api/weshop/activitylist/listGoodActInfo2New'; | 1802 | var url = '/api/weshop/activitylist/listGoodActInfo2New'; |
1756 | - var user_id=getApp().globalData.user_id; | ||
1757 | - var zh_id=0; | 1803 | + var user_id = getApp().globalData.user_id; |
1804 | + var zh_id = 0; | ||
1805 | + var zh_prom = null; | ||
1806 | + var gdlist = null; | ||
1807 | + | ||
1758 | var req_d = { | 1808 | var req_d = { |
1759 | "store_id": os.stoid, | 1809 | "store_id": os.stoid, |
1760 | - "goods_id": gd.goods_id, | 1810 | + "goods_id": item1.goods_id, |
1761 | "user_id": user_id, | 1811 | "user_id": user_id, |
1762 | } | 1812 | } |
1763 | 1813 | ||
1764 | - await getApp().request.promiseGet(url, {}).then(res=>{ | ||
1765 | - | 1814 | + await getApp().request.promiseGet(url, {data: req_d}).then(res => { |
1815 | + if (e.data.code == 0 && e.data.data && e.data.data.length > 0) { | ||
1816 | + var arr = e.data.data; | ||
1817 | + if (arr.length) { | ||
1818 | + arr3 = arr.filter(function (e) { | ||
1819 | + return e.s_time < ut.gettimestamp() && e.prom_type == 7; | ||
1820 | + }) | ||
1821 | + if (arr3 && arr3.length) { | ||
1822 | + zh_id = arr3[0].act_id; | ||
1823 | + } | ||
1824 | + } | ||
1825 | + } | ||
1766 | }) | 1826 | }) |
1767 | 1827 | ||
1768 | //-- 如果有组合购的时候,同时还要判断单件商品的购买数量有没有满足组合购的条件 -- | 1828 | //-- 如果有组合购的时候,同时还要判断单件商品的购买数量有没有满足组合购的条件 -- |
1769 | - if(zh_id){ | ||
1770 | - //获取活动信息 | ||
1771 | - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + zh_id + "/" + user_id; | ||
1772 | - getApp().request.promiseGet(url, { | 1829 | + if (zh_id) { |
1830 | + var is_zh_ok = 1; | ||
1831 | + | ||
1832 | + | ||
1833 | + //--- 首先组合购的限购 --- | ||
1834 | + if(is_zh_ok){ | ||
1835 | + //-- 组合购活动是限购 -- | ||
1836 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${user_id}&prom_type=7&prom_id=${zh_id}`; | ||
1837 | + let res = await getApp().request.promiseGet(url, { | ||
1838 | + data: {} | ||
1839 | + }); | ||
1840 | + let userbuynum = 0 | ||
1841 | + if (res.data.code == 0 && res.data.data) { | ||
1842 | + userbuynum = res.data.data.userbuynum | ||
1843 | + } | ||
1844 | + | ||
1845 | + if(zh_pro0.buy_limit>0 && zh_pro0.buy_limit<=userbuynum){ | ||
1846 | + is_zh_ok=0; | ||
1847 | + } | ||
1848 | + } | ||
1849 | + | ||
1850 | + //-- 如果满足条件,才会显示活动 -- | ||
1851 | + if (is_zh_ok) { | ||
1852 | + var url1 = "/api/weshop/prom/zhbuyGoods/page"; | ||
1853 | + var req_data = { | ||
1854 | + page: 1, pageSize: 2000, | ||
1855 | + store_id: os.stoid, | ||
1856 | + zh_id: zh_id, | ||
1857 | + } | ||
1858 | + | ||
1859 | + await getApp().request.promiseGet(url1, { | ||
1860 | + data: req_data | ||
1861 | + }).then(res => { | ||
1862 | + if (ut.ajax_ok(res)) { | ||
1863 | + gdlist = res.data.data.pageData; | ||
1864 | + } | ||
1865 | + }) | ||
1773 | 1866 | ||
1867 | + var zh_gd_fd = gdlist.find(function (e) { | ||
1868 | + return e.goods_id == item.goods_id; | ||
1774 | }) | 1869 | }) |
1870 | + | ||
1871 | + if (is_zh_ok) { | ||
1872 | + //-- 商品的限购 -- | ||
1873 | + var promgoodsbuynum = 0; | ||
1874 | + //--要获得商品,该用户买了多少件,同步应用-- | ||
1875 | + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | ||
1876 | + data: { | ||
1877 | + store_id: os.stoid, | ||
1878 | + user_id: getApp().globalData.user_id, | ||
1879 | + goods_id: item1.goods_id, | ||
1880 | + prom_type: 7, | ||
1881 | + prom_id: zh_id | ||
1882 | + }, | ||
1883 | + }).then(res => { | ||
1884 | + var buy_num_data = res.data.data; | ||
1885 | + if (buy_num_data.promgoodsbuynum) { | ||
1886 | + promgoodsbuynum = buy_num_data.promgoodsbuynum; | ||
1887 | + } | ||
1888 | + }) | ||
1889 | + | ||
1890 | + //-- 组合购活动是限购 -- | ||
1891 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${user_id}&prom_type=7&prom_id=${zh_id}`; | ||
1892 | + let res = await getApp().request.promiseGet(url, {}); | ||
1893 | + let userbuynum = 0 | ||
1894 | + if (res.data.code == 0 && res.data.data) { | ||
1895 | + userbuynum = res.data.data.userbuynum | ||
1896 | + } | ||
1897 | + | ||
1898 | + //-- 判断是不是超出商品的限购 -- | ||
1899 | + if (zh_gd_fd.buyqty > 0 && zh_gd_fd.promgoodsbuynum >= zh_gd_fd.buyqty) { | ||
1900 | + is_zh_ok = 0; | ||
1901 | + } | ||
1902 | + //--- 要判断这个商品的必买有没有满足,如果是一件商品的时候,那么就要判断这个商品。同时商品的购买数量有没有满足 --- | ||
1903 | + if (is_state == 1) { | ||
1904 | + //-- 看有没有必买商品不满足的时候 -- | ||
1905 | + var f_gd = gdlist.find(function (e) { | ||
1906 | + return e.zhqty > 0 && e.goods_id != item.goods_id; | ||
1907 | + }) | ||
1908 | + if (f_gd) { | ||
1909 | + is_zh_ok = 0; | ||
1910 | + } | ||
1911 | + //-- 同时商品的购买数量有没有满足 -- | ||
1912 | + if(item1.goods_num<zh_pro0.zhbuyqty){ | ||
1913 | + is_zh_ok = 0; | ||
1914 | + } | ||
1915 | + } | ||
1916 | + //判断组合购活动是不是满足 | ||
1917 | + if(is_zh_ok){ | ||
1918 | + if(!item1.more_cx) item1.more_cx=[]; | ||
1919 | + item1.more_cx.push({prom_type:7,prom_id:zh_id,gdlist:gdlist}) | ||
1920 | + } | ||
1921 | + } | ||
1922 | + } | ||
1923 | + } | ||
1924 | + | ||
1925 | + //调用接口判断优惠, | ||
1926 | + var m_res=await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gd.goods_id + "/0" + "/" + user_id, {}); | ||
1927 | + if(m_res && m_res.data.code == 0 && m_res.data.data){ | ||
1928 | + | ||
1929 | + var r_data = res.data.data; | ||
1930 | + //-- 如果是搭配购的时候 -- | ||
1931 | + if (r_data.collocationList) { | ||
1932 | + if(!item1.more_cx) item1.more_cx=[]; | ||
1933 | + item1.more_cx.push({prom_type:5,prom_id: r_data.collocationPromList.id}); | ||
1934 | + } | ||
1935 | + //-- 如果是阶梯促销的时候 -- | ||
1936 | + if (r_data.ladderLists) { | ||
1937 | + var act_id = r_data.ladderLists[0].form_id; | ||
1938 | + //-- 判断会员能不能参与阶梯促销 -- | ||
1939 | + 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) { | ||
1941 | + if(!item1.more_cx) item1.more_cx=[]; | ||
1942 | + item1.more_cx.push({prom_type:10,prom_id: act_id}); | ||
1943 | + } | ||
1944 | + }) | ||
1945 | + } | ||
1946 | + //-- 优惠促销的时候 -- 此时要注意活动的限购次数,以及活动的购买金额或者购买数量有没有满足 | ||
1947 | + if (r_data.promGoodsLists) { | ||
1948 | + | ||
1949 | + var fir_act = r_data.promGoodsLists[0]; | ||
1950 | + //-- 计算一下限购,满足限购数才显示 -- | ||
1951 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${user_id}&prom_type=3&prom_id=${fir_act.prom_id}`; | ||
1952 | + let res_o = await getApp().request.promiseGet(url, {}); | ||
1953 | + let user_pre_buynum=0 | ||
1954 | + if(res_o.data.code==0 && res_o.data.data){ | ||
1955 | + user_pre_buynum=res_o.data.data.userbuynum | ||
1956 | + } | ||
1957 | + //--- 这个地方是在计算优惠促销的限购 --- | ||
1958 | + if(!fir_act.limit_num || th.data.user_pre_buynum<fir_act.limit_num){ | ||
1959 | + | ||
1960 | + var push_item={prom_type:3,prom_id: fir_act.prom_id,fir_act:fir_act}; | ||
1961 | + //--- 如果是一件商品的时候,那么就要判断这个商品。同时商品的购买数量有没有满足 --- | ||
1962 | + if (is_state == 1) { | ||
1963 | + //-- 按件进行计算 -- | ||
1964 | + if (fir_act.prom_type == 1) { | ||
1965 | + if (fir_act.condition > item1.goods_num) { | ||
1966 | + item1.more_cx.push(push_item); | ||
1967 | + } | ||
1968 | + }else{ | ||
1969 | + //-- 按数量进行计算 -- | ||
1970 | + var all_price = item.goods_price * item1.goods_num; | ||
1971 | + if (parseFloat(fir_act.condition) > parseFloat(parseFloat(all_price).toFixed(2))) { | ||
1972 | + item1.more_cx.push(push_item); | ||
1973 | + } | ||
1974 | + } | ||
1975 | + | ||
1976 | + }else{ | ||
1977 | + if(!item1.more_cx) item1.more_cx=[]; | ||
1978 | + item1.more_cx.push(push_item); | ||
1979 | + } | ||
1980 | + } | ||
1981 | + } | ||
1775 | } | 1982 | } |
1776 | 1983 | ||
1777 | - //调用接口判断订单优惠, | ||
1778 | - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gd.goods_id + "/0" + "/" + user_id, { | ||
1779 | - }).then(async res=>{ | ||
1780 | 1984 | ||
1781 | - }); | ||
1782 | }, | 1985 | }, |
1783 | 1986 | ||
1987 | + | ||
1784 | //---------------检查是否有收货地址------------------- | 1988 | //---------------检查是否有收货地址------------------- |
1785 | checkAddressList: function () { | 1989 | checkAddressList: function () { |
1786 | var t = this; | 1990 | var t = this; |
pages/cart/cart/cart.js
@@ -8,6 +8,7 @@ var t = getApp(), | @@ -8,6 +8,7 @@ var t = getApp(), | ||
8 | zh_calc = require("zh_calculate.js"), | 8 | zh_calc = require("zh_calculate.js"), |
9 | ladder_calc = require("ladder_calculate.js"); | 9 | ladder_calc = require("ladder_calculate.js"); |
10 | var regeneratorRuntime = require('../../../utils/runtime.js'); | 10 | var regeneratorRuntime = require('../../../utils/runtime.js'); |
11 | +const e = require("../../../../utils/common.js"); | ||
11 | 12 | ||
12 | 13 | ||
13 | Page({ | 14 | Page({ |
@@ -41,6 +42,7 @@ Page({ | @@ -41,6 +42,7 @@ Page({ | ||
41 | zuhe_map: {}, | 42 | zuhe_map: {}, |
42 | zuhe_map_good: {}, | 43 | zuhe_map_good: {}, |
43 | in_zhact_gdmap: {}, //不同门店参与同一活动的限购 | 44 | in_zhact_gdmap: {}, //不同门店参与同一活动的限购 |
45 | + in_zhact_gdmap_gp: {}, //不同门店参与同一活动的限购,新版判断的时候 | ||
44 | 46 | ||
45 | ladder_map: {}, //阶梯促销需要的map | 47 | ladder_map: {}, //阶梯促销需要的map |
46 | 48 | ||
@@ -48,8 +50,220 @@ Page({ | @@ -48,8 +50,220 @@ Page({ | ||
48 | promgoods_list: {} | 50 | promgoods_list: {} |
49 | 51 | ||
50 | }, | 52 | }, |
51 | - onLoad: function () { | ||
52 | 53 | ||
54 | + //-- 立即购买的时候,获取商品优惠活动,is_state判断是不是单个商品购买, | ||
55 | + // 很多活动需要判断会员的plus等级, 权益登陆,user_id调用接口是必须的 -- | ||
56 | + //先用着,后面会用接口来代替 | ||
57 | + async buy_pro_group(item1, is_state) { | ||
58 | + //-- 代发商品不参与任何活动 -- | ||
59 | + if(item1.whsle_id) return false; | ||
60 | + var url = '/api/weshop/activitylist/listGoodActInfo2New'; | ||
61 | + var user_id = getApp().globalData.user_id; | ||
62 | + var zh_id = 0; | ||
63 | + var zh_prom = null; | ||
64 | + var gdlist = null; | ||
65 | + | ||
66 | + var req_d = { | ||
67 | + "store_id": os.stoid, | ||
68 | + "goods_id": item1.goods_id, | ||
69 | + "user_id": user_id, | ||
70 | + } | ||
71 | + | ||
72 | + await getApp().request.promiseGet(url, {data: req_d}).then(res => { | ||
73 | + if (e.data.code == 0 && e.data.data && e.data.data.length > 0) { | ||
74 | + var arr = e.data.data; | ||
75 | + if (arr.length) { | ||
76 | + arr3 = arr.filter(function (e) { | ||
77 | + return e.s_time < ut.gettimestamp() && e.prom_type == 7; | ||
78 | + }) | ||
79 | + if (arr3 && arr3.length) { | ||
80 | + zh_id = arr3[0].act_id; | ||
81 | + } | ||
82 | + } | ||
83 | + } | ||
84 | + }) | ||
85 | + | ||
86 | + //-- 如果有组合购的时候,同时还要判断单件商品的购买数量有没有满足组合购的条件 -- | ||
87 | + if (zh_id) { | ||
88 | + var is_zh_ok = 1; | ||
89 | + var zh_pro0 = null; | ||
90 | + //-- 获取活动信息 -- | ||
91 | + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + zh_id + "/" + user_id; | ||
92 | + await getApp().request.promiseGet(url, {}).then(rh => { | ||
93 | + if (res.data.code == 0 && res.data.data) { | ||
94 | + //如果活动已经结束 | ||
95 | + if (res.data.data.is_end == 1) { | ||
96 | + is_zh_ok = 0; | ||
97 | + } | ||
98 | + if (ut.gettimestamp() > res.data.data.end_time) { | ||
99 | + is_zh_ok = 0; | ||
100 | + } | ||
101 | + zh_pro0 = res.data.data; | ||
102 | + //--- 在这里要判断一下活动的组合购总数量 --- | ||
103 | + if (zh_pro0.zh_num > 0 && zh_pro0.zh_buy_num >= zh_pro0.zh_num) { | ||
104 | + is_zh_ok = 0; | ||
105 | + } | ||
106 | + } else { | ||
107 | + is_zh_ok = 0; | ||
108 | + } | ||
109 | + }) | ||
110 | + | ||
111 | + //--- 首先组合购的限购 --- | ||
112 | + if(is_zh_ok){ | ||
113 | + //-- 组合购活动是限购 -- | ||
114 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${user_id}&prom_type=7&prom_id=${zh_id}`; | ||
115 | + let res = await getApp().request.promiseGet(url, { | ||
116 | + data: {} | ||
117 | + }); | ||
118 | + let userbuynum = 0 | ||
119 | + if (res.data.code == 0 && res.data.data) { | ||
120 | + userbuynum = res.data.data.userbuynum | ||
121 | + } | ||
122 | + | ||
123 | + if(zh_pro0.buy_limit>0 && zh_pro0.buy_limit<=userbuynum){ | ||
124 | + is_zh_ok=0; | ||
125 | + } | ||
126 | + } | ||
127 | + | ||
128 | + //-- 如果满足条件,才会显示活动 -- | ||
129 | + if (is_zh_ok) { | ||
130 | + var url1 = "/api/weshop/prom/zhbuyGoods/page"; | ||
131 | + var req_data = { | ||
132 | + page: 1, pageSize: 2000, | ||
133 | + store_id: os.stoid, | ||
134 | + zh_id: zh_id, | ||
135 | + } | ||
136 | + | ||
137 | + await getApp().request.promiseGet(url1, { | ||
138 | + data: req_data | ||
139 | + }).then(res => { | ||
140 | + if (ut.ajax_ok(res)) { | ||
141 | + gdlist = res.data.data.pageData; | ||
142 | + } | ||
143 | + }) | ||
144 | + | ||
145 | + var zh_gd_fd = gdlist.find(function (e) { | ||
146 | + return e.goods_id == item.goods_id; | ||
147 | + }) | ||
148 | + | ||
149 | + if (is_zh_ok) { | ||
150 | + //-- 商品的限购 -- | ||
151 | + var promgoodsbuynum = 0; | ||
152 | + //--要获得商品,该用户买了多少件,同步应用-- | ||
153 | + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | ||
154 | + data: { | ||
155 | + store_id: os.stoid, | ||
156 | + user_id: getApp().globalData.user_id, | ||
157 | + goods_id: item1.goods_id, | ||
158 | + prom_type: 7, | ||
159 | + prom_id: zh_id | ||
160 | + }, | ||
161 | + }).then(res => { | ||
162 | + var buy_num_data = res.data.data; | ||
163 | + if (buy_num_data.promgoodsbuynum) { | ||
164 | + promgoodsbuynum = buy_num_data.promgoodsbuynum; | ||
165 | + } | ||
166 | + }) | ||
167 | + | ||
168 | + //-- 组合购活动是限购 -- | ||
169 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${user_id}&prom_type=7&prom_id=${zh_id}`; | ||
170 | + let res = await getApp().request.promiseGet(url, {}); | ||
171 | + let userbuynum = 0 | ||
172 | + if (res.data.code == 0 && res.data.data) { | ||
173 | + userbuynum = res.data.data.userbuynum | ||
174 | + } | ||
175 | + | ||
176 | + //-- 判断是不是超出商品的限购 -- | ||
177 | + if (zh_gd_fd.buyqty > 0 && zh_gd_fd.promgoodsbuynum >= zh_gd_fd.buyqty) { | ||
178 | + is_zh_ok = 0; | ||
179 | + } | ||
180 | + //--- 要判断这个商品的必买有没有满足,如果是一件商品的时候,那么就要判断这个商品。同时商品的购买数量有没有满足 --- | ||
181 | + if (is_state == 1) { | ||
182 | + //-- 看有没有必买商品不满足的时候 -- | ||
183 | + var f_gd = gdlist.find(function (e) { | ||
184 | + return e.zhqty > 0 && e.goods_id != item.goods_id; | ||
185 | + }) | ||
186 | + if (f_gd) { | ||
187 | + is_zh_ok = 0; | ||
188 | + } | ||
189 | + //-- 同时商品的购买数量有没有满足 -- | ||
190 | + if(item1.goods_num<zh_pro0.zhbuyqty){ | ||
191 | + is_zh_ok = 0; | ||
192 | + } | ||
193 | + } | ||
194 | + //判断组合购活动是不是满足 | ||
195 | + if(is_zh_ok){ | ||
196 | + if(!item1.more_cx) item1.more_cx=[]; | ||
197 | + item1.more_cx.push({prom_type:7,prom_id:zh_id,gdlist:gdlist}) | ||
198 | + } | ||
199 | + } | ||
200 | + } | ||
201 | + | ||
202 | + } | ||
203 | + | ||
204 | + //调用接口判断优惠, | ||
205 | + var m_res=await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gd.goods_id + "/0" + "/" + user_id, {}); | ||
206 | + if(m_res && m_res.data.code == 0 && m_res.data.data){ | ||
207 | + | ||
208 | + var r_data = res.data.data; | ||
209 | + //-- 如果是搭配购的时候 -- | ||
210 | + if (r_data.collocationList) { | ||
211 | + if(!item1.more_cx) item1.more_cx=[]; | ||
212 | + item1.more_cx.push({prom_type:5,prom_id: r_data.collocationPromList.id}); | ||
213 | + } | ||
214 | + //-- 如果是阶梯促销的时候 -- | ||
215 | + if (r_data.ladderLists) { | ||
216 | + var act_id = r_data.ladderLists[0].form_id; | ||
217 | + //-- 判断会员能不能参与阶梯促销 -- | ||
218 | + await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => { | ||
219 | + if (res.data.code == 0 && res.data.data) { | ||
220 | + if(!item1.more_cx) item1.more_cx=[]; | ||
221 | + item1.more_cx.push({prom_type:10,prom_id: act_id}); | ||
222 | + } | ||
223 | + }) | ||
224 | + } | ||
225 | + //-- 优惠促销的时候 -- 此时要注意活动的限购次数,以及活动的购买金额或者购买数量有没有满足 | ||
226 | + if (r_data.promGoodsLists) { | ||
227 | + | ||
228 | + var fir_act = r_data.promGoodsLists[0]; | ||
229 | + //-- 计算一下限购,满足限购数才显示 -- | ||
230 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${user_id}&prom_type=3&prom_id=${fir_act.prom_id}`; | ||
231 | + let res_o = await getApp().request.promiseGet(url, {}); | ||
232 | + let user_pre_buynum=0 | ||
233 | + if(res_o.data.code==0 && res_o.data.data){ | ||
234 | + user_pre_buynum=res_o.data.data.userbuynum | ||
235 | + } | ||
236 | + //--- 这个地方是在计算优惠促销的限购 --- | ||
237 | + if(!fir_act.limit_num || th.data.user_pre_buynum<fir_act.limit_num){ | ||
238 | + | ||
239 | + var push_item={prom_type:3,prom_id: fir_act.prom_id,fir_act:fir_act}; | ||
240 | + //--- 如果是一件商品的时候,那么就要判断这个商品。同时商品的购买数量有没有满足 --- | ||
241 | + if (is_state == 1) { | ||
242 | + //-- 按件进行计算 -- | ||
243 | + if (fir_act.prom_type == 1) { | ||
244 | + if (fir_act.condition > item1.goods_num) { | ||
245 | + item1.more_cx.push(push_item); | ||
246 | + } | ||
247 | + }else{ | ||
248 | + //-- 按数量进行计算 -- | ||
249 | + var all_price = item.goods_price * item1.goods_num; | ||
250 | + if (parseFloat(fir_act.condition) > parseFloat(parseFloat(all_price).toFixed(2))) { | ||
251 | + item1.more_cx.push(push_item); | ||
252 | + } | ||
253 | + } | ||
254 | + | ||
255 | + }else{ | ||
256 | + if(!item1.more_cx) item1.more_cx=[]; | ||
257 | + item1.more_cx.push(push_item); | ||
258 | + } | ||
259 | + } | ||
260 | + } | ||
261 | + } | ||
262 | + | ||
263 | + | ||
264 | + }, | ||
265 | + | ||
266 | + onLoad: function () { | ||
53 | var a = this, | 267 | var a = this, |
54 | ee = a; | 268 | ee = a; |
55 | 269 | ||
@@ -79,7 +293,6 @@ Page({ | @@ -79,7 +293,6 @@ Page({ | ||
79 | getApp().requestCardNum(this); | 293 | getApp().requestCardNum(this); |
80 | } | 294 | } |
81 | 295 | ||
82 | - | ||
83 | var th = this; | 296 | var th = this; |
84 | this.setData({ | 297 | this.setData({ |
85 | requestData: null, | 298 | requestData: null, |
@@ -450,7 +663,6 @@ Page({ | @@ -450,7 +663,6 @@ Page({ | ||
450 | var g_arr = []; | 663 | var g_arr = []; |
451 | for (var i = 0; i < carr.length; i++) { | 664 | for (var i = 0; i < carr.length; i++) { |
452 | 665 | ||
453 | - | ||
454 | //-- 清理购物车的选中状态 -- | 666 | //-- 清理购物车的选中状态 -- |
455 | var url = '/api/weshop/cart/update'; | 667 | var url = '/api/weshop/cart/update'; |
456 | getApp().request.put(url, { | 668 | getApp().request.put(url, { |
@@ -495,8 +707,6 @@ Page({ | @@ -495,8 +707,6 @@ Page({ | ||
495 | var item = carr[i]; | 707 | var item = carr[i]; |
496 | var good = item; | 708 | var good = item; |
497 | 709 | ||
498 | - | ||
499 | - | ||
500 | if (item.is_gift) { | 710 | if (item.is_gift) { |
501 | var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | 711 | var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; |
502 | getApp().request.delete(url, { | 712 | getApp().request.delete(url, { |
@@ -550,82 +760,36 @@ Page({ | @@ -550,82 +760,36 @@ Page({ | ||
550 | } | 760 | } |
551 | 761 | ||
552 | //-- 如果有优惠促销,和阶梯促销,要看下有没有组合购,搭配购,看一下优惠促销和阶梯促销谁是指定商品参与的 -- | 762 | //-- 如果有优惠促销,和阶梯促销,要看下有没有组合购,搭配购,看一下优惠促销和阶梯促销谁是指定商品参与的 -- |
553 | - if(item.prom_type==0 || item.prom_type==3 || item.prom_type==10){ | ||
554 | - | 763 | + if(item.prom_type==3 || item.prom_type==5 || item.prom_type==7 || item.prom_type==10){ |
555 | var c_prom_type=0; | 764 | var c_prom_type=0; |
556 | var c_prom_id=0; | 765 | var c_prom_id=0; |
557 | 766 | ||
558 | - //因为有全场优惠活动,商品参加的活动还未开始 | ||
559 | - var url_ch_more_act = "/api/weshop/activitylist/getGoodActInfo"; | ||
560 | - var req_data_m = { | ||
561 | - store_id: os.stoid, goodsidlist: item.goods_id, is_detail: 1, user_id: user_id | ||
562 | - }; | ||
563 | - await getApp().request.promiseGet(url_ch_more_act, { data: req_data_m }).then(async function (res) { | ||
564 | - if (res.data.code == 0 && res.data.data && res.data.data.length) { | ||
565 | - //-- 先看一下有没有组合购 -- | ||
566 | - var zh_fd=res.data.data.filter(function (e) { | ||
567 | - return e.prom_type==7; | ||
568 | - }) | ||
569 | - if(zh_fd && zh_fd.length){ | ||
570 | - c_prom_type=zh_fd[0].prom_type; | ||
571 | - c_prom_id=zh_fd[0].act_id; | ||
572 | - return; | ||
573 | - } | ||
574 | - | ||
575 | - //-- 先看一下有没有搭配购 -- | ||
576 | - var dp_fd=res.data.data.filter(function (e) { | ||
577 | - return e.prom_type==5; | ||
578 | - }) | ||
579 | - if(dp_fd && dp_fd.length){ | ||
580 | - c_prom_type=dp_fd[0].prom_type; | ||
581 | - c_prom_id=dp_fd[0].act_id; | ||
582 | - return; | ||
583 | - } | ||
584 | - | ||
585 | - //-- 先看一下有没有指定优惠促销 -- | ||
586 | - var yh_fd=res.data.data.filter(function (e) { | ||
587 | - return e.prom_type==3 && e.good_object==1; | ||
588 | - }) | ||
589 | - if(yh_fd && yh_fd.length){ | ||
590 | - c_prom_type=yh_fd[0].prom_type; | ||
591 | - c_prom_id=yh_fd[0].act_id; | ||
592 | - return; | ||
593 | - } | 767 | + item.prom_type=c_prom_type; |
768 | + item.prom_id=c_prom_id; | ||
594 | 769 | ||
595 | - //-- 先看一下有没有指定阶梯促销 -- | ||
596 | - var jt_fd=res.data.data.filter(function (e) { | ||
597 | - return e.prom_type==10 && e.good_object==1; | ||
598 | - }) | ||
599 | - if(jt_fd && jt_fd.length){ | ||
600 | - c_prom_type=jt_fd[0].prom_type; | ||
601 | - c_prom_id=jt_fd[0].act_id; | ||
602 | - } | 770 | + if (th.data.card_field && good[th.data.card_field]) { |
771 | + item.goods_price = good[th.data.card_field]; //要同步下线商品的id | ||
772 | + } else { | ||
773 | + item.goods_price = good.shop_price; | ||
774 | + } | ||
603 | 775 | ||
604 | - } | 776 | + //-- 购物车更新 -- |
777 | + var updata1 = { | ||
778 | + id: item.id, | ||
779 | + prom_type: c_prom_type, | ||
780 | + prom_id:c_prom_id, | ||
781 | + store_id: os.stoid, | ||
782 | + user_id: getApp().globalData.userInfo.user_id | ||
783 | + }; | ||
784 | + getApp().request.put("/api/weshop/cart/update", { | ||
785 | + data: updata1, | ||
605 | }) | 786 | }) |
606 | 787 | ||
607 | - if(c_prom_type && (c_prom_type!=item.prom_type || c_prom_id!=item.prom_id )){ | ||
608 | - item.prom_type=c_prom_type; | ||
609 | - item.prom_id=c_prom_id; | ||
610 | - //-- 购物车更新 -- | ||
611 | - var updata1 = { | ||
612 | - id: item.id, | ||
613 | - prom_type: c_prom_type, | ||
614 | - prom_id:c_prom_id, | ||
615 | - store_id: os.stoid, | ||
616 | - user_id: getApp().globalData.userInfo.user_id | ||
617 | - }; | ||
618 | - getApp().request.put("/api/weshop/cart/update", { | ||
619 | - data: updata1, | ||
620 | - }) | ||
621 | - } | ||
622 | - | ||
623 | } | 788 | } |
624 | 789 | ||
625 | //判断如果是普通商品,后面参加活动了,变成失效商品 | 790 | //判断如果是普通商品,后面参加活动了,变成失效商品 |
626 | if (item.prom_type == 0 ) { | 791 | if (item.prom_type == 0 ) { |
627 | 792 | ||
628 | - | ||
629 | var prom = null; | 793 | var prom = null; |
630 | var now = ut.gettimestamp(); | 794 | var now = ut.gettimestamp(); |
631 | await getApp().request.promiseGet(`/api/weshop/activitylist/listGoodActInfo2New`, { | 795 | await getApp().request.promiseGet(`/api/weshop/activitylist/listGoodActInfo2New`, { |
@@ -644,41 +808,20 @@ Page({ | @@ -644,41 +808,20 @@ Page({ | ||
644 | prom.push(a_item); | 808 | prom.push(a_item); |
645 | } | 809 | } |
646 | } | 810 | } |
647 | - | ||
648 | - | ||
649 | } | 811 | } |
650 | }) | 812 | }) |
651 | - let prom_true = 0 | ||
652 | - let prom_id = 0 | ||
653 | - if (prom) { | ||
654 | - prom.map(item => { | ||
655 | - if (item.prom_type == 3 || item.prom_type == 5 || item.prom_type == 7 || item.prom_type == 10) { | ||
656 | - prom_true = item.prom_type | ||
657 | - prom_id = item.act_id | ||
658 | - } | ||
659 | - }) | ||
660 | - } | ||
661 | - if (prom_true) { | ||
662 | - //-- 购物车更新 -- | ||
663 | - var updata1 = { | ||
664 | - id: item.id, | ||
665 | - prom_type: prom_true, | ||
666 | - prom_id, | ||
667 | - store_id: os.stoid, | ||
668 | - user_id: getApp().globalData.userInfo.user_id | ||
669 | - }; | ||
670 | - item.prom_id = prom_id | ||
671 | - item.prom_type = prom_true | ||
672 | - getApp().request.put("/api/weshop/cart/update", { | ||
673 | - data: updata1, | ||
674 | - }) | ||
675 | 813 | ||
676 | - } else { | ||
677 | - if (prom && !item.is_integral_normal && !item.is_pd_normal && prom[0].prom_type != 5) { | ||
678 | - th.disInvalid(item); | 814 | + //只有一种活动,但是又是秒杀之类是互动,就要失效。不能是普通购买 |
815 | + if (prom.length==1 && [1,2,4,6,8,9].indexOf(prom.prom_type)>-1 && !prom.is_integral_normal && !prom.is_pd_normal) { | ||
816 | + th.disInvalid(item); | ||
817 | + continue; | ||
818 | + } | ||
819 | + //只有秒杀和积分购的时候,不能是普通购买 | ||
820 | + if (prom.length==2 && [1,4].indexOf(prom.prom_type)>-1 && [1,4].indexOf(prom.prom_type)>-1 && !prom.is_integral_normal && !prom.is_pd_normal) { | ||
821 | + th.disInvalid(item); | ||
679 | continue; | 822 | continue; |
680 | - } | ||
681 | } | 823 | } |
824 | + | ||
682 | } | 825 | } |
683 | 826 | ||
684 | 827 | ||
@@ -699,7 +842,6 @@ Page({ | @@ -699,7 +842,6 @@ Page({ | ||
699 | }) | 842 | }) |
700 | } | 843 | } |
701 | 844 | ||
702 | - | ||
703 | //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着 | 845 | //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着 |
704 | if (item.prom_type == 1) { | 846 | if (item.prom_type == 1) { |
705 | var prom = null; | 847 | var prom = null; |
@@ -784,392 +926,7 @@ Page({ | @@ -784,392 +926,7 @@ Page({ | ||
784 | 926 | ||
785 | 927 | ||
786 | } | 928 | } |
787 | - //--判断优惠活动有没有过期,-- | ||
788 | - else if (item.prom_type == 3) { | ||
789 | - var isok = 1, is_g_prom = 0; | ||
790 | - | ||
791 | - //因为有全场优惠活动,商品参加的活动还未开始 | ||
792 | - var url = "/api/weshop/activitylist/getGoodActInfo"; | ||
793 | - var req_data = { | ||
794 | - store_id: os.stoid, goodsidlist: item.goods_id, is_detail: 1, user_id: user_id | ||
795 | - }; | ||
796 | - await getApp().request.promiseGet(url, { data: req_data }).then(async function (res) { | ||
797 | - if (res.data.code == 0 && res.data.data && res.data.data.length) { | ||
798 | - for (let i in res.data.data) { | ||
799 | - let item = res.data.data[i]; | ||
800 | - if (item.prom_type == 3) { | ||
801 | - is_g_prom = 1; break; | ||
802 | - } | ||
803 | - } | ||
804 | - } | ||
805 | - }) | ||
806 | 929 | ||
807 | - if (is_g_prom) { | ||
808 | - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew/" + os.stoid + "/" + item.goods_id + "/1" + "/" + getApp().globalData.user_id, {}).then(res => { | ||
809 | - if (res.data.code == 0) { | ||
810 | - var r_data = res.data.data; | ||
811 | - if (!r_data.promGoodsLists) { | ||
812 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
813 | - // getApp().request.delete(url, {}); | ||
814 | - //商品已经无活动 | ||
815 | - // th.disInvalid(item); | ||
816 | - // isok = 0; | ||
817 | - item.prom_type = 0 | ||
818 | - //购物车更新 | ||
819 | - th.cartUpFn(item) | ||
820 | - } else { | ||
821 | - //如果活动的ID不一样,说明原先的活动已经没有参与了或者过期了 | ||
822 | - if (item.prom_id != r_data.promGoodsLists[0].prom_id) { | ||
823 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
824 | - // getApp().request.delete(url, {}); | ||
825 | - //商品已经下架 | ||
826 | - // th.disInvalid(item); | ||
827 | - // isok = 0; | ||
828 | - item.prom_type = 0 | ||
829 | - //购物车更新 | ||
830 | - th.cartUpFn(item) | ||
831 | - } | ||
832 | - } | ||
833 | - | ||
834 | - } else { | ||
835 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
836 | - // getApp().request.delete(url, {}); | ||
837 | - // th.disInvalid(item); | ||
838 | - // //商品已经下架 | ||
839 | - // isok = 0; | ||
840 | - item.prom_type = 0 | ||
841 | - //购物车更新 | ||
842 | - th.cartUpFn(item) | ||
843 | - } | ||
844 | - }) | ||
845 | - | ||
846 | - } else { | ||
847 | - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + item.goods_id, {}).then(res => { | ||
848 | - if (res.data.code == 0) { | ||
849 | - var r_data = res.data.data; | ||
850 | - if (!r_data.promGoodsLists) { | ||
851 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
852 | - // getApp().request.delete(url, {}); | ||
853 | - // th.disInvalid(item); | ||
854 | - // //商品已经无活动 | ||
855 | - // isok = 0; | ||
856 | - item.prom_type = 0 | ||
857 | - //购物车更新 | ||
858 | - th.cartUpFn(item) | ||
859 | - } else { | ||
860 | - //如果活动的ID不一样,说明原先的活动已经没有参与了或者过期了 | ||
861 | - if (item.prom_id != r_data.promGoodsLists[0].prom_id) { | ||
862 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
863 | - // getApp().request.delete(url, {}); | ||
864 | - // th.disInvalid(item); | ||
865 | - // //商品已经下架 | ||
866 | - // isok = 0; | ||
867 | - item.prom_type = 0 | ||
868 | - //购物车更新 | ||
869 | - th.cartUpFn(item) | ||
870 | - } | ||
871 | - } | ||
872 | - | ||
873 | - } else { | ||
874 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
875 | - // getApp().request.delete(url, {}); | ||
876 | - // th.disInvalid(item,1); | ||
877 | - // //商品已经下架 | ||
878 | - // isok = 0; | ||
879 | - item.prom_type = 0 | ||
880 | - //购物车更新 | ||
881 | - th.cartUpFn(item) | ||
882 | - } | ||
883 | - }) | ||
884 | - } | ||
885 | - // if (!isok) continue; | ||
886 | - } | ||
887 | - else if (item.prom_type == 7) { | ||
888 | - console.log('组合购------------'); | ||
889 | - if (!th.data.zuhe_map[item.prom_id]) { | ||
890 | - console.log('组1') | ||
891 | - //如果有组合购 | ||
892 | - var isok = 1; | ||
893 | - var is_flag = 1; | ||
894 | - var act = null; | ||
895 | - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item.prom_id + "/" + getApp().globalData.user_id; | ||
896 | - await getApp().request.promiseGet(url, {}).then(res => { | ||
897 | - console.log(res); | ||
898 | - if (res.data.code == 0 && res.data.data) { | ||
899 | - if (res.data.data.is_show != 1) { | ||
900 | - isok = 0; | ||
901 | - } | ||
902 | - //如果活动已经结束 | ||
903 | - if (res.data.data.is_end == 1) { | ||
904 | - isok = 0; | ||
905 | - } | ||
906 | - //已经结束 | ||
907 | - if (ut.gettimestamp() > res.data.data.end_time) { | ||
908 | - isok = 0; | ||
909 | - } | ||
910 | - //还未开始 | ||
911 | - if (ut.gettimestamp() < res.data.data.start_time) { | ||
912 | - isok = 0; | ||
913 | - } | ||
914 | - if(res.data.data.zh_num>0 && res.data.data.zh_num<=res.data.data.zh_buy_num){ | ||
915 | - isok = 0; | ||
916 | - } | ||
917 | - | ||
918 | - act = res.data.data; | ||
919 | - | ||
920 | - } else { | ||
921 | - //未找到商品的活动 | ||
922 | - is_flag = 0; | ||
923 | - } | ||
924 | - }) | ||
925 | - if (!isok) { | ||
926 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
927 | - // getApp().request.delete(url, {}); | ||
928 | - //组合购失效不处理 | ||
929 | - // th.disInvalid(item); | ||
930 | - // th.data.zuhe_map[item.prom_id] = -1; | ||
931 | - // continue; | ||
932 | - item.prom_type = 0 | ||
933 | - //购物车更新 | ||
934 | - th.cartUpFn(item) | ||
935 | - } else { | ||
936 | - th.data.zuhe_map[item.prom_id] = act; | ||
937 | - var url1 = "/api/weshop/prom/zhbuyGoods/page"; | ||
938 | - var req_data = { | ||
939 | - page: 1, | ||
940 | - pageSize: 2000, | ||
941 | - store_id: os.stoid, | ||
942 | - zh_id: item.prom_id, | ||
943 | - } | ||
944 | - await getApp().request.promiseGet(url1, { | ||
945 | - data: req_data | ||
946 | - }).then(res => { | ||
947 | - console.log(res, 2000); | ||
948 | - if (ut.ajax_ok(res)) { | ||
949 | - var gdlist = res.data.data.pageData; | ||
950 | - gdlist.forEach(i => { | ||
951 | - if (item.goods_id == i.goods_id && !is_flag) { | ||
952 | - item.prom_type = 0; | ||
953 | - item.prom_type1 = 0; | ||
954 | - item.prom_id = 0; | ||
955 | - item.prom_id1 = 0 | ||
956 | - } | ||
957 | - }) | ||
958 | - th.data.zuhe_map_good[item.prom_id] = gdlist; | ||
959 | - } | ||
960 | - }) | ||
961 | - } | ||
962 | - } | ||
963 | - console.log('组2') | ||
964 | - if (th.data.zuhe_map[item.prom_id] && th.data.zuhe_map[item.prom_id] != -1) { | ||
965 | - console.log('组3') | ||
966 | - var gdlist = th.data.zuhe_map_good[item.prom_id]; | ||
967 | - var t_item = gdlist.find(function (ele) { | ||
968 | - return ele.goods_id == item.goods_id | ||
969 | - }) | ||
970 | - if (!t_item) { | ||
971 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
972 | - // getApp().request.delete(url, {}); | ||
973 | - //组合购不处理 | ||
974 | - // th.disInvalid(item,1); | ||
975 | - // th.data.zuhe_map[item.prom_id] = -1; | ||
976 | - // continue; | ||
977 | - item.prom_type = 0 | ||
978 | - //购物车更新 | ||
979 | - th.cartUpFn(item) | ||
980 | - } else { | ||
981 | - let act =th.data.zuhe_map[item.prom_id] | ||
982 | - //判断是否超出组合购次数限制 | ||
983 | - | ||
984 | - if(act.buy_limit !=0){ | ||
985 | - let userbuynum = await th.getUserBuyPromNum(item.goods_prom_id) | ||
986 | - if(userbuynum>=act.buy_limit){ | ||
987 | - item.goods_prom_type = 0 | ||
988 | - item.goods_prom_id = 0 | ||
989 | - item.prom_type = 0 | ||
990 | - item.prom_id = 0 | ||
991 | - //购物车更新 | ||
992 | - th.cartUpFn(item) | ||
993 | - }else{ | ||
994 | - item.buyqty = t_item.buyqty; | ||
995 | - item.zh_b_num = promgoodsbuynum; | ||
996 | - item.act = th.data.zuhe_map[item.prom_id]; | ||
997 | - } | ||
998 | - }else{ | ||
999 | - item.buyqty = t_item.buyqty; | ||
1000 | - item.zh_b_num = promgoodsbuynum; | ||
1001 | - item.act = th.data.zuhe_map[item.prom_id]; | ||
1002 | - } | ||
1003 | - } | ||
1004 | - } //else{ | ||
1005 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
1006 | - // getApp().request.delete(url, {}); | ||
1007 | - // th.data.zuhe_map[item.prom_id]=-1; | ||
1008 | - // continue; | ||
1009 | - // } | ||
1010 | - } | ||
1011 | - else if (item.prom_type == 10) { | ||
1012 | - if (!th.data.ladder_map[item.prom_id]) { | ||
1013 | - //如果有阶梯购 | ||
1014 | - var isok = 1; | ||
1015 | - var is_flag = 1; | ||
1016 | - var act = null; | ||
1017 | - var url = "/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + item.prom_id; | ||
1018 | - await getApp().request.promiseGet(url, {}).then(res => { | ||
1019 | - console.log(res, 1000); | ||
1020 | - if (res.data.code == 0 && res.data.data) { | ||
1021 | - if (res.data.data.isuse != 1) { | ||
1022 | - isok = 0; | ||
1023 | - } | ||
1024 | - //如果活动已经结束 | ||
1025 | - if (res.data.data.is_end == 1) { | ||
1026 | - isok = 0; | ||
1027 | - } | ||
1028 | - //已经结束 | ||
1029 | - if (ut.gettimestamp() > res.data.data.end_time) { | ||
1030 | - isok = 0; | ||
1031 | - } | ||
1032 | - //还未开始 | ||
1033 | - if (ut.gettimestamp() < res.data.data.start_time) { | ||
1034 | - isok = 0; | ||
1035 | - } | ||
1036 | - act = res.data.data; | ||
1037 | - | ||
1038 | - } else { | ||
1039 | - //未找到商品的活动 | ||
1040 | - isok = 0; | ||
1041 | - } | ||
1042 | - }) | ||
1043 | - if (!isok) { | ||
1044 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
1045 | - // getApp().request.delete(url, {}); | ||
1046 | - th.disInvalid(item, 1); | ||
1047 | - th.data.ladder_map[item.prom_id] = -1; | ||
1048 | - continue; | ||
1049 | - } | ||
1050 | - th.data.ladder_map[item.prom_id] = act; | ||
1051 | - | ||
1052 | - //-- 获取阶梯规则 -- | ||
1053 | - var url1 = "/api/weshop/prom/ladderList/list"; | ||
1054 | - var req_data = { | ||
1055 | - store_id: os.stoid, | ||
1056 | - form_id: item.prom_id, | ||
1057 | - } | ||
1058 | - await getApp().request.promiseGet(url1, { | ||
1059 | - data: req_data | ||
1060 | - }).then(rs1 => { | ||
1061 | - if (rs1.data.code == 0 && rs1.data.data) { | ||
1062 | - var gdlist = rs1.data.data; | ||
1063 | - th.data.ladder_map[item.prom_id].ladder_list = gdlist; | ||
1064 | - } | ||
1065 | - }) | ||
1066 | - } | ||
1067 | - //直接把活动赋值给元素 | ||
1068 | - if (th.data.ladder_map[item.prom_id] && th.data.ladder_map[item.prom_id] != -1) { | ||
1069 | - item.act = th.data.ladder_map[item.prom_id]; | ||
1070 | - } | ||
1071 | - | ||
1072 | - } | ||
1073 | - //判断不是代发的商品 | ||
1074 | - else if (item.prom_type == 0 && !item.whsle_id) { | ||
1075 | - | ||
1076 | - //如果有优惠活动,要更新活动 | ||
1077 | - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1" + "/" + getApp().globalData.user_id, {}).then(res => { | ||
1078 | - if (res.data.code == 0 && res.data.data) { | ||
1079 | - var r_data = res.data.data; | ||
1080 | - if (r_data.promGoodsLists) { | ||
1081 | - var url = '/api/weshop/cart/update'; | ||
1082 | - getApp().request.put(url, { | ||
1083 | - data: { | ||
1084 | - id: item.id, | ||
1085 | - store_id: oo.stoid, | ||
1086 | - prom_type: 3, | ||
1087 | - prom_id: r_data.promGoodsLists[0].prom_id | ||
1088 | - } | ||
1089 | - }); | ||
1090 | - item.prom_type = 3; | ||
1091 | - item.prom_id = r_data.promGoodsLists[0].prom_id; | ||
1092 | - } else if (r_data.ladderLists) { | ||
1093 | - | ||
1094 | - item.prom_type = 10; | ||
1095 | - item.prom_id = r_data.ladderLists[0].form_id; | ||
1096 | - | ||
1097 | - } | ||
1098 | - } | ||
1099 | - }) | ||
1100 | - | ||
1101 | - //如果是阶梯购的时候 | ||
1102 | - if (item.prom_type == 10) { | ||
1103 | - | ||
1104 | - | ||
1105 | - if (!th.data.ladder_map[item.prom_id]) { | ||
1106 | - //如果有阶梯购,要判断身份 | ||
1107 | - var isok = 1; | ||
1108 | - var is_flag = 1; | ||
1109 | - var act = null; | ||
1110 | - var url = "/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + item.prom_id; | ||
1111 | - await getApp().request.promiseGet(url, {}).then(res => { | ||
1112 | - console.log(res, 1000); | ||
1113 | - if (res.data.code == 0 && res.data.data) { | ||
1114 | - if (res.data.data.isuse != 1) { | ||
1115 | - isok = 0; | ||
1116 | - } | ||
1117 | - //如果活动已经结束 | ||
1118 | - if (res.data.data.is_end == 1) { | ||
1119 | - isok = 0; | ||
1120 | - } | ||
1121 | - //已经结束 | ||
1122 | - if (ut.gettimestamp() > res.data.data.end_time) { | ||
1123 | - isok = 0; | ||
1124 | - } | ||
1125 | - //还未开始 | ||
1126 | - if (ut.gettimestamp() < res.data.data.start_time) { | ||
1127 | - isok = 0; | ||
1128 | - } | ||
1129 | - act = res.data.data; | ||
1130 | - | ||
1131 | - } else { | ||
1132 | - //未找到商品的活动 | ||
1133 | - isok = 0; | ||
1134 | - } | ||
1135 | - }) | ||
1136 | - if (!isok) { | ||
1137 | - item.prom_type = 0; | ||
1138 | - item.prom_id = 0; | ||
1139 | - } else { | ||
1140 | - | ||
1141 | - th.data.ladder_map[item.prom_id] = act; | ||
1142 | - //-- 获取阶梯规则 -- | ||
1143 | - var url1 = "/api/weshop/prom/ladderList/list"; | ||
1144 | - var req_data = { | ||
1145 | - store_id: os.stoid, | ||
1146 | - form_id: item.prom_id, | ||
1147 | - } | ||
1148 | - await getApp().request.promiseGet(url1, { | ||
1149 | - data: req_data | ||
1150 | - }).then(rs1 => { | ||
1151 | - if (rs1.data.code == 0 && rs1.data.data) { | ||
1152 | - var gdlist = rs1.data.data; | ||
1153 | - th.data.ladder_map[item.prom_id].ladder_list = gdlist; | ||
1154 | - } | ||
1155 | - }) | ||
1156 | - } | ||
1157 | - | ||
1158 | - } | ||
1159 | - //直接把活动赋值给元素 | ||
1160 | - if (th.data.ladder_map[item.prom_id] && th.data.ladder_map[item.prom_id] != -1) { | ||
1161 | - item.act = th.data.ladder_map[item.prom_id]; | ||
1162 | - | ||
1163 | - //如果有活动,就更新商品的活动那个 | ||
1164 | - var url = '/api/weshop/cart/update'; | ||
1165 | - getApp().request.put(url, { | ||
1166 | - data: { id: item.id, store_id: oo.stoid, prom_type: 10, prom_id: item.prom_id } | ||
1167 | - }); | ||
1168 | - | ||
1169 | - } | ||
1170 | - } | ||
1171 | - | ||
1172 | - } | ||
1173 | 930 | ||
1174 | all_num += item.goods_num; | 931 | all_num += item.goods_num; |
1175 | item.original_img = oo.imghost + item.original_img; | 932 | item.original_img = oo.imghost + item.original_img; |
@@ -1177,26 +934,9 @@ Page({ | @@ -1177,26 +934,9 @@ Page({ | ||
1177 | item.erpwareid = good.erpwareid; //要同步下线商品的id | 934 | item.erpwareid = good.erpwareid; //要同步下线商品的id |
1178 | item.shop_price = good.shop_price; //要同步下线商品的id | 935 | item.shop_price = good.shop_price; //要同步下线商品的id |
1179 | 936 | ||
1180 | - //当商品要计算等级价的售 | ||
1181 | - if (item.prom_type == 0 || item.prom_type == 3 || item.prom_type == 5 || item.prom_type == 7) { | ||
1182 | - if (th.data.card_field && good[th.data.card_field]) { | ||
1183 | - item.goods_price = good[th.data.card_field]; //要同步下线商品的id | ||
1184 | - } else { | ||
1185 | - item.goods_price = good.shop_price; | ||
1186 | - } | ||
1187 | - | ||
1188 | - var t = { | ||
1189 | - id: item.id, | ||
1190 | - store_id: os.stoid, | ||
1191 | - user_id: getApp().globalData.userInfo.user_id, | ||
1192 | - goods_price: item.goods_price | ||
1193 | - } | ||
1194 | - getApp().request.put("/api/weshop/cart/update", { | ||
1195 | - isShowLoading: 0, | ||
1196 | - data: t, | ||
1197 | - }) | ||
1198 | - | ||
1199 | - } | 937 | + //-- 读出每一种商品的所有的活动,方便后面的活动切换使用 -- |
938 | + if(item.prom_type==0) | ||
939 | + th.buy_pro_group(item,0); | ||
1200 | 940 | ||
1201 | var pcid = item.pick_id; | 941 | var pcid = item.pick_id; |
1202 | var find = 0; | 942 | var find = 0; |
@@ -1251,21 +991,6 @@ Page({ | @@ -1251,21 +991,6 @@ Page({ | ||
1251 | } | 991 | } |
1252 | } | 992 | } |
1253 | } | 993 | } |
1254 | - | ||
1255 | - for (let u1 in arr) { | ||
1256 | - var u_item = arr[u1]; | ||
1257 | - //把组合购进行分组 | ||
1258 | - var obj = zh_calc.find_split(u_item); | ||
1259 | - if (!obj) continue; | ||
1260 | - //存储不同活动的商品列表 | ||
1261 | - u_item.zh_prom_goods = {}; | ||
1262 | - for (let var1 in obj) { | ||
1263 | - var h_item = obj[var1]; | ||
1264 | - var gdlist = th.data.zuhe_map_good[h_item.prom_id]; | ||
1265 | - //获取活动需要的商品列表 | ||
1266 | - u_item.zh_prom_goods[h_item.prom_id] = gdlist; | ||
1267 | - } | ||
1268 | - } | ||
1269 | 994 | ||
1270 | th.setData({ | 995 | th.setData({ |
1271 | requestData: arr, | 996 | requestData: arr, |
@@ -2157,12 +1882,6 @@ Page({ | @@ -2157,12 +1882,6 @@ Page({ | ||
2157 | 1882 | ||
2158 | } | 1883 | } |
2159 | 1884 | ||
2160 | - | ||
2161 | - | ||
2162 | - e.setData({ | ||
2163 | - [txt]: Number(!a.selected), | ||
2164 | - }); | ||
2165 | - | ||
2166 | if (a.prom_type == 3) { | 1885 | if (a.prom_type == 3) { |
2167 | e.data.duo_zp_num_arr = {}; | 1886 | e.data.duo_zp_num_arr = {}; |
2168 | if (!a.selected) { | 1887 | if (!a.selected) { |
@@ -2174,6 +1893,11 @@ Page({ | @@ -2174,6 +1893,11 @@ Page({ | ||
2174 | await e.check_prom_activity(i); | 1893 | await e.check_prom_activity(i); |
2175 | } | 1894 | } |
2176 | } | 1895 | } |
1896 | + | ||
1897 | + e.setData({ | ||
1898 | + [txt]: Number(!a.selected), | ||
1899 | + }); | ||
1900 | + | ||
2177 | this.doCheckAll(); | 1901 | this.doCheckAll(); |
2178 | } | 1902 | } |
2179 | }, | 1903 | }, |
@@ -2265,7 +1989,7 @@ Page({ | @@ -2265,7 +1989,7 @@ Page({ | ||
2265 | }, | 1989 | }, |
2266 | 1990 | ||
2267 | //----------检查是否全选--------- | 1991 | //----------检查是否全选--------- |
2268 | - doCheckAll: function () { | 1992 | + doCheckAll:async function () { |
2269 | var th = this, | 1993 | var th = this, |
2270 | tfeel = 0, | 1994 | tfeel = 0, |
2271 | t_num = 0, | 1995 | t_num = 0, |
@@ -2274,11 +1998,19 @@ Page({ | @@ -2274,11 +1998,19 @@ Page({ | ||
2274 | car2 = this.data.service_data, | 1998 | car2 = this.data.service_data, |
2275 | all_num = 0; | 1999 | all_num = 0; |
2276 | 2000 | ||
2001 | + | ||
2002 | + th.data.zuhe_map={}; | ||
2003 | + th.data.zuhe_map_good={}; | ||
2004 | + | ||
2277 | //-- 购物车 -- | 2005 | //-- 购物车 -- |
2278 | if (car && car.length > 0) { | 2006 | if (car && car.length > 0) { |
2279 | th.data.in_zhact_gdmap = {}; | 2007 | th.data.in_zhact_gdmap = {}; |
2280 | for (var a = 0; a < car.length; a++) { | 2008 | for (var a = 0; a < car.length; a++) { |
2009 | + | ||
2281 | var item = car[a].goods, is_s_sele = 1; | 2010 | var item = car[a].goods, is_s_sele = 1; |
2011 | + //-- 先批量判断一下活动的类型,同时要同步跟新 -- | ||
2012 | + await th.cart_cx_group(item,a); | ||
2013 | + | ||
2282 | var offline_price = 0; | 2014 | var offline_price = 0; |
2283 | var offline_num = 0; | 2015 | var offline_num = 0; |
2284 | for (var c = 0; c < item.length; c++) { | 2016 | for (var c = 0; c < item.length; c++) { |
@@ -2405,6 +2137,7 @@ Page({ | @@ -2405,6 +2137,7 @@ Page({ | ||
2405 | }); | 2137 | }); |
2406 | }, | 2138 | }, |
2407 | 2139 | ||
2140 | + | ||
2408 | //----------------------更新购物数量,加减,调用接口--------------------- | 2141 | //----------------------更新购物数量,加减,调用接口--------------------- |
2409 | postCardList: function (t, item, pitem) { | 2142 | postCardList: function (t, item, pitem) { |
2410 | var e = this, | 2143 | var e = this, |
@@ -4561,6 +4294,110 @@ Page({ | @@ -4561,6 +4294,110 @@ Page({ | ||
4561 | icon: 'none', | 4294 | icon: 'none', |
4562 | duration: 2000 | 4295 | duration: 2000 |
4563 | }); | 4296 | }); |
4297 | + }, | ||
4298 | + | ||
4299 | + | ||
4300 | + //-- 判读一下促销分组的问题 -- | ||
4301 | + async cart_cx_group(goods,index){ | ||
4302 | + var th=this; | ||
4303 | + //-- 促销活动对象表 --- | ||
4304 | + var cx_act_map=[]; | ||
4305 | + for(var i=0; i<goods.length;i++){ | ||
4306 | + var c_item=goods[i]; | ||
4307 | + //没有选中 | ||
4308 | + if(!c_item.selected) continue; | ||
4309 | + //如果是秒杀之类是商品 | ||
4310 | + if([1,2,4,6,8,9].indexOf(c_item.prom_type)) continue; | ||
4311 | + | ||
4312 | + //-- 把活动进行规整 -- | ||
4313 | + var more_cx=c_item.more_cx; | ||
4314 | + for (var j=0;j<more_cx.length;j++){ | ||
4315 | + var n_item=more_cx[j]; | ||
4316 | + var key=n_item.prom_type+'-'+n_item.prom_id; | ||
4317 | + var fd=cx_act_map.find(function (e){ | ||
4318 | + return e.key==key; | ||
4319 | + }) | ||
4320 | + if(fd){ | ||
4321 | + fd.goods.push(c_item); | ||
4322 | + }else{ | ||
4323 | + var p_item={key:key,prom_type:c_item.prom_type,prom_id:c_item.prom_id,goods:[],act:n_item}; | ||
4324 | + p_item.goods.push(c_item); | ||
4325 | + cx_act_map.push(p_item); | ||
4326 | + } | ||
4327 | + } | ||
4328 | + goods[i].prom_type=0; | ||
4329 | + goods[i].prom_id=0; | ||
4330 | + } | ||
4331 | + | ||
4332 | + //-- 如果活动数量大于1个,那么活动就要排序一下,有商品种类数最多排再前面,降序进行排列 -- | ||
4333 | + if(cx_act_map.length>1){ | ||
4334 | + //门店分类要排序下 | ||
4335 | + function compare() { | ||
4336 | + return function (a, b) { | ||
4337 | + var value1 = a.goods.length; | ||
4338 | + var value2 = b.goods.length; | ||
4339 | + return value2 - value1; | ||
4340 | + } | ||
4341 | + } | ||
4342 | + cx_act_map.sort(compare); | ||
4343 | + } | ||
4344 | + //-- 能够进行最后计算的活动(包含切换) -- | ||
4345 | + var can_calc_cx=[]; | ||
4346 | + //-- 此时对数组的活动进行判断,看能不能达到购买数量的条件 -- | ||
4347 | + for(var ii=0;ii<cx_act_map.length;ii++){ | ||
4348 | + var item_act_map=cx_act_map[ii]; | ||
4349 | + | ||
4350 | + //如果活动有交集的时候,商品数量一样多(不是完全相同时,就是参与的商品有交集),就按照后台确定的活动顺序 | ||
4351 | + //如果活动的商品一样(那就是多活动切换),优先计算的活动按照后台确定的活动顺序 | ||
4352 | + //如果活动商品数量少的和 活动数量多的 有交集,那么数量少的不显示,也不计算 | ||
4353 | + if(!th.check_ok_cx_pro(item_act_map,can_calc_cx)){ | ||
4354 | + continue; | ||
4355 | + } | ||
4356 | + switch(item_act_map.prom_type){ | ||
4357 | + case 3: | ||
4358 | + var fir_act=item_act_map.act.fir_act; | ||
4359 | + | ||
4360 | + | ||
4361 | + break | ||
4362 | + case 7: | ||
4363 | + //-- 活动列表 -- | ||
4364 | + var zhact_gdlist=item_act_map.act.gdlist; | ||
4365 | + var zh_goods=item_act_map.goods; | ||
4366 | + | ||
4367 | + for(var h=0;h<zh_goods.length;h++){ | ||
4368 | + | ||
4369 | + | ||
4370 | + } | ||
4371 | + | ||
4372 | + //-- 放到map中 -- | ||
4373 | + th.data.zuhe_map[item.prom_id] = act; | ||
4374 | + th.data.zuhe_map_good[item.prom_id] = zhact_gdlist; | ||
4375 | + | ||
4376 | + var zh_pro0 = null; | ||
4377 | + //-- 获取活动信息 -- | ||
4378 | + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + zh_id + "/" + getApp().globalData.user_id; | ||
4379 | + await getApp().request.promiseGet(url, {}).then(rh => { | ||
4380 | + zh_pro0 = res.data.data; | ||
4381 | + }) | ||
4382 | + if(!zh_pro0) break; | ||
4383 | + //当满足组合的要求:总数要满足,起购数要满足 | ||
4384 | + if(zh_calc.ch_zh_ok(zh_pro0,zhact_gdlist,zh_goods,th)){ | ||
4385 | + can_calc_cx.push(item_act_map) | ||
4386 | + } | ||
4387 | + break; | ||
4388 | + default: | ||
4389 | + can_calc_cx.push(item_act_map); | ||
4390 | + } | ||
4391 | + | ||
4392 | + } | ||
4393 | + | ||
4394 | + if(can_calc_cx.length){ | ||
4395 | + | ||
4396 | + } | ||
4397 | + | ||
4398 | + th.setData({can_calc_cx}) | ||
4564 | } | 4399 | } |
4565 | 4400 | ||
4401 | + | ||
4402 | + | ||
4566 | }); | 4403 | }); |
4567 | \ No newline at end of file | 4404 | \ No newline at end of file |
pages/cart/cart/zh_calculate.js
@@ -519,7 +519,89 @@ module.exports = { | @@ -519,7 +519,89 @@ module.exports = { | ||
519 | } | 519 | } |
520 | } | 520 | } |
521 | return zhqty_bz_flag; | 521 | return zhqty_bz_flag; |
522 | - } | 522 | + }, |
523 | + | ||
524 | + //-- 判断组合购有没有满足 --- | ||
525 | + ch_zh_ok(act,gdlist,c_goods,th){ | ||
526 | + //-- 寻找一下 -- | ||
527 | + function get_num(ite) { | ||
528 | + for (let v1 in c_goods) { | ||
529 | + var vh = c_goods[v1]; | ||
530 | + if (vh.goods_id == ite.goods_id) { | ||
531 | + return vh; | ||
532 | + } | ||
533 | + } | ||
534 | + return 0; | ||
535 | + } | ||
536 | + var goods =gdlist; | ||
537 | + for (var i in goods) { | ||
538 | + var item = goods[i]; | ||
539 | + var cart_num = get_num(item).goods_num; | ||
540 | + var zh_b_num = get_num2(item).zh_b_num; | ||
541 | + if (!cart_num) { | ||
542 | + if (item.zhqty) { | ||
543 | + need_to_buy += item.zhqty; | ||
544 | + } | ||
545 | + continue; | ||
546 | + } | ||
547 | + | ||
548 | + item.cart_num = cart_num; | ||
549 | + //-- 当商品有购买的时候,以及有限购的时候 -- | ||
550 | + if (item.buyqty > 0) { | ||
551 | + var cbuy = item.buyqty - zh_b_num; | ||
552 | + var key = item.goods_id + "" + act.id; | ||
553 | + if (th.data.in_zhact_gdmap_gp[key]) { | ||
554 | + var cbuy = item.buyqty - zh_b_num - th.data.in_zhact_gdmap_gp[key]; | ||
555 | + } | ||
556 | + //当可买的数量为0 | ||
557 | + if (cbuy <= 0) { | ||
558 | + item.num = 0; | ||
559 | + } else { | ||
560 | + if (cbuy >= cart_num) item.num = cart_num; | ||
561 | + else { | ||
562 | + item.num = cbuy; | ||
563 | + } | ||
564 | + } | ||
565 | + } else { | ||
566 | + item.num = cart_num; | ||
567 | + } | ||
568 | + | ||
569 | + if (item.num) { | ||
570 | + all_num += item.num; | ||
571 | + //当有起购数的控制的时候 | ||
572 | + if (item.zhqty) { | ||
573 | + if (item.num < item.zhqty) { | ||
574 | + need_to_buy += item.zhqty - item.num; | ||
575 | + } | ||
576 | + } | ||
577 | + } else { | ||
578 | + if (item.zhqty) { | ||
579 | + need_to_buy += item.zhqty; | ||
580 | + } | ||
581 | + } | ||
582 | + } | ||
583 | + | ||
584 | + //当满足组合的要求:总数要满足,起购数要满足 | ||
585 | + if (all_num >= act.zhbuyqty && !need_to_buy) { | ||
586 | + //商品的列表 | ||
587 | + for (var u in goods) { | ||
588 | + var ite = goods[u]; | ||
589 | + if (ite.buyqty > 0 && ite.num > 0) { | ||
590 | + console.log(222, th.data.in_zhact_gdmap_gp); | ||
591 | + var key = ite.goods_id + "" + act.id; | ||
592 | + if (th.data.in_zhact_gdmap_gp[key]) { | ||
593 | + th.data.in_zhact_gdmap_gp[key] += ite.num; | ||
594 | + } else { | ||
595 | + th.data.in_zhact_gdmap_gp[key] = ite.num; | ||
596 | + } | ||
597 | + } | ||
598 | + } | ||
599 | + return true; | ||
600 | + } | ||
601 | + return false; | ||
602 | + } | ||
603 | + | ||
604 | + | ||
523 | 605 | ||
524 | 606 | ||
525 | } | 607 | } |
526 | \ No newline at end of file | 608 | \ No newline at end of file |
pages/goods/goodsInfo/goodsInfo.js
@@ -293,7 +293,6 @@ Page({ | @@ -293,7 +293,6 @@ Page({ | ||
293 | 293 | ||
294 | 294 | ||
295 | self = this; | 295 | self = this; |
296 | - | ||
297 | //检查测肤 | 296 | //检查测肤 |
298 | getApp().check_skin_face(t, 0, gid); | 297 | getApp().check_skin_face(t, 0, gid); |
299 | 298 | ||
@@ -1544,6 +1543,7 @@ Page({ | @@ -1544,6 +1543,7 @@ Page({ | ||
1544 | }) | 1543 | }) |
1545 | // return userbuynum | 1544 | // return userbuynum |
1546 | }, | 1545 | }, |
1546 | + | ||
1547 | //优惠促销用户参与次数 | 1547 | //优惠促销用户参与次数 |
1548 | async getUserBuyPromNum_pre(prom_id){ | 1548 | async getUserBuyPromNum_pre(prom_id){ |
1549 | var user_id=0 | 1549 | var user_id=0 |
@@ -6978,6 +6978,7 @@ Page({ | @@ -6978,6 +6978,7 @@ Page({ | ||
6978 | } | 6978 | } |
6979 | } | 6979 | } |
6980 | }, | 6980 | }, |
6981 | + | ||
6981 | //-----显示优惠券的时候情况----- | 6982 | //-----显示优惠券的时候情况----- |
6982 | show_more_cx: function () { | 6983 | show_more_cx: function () { |
6983 | if (this.data.is_more_cx) { | 6984 | if (this.data.is_more_cx) { |
@@ -7230,7 +7231,7 @@ Page({ | @@ -7230,7 +7231,7 @@ Page({ | ||
7230 | }) | 7231 | }) |
7231 | }, | 7232 | }, |
7232 | 7233 | ||
7233 | - //-- 获取默认的促销活动的默认活动 -- | 7234 | + //--- 获取默认的促销活动的默认活动 --- |
7234 | check_prom_custom(ind) { | 7235 | check_prom_custom(ind) { |
7235 | if(ind){ | 7236 | if(ind){ |
7236 | if (!this.data.cx_prom_group.length) return 0; | 7237 | if (!this.data.cx_prom_group.length) return 0; |