Commit 137fe81ee032b9babd06fda371f328ff89650a31

Authored by WXD-SEASON\season
2 parents b155965f f8d339cc

Merge branch 'dev' of http://git.vipzhuang.cn/wxd/MShopWeApp into test

packageB/pages/zuhegou/index/index.js
@@ -597,6 +597,16 @@ Page({ @@ -597,6 +597,16 @@ Page({
597 return 597 return
598 } 598 }
599 599
  600 + if(this.data.act.zh_num>0 && this.data.act.zh_num<=this.data.act.zh_buy_num){
  601 + wx.showToast({
  602 + title: '组合总数不足!',
  603 + icon: 'none',
  604 + duration: 2000
  605 + })
  606 + return
  607 + }
  608 +
  609 +
600 //说明是加入购物车是时候 610 //说明是加入购物车是时候
601 this.data.is_zuhe_addcart = 1; 611 this.data.is_zuhe_addcart = 1;
602 if (!haveAdded) { 612 if (!haveAdded) {
@@ -640,14 +650,18 @@ Page({ @@ -640,14 +650,18 @@ Page({
640 return false; 650 return false;
641 } else { 651 } else {
642 //先判断一下线下库存 652 //先判断一下线下库存
643 - th.check_pk_store_conut(function(){  
644 - th.setData({  
645 - is_no_pipei: 0  
646 - });  
647 - th.check_is_in_cart(function () {  
648 - th.add_cart_func(); 653 +
  654 + th.chect_act_zh_num(function (){
  655 + th.check_pk_store_conut(function(){
  656 + th.setData({
  657 + is_no_pipei: 0
  658 + });
  659 + th.check_is_in_cart(function () {
  660 + th.add_cart_func();
  661 + })
649 }) 662 })
650 }) 663 })
  664 +
651 } 665 }
652 } else { 666 } else {
653 667
@@ -2023,6 +2037,13 @@ Page({ @@ -2023,6 +2037,13 @@ Page({
2023 2037
2024 // -- 加入之前,先判断有没有在购物车中,没有商品就添加 -- 2038 // -- 加入之前,先判断有没有在购物车中,没有商品就添加 --
2025 check_is_in_cart: function (func) { 2039 check_is_in_cart: function (func) {
  2040 +
  2041 + var act=this.data.act;
  2042 + if(act.zh_num>0 && act.zh_num<=act.zh_buy_num){
  2043 + func();
  2044 + return false;
  2045 + }
  2046 +
2026 var th = this; 2047 var th = this;
2027 var index = th.data.sele_index; 2048 var index = th.data.sele_index;
2028 var txt = "list[" + index + "].haveAdded"; 2049 var txt = "list[" + index + "].haveAdded";
@@ -2200,105 +2221,113 @@ Page({ @@ -2200,105 +2221,113 @@ Page({
2200 var delete_num = 0; 2221 var delete_num = 0;
2201 var zhqty_len = 0; //几个超量倍增 2222 var zhqty_len = 0; //几个超量倍增
2202 var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty); //看一下是几倍 2223 var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty); //看一下是几倍
2203 - if (this.data.act.is_bzyh && zhqty_bz.length > 0) {  
2204 - if (zhqty_bz.length > 1) {  
2205 - let zhqty_bz_arr = [];  
2206 - let zhqty_bz_flag = this.zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr);  
2207 -  
2208 - if (zhqty_bz_flag) {  
2209 - for (let i = 0; i < zhqty_bz.length; i++) {  
2210 - var vv = zhqty_bz[i];  
2211 - for (let j = 0; j < be * vv['zhqty']; j++) {  
2212 - let index = no_in_arr.findIndex(i => {  
2213 - return vv.goods_id === i.goods_id  
2214 - })  
2215 - if (index > -1) {  
2216 - delete_num++  
2217 - no_in_arr.splice(index, 1) 2224 + //如果有总数控制的时候
  2225 + if(this.data.act.zh_num){
  2226 + var be1=this.data.act.zh_num-this.data.act.zh_buy_num-1;
  2227 + if(be1<be) be=be1;
  2228 + }
  2229 + if(be){
  2230 + if (this.data.act.is_bzyh && zhqty_bz.length > 0) {
  2231 + if (zhqty_bz.length > 1) {
  2232 + let zhqty_bz_arr = [];
  2233 + let zhqty_bz_flag = this.zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr);
  2234 +
  2235 + if (zhqty_bz_flag) {
  2236 + for (let i = 0; i < zhqty_bz.length; i++) {
  2237 + var vv = zhqty_bz[i];
  2238 + for (let j = 0; j < be * vv['zhqty']; j++) {
  2239 + let index = no_in_arr.findIndex(i => {
  2240 + return vv.goods_id === i.goods_id
  2241 + })
  2242 + if (index > -1) {
  2243 + delete_num++
  2244 + no_in_arr.splice(index, 1)
  2245 + }
2218 } 2246 }
2219 } 2247 }
2220 - }  
2221 - } else {  
2222 - zhqty_len = 1;  
2223 - let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) {  
2224 - return o['num'];  
2225 - }));  
2226 - let new_arr = zhqty_bz_arr.filter(ii => {  
2227 - return ii['num'] == min_bz_num;  
2228 - })  
2229 - var vv = new_arr[0];  
2230 - var bz_num = be * new_arr[0].zhqty; //超量倍增  
2231 - var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量  
2232 - bz_num_ok = bz_num - num;  
2233 - if (bz_num_ok <= 0) {  
2234 - //超量倍增满足,超量倍增就等于倍数  
2235 - bz_num_ok = bz_num;  
2236 } else { 2248 } else {
2237 - //超量倍增不满足,倍数要减去多出得  
2238 - // be=be-bz_num_ok;  
2239 - if (num % vv.zhqty == 0) {  
2240 - be = num / vv.zhqty; 2249 + zhqty_len = 1;
  2250 + let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) {
  2251 + return o['num'];
  2252 + }));
  2253 + let new_arr = zhqty_bz_arr.filter(ii => {
  2254 + return ii['num'] == min_bz_num;
  2255 + })
  2256 + var vv = new_arr[0];
  2257 + var bz_num = be * new_arr[0].zhqty; //超量倍增
  2258 + var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量
  2259 + bz_num_ok = bz_num - num;
  2260 + if (bz_num_ok <= 0) {
  2261 + //超量倍增满足,超量倍增就等于倍数
  2262 + bz_num_ok = bz_num;
2241 } else { 2263 } else {
2242 - be = Math.floor(num / vv.zhqty) 2264 + //超量倍增不满足,倍数要减去多出得
  2265 + // be=be-bz_num_ok;
  2266 + if (num % vv.zhqty == 0) {
  2267 + be = num / vv.zhqty;
  2268 + } else {
  2269 + be = Math.floor(num / vv.zhqty)
  2270 + }
  2271 + bz_num_ok = be * vv.zhqty;
2243 } 2272 }
2244 - bz_num_ok = be * vv.zhqty;  
2245 - }  
2246 2273
2247 - for (let i = 0; i < zhqty_bz.length; i++) {  
2248 - let item1 = zhqty_bz[i];  
2249 - for (let j = 0; j < be * item1['zhqty']; j++) { 2274 + for (let i = 0; i < zhqty_bz.length; i++) {
  2275 + let item1 = zhqty_bz[i];
  2276 + for (let j = 0; j < be * item1['zhqty']; j++) {
  2277 + let index = no_in_arr.findIndex(i => {
  2278 + return item1.goods_id === i.goods_id
  2279 + })
  2280 + if (index > -1) {
  2281 + // delete_num++
  2282 + no_in_arr.splice(index, 1)
  2283 + }
  2284 + }
  2285 + }
  2286 + aprice += be * aprice;
  2287 + }
  2288 + } else {
  2289 + var vv = zhqty_bz[0];
  2290 + var bz_num = be * vv.zhqty; //超量倍增
  2291 + var num = vv['num'] - vv.zhqty; //购买数量减去超量
  2292 + if (num > 0) {
  2293 + bz_num_ok = bz_num - num;
  2294 + if (bz_num_ok <= 0) {
  2295 + //超量倍增满足,超量倍增就等于倍数
  2296 + bz_num_ok = bz_num;
  2297 + } else {
  2298 + //超量倍增不满足,倍数要减去多出得
  2299 + // be=be-bz_num_ok;
  2300 + if (num % vv.zhqty == 0) {
  2301 + be = num / vv.zhqty;
  2302 + } else {
  2303 + be = Math.floor(num / vv.zhqty)
  2304 + }
  2305 + bz_num_ok = be * vv.zhqty;
  2306 + }
  2307 + for (let j = 0; j < bz_num_ok; j++) {
2250 let index = no_in_arr.findIndex(i => { 2308 let index = no_in_arr.findIndex(i => {
2251 - return item1.goods_id === i.goods_id 2309 + return vv.goods_id === i.goods_id
2252 }) 2310 })
2253 if (index > -1) { 2311 if (index > -1) {
2254 - // delete_num++ 2312 + delete_num++
2255 no_in_arr.splice(index, 1) 2313 no_in_arr.splice(index, 1)
2256 } 2314 }
2257 } 2315 }
2258 - }  
2259 - aprice += be * aprice;  
2260 - }  
2261 - } else {  
2262 - var vv = zhqty_bz[0];  
2263 - var bz_num = be * vv.zhqty; //超量倍增  
2264 - var num = vv['num'] - vv.zhqty; //购买数量减去超量  
2265 - if (num > 0) {  
2266 - bz_num_ok = bz_num - num;  
2267 - if (bz_num_ok <= 0) {  
2268 - //超量倍增满足,超量倍增就等于倍数  
2269 - bz_num_ok = bz_num;  
2270 } else { 2316 } else {
2271 - //超量倍增不满足,倍数要减去多出得  
2272 - // be=be-bz_num_ok;  
2273 - if (num % vv.zhqty == 0) {  
2274 - be = num / vv.zhqty;  
2275 - } else {  
2276 - be = Math.floor(num / vv.zhqty)  
2277 - }  
2278 - bz_num_ok = be * vv.zhqty;  
2279 - }  
2280 - for (let j = 0; j < bz_num_ok; j++) {  
2281 - let index = no_in_arr.findIndex(i => {  
2282 - return vv.goods_id === i.goods_id  
2283 - })  
2284 - if (index > -1) {  
2285 - delete_num++  
2286 - no_in_arr.splice(index, 1)  
2287 - } 2317 + zhqty_len = 1;
2288 } 2318 }
2289 - } else {  
2290 - zhqty_len = 1;  
2291 } 2319 }
2292 } 2320 }
2293 - }  
2294 - if (!zhqty_len) {  
2295 - //多个超量就不用pop了  
2296 - aprice += be * aprice;  
2297 - let pop_num = be * this.data.act.zhbuyqty - delete_num;  
2298 - for (var m = 0; m < pop_num; m++) {  
2299 - no_in_arr.pop(); 2321 + if (!zhqty_len) {
  2322 + //多个超量就不用pop了
  2323 + aprice += be * aprice;
  2324 + let pop_num = be * this.data.act.zhbuyqty - delete_num;
  2325 + for (var m = 0; m < pop_num; m++) {
  2326 + no_in_arr.pop();
  2327 + }
2300 } 2328 }
2301 } 2329 }
  2330 +
2302 } 2331 }
2303 2332
2304 //算一下剩余的钱 2333 //算一下剩余的钱
@@ -2518,5 +2547,38 @@ Page({ @@ -2518,5 +2547,38 @@ Page({
2518 } 2547 }
2519 } 2548 }
2520 return zhqty_bz_flag; 2549 return zhqty_bz_flag;
  2550 + },
  2551 +
  2552 + chect_act_zh_num(func){
  2553 + var userInfo = getApp().globalData.userInfo;
  2554 + //获取活动信息
  2555 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + this.data.id + "/" + userInfo.user_id;
  2556 + getApp().request.get(url, {
  2557 + success: function (e) {
  2558 + if (e.data.code == 0 && e.data.data) {
  2559 + var t_act=e.data.data;
  2560 + if(t_act.zh_num>0 && t_act.zh_num<=t_act.zh_buy_num){
  2561 + wx.showToast({
  2562 + title: '组合活动不足!',
  2563 + icon: 'none',
  2564 + duration: 2000
  2565 + })
  2566 + return false;
  2567 + }
  2568 + func();
  2569 +
  2570 + }else{
  2571 + wx.showToast({
  2572 + title: '未找到活动!',
  2573 + icon: 'none',
  2574 + duration: 2000
  2575 + })
  2576 + }
  2577 +
  2578 + }
  2579 + })
2521 } 2580 }
  2581 +
  2582 +
  2583 +
2522 }) 2584 })
2523 \ No newline at end of file 2585 \ No newline at end of file
packageC/pages/presell/goodsInfo/goodsInfo.js
@@ -1731,8 +1731,9 @@ Page({ @@ -1731,8 +1731,9 @@ Page({
1731 var now = ut.gettimestamp(); 1731 var now = ut.gettimestamp();
1732 var rq_data = { 1732 var rq_data = {
1733 store_id: o.stoid, 1733 store_id: o.stoid,
1734 - sku: gd.sku,  
1735 - more_spec: gd.more_spec, 1734 + //sku: gd.sku,
  1735 + //more_spec: gd.more_spec,
  1736 + goods_id:g_id,
1736 isonsale: 1, 1737 isonsale: 1,
1737 is_on_sale: 1, 1738 is_on_sale: 1,
1738 pageSize: 500, 1739 pageSize: 500,
packageE/pages/cart/cart2/cart2.js
@@ -147,7 +147,8 @@ Page({ @@ -147,7 +147,8 @@ Page({
147 appoint_pick_keyid: '', 147 appoint_pick_keyid: '',
148 is_pre_cut:0, //是否可以使用预存 0是不可以1的可以 148 is_pre_cut:0, //是否可以使用预存 0是不可以1的可以
149 149
150 - coll_prom:{} //搭配活动存储 150 + coll_prom:{}, //搭配活动存储
  151 + yh_is_xz_yh:{},//优惠促销优惠券使用开关
151 152
152 }, 153 },
153 onLoad: function (t) { 154 onLoad: function (t) {
@@ -714,6 +715,10 @@ Page({ @@ -714,6 +715,10 @@ Page({
714 //---是不是购买等级卡成功的返回---等级卡显示的判断--- 715 //---是不是购买等级卡成功的返回---等级卡显示的判断---
715 var is_card_back = getApp().globalData.is_card_back; 716 var is_card_back = getApp().globalData.is_card_back;
716 717
  718 +
  719 + //-- 判断组合购是总数量是不是存在 --
  720 + var no_zh_num={};
  721 +
717 for (var i = 0; i < carr.length; i++) { 722 for (var i = 0; i < carr.length; i++) {
718 var item1 = carr[i]; 723 var item1 = carr[i];
719 //把已经购买了多少见的内容填入 724 //把已经购买了多少见的内容填入
@@ -753,19 +758,44 @@ Page({ @@ -753,19 +758,44 @@ Page({
753 item1.is_post_temp=res.data.data.is_post_temp; 758 item1.is_post_temp=res.data.data.is_post_temp;
754 } 759 }
755 }) 760 })
756 - }  
757 - 761 + }
  762 +
758 //要把优惠活动加入,prom_goods_map中,赠品不要运算,代发商品不算优惠 763 //要把优惠活动加入,prom_goods_map中,赠品不要运算,代发商品不算优惠
759 if (item1.prom_type == 3 && item1.is_gift != 1 && !item1.whsle_id) { 764 if (item1.prom_type == 3 && item1.is_gift != 1 && !item1.whsle_id) {
760 - // th.check_is_youhui(item1.goods_id, item1.pick_id);  
761 - await th.add_prom_goods_map(item1); 765 + // th.check_is_youhui(item1.goods_id, item1.pick_id);
  766 + //增加优惠活动次数限制
  767 + let limit_num= await th.getprom(item1) //活动限制次数
  768 +
  769 + if(!limit_num){
  770 + await th.add_prom_goods_map(item1);
  771 + // item1.prom_id=''
  772 + // item1.prom_type=''
  773 + }else{
  774 + let user_pre_buynum = await th.getUserBuyPromNum_pre(item1.prom_id) //用户已经参与次数
  775 + if(user_pre_buynum<limit_num){
  776 + await th.add_prom_goods_map(item1);
  777 + }else{
  778 + // await th.add_prom_goods_map(item1);
  779 + item1.prom_id=''
  780 + item1.prom_type=''
  781 + }
  782 + }
762 } 783 }
763 784
764 - //要把组合购的东西拿出来算一下 785 + //-- 如果组合购的总数量不足的处理 --
  786 + if(no_zh_num[item1.prom_id] && item1.prom_type == 7){
  787 + item1.prom_type = 0;
  788 + item1.prom_type1 = 0;
  789 + item1.prom_id = 0;
  790 + item1.prom_id1 = 0
  791 + }
  792 +
  793 + //要把组合购的东西拿出来算一下,同时组合购的总数量要有存在
765 if (item1.prom_type == 7) { 794 if (item1.prom_type == 7) {
766 if (!th.data.zuhe_map_good[item1.prom_id]) { 795 if (!th.data.zuhe_map_good[item1.prom_id]) {
767 var isok = 1; 796 var isok = 1;
768 var is_flag = 1; 797 var is_flag = 1;
  798 + var store_count_ok=1;
769 //如果有组合购 799 //如果有组合购
770 var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item1.prom_id + '/' + getApp().globalData.userInfo.user_id; 800 var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item1.prom_id + '/' + getApp().globalData.userInfo.user_id;
771 await getApp().request.promiseGet(url, {}).then(res => { 801 await getApp().request.promiseGet(url, {}).then(res => {
@@ -778,39 +808,61 @@ Page({ @@ -778,39 +808,61 @@ Page({
778 isok = 0; 808 isok = 0;
779 } 809 }
780 item1.act = res.data.data; 810 item1.act = res.data.data;
781 - th.data.zhhe_act_map[item1.prom_id] = res.data.data; 811 +
  812 + //-- 在这里要判断一下活动的组合购总数量 --
  813 + if(item1.act.zh_num>0 && item1.act.zh_buy_num>=item1.act.zh_num){
  814 + store_count_ok = 0;
  815 + no_zh_num[item1.prom_id]=1;
  816 + //-- 清理一下活动的状态 --
  817 + item1.prom_type = 0;
  818 + item1.prom_type1 = 0;
  819 + item1.prom_id = 0;
  820 + item1.prom_id1 = 0
  821 +
  822 + }else{
  823 + th.data.zhhe_act_map[item1.prom_id] = res.data.data;
  824 + }
  825 +
782 } else { 826 } else {
783 //未找到商品的活动 827 //未找到商品的活动
784 is_flag = 0; 828 is_flag = 0;
785 } 829 }
786 }) 830 })
  831 +
787 if (!isok) { 832 if (!isok) {
788 getApp().my_warnning("组合购的活动已经过期", 0, th); 833 getApp().my_warnning("组合购的活动已经过期", 0, th);
789 return false; 834 return false;
790 } 835 }
791 - var url1 = "/api/weshop/prom/zhbuyGoods/page";  
792 - var req_data = {  
793 - page: 1,  
794 - pageSize: 2000,  
795 - store_id: os.stoid,  
796 - zh_id: item1.prom_id,  
797 - }  
798 - await getApp().request.promiseGet(url1, {  
799 - data: req_data  
800 - }).then(res => {  
801 - if (ut.ajax_ok(res)) {  
802 - var gdlist = res.data.data.pageData;  
803 - gdlist.forEach(i => {  
804 - if (item1.goods_id == i.goods_id && !is_flag) {  
805 - item1.prom_type = 0;  
806 - item1.prom_type1 = 0;  
807 - item1.prom_id = 0;  
808 - item1.prom_id1 = 0 836 +
  837 + //------ 先增组合活动的总数量的时候 -------
  838 + if(store_count_ok) {
  839 + var url1 = "/api/weshop/prom/zhbuyGoods/page";
  840 + var req_data = {
  841 + page: 1,
  842 + pageSize: 2000,
  843 + store_id: os.stoid,
  844 + zh_id: item1.prom_id,
  845 + }
  846 + await getApp().request.promiseGet(url1, {
  847 + data: req_data
  848 + }).then(res => {
  849 + if (ut.ajax_ok(res)) {
  850 + var gdlist = res.data.data.pageData;
  851 + gdlist.forEach(i => {
  852 + if (item1.goods_id == i.goods_id && !is_flag) {
  853 + item1.prom_type = 0;
  854 + item1.prom_type1 = 0;
  855 + item1.prom_id = 0;
  856 + item1.prom_id1 = 0
  857 + }
  858 + })
  859 + th.data.zuhe_map_good[item1.prom_id] = gdlist;
809 } 860 }
810 }) 861 })
811 - th.data.zuhe_map_good[item1.prom_id] = gdlist;  
812 - }  
813 - }) 862 + }
  863 +
  864 +
  865 +
814 } 866 }
815 else { 867 else {
816 item1.act = th.data.zhhe_act_map[item1.prom_id]; 868 item1.act = th.data.zhhe_act_map[item1.prom_id];
@@ -3982,6 +4034,7 @@ Page({ @@ -3982,6 +4034,7 @@ Page({
3982 4034
3983 var order_prom_list_cart = th.data.order_prom_list_cart; 4035 var order_prom_list_cart = th.data.order_prom_list_cart;
3984 4036
  4037 +
3985 //--组装推送数据-- 4038 //--组装推送数据--
3986 for (var i = 0; i < order_prom_list_cart.length; i++) { 4039 for (var i = 0; i < order_prom_list_cart.length; i++) {
3987 var t_item = order_prom_list_cart[i]; 4040 var t_item = order_prom_list_cart[i];
@@ -4119,6 +4172,8 @@ Page({ @@ -4119,6 +4172,8 @@ Page({
4119 var df_room_ids = ""; 4172 var df_room_ids = "";
4120 4173
4121 4174
  4175 + //此单的组合活动汇总
  4176 + var zh_map_count={};
4122 var check_map = {}; 4177 var check_map = {};
4123 let groupchat_ids=[] 4178 let groupchat_ids=[]
4124 //-------------让商品添加到商品列表-------------------- 4179 //-------------让商品添加到商品列表--------------------
@@ -4179,6 +4234,7 @@ Page({ @@ -4179,6 +4234,7 @@ Page({
4179 case 7: 4234 case 7:
4180 goods.prom_type = 7; 4235 goods.prom_type = 7;
4181 goods.prom_id = g_item.prom_id; 4236 goods.prom_id = g_item.prom_id;
  4237 + zh_map_count[g_item.prom_id]= (zh_map_count[g_item.prom_id]?zh_map_count[g_item.prom_id]:0)+goods.goods_num; //汇总一下组合购的活动
4182 break 4238 break
4183 default: 4239 default:
4184 goods.prom_type = 0; 4240 goods.prom_type = 0;
@@ -4264,7 +4320,27 @@ Page({ @@ -4264,7 +4320,27 @@ Page({
4264 } 4320 }
4265 4321
4266 4322
4267 - 4323 + //-- 如果订单中有组合购,要统计到倍增的情况 ---
  4324 + if(Object.keys(zh_map_count).length){
  4325 + var zhlist=[];
  4326 +
  4327 + for (var kf in zh_map_count) {
  4328 +
  4329 + var zh_act_th=th.data.zhhe_act_map[kf];
  4330 + var ite={zhid:kf,zhnum:1};
  4331 +
  4332 + if(zh_act_th.is_bz){
  4333 + if(zh_map_count[kf]>zh_act_th.zhbuyqty){
  4334 + ite.zhnum=zh_map_count[kf]/zh_act_th.zhbuyqty;
  4335 + }
  4336 + }
  4337 +
  4338 + zhlist.push(ite);
  4339 +
  4340 + }
  4341 +
  4342 + item.zhlist=zhlist;
  4343 + }
4268 4344
4269 //如果房间号不为空的时候 4345 //如果房间号不为空的时候
4270 if (room_ids != "") item.room_ids = ut.sub_last(room_ids); 4346 if (room_ids != "") item.room_ids = ut.sub_last(room_ids);
@@ -4364,6 +4440,8 @@ Page({ @@ -4364,6 +4440,8 @@ Page({
4364 } 4440 }
4365 4441
4366 var str = JSON.stringify(pdata); 4442 var str = JSON.stringify(pdata);
  4443 + console.log(str,'aaaaaaaaaaaaaaa');
  4444 + //return false;
4367 4445
4368 wx.showLoading({ title: "加载中" }); 4446 wx.showLoading({ title: "加载中" });
4369 th.setData({ submit: 1, }) 4447 th.setData({ submit: 1, })
@@ -5545,50 +5623,96 @@ Page({ @@ -5545,50 +5623,96 @@ Page({
5545 return !check; 5623 return !check;
5546 }, 5624 },
5547 //立即购买获取优惠活动的内容 5625 //立即购买获取优惠活动的内容
5548 - buy_now_prom_goods: function (prom_id, arr, func) { 5626 + buy_now_prom_goods: async function (prom_id, arr, func) {
5549 var th = this; 5627 var th = this;
5550 var price = arr.shop_price * arr.goods_num; 5628 var price = arr.shop_price * arr.goods_num;
5551 var prom = null; 5629 var prom = null;
5552 var gg = to.get_b_now(); 5630 var gg = to.get_b_now();
5553 - getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + prom_id, {}).then(res => { 5631 + getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + prom_id, {}).then( async res => {
5554 5632
5555 if (res.data.code == 0) { 5633 if (res.data.code == 0) {
5556 prom = res.data.data; 5634 prom = res.data.data;
5557 - let min_value = 0  
5558 - if (prom && prom.is_xz_yh) {  
5559 - let arr = prom.promGoodsList || []  
5560 - arr.map(item => {  
5561 - if (min_value) {  
5562 - min_value = item.condition  
5563 - } else {  
5564 - if (min_value < item.condition) {  
5565 - min_value = item.condition 5635 + if(prom && prom.limit_num*1){
  5636 + let user_pre_buynum=await th.getUserBuyPromNum_pre(prom.id)
  5637 + if (user_pre_buynum>=prom.limit_num) {
  5638 + arr.prom_price=null;
  5639 + arr.prom_id="";
  5640 + arr.prom_type="";
  5641 + if(prom.is_xz_yh){
  5642 + arr.is_xz_yh=prom.is_xz_yh
  5643 + }
  5644 + func(arr);
  5645 + }else{
  5646 + let min_value = 0
  5647 + if (prom && prom.is_xz_yh) {
  5648 + let arr = prom.promGoodsList || []
  5649 + arr.map(item => {
  5650 + if (min_value) {
  5651 + min_value = item.condition
  5652 + } else {
  5653 + if (min_value < item.condition) {
  5654 + min_value = item.condition
  5655 + }
  5656 + }
  5657 + })
  5658 + if (arr.length > 0) {
  5659 + if (arr[0].prom_type == 0) {
  5660 + if (price < min_value) {
  5661 + prom.is_xz_yh = 0
  5662 + }
  5663 + } else {
  5664 + if (arr.goods_num < min_value) {
  5665 + prom.is_xz_yh = 0
  5666 + }
  5667 + }
5566 } 5668 }
5567 } 5669 }
5568 - })  
5569 - if (arr.length > 0) {  
5570 - if (arr[0].prom_type == 0) {  
5571 - if (price < min_value) {  
5572 - prom.is_xz_yh = 0 5670 + return getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
  5671 + data: {
  5672 + price: parseFloat(price).toFixed(2),
  5673 + prom_id: prom_id,
  5674 + goods_num: arr.goods_num,
  5675 + user_id: getApp().globalData.user_id,
  5676 + is_bz: prom.is_bz
5573 } 5677 }
5574 - } else {  
5575 - if (arr.goods_num < min_value) {  
5576 - prom.is_xz_yh = 0 5678 + })
  5679 + }
  5680 + }else{
  5681 + let min_value = 0
  5682 + if (prom && prom.is_xz_yh) {
  5683 + let arr = prom.promGoodsList || []
  5684 + arr.map(item => {
  5685 + if (min_value) {
  5686 + min_value = item.condition
  5687 + } else {
  5688 + if (min_value < item.condition) {
  5689 + min_value = item.condition
  5690 + }
  5691 + }
  5692 + })
  5693 + if (arr.length > 0) {
  5694 + if (arr[0].prom_type == 0) {
  5695 + if (price < min_value) {
  5696 + prom.is_xz_yh = 0
  5697 + }
  5698 + } else {
  5699 + if (arr.goods_num < min_value) {
  5700 + prom.is_xz_yh = 0
  5701 + }
5577 } 5702 }
5578 } 5703 }
5579 } 5704 }
  5705 + //-------------------
  5706 + return getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
  5707 + data: {
  5708 + price: parseFloat(price).toFixed(2),
  5709 + prom_id: prom_id,
  5710 + goods_num: arr.goods_num,
  5711 + user_id: getApp().globalData.user_id,
  5712 + is_bz: prom.is_bz
  5713 + }
  5714 + })
5580 } 5715 }
5581 -  
5582 - //-------------------  
5583 - return getApp().request.promiseGet("/api/weshop/goods/getDiscount", {  
5584 - data: {  
5585 - price: parseFloat(price).toFixed(2),  
5586 - prom_id: prom_id,  
5587 - goods_num: arr.goods_num,  
5588 - user_id: getApp().globalData.user_id,  
5589 - is_bz: prom.is_bz  
5590 - }  
5591 - })  
5592 } else { 5716 } else {
5593 func(arr); 5717 func(arr);
5594 } 5718 }
@@ -5660,6 +5784,38 @@ Page({ @@ -5660,6 +5784,38 @@ Page({
5660 func(arr); 5784 func(arr);
5661 }) 5785 })
5662 }, 5786 },
  5787 + //优惠促销用户参与次数
  5788 + async getUserBuyPromNum_pre(prom_id){
  5789 + var userInfo = getApp().globalData.userInfo;
  5790 + var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`;
  5791 + let res = await getApp().request.promiseGet(url, {
  5792 + data:{}
  5793 + });
  5794 + let user_pre_buynum=0
  5795 + if(res.data.code==0 && res.data.data){
  5796 + user_pre_buynum=res.data.data.userbuynum
  5797 + }
  5798 + return user_pre_buynum
  5799 + },
  5800 + //获取优惠活动
  5801 + async getprom(item){
  5802 +
  5803 + let prom_id=item.prom_id
  5804 + let pickup_id=item.pick_id
  5805 + let limit_num=0
  5806 + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + oo.stoid + "/" + prom_id, {}).then(res => {
  5807 + if (res.data.code == 0) {
  5808 + let prom = res.data.data;
  5809 + limit_num =prom.limit_num
  5810 + let yh_is_xz_yh=this.data.yh_is_xz_yh
  5811 + yh_is_xz_yh[pickup_id]=prom.is_xz_yh
  5812 + this.setData({
  5813 + ['yh_is_xz_yh']:yh_is_xz_yh
  5814 + })
  5815 + }
  5816 + })
  5817 + return limit_num
  5818 + },
5663 //--检查订单优惠-- 5819 //--检查订单优惠--
5664 check_is_order_prom: function (condition, func, pick) { 5820 check_is_order_prom: function (condition, func, pick) {
5665 var th = this; 5821 var th = this;
@@ -5682,7 +5838,7 @@ Page({ @@ -5682,7 +5838,7 @@ Page({
5682 var pickid = item.pick_id; 5838 var pickid = item.pick_id;
5683 var map = th.data.prom_goods_map; 5839 var map = th.data.prom_goods_map;
5684 var obj = map[pickid]; 5840 var obj = map[pickid];
5685 - 5841 +
5686 if (map[pickid]) { 5842 if (map[pickid]) {
5687 if (map[pickid][item.prom_id]) { 5843 if (map[pickid][item.prom_id]) {
5688 5844
@@ -5701,6 +5857,7 @@ Page({ @@ -5701,6 +5857,7 @@ Page({
5701 5857
5702 } else { 5858 } else {
5703 var prom = null; 5859 var prom = null;
  5860 +
5704 await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { 5861 await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => {
5705 if (res.data.code == 0) { 5862 if (res.data.code == 0) {
5706 prom = res.data.data; 5863 prom = res.data.data;
@@ -5745,6 +5902,7 @@ Page({ @@ -5745,6 +5902,7 @@ Page({
5745 } else { 5902 } else {
5746 var ob = {}; 5903 var ob = {};
5747 var prom = null; 5904 var prom = null;
  5905 +
5748 await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { 5906 await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => {
5749 if (res.data.code == 0) { 5907 if (res.data.code == 0) {
5750 prom = res.data.data; 5908 prom = res.data.data;
packageE/pages/cart/cart2/cart2.wxml
@@ -241,7 +241,7 @@ @@ -241,7 +241,7 @@
241 </view> 241 </view>
242 242
243 <!-----使用优惠券------> 243 <!-----使用优惠券------>
244 - <view class="xc-coupon-frame flex-center" data-bn="0" bindtap="open_coupon_list" wx:if="{{(item.quan_list && item.quan_list.length>0) || get_by_quan_list_cart[item.pickup_id]!=null && item.can_num>0}}" data-cind="{{pidx}}" data-pickid="{{item.pickup_id}}"> 244 + <view class="xc-coupon-frame flex-center" data-bn="0" bindtap="open_coupon_list" wx:if="{{!(yh_is_xz_yh[item.pickup_id]) && ((item.quan_list && item.quan_list.length>0 ) || get_by_quan_list_cart[item.pickup_id]!=null && item.can_num>0)}}" data-cind="{{pidx}}" data-pickid="{{item.pickup_id}}">
245 <view class="work-frame flex-space-between"> 245 <view class="work-frame flex-space-between">
246 <view class="work">优惠券<text class="quan_num_show fs20">{{item.can_num}}张可用</text></view> 246 <view class="work">优惠券<text class="quan_num_show fs20">{{item.can_num}}张可用</text></view>
247 <view class="xc-right-frame"> 247 <view class="xc-right-frame">
packageE/pages/cart/cart2/ladder_calculate.js
@@ -43,6 +43,7 @@ module.exports = { @@ -43,6 +43,7 @@ module.exports = {
43 for (var j = 0; j < item.cart_num; j++) { 43 for (var j = 0; j < item.cart_num; j++) {
44 no_in_arr.push({ 44 no_in_arr.push({
45 price: item.goods_price, 45 price: item.goods_price,
  46 + goods_market_price:item.goods_market_price,
46 offline_price: item.offline_price, 47 offline_price: item.offline_price,
47 goods_id: item.goods_id, 48 goods_id: item.goods_id,
48 shop_price: item.shop_price, 49 shop_price: item.shop_price,
@@ -65,7 +66,7 @@ module.exports = { @@ -65,7 +66,7 @@ module.exports = {
65 if (no_in_arr.length == 0) break; 66 if (no_in_arr.length == 0) break;
66 let item_j =ladder_list[j]; 67 let item_j =ladder_list[j];
67 var end = no_in_arr.pop(); 68 var end = no_in_arr.pop();
68 - var new_price = parseInt(item_j.discount_field) == 1 ? end.shop_price : end.price; 69 + var new_price = parseInt(item_j.discount_field) == 2?end.goods_market_price:(parseInt(item_j.discount_field) == 1 ? end.shop_price : end.price);
69 var account=new_price * parseFloat(item_j.discount) / 10; 70 var account=new_price * parseFloat(item_j.discount) / 10;
70 aprice +=account; 71 aprice +=account;
71 72
@@ -240,7 +241,6 @@ module.exports = { @@ -240,7 +241,6 @@ module.exports = {
240 } 241 }
241 } 242 }
242 243
243 -  
244 } 244 }
245 } 245 }
246 246
packageE/pages/cart/cart2/zh_calculate.js
@@ -148,107 +148,118 @@ module.exports = { @@ -148,107 +148,118 @@ module.exports = {
148 no_in_arr.pop(); 148 no_in_arr.pop();
149 } 149 }
150 } 150 }
  151 +
151 //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 152 //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增
152 if (act.is_bz && no_in_arr.length >= act.zhbuyqty) { 153 if (act.is_bz && no_in_arr.length >= act.zhbuyqty) {
153 var bz_num_ok = 0; //超量倍增是否满足 154 var bz_num_ok = 0; //超量倍增是否满足
154 var zhqty_len = 0; //几个超量倍增 155 var zhqty_len = 0; //几个超量倍增
155 var delete_num=0; 156 var delete_num=0;
156 - let be = parseInt(no_in_arr.length / act.zhbuyqty); //看一下是几倍  
157 - if (act.is_bzyh && zhqty_bz.length > 0) {  
158 - if (zhqty_bz.length > 1) {  
159 - let zhqty_bz_arr = [];  
160 - let zhqty_bz_flag=this.zhqty_bz_fun(zhqty_bz,be,zhqty_bz_arr);  
161 - if (zhqty_bz_flag) {  
162 - for (let i = 0; i < zhqty_bz.length; i++) {  
163 - var vv = zhqty_bz[i];  
164 - for (let j = 0; j < be * vv['zhqty']; j++) {  
165 - let index = no_in_arr.findIndex(i => {  
166 - return vv.goods_id === i.goods_id  
167 - })  
168 - if (index > -1) {  
169 - delete_num++  
170 - no_in_arr.splice(index, 1) 157 +
  158 + //看一下是几倍
  159 + let be = parseInt(no_in_arr.length / act.zhbuyqty);
  160 + //如果有总数控制的时候
  161 + if(act.zh_num){
  162 + var be1=act.zh_num-act.zh_buy_num-1;
  163 + if(be1<be) be=be1;
  164 + }
  165 +
  166 + if(be) {
  167 + if (act.is_bzyh && zhqty_bz.length > 0) {
  168 + if (zhqty_bz.length > 1) {
  169 + let zhqty_bz_arr = [];
  170 + let zhqty_bz_flag = this.zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr);
  171 + if (zhqty_bz_flag) {
  172 + for (let i = 0; i < zhqty_bz.length; i++) {
  173 + var vv = zhqty_bz[i];
  174 + for (let j = 0; j < be * vv['zhqty']; j++) {
  175 + let index = no_in_arr.findIndex(i => {
  176 + return vv.goods_id === i.goods_id
  177 + })
  178 + if (index > -1) {
  179 + delete_num++
  180 + no_in_arr.splice(index, 1)
  181 + }
171 } 182 }
172 } 183 }
173 - }  
174 - } else {  
175 - zhqty_len=1;  
176 - let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) {  
177 - return o['num'];  
178 - }));  
179 - let new_arr = zhqty_bz_arr.filter(ii => {  
180 - return ii['num'] == min_bz_num;  
181 - })  
182 - var vv = new_arr[0];  
183 - var bz_num = be * new_arr[0].zhqty; //超量倍增  
184 - var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量  
185 - bz_num_ok = bz_num - num;  
186 - if (bz_num_ok <= 0) {  
187 - //超量倍增满足,超量倍增就等于倍数  
188 - bz_num_ok = bz_num;  
189 } else { 184 } else {
190 - //超量倍增不满足,倍数要减去多出得  
191 - // be=be-bz_num_ok;  
192 - if (num % vv.zhqty == 0) {  
193 - be = num / vv.zhqty; 185 + zhqty_len = 1;
  186 + let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) {
  187 + return o['num'];
  188 + }));
  189 + let new_arr = zhqty_bz_arr.filter(ii => {
  190 + return ii['num'] == min_bz_num;
  191 + })
  192 + var vv = new_arr[0];
  193 + var bz_num = be * new_arr[0].zhqty; //超量倍增
  194 + var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量
  195 + bz_num_ok = bz_num - num;
  196 + if (bz_num_ok <= 0) {
  197 + //超量倍增满足,超量倍增就等于倍数
  198 + bz_num_ok = bz_num;
194 } else { 199 } else {
195 - be = Math.floor(num / vv.zhqty) 200 + //超量倍增不满足,倍数要减去多出得
  201 + // be=be-bz_num_ok;
  202 + if (num % vv.zhqty == 0) {
  203 + be = num / vv.zhqty;
  204 + } else {
  205 + be = Math.floor(num / vv.zhqty)
  206 + }
  207 + bz_num_ok = be * vv.zhqty;
  208 + }
  209 +
  210 + for (let i = 0; i < zhqty_bz.length; i++) {
  211 + let item1 = zhqty_bz[i];
  212 + for (let j = 0; j < be * item1['zhqty']; j++) {
  213 + let index = no_in_arr.findIndex(i => {
  214 + return item1.goods_id === i.goods_id
  215 + })
  216 + if (index > -1) {
  217 + // delete_num++
  218 + no_in_arr.splice(index, 1)
  219 + }
  220 + }
196 } 221 }
197 - bz_num_ok = be * vv.zhqty; 222 + aprice += be * aprice;
198 } 223 }
199 -  
200 - for(let i = 0; i < zhqty_bz.length; i++){  
201 - let item1=zhqty_bz[i];  
202 - for (let j = 0; j < be * item1['zhqty']; j++) { 224 + } else {
  225 + var vv = zhqty_bz[0];
  226 + var bz_num = be * vv.zhqty; //超量倍增
  227 + var num = vv['num'] - vv.zhqty; //购买数量减去超量
  228 + if (num > 0) {
  229 + bz_num_ok = bz_num - num;
  230 + if (bz_num_ok <= 0) {
  231 + //超量倍增满足,超量倍增就等于倍数
  232 + bz_num_ok = bz_num;
  233 + } else {
  234 + //超量倍增不满足,倍数要减去多出得
  235 + // be=be-bz_num_ok;
  236 + if (num % vv.zhqty == 0) {
  237 + be = num / vv.zhqty;
  238 + } else {
  239 + be = Math.floor(num / vv.zhqty)
  240 + }
  241 + bz_num_ok = be * vv.zhqty;
  242 + }
  243 + for (let j = 0; j < bz_num_ok; j++) {
203 let index = no_in_arr.findIndex(i => { 244 let index = no_in_arr.findIndex(i => {
204 - return item1.goods_id === i.goods_id 245 + return vv.goods_id === i.goods_id
205 }) 246 })
206 if (index > -1) { 247 if (index > -1) {
207 - // delete_num++ 248 + delete_num++
208 no_in_arr.splice(index, 1) 249 no_in_arr.splice(index, 1)
209 } 250 }
210 } 251 }
211 - }  
212 - aprice += be * aprice;  
213 - }  
214 - } else {  
215 - var vv = zhqty_bz[0];  
216 - var bz_num = be * vv.zhqty; //超量倍增  
217 - var num = vv['num'] - vv.zhqty; //购买数量减去超量  
218 - if (num > 0) {  
219 - bz_num_ok = bz_num - num;  
220 - if (bz_num_ok <= 0) {  
221 - //超量倍增满足,超量倍增就等于倍数  
222 - bz_num_ok = bz_num;  
223 } else { 252 } else {
224 - //超量倍增不满足,倍数要减去多出得  
225 - // be=be-bz_num_ok;  
226 - if (num % vv.zhqty == 0) {  
227 - be = num / vv.zhqty;  
228 - } else {  
229 - be = Math.floor(num / vv.zhqty)  
230 - }  
231 - bz_num_ok = be * vv.zhqty;  
232 - }  
233 - for (let j = 0; j < bz_num_ok; j++) {  
234 - let index = no_in_arr.findIndex(i => {  
235 - return vv.goods_id === i.goods_id  
236 - })  
237 - if (index > -1) {  
238 - delete_num++  
239 - no_in_arr.splice(index, 1)  
240 - } 253 + zhqty_len = 1;
241 } 254 }
242 - } else {  
243 - zhqty_len = 1;  
244 } 255 }
245 } 256 }
246 - }  
247 - if (!zhqty_len) {  
248 - aprice += be * act.zhprice;  
249 - let pop_num = be * act.zhbuyqty - delete_num;  
250 - for (var m = 0; m < pop_num; m++) {  
251 - no_in_arr.pop(); 257 + if (!zhqty_len) {
  258 + aprice += be * act.zhprice;
  259 + let pop_num = be * act.zhbuyqty - delete_num;
  260 + for (var m = 0; m < pop_num; m++) {
  261 + no_in_arr.pop();
  262 + }
252 } 263 }
253 } 264 }
254 265
packageE/pages/user/nick_avatar/nick_avatar.js
@@ -56,57 +56,60 @@ Page({ @@ -56,57 +56,60 @@ Page({
56 save_data() { 56 save_data() {
57 57
58 var that=this; 58 var that=this;
  59 + setTimeout(()=>{
  60 + if (!this.data.ob.head_pic) {
  61 + wx.showToast({
  62 + title: '请选择头像',
  63 + icon: 'none',
  64 + duration: 2000
  65 + });
  66 + return false;
  67 + }
59 68
60 - if (!this.data.ob.head_pic) {  
61 - wx.showToast({  
62 - title: '请选择头像',  
63 - icon: 'none',  
64 - duration: 2000  
65 - });  
66 - return false;  
67 - }  
68 -  
69 - if (!this.data.ob.nickname) {  
70 - wx.showToast({  
71 - title: '请输入昵称',  
72 - icon: 'none',  
73 - duration: 2000 69 + if (!this.data.ob.nickname) {
  70 + wx.showToast({
  71 + title: '请输入昵称',
  72 + icon: 'none',
  73 + duration: 2000
  74 + });
  75 + return false;
  76 + }
  77 +
  78 + if (this.data.load) return false;
  79 + this.setData({load: 1})
  80 +
  81 + wx.showLoading();
  82 +
  83 + getApp().request.put("/api/weshop/users/update", {
  84 + data: {
  85 + store_id: os.stoid,
  86 + user_id: getApp().globalData.user_id,
  87 + nickname: this.data.ob.nickname,
  88 + head_pic: this.data.ob.head_pic
  89 +
  90 + },
  91 + success: function (su) {
  92 +
  93 + setTimeout(()=>{
  94 + wx.hideLoading();
  95 + if (su.data.code == 0) {
  96 + wx.navigateBack({delta: 1})
  97 + }else{
  98 + that.setData({load: 0})
  99 + wx.showToast({
  100 + title: su.data.msg,
  101 + icon: 'none',
  102 + duration: 2000
  103 + });
  104 + }
  105 + },1000)
  106 +
  107 +
  108 + }
74 }); 109 });
75 - return false;  
76 - }  
77 -  
78 - if (this.data.load) return false;  
79 - this.setData({load: 1})  
80 -  
81 -  
82 - wx.showLoading();  
83 - getApp().request.put("/api/weshop/users/update", {  
84 - data: {  
85 - store_id: os.stoid,  
86 - user_id: getApp().globalData.user_id,  
87 - nickname: this.data.ob.nickname,  
88 - head_pic: this.data.ob.head_pic  
89 -  
90 - },  
91 - success: function (su) {  
92 -  
93 - setTimeout(()=>{  
94 - wx.hideLoading();  
95 - if (su.data.code == 0) {  
96 - wx.navigateBack({delta: 1})  
97 - }else{  
98 - that.setData({load: 0})  
99 - wx.showToast({  
100 - title: su.data.msg,  
101 - icon: 'none',  
102 - duration: 2000  
103 - });  
104 - }  
105 - },1000) 110 + },500)
106 111
107 112
108 - }  
109 - });  
110 } 113 }
111 114
112 115
pages/cart/cart/cart.js
@@ -548,7 +548,80 @@ Page({ @@ -548,7 +548,80 @@ Page({
548 }) 548 })
549 item.goods_num = cbuy; 549 item.goods_num = cbuy;
550 } 550 }
551 - 551 +
  552 + //-- 如果有优惠促销,和阶梯促销,要看下有没有组合购,搭配购,看一下优惠促销和阶梯促销谁是指定商品参与的 --
  553 + if(item.prom_type==0 || item.prom_type==3 || item.prom_type==10){
  554 +
  555 + var c_prom_type=0;
  556 + var c_prom_id=0;
  557 +
  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 + }
  594 +
  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 + }
  603 +
  604 + }
  605 + })
  606 +
  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 + }
  624 +
552 //判断如果是普通商品,后面参加活动了,变成失效商品 625 //判断如果是普通商品,后面参加活动了,变成失效商品
553 if (item.prom_type == 0 ) { 626 if (item.prom_type == 0 ) {
554 627
@@ -838,6 +911,10 @@ Page({ @@ -838,6 +911,10 @@ Page({
838 if (ut.gettimestamp() < res.data.data.start_time) { 911 if (ut.gettimestamp() < res.data.data.start_time) {
839 isok = 0; 912 isok = 0;
840 } 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 +
841 act = res.data.data; 918 act = res.data.data;
842 919
843 } else { 920 } else {
@@ -3837,12 +3914,19 @@ Page({ @@ -3837,12 +3914,19 @@ Page({
3837 if (th.data.promgoods_map[p_item[0]]) { 3914 if (th.data.promgoods_map[p_item[0]]) {
3838 prom = th.data.promgoods_map[p_item[0]]; 3915 prom = th.data.promgoods_map[p_item[0]];
3839 } else { 3916 } else {
  3917 +
3840 await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + p_item[0], {}).then(res => { 3918 await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + p_item[0], {}).then(res => {
3841 if (res.data.code == 0) { 3919 if (res.data.code == 0) {
3842 prom = res.data.data; 3920 prom = res.data.data;
3843 } 3921 }
3844 }) 3922 })
3845 } 3923 }
  3924 + let limit_num=0
  3925 + let user_pre_buynum=0
  3926 + if (prom && prom.limit_num) {
  3927 + limit_num=prom.limit_num;
  3928 + user_pre_buynum = await this.getUserBuyPromNum_pre(prom.id)
  3929 + }
3846 //如果活动已经结束 3930 //如果活动已经结束
3847 if (!prom || prom.is_end || prom.end_time < ut.gettimestamp()) { 3931 if (!prom || prom.is_end || prom.end_time < ut.gettimestamp()) {
3848 for (var ii in list.goods) { 3932 for (var ii in list.goods) {
@@ -3856,7 +3940,7 @@ Page({ @@ -3856,7 +3940,7 @@ Page({
3856 } 3940 }
3857 continue; 3941 continue;
3858 } 3942 }
3859 - 3943 +
3860 if (!th.data.promgoods_map[p_item[0]]) th.data.promgoods_map[p_item[0]] = prom; 3944 if (!th.data.promgoods_map[p_item[0]]) th.data.promgoods_map[p_item[0]] = prom;
3861 //---读取打折的详情--- 3945 //---读取打折的详情---
3862 var ob = p_item[1]; 3946 var ob = p_item[1];
@@ -3880,36 +3964,37 @@ Page({ @@ -3880,36 +3964,37 @@ Page({
3880 if (!promgoods_list) continue; 3964 if (!promgoods_list) continue;
3881 th.data.promgoods_list[p_item[0]] = promgoods_list; 3965 th.data.promgoods_list[p_item[0]] = promgoods_list;
3882 } 3966 }
3883 -  
3884 - for (var i in promgoods_list) {  
3885 - var item = promgoods_list[i];  
3886 - if (item.prom_type == 0) {  
3887 - if (ob.price < item.condition) {  
3888 - var elem = {  
3889 - prom_id: prom.id,  
3890 - diff_type: item.prom_type,  
3891 - diff: (item.condition - ob.price).toFixed(2),  
3892 - content: JSON.parse(item.preferential_type) 3967 +
  3968 + if (!limit_num || user_pre_buynum<limit_num) {
  3969 + for (var i in promgoods_list) {
  3970 + var item = promgoods_list[i];
  3971 + if (item.prom_type == 0) {
  3972 + if (ob.price < item.condition) {
  3973 + var elem = {
  3974 + prom_id: prom.id,
  3975 + diff_type: item.prom_type,
  3976 + diff: (item.condition - ob.price).toFixed(2),
  3977 + content: JSON.parse(item.preferential_type)
  3978 + }
  3979 + make_up_arr.push(elem);
  3980 + break;
3893 } 3981 }
3894 - make_up_arr.push(elem);  
3895 - break;  
3896 - }  
3897 - } else {  
3898 - if (ob.num < item.condition) {  
3899 - var elem = {  
3900 - prom_id: prom.id,  
3901 - diff_type: item.prom_type,  
3902 - diff: (item.condition - ob.num).toFixed(2),  
3903 - content: JSON.parse(item.preferential_type) 3982 + } else {
  3983 + if (ob.num < item.condition) {
  3984 + var elem = {
  3985 + prom_id: prom.id,
  3986 + diff_type: item.prom_type,
  3987 + diff: (item.condition - ob.num).toFixed(2),
  3988 + content: JSON.parse(item.preferential_type)
  3989 + }
  3990 + make_up_arr.push(elem);
  3991 + break;
3904 } 3992 }
3905 - make_up_arr.push(elem);  
3906 - break;  
3907 } 3993 }
3908 } 3994 }
3909 } 3995 }
3910 3996
3911 3997
3912 -  
3913 //-- 只有在单赠品的时候,才要进行计算 -- 3998 //-- 只有在单赠品的时候,才要进行计算 --
3914 await getApp().request.promiseGet("/api/weshop/goods/getDiscount", { 3999 await getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
3915 data: { 4000 data: {
@@ -4059,7 +4144,19 @@ Page({ @@ -4059,7 +4144,19 @@ Page({
4059 } 4144 }
4060 4145
4061 }, 4146 },
4062 - 4147 + //优惠促销用户参与次数
  4148 + async getUserBuyPromNum_pre(prom_id){
  4149 + var userInfo = getApp().globalData.userInfo;
  4150 + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`;
  4151 + let res = await getApp().request.promiseGet(url, {
  4152 + data:{}
  4153 + });
  4154 + let user_pre_buynum=0
  4155 + if(res.data.code==0 && res.data.data){
  4156 + user_pre_buynum=res.data.data.userbuynum
  4157 + }
  4158 + return user_pre_buynum
  4159 + },
4063 async all_check_prom_activity() { 4160 async all_check_prom_activity() {
4064 this.data.duo_zp_num_arr = {}; 4161 this.data.duo_zp_num_arr = {};
4065 for (var i in this.data.requestData) { 4162 for (var i in this.data.requestData) {
@@ -4146,6 +4243,12 @@ Page({ @@ -4146,6 +4243,12 @@ Page({
4146 } 4243 }
4147 }) 4244 })
4148 } 4245 }
  4246 + let limit_num=0
  4247 + let user_pre_buynum=0
  4248 + if (prom && prom.limit_num) {
  4249 + limit_num=prom.limit_num;
  4250 + user_pre_buynum = await this.getUserBuyPromNum_pre(prom.id)
  4251 + }
4149 //如果活动已经结束 4252 //如果活动已经结束
4150 if (!prom || prom.is_end || prom.end_time < ut.gettimestamp()) { 4253 if (!prom || prom.is_end || prom.end_time < ut.gettimestamp()) {
4151 for (var ii in list.goods) { 4254 for (var ii in list.goods) {
@@ -4159,7 +4262,7 @@ Page({ @@ -4159,7 +4262,7 @@ Page({
4159 } 4262 }
4160 continue; 4263 continue;
4161 } 4264 }
4162 - 4265 +
4163 if (!th.data.promgoods_map[p_item[0]]) th.data.promgoods_map[p_item[0]] = prom; 4266 if (!th.data.promgoods_map[p_item[0]]) th.data.promgoods_map[p_item[0]] = prom;
4164 //---读取打折的详情--- 4267 //---读取打折的详情---
4165 var ob = p_item[1]; 4268 var ob = p_item[1];
@@ -4183,30 +4286,31 @@ Page({ @@ -4183,30 +4286,31 @@ Page({
4183 if (!promgoods_list) continue; 4286 if (!promgoods_list) continue;
4184 th.data.promgoods_list[p_item[0]] = promgoods_list; 4287 th.data.promgoods_list[p_item[0]] = promgoods_list;
4185 } 4288 }
4186 -  
4187 - for (var i in promgoods_list) {  
4188 - var item = promgoods_list[i];  
4189 - if (item.prom_type == 0) {  
4190 - if (ob.price < item.condition) {  
4191 - var elem = {  
4192 - prom_id: prom.id,  
4193 - diff_type: item.prom_type,  
4194 - diff: (item.condition - ob.price).toFixed(2),  
4195 - content: JSON.parse(item.preferential_type) 4289 + if (!limit_num || user_pre_buynum<limit_num) {
  4290 + for (var i in promgoods_list) {
  4291 + var item = promgoods_list[i];
  4292 + if (item.prom_type == 0) {
  4293 + if (ob.price < item.condition) {
  4294 + var elem = {
  4295 + prom_id: prom.id,
  4296 + diff_type: item.prom_type,
  4297 + diff: (item.condition - ob.price).toFixed(2),
  4298 + content: JSON.parse(item.preferential_type)
  4299 + }
  4300 + make_up_arr.push(elem);
  4301 + break;
4196 } 4302 }
4197 - make_up_arr.push(elem);  
4198 - break;  
4199 - }  
4200 - } else {  
4201 - if (ob.num < item.condition) {  
4202 - var elem = {  
4203 - prom_id: prom.id,  
4204 - diff_type: item.prom_type,  
4205 - diff: (item.condition - ob.num).toFixed(2),  
4206 - content: JSON.parse(item.preferential_type) 4303 + } else {
  4304 + if (ob.num < item.condition) {
  4305 + var elem = {
  4306 + prom_id: prom.id,
  4307 + diff_type: item.prom_type,
  4308 + diff: (item.condition - ob.num).toFixed(2),
  4309 + content: JSON.parse(item.preferential_type)
  4310 + }
  4311 + make_up_arr.push(elem);
  4312 + break;
4207 } 4313 }
4208 - make_up_arr.push(elem);  
4209 - break;  
4210 } 4314 }
4211 } 4315 }
4212 } 4316 }
pages/cart/cart/ladder_calculate.js
@@ -107,7 +107,7 @@ module.exports = { @@ -107,7 +107,7 @@ module.exports = {
107 all_num += item.cart_num; 107 all_num += item.cart_num;
108 for (var j = 0; j < item.cart_num; j++) { 108 for (var j = 0; j < item.cart_num; j++) {
109 no_in_arr.push({ 109 no_in_arr.push({
110 - price: item.goods_price,offline_price:item.offline_price,goods_id:item.goods_id,shop_price:item.shop_price 110 + price: item.goods_price,offline_price:item.offline_price,goods_id:item.goods_id,shop_price:item.shop_price,goods_market_price:item.goods_market_price
111 }) 111 })
112 } 112 }
113 } 113 }
@@ -123,7 +123,7 @@ module.exports = { @@ -123,7 +123,7 @@ module.exports = {
123 if(no_in_arr.length==0) break; 123 if(no_in_arr.length==0) break;
124 let item_j=act.ladder_list[j]; 124 let item_j=act.ladder_list[j];
125 var end=no_in_arr.pop(); 125 var end=no_in_arr.pop();
126 - var new_price=parseInt(item_j.discount_field)==1?end.shop_price:end.price; 126 + var new_price = parseInt(item_j.discount_field) == 2?end.goods_market_price:(parseInt(item_j.discount_field) == 1 ? end.shop_price : end.price);
127 aprice+=new_price* parseFloat(item_j.discount)/10; 127 aprice+=new_price* parseFloat(item_j.discount)/10;
128 lev++; 128 lev++;
129 } 129 }
pages/cart/cart/zh_calculate.js
@@ -239,105 +239,115 @@ module.exports = { @@ -239,105 +239,115 @@ module.exports = {
239 var delete_num = 0; 239 var delete_num = 0;
240 var zhqty_len = 0; //几个超量倍增 240 var zhqty_len = 0; //几个超量倍增
241 var be = parseInt(no_in_arr.length / act.zhbuyqty); //看一下是几倍 241 var be = parseInt(no_in_arr.length / act.zhbuyqty); //看一下是几倍
242 - if (act.is_bzyh && zhqty_bz.length > 0) {  
243 - if (zhqty_bz.length > 1) {  
244 - let zhqty_bz_arr = [];  
245 - let zhqty_bz_flag=this.zhqty_bz_fun(zhqty_bz,be,zhqty_bz_arr);  
246 -  
247 - if (zhqty_bz_flag) {  
248 - for (let i = 0; i < zhqty_bz.length; i++) {  
249 - var vv = zhqty_bz[i];  
250 - for (let j = 0; j < be * vv['zhqty']; j++) {  
251 - let index = no_in_arr.findIndex(i => {  
252 - return vv.goods_id === i.goods_id  
253 - })  
254 - if (index > -1) {  
255 - delete_num++  
256 - no_in_arr.splice(index, 1) 242 +
  243 + //如果有总数控制的时候
  244 + if(act.zh_num){
  245 + var be1=act.zh_num-act.zh_buy_num-1;
  246 + if(be1<be) be=be1;
  247 + }
  248 +
  249 + if(be){
  250 + if (act.is_bzyh && zhqty_bz.length > 0) {
  251 + if (zhqty_bz.length > 1) {
  252 + let zhqty_bz_arr = [];
  253 + let zhqty_bz_flag=this.zhqty_bz_fun(zhqty_bz,be,zhqty_bz_arr);
  254 +
  255 + if (zhqty_bz_flag) {
  256 + for (let i = 0; i < zhqty_bz.length; i++) {
  257 + var vv = zhqty_bz[i];
  258 + for (let j = 0; j < be * vv['zhqty']; j++) {
  259 + let index = no_in_arr.findIndex(i => {
  260 + return vv.goods_id === i.goods_id
  261 + })
  262 + if (index > -1) {
  263 + delete_num++
  264 + no_in_arr.splice(index, 1)
  265 + }
257 } 266 }
258 } 267 }
259 - }  
260 - } else {  
261 - zhqty_len=1;  
262 - let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) {  
263 - return o['num'];  
264 - }));  
265 - let new_arr = zhqty_bz_arr.filter(ii => {  
266 - return ii['num'] == min_bz_num;  
267 - })  
268 - var vv = new_arr[0];  
269 - var bz_num = be * new_arr[0].zhqty; //超量倍增  
270 - var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量  
271 - bz_num_ok = bz_num - num;  
272 - if (bz_num_ok <= 0) {  
273 - //超量倍增满足,超量倍增就等于倍数  
274 - bz_num_ok = bz_num;  
275 } else { 268 } else {
276 - //超量倍增不满足,倍数要减去多出得  
277 - // be=be-bz_num_ok;  
278 - if (num % vv.zhqty == 0) {  
279 - be = num / vv.zhqty; 269 + zhqty_len=1;
  270 + let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) {
  271 + return o['num'];
  272 + }));
  273 + let new_arr = zhqty_bz_arr.filter(ii => {
  274 + return ii['num'] == min_bz_num;
  275 + })
  276 + var vv = new_arr[0];
  277 + var bz_num = be * new_arr[0].zhqty; //超量倍增
  278 + var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量
  279 + bz_num_ok = bz_num - num;
  280 + if (bz_num_ok <= 0) {
  281 + //超量倍增满足,超量倍增就等于倍数
  282 + bz_num_ok = bz_num;
280 } else { 283 } else {
281 - be = Math.floor(num / vv.zhqty) 284 + //超量倍增不满足,倍数要减去多出得
  285 + // be=be-bz_num_ok;
  286 + if (num % vv.zhqty == 0) {
  287 + be = num / vv.zhqty;
  288 + } else {
  289 + be = Math.floor(num / vv.zhqty)
  290 + }
  291 + bz_num_ok = be * vv.zhqty;
  292 + }
  293 +
  294 + for(let i = 0; i < zhqty_bz.length; i++){
  295 + let item1=zhqty_bz[i];
  296 + for (let j = 0; j < be * item1['zhqty']; j++) {
  297 + let index = no_in_arr.findIndex(i => {
  298 + return item1.goods_id === i.goods_id
  299 + })
  300 + if (index > -1) {
  301 + // delete_num++
  302 + no_in_arr.splice(index, 1)
  303 + }
  304 + }
282 } 305 }
283 - bz_num_ok = be * vv.zhqty; 306 + aprice += be * aprice;
284 } 307 }
285 -  
286 - for(let i = 0; i < zhqty_bz.length; i++){  
287 - let item1=zhqty_bz[i];  
288 - for (let j = 0; j < be * item1['zhqty']; j++) { 308 + } else {
  309 + var vv = zhqty_bz[0];
  310 + var bz_num = be * vv.zhqty; //超量倍增
  311 + var num = vv['num'] - vv.zhqty; //购买数量减去超量
  312 + if (num > 0) {
  313 + bz_num_ok = bz_num - num;
  314 + if (bz_num_ok <= 0) {
  315 + //超量倍增满足,超量倍增就等于倍数
  316 + bz_num_ok = bz_num;
  317 + } else {
  318 + //超量倍增不满足,倍数要减去多出得
  319 + // be=be-bz_num_ok;
  320 + if (num % vv.zhqty == 0) {
  321 + be = num / vv.zhqty;
  322 + } else {
  323 + be = Math.floor(num / vv.zhqty)
  324 + }
  325 + bz_num_ok = be * vv.zhqty;
  326 + }
  327 + for (let j = 0; j < bz_num_ok; j++) {
289 let index = no_in_arr.findIndex(i => { 328 let index = no_in_arr.findIndex(i => {
290 - return item1.goods_id === i.goods_id 329 + return vv.goods_id === i.goods_id
291 }) 330 })
292 if (index > -1) { 331 if (index > -1) {
293 - // delete_num++ 332 + delete_num++
294 no_in_arr.splice(index, 1) 333 no_in_arr.splice(index, 1)
295 } 334 }
296 } 335 }
297 - }  
298 - aprice += be * aprice;  
299 - }  
300 - } else {  
301 - var vv = zhqty_bz[0];  
302 - var bz_num = be * vv.zhqty; //超量倍增  
303 - var num = vv['num'] - vv.zhqty; //购买数量减去超量  
304 - if (num > 0) {  
305 - bz_num_ok = bz_num - num;  
306 - if (bz_num_ok <= 0) {  
307 - //超量倍增满足,超量倍增就等于倍数  
308 - bz_num_ok = bz_num;  
309 } else { 336 } else {
310 - //超量倍增不满足,倍数要减去多出得  
311 - // be=be-bz_num_ok;  
312 - if (num % vv.zhqty == 0) {  
313 - be = num / vv.zhqty;  
314 - } else {  
315 - be = Math.floor(num / vv.zhqty)  
316 - }  
317 - bz_num_ok = be * vv.zhqty;  
318 - }  
319 - for (let j = 0; j < bz_num_ok; j++) {  
320 - let index = no_in_arr.findIndex(i => {  
321 - return vv.goods_id === i.goods_id  
322 - })  
323 - if (index > -1) {  
324 - delete_num++  
325 - no_in_arr.splice(index, 1)  
326 - } 337 + zhqty_len = 1;
327 } 338 }
328 - } else {  
329 - zhqty_len = 1;  
330 } 339 }
331 } 340 }
332 - }  
333 341
334 - if (!zhqty_len) {  
335 - aprice += be * act.zhprice;  
336 - let pop_num = be * act.zhbuyqty - delete_num;  
337 - for (var m = 0; m < pop_num; m++) {  
338 - no_in_arr.pop(); 342 + if (!zhqty_len) {
  343 + aprice += be * act.zhprice;
  344 + let pop_num = be * act.zhbuyqty - delete_num;
  345 + for (var m = 0; m < pop_num; m++) {
  346 + no_in_arr.pop();
  347 + }
339 } 348 }
340 } 349 }
  350 +
341 } 351 }
342 //算一下剩余的钱 352 //算一下剩余的钱
343 if (no_in_arr.length) { 353 if (no_in_arr.length) {
pages/goods/goodsInfo/goodsInfo.js
@@ -267,6 +267,7 @@ Page({ @@ -267,6 +267,7 @@ Page({
267 base_nor_prom_type:0, 267 base_nor_prom_type:0,
268 base_nor_prom_id:0, 268 base_nor_prom_id:0,
269 base_nor_goods_id:0, 269 base_nor_goods_id:0,
  270 + user_pre_buynum:0, //用户优惠促销参与次数
270 }, 271 },
271 272
272 //------初始化加载---------- 273 //------初始化加载----------
@@ -1540,7 +1541,21 @@ Page({ @@ -1540,7 +1541,21 @@ Page({
1540 }) 1541 })
1541 // return userbuynum 1542 // return userbuynum
1542 }, 1543 },
1543 - 1544 + //优惠促销用户参与次数
  1545 + async getUserBuyPromNum_pre(prom_id){
  1546 + var userInfo = getApp().globalData.userInfo;
  1547 + var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`;
  1548 + let res = await getApp().request.promiseGet(url, {
  1549 + data:{}
  1550 + });
  1551 + let user_pre_buynum=0
  1552 + if(res.data.code==0 && res.data.data){
  1553 + user_pre_buynum=res.data.data.userbuynum
  1554 + }
  1555 + this.setData({
  1556 + user_pre_buynum
  1557 + })
  1558 + },
1544 //-- 加入购物的函数 -- 1559 //-- 加入购物的函数 --
1545 add_cart_func: function (t) { 1560 add_cart_func: function (t) {
1546 var i = getApp().request; 1561 var i = getApp().request;
@@ -1973,7 +1988,7 @@ Page({ @@ -1973,7 +1988,7 @@ Page({
1973 } 1988 }
1974 1989
1975 //如果有搭配购的时候的时候 1990 //如果有搭配购的时候的时候
1976 - if(th.data.zh_act && newd.prom_type==0){ 1991 + if(th.data.zh_act && (!th.data.zh_act.zh_num || th.data.zh_act.zh_buy_num>th.data.zh_act.zh_num ) && newd.prom_type==0){
1977 newd.prom_type = 7; 1992 newd.prom_type = 7;
1978 newd.prom_id = th.data.zh_act.id; 1993 newd.prom_id = th.data.zh_act.id;
1979 } 1994 }
@@ -7461,7 +7476,7 @@ Page({ @@ -7461,7 +7476,7 @@ Page({
7461 getApp().pre_img(this.data.sele_g.original_img); 7476 getApp().pre_img(this.data.sele_g.original_img);
7462 }, 7477 },
7463 7478
7464 - is_show_more_buy: function () { 7479 + is_show_more_buy: async function () {
7465 var prom_goods = this.data.prom_goods; 7480 var prom_goods = this.data.prom_goods;
7466 var per_price = this.data.sele_g.shop_price 7481 var per_price = this.data.sele_g.shop_price
7467 if (this.data.card_field && this.data.sele_g[this.data.card_field] > 0) { 7482 if (this.data.card_field && this.data.sele_g[this.data.card_field] > 0) {
@@ -7485,7 +7500,10 @@ Page({ @@ -7485,7 +7500,10 @@ Page({
7485 } 7500 }
7486 } 7501 }
7487 } 7502 }
7488 - 7503 + //获取用户参与优惠促销的次数
  7504 + if(con && con.prom_id){
  7505 + await this.getUserBuyPromNum_pre(con.prom_id);
  7506 + }
7489 this.setData({ 7507 this.setData({
7490 hui_condition: con 7508 hui_condition: con
7491 }); 7509 });
@@ -7724,6 +7742,11 @@ Page({ @@ -7724,6 +7742,11 @@ Page({
7724 isok = 0; 7742 isok = 0;
7725 } 7743 }
7726 7744
  7745 + //还未开始
  7746 + if (res.data.data.zh_num>0 && res.data.data.zh_num<=res.data.data.zh_buy_num ) {
  7747 + isok = 0;
  7748 + }
  7749 +
7727 } else { 7750 } else {
7728 //未找到商品的活动 7751 //未找到商品的活动
7729 isok = 0; 7752 isok = 0;
pages/goods/goodsInfo/goodsInfo.wxml
@@ -507,7 +507,7 @@ @@ -507,7 +507,7 @@
507 <view class="fs28 f1" wx:for="{{prom_goods}}"> 507 <view class="fs28 f1" wx:for="{{prom_goods}}">
508 <view> 508 <view>
509 <text class="prom_condition"> 509 <text class="prom_condition">
510 - <text class="fill-box">消费满{{item.condition}}{{item.prom_type==1 ? '件':'元'}}</text>享优惠 510 + <text class="fill-box">消费满{{item.condition}}{{item.prom_type==1 ? '件':'元'}}</text>享优惠(每人{{item.limit_num ? '限参与'+item.limit_num+'次' : '参与不限次' }})
511 </text> 511 </text>
512 </view> 512 </view>
513 513
@@ -1346,7 +1346,7 @@ @@ -1346,7 +1346,7 @@
1346 </view> 1346 </view>
1347 </view> 1347 </view>
1348 <!-- 提示再买多少优惠 --> 1348 <!-- 提示再买多少优惠 -->
1349 - <view style="margin-top: 35rpx;color:#333;font-size:28rpx;" wx:if="{{hui_condition && openSpecModal_ind==2}}"> 1349 + <view style="margin-top: 35rpx;color:#333;font-size:28rpx;" wx:if="{{hui_condition && openSpecModal_ind==2 && (!hui_condition.limit_num || user_pre_buynum<hui_condition.limit_num)}}">
1350 再买{{hui_condition.need}} 1350 再买{{hui_condition.need}}
1351 <text wx:if="{{hui_condition.money}}">,免{{hui_condition.money}}元</text> 1351 <text wx:if="{{hui_condition.money}}">,免{{hui_condition.money}}元</text>
1352 <text wx:if="{{hui_condition.sale}}">,打{{hui_condition.sale}}折</text> 1352 <text wx:if="{{hui_condition.sale}}">,打{{hui_condition.sale}}折</text>
pages/goods/goodsList/goodsList.js
@@ -41,6 +41,7 @@ Page({ @@ -41,6 +41,7 @@ Page({
41 fil_nation_state:0, 41 fil_nation_state:0,
42 fil_brand_state:0, 42 fil_brand_state:0,
43 fil_price_state:0, 43 fil_price_state:0,
  44 + limit_num:0,
44 }, 45 },
45 46
46 onLoad: function(t) { 47 onLoad: function(t) {
@@ -125,6 +126,9 @@ Page({ @@ -125,6 +126,9 @@ Page({
125 th.set_prom_list(arr); 126 th.set_prom_list(arr);
126 } 127 }
127 }) 128 })
  129 + if (t.prom_id) {
  130 + this.getprom(t.prom_id)
  131 + }
128 } 132 }
129 133
130 //--- 阶梯优惠活动的凑单 --- 134 //--- 阶梯优惠活动的凑单 ---
@@ -236,7 +240,18 @@ Page({ @@ -236,7 +240,18 @@ Page({
236 onShow:function () { 240 onShow:function () {
237 getApp().check_can_share(); 241 getApp().check_can_share();
238 }, 242 },
239 - 243 + //获取优惠活动
  244 + async getprom(prom_id){
  245 + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + oo.stoid + "/" + prom_id, {}).then(res => {
  246 + if (res.data.code == 0) {
  247 + let prom = res.data.data;
  248 + let limit_num =prom.limit_num
  249 + this.setData({
  250 + limit_num
  251 + })
  252 + }
  253 + })
  254 + },
240 //设置优惠券的 255 //设置优惠券的
241 set_prom_list:async function(arr){ 256 set_prom_list:async function(arr){
242 var th=this; 257 var th=this;
pages/goods/goodsList/goodsList.wxml
1 <wxs module="g_filter" src="../search/g_filter.wxs"></wxs> 1 <wxs module="g_filter" src="../search/g_filter.wxs"></wxs>
2 <view class="container" wx:if="{{show_all}}"> 2 <view class="container" wx:if="{{show_all}}">
3 <view> 3 <view>
  4 +
4 <block wx:for="{{prom_goods_list}}"> 5 <block wx:for="{{prom_goods_list}}">
5 <view class="fs30 ellipsis-1" style="padding: 20rpx 30rpx"> 6 <view class="fs30 ellipsis-1" style="padding: 20rpx 30rpx">
  7 + <text style="color: red;" wx:if="{{index==0 && limit_num>0}}">每人限参与{{limit_num}}次;</text>
6 满{{item.condition}}<text space="{{true}}" wx:if="{{item.prom_type==0}}">元 </text> <text space="{{true}}" wx:else>件 </text> 8 满{{item.condition}}<text space="{{true}}" wx:if="{{item.prom_type==0}}">元 </text> <text space="{{true}}" wx:else>件 </text>
7 <text space="{{true}}" wx:if="{{item.content.is_money && item.content.is_money!='0'}}">减{{item.content.money}}元 </text> 9 <text space="{{true}}" wx:if="{{item.content.is_money && item.content.is_money!='0'}}">减{{item.content.money}}元 </text>
8 <text space="{{true}}" wx:if="{{item.content.is_sale && item.content.is_sale!='0'}}">打{{item.content.sale}}折 </text> 10 <text space="{{true}}" wx:if="{{item.content.is_sale && item.content.is_sale!='0'}}">打{{item.content.sale}}折 </text>
pages/user/order_detail/order_detail.js
@@ -1222,26 +1222,31 @@ Page({ @@ -1222,26 +1222,31 @@ Page({
1222 b_item.price = prom.price; 1222 b_item.price = prom.price;
1223 } 1223 }
1224 break; 1224 break;
1225 - case 6:  
1226 - b_item.is_pd_normal = 1;  
1227 - break;  
1228 - case 7:  
1229 - //如果有组合购  
1230 - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id;  
1231 - await getApp().request.promiseGet(url, {}).then(res => {  
1232 - if (res.data.code == 0 && res.data.data) {  
1233 - if (res.data.data.is_show == 1 && res.data.data.is_end == 0  
1234 - && ut.gettimestamp() < res.data.data.end_time  
1235 - && ut.gettimestamp() > res.data.data.start_time  
1236 - ) {  
1237 - b_item.prom_type = 7;  
1238 - b_item.prom_id = res.data.data.id;  
1239 - good.prom_type = 7;  
1240 - good.prom_id = res.data.data.id;  
1241 - }  
1242 - }  
1243 - })  
1244 - break; 1225 + case 6:
  1226 + b_item.is_pd_normal = 1;
  1227 + break;
  1228 + case 7:
  1229 + //如果有组合购
  1230 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id;
  1231 + await getApp().request.promiseGet(url, {}).then(res => {
  1232 + if (res.data.code == 0 && res.data.data) {
  1233 +
  1234 + var t_act=res.data.data;
  1235 + if(!t_act.zh_num || t_act.zh_num>t_act.zh_buy_num) {
  1236 +
  1237 + if (res.data.data.is_show == 1 && res.data.data.is_end == 0
  1238 + && ut.gettimestamp() < res.data.data.end_time
  1239 + && ut.gettimestamp() > res.data.data.start_time
  1240 + ) {
  1241 + b_item.prom_type = 7;
  1242 + b_item.prom_id = res.data.data.id;
  1243 + good.prom_type = 7;
  1244 + good.prom_id = res.data.data.id;
  1245 + }
  1246 + }
  1247 + }
  1248 + })
  1249 + break;
1245 case 10: 1250 case 10:
1246 1251
1247 var url = `/api/weshop/prom/ladderForm/getNew/${os.stoid}/${user_id}/${good.prom_id}`; 1252 var url = `/api/weshop/prom/ladderForm/getNew/${os.stoid}/${user_id}/${good.prom_id}`;
@@ -1252,7 +1257,7 @@ Page({ @@ -1252,7 +1257,7 @@ Page({
1252 } 1257 }
1253 }) 1258 })
1254 break; 1259 break;
1255 - } 1260 + }
1256 1261
1257 1262
1258 //如果有优惠促销的时候,要看下商品的优惠活动有没有过期 1263 //如果有优惠促销的时候,要看下商品的优惠活动有没有过期
pages/user/order_list/order_list.js
@@ -1583,13 +1583,16 @@ Page({ @@ -1583,13 +1583,16 @@ Page({
1583 var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; 1583 var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id;
1584 await getApp().request.promiseGet(url, {}).then(res => { 1584 await getApp().request.promiseGet(url, {}).then(res => {
1585 if (res.data.code == 0 && res.data.data) { 1585 if (res.data.code == 0 && res.data.data) {
1586 - if (res.data.data.is_show == 1 && res.data.data.is_end == 0  
1587 - && ut.gettimestamp() < res.data.data.end_time  
1588 - && ut.gettimestamp() > res.data.data.start_time  
1589 - ) {  
1590 - b_item.prom_type = 7;  
1591 - b_item.prom_id = res.data.data.id; 1586 + var t_act=res.data.data;
  1587 + if(!t_act.zh_num || t_act.zh_num>t_act.zh_buy_num) {
  1588 + if (res.data.data.is_show == 1 && res.data.data.is_end == 0
  1589 + && ut.gettimestamp() < res.data.data.end_time
  1590 + && ut.gettimestamp() > res.data.data.start_time
  1591 + ) {
  1592 + b_item.prom_type = 7;
  1593 + b_item.prom_id = res.data.data.id;
1592 1594
  1595 + }
1593 } 1596 }
1594 } 1597 }
1595 }) 1598 })