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; |