Commit b18eec83bad3ed8f1c83e2bdf812024e433531ba
1 parent
a74dea2a
【秒杀】首页秒杀、卡项商品详情、提交订单修改
Showing
5 changed files
with
559 additions
and
38 deletions
packageA/pages/cart2_ser/cart2_ser.js
| ... | ... | @@ -249,6 +249,11 @@ Page({ |
| 249 | 249 | t.data.data.original_img = oo.imghost + t.data.data.imgUrl; |
| 250 | 250 | t.data.data['buynum'] = gg.goods_num; |
| 251 | 251 | t.data.data.shop_price = gd.money; |
| 252 | + | |
| 253 | + if(th.data.postdata.prom_type == 1) { | |
| 254 | + let postdata = th.data.postdata; | |
| 255 | + t.data.data.shop_price = postdata.prom_price; | |
| 256 | + }; | |
| 252 | 257 | |
| 253 | 258 | th.setData({ |
| 254 | 259 | bn_goods: t.data.data, |
| ... | ... | @@ -510,6 +515,12 @@ Page({ |
| 510 | 515 | // 'price': th.data.formData.order_amount, |
| 511 | 516 | 'pickup_id': gg.pick_id, |
| 512 | 517 | 'pickup_keyid': gg.keyid, |
| 518 | + 'prom_type': this.data.postdata.prom_type, //促销活动类型 | |
| 519 | + 'prom_id': this.data.postdata.prom_id, //促销活动id | |
| 520 | + }; | |
| 521 | + | |
| 522 | + if(this.data.postdata.prom_type == 1) { | |
| 523 | + goods.price = this.data.postdata.prom_price; | |
| 513 | 524 | }; |
| 514 | 525 | |
| 515 | 526 | //--导购分享过来的id-- |
| ... | ... | @@ -525,6 +536,7 @@ Page({ |
| 525 | 536 | } |
| 526 | 537 | }) |
| 527 | 538 | } |
| 539 | + console.log('goooooooooooooooooods', goods); | |
| 528 | 540 | item.list.push(goods); |
| 529 | 541 | } |
| 530 | 542 | ... | ... |
packageA/pages/goodsInfo/goodsInfo.js
| ... | ... | @@ -205,14 +205,18 @@ Page({ |
| 205 | 205 | hui_condition:null, |
| 206 | 206 | sto_sele_name_1:'',//分享的门店名称 |
| 207 | 207 | |
| 208 | + // 秒杀 | |
| 209 | + prom_st: 1, | |
| 210 | + prom_r_null: 0, | |
| 208 | 211 | }, |
| 209 | 212 | |
| 210 | 213 | //------初始化加载---------- |
| 211 | 214 | onLoad: function(t) { |
| 212 | - | |
| 213 | 215 | self = this; |
| 214 | - this.data.options = t; // { goods_id: ...} | |
| 215 | - | |
| 216 | + | |
| 217 | + this.setData({ | |
| 218 | + options: t, | |
| 219 | + }); | |
| 216 | 220 | |
| 217 | 221 | var ee = this, |
| 218 | 222 | that = ee, |
| ... | ... | @@ -377,7 +381,7 @@ Page({ |
| 377 | 381 | var ser_card=th.data.data; |
| 378 | 382 | //--如果默认门店不在等级卡的默认们店以内 |
| 379 | 383 | if(ser_card.storageId!=null && ser_card.storageId!="" && ser_card.storageId.indexOf(ee.keyid)==-1){ |
| 380 | - ee.is_no_dis=1; | |
| 384 | + ee.is_no_dis=1; | |
| 381 | 385 | } |
| 382 | 386 | |
| 383 | 387 | var appd=getApp().globalData; |
| ... | ... | @@ -446,6 +450,7 @@ Page({ |
| 446 | 450 | }); |
| 447 | 451 | |
| 448 | 452 | }, |
| 453 | + | |
| 449 | 454 | //------------程序初始化入口------------- |
| 450 | 455 | async init(gid) { |
| 451 | 456 | var ee = this, |
| ... | ... | @@ -486,6 +491,58 @@ Page({ |
| 486 | 491 | // }) |
| 487 | 492 | |
| 488 | 493 | |
| 494 | + // ----> 秒杀 | |
| 495 | + let prom_type = this.data.options.prom_type; | |
| 496 | + | |
| 497 | + let goods_id = this.data.options.goods_id; | |
| 498 | + if(!goods_id) goods_id = this.data.data.goods_id; | |
| 499 | + | |
| 500 | + if(prom_type) { // 进入商品详情页地址传参有带goods_id、prom_type、prom_id参数, 即从秒杀入口进入 | |
| 501 | + let prom_id = this.data.options.prom_id; | |
| 502 | + this.check_prom(goods_id, prom_type, prom_id); | |
| 503 | + } else { // 从非秒杀入口进入,地址不带prom_type、prom_id参数 | |
| 504 | + getApp().request.promiseGet('/api/weshop/activitylist/getGoodActInfo', { | |
| 505 | + data: { | |
| 506 | + store_id: os.stoid, | |
| 507 | + goodsidlist: goods_id, | |
| 508 | + is_detail: 1, | |
| 509 | + goods_type: 1, | |
| 510 | + user_id: oo.user_id, | |
| 511 | + } | |
| 512 | + }).then(res => { | |
| 513 | + if (res.data.code == 0) { | |
| 514 | + let result = res.data.data; | |
| 515 | + let resLength = result.length; | |
| 516 | + if(resLength == 1) { // 如果数组长度为1,则直接显示当前活动 | |
| 517 | + let goods_id = this.data.options.goods_id; | |
| 518 | + let prom_type = result[0].prom_type; | |
| 519 | + let prom_id = result[0].act_id; | |
| 520 | + this.setData({ | |
| 521 | + 'options.prom_type': prom_type, | |
| 522 | + }); | |
| 523 | + this.check_prom(goods_id, prom_type, prom_id); | |
| 524 | + } else if(resLength > 1) { //如果数组长度大于1,表示当前商品参加多个活动,以列表形式显示多活动 | |
| 525 | + this.setData({ | |
| 526 | + actList: res.data.data, | |
| 527 | + }); | |
| 528 | + }; | |
| 529 | + | |
| 530 | + console.log('!!!!!!~~~~~~~~~prom~~~~~~~~~~!!!!!!'); | |
| 531 | + // this.setData({ | |
| 532 | + // prom, | |
| 533 | + // }); | |
| 534 | + | |
| 535 | + }; | |
| 536 | + }); | |
| 537 | + }; | |
| 538 | + // <---- 秒杀 | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 489 | 546 | //------是否收藏---------- |
| 490 | 547 | await getApp().request.promiseGet("/api/weshop/goodscollect/page", { |
| 491 | 548 | data: { |
| ... | ... | @@ -509,8 +566,6 @@ Page({ |
| 509 | 566 | store_id: os.stoid, |
| 510 | 567 | service_id: gid |
| 511 | 568 | }, |
| 512 | - //failRollback: !0, | |
| 513 | - | |
| 514 | 569 | }).then(res => { |
| 515 | 570 | console.log('get评价统计数量', res.data.data); |
| 516 | 571 | var t = res; |
| ... | ... | @@ -530,7 +585,7 @@ Page({ |
| 530 | 585 | |
| 531 | 586 | categories3 = dd; |
| 532 | 587 | } |
| 533 | - }) | |
| 588 | + }); | |
| 534 | 589 | |
| 535 | 590 | //----获取详情页的评价---- |
| 536 | 591 | await getApp().request.promiseGet("/api/weshop/serviceComment/pageComment", { |
| ... | ... | @@ -545,7 +600,7 @@ Page({ |
| 545 | 600 | }).then(res => { |
| 546 | 601 | console.log('get详情页评价', res.data.data); |
| 547 | 602 | fir_com = res.data.data.pageData; |
| 548 | - }) | |
| 603 | + }); | |
| 549 | 604 | |
| 550 | 605 | if (fir_com) { |
| 551 | 606 | for (var ind in fir_com) { |
| ... | ... | @@ -553,7 +608,7 @@ Page({ |
| 553 | 608 | if (fir_com[ind].img) fir_com[ind].img = ut.unserialize(fir_com[ind].img); |
| 554 | 609 | if (fir_com[ind].weapp_img) fir_com[ind].weapp_img = JSON.parse(fir_com[ind].weapp_img); |
| 555 | 610 | } |
| 556 | - } | |
| 611 | + }; | |
| 557 | 612 | |
| 558 | 613 | this.getTaohe(); |
| 559 | 614 | |
| ... | ... | @@ -592,6 +647,7 @@ Page({ |
| 592 | 647 | var ee = this,gid = this.data.gid, i = getApp().request; |
| 593 | 648 | this.data.is_timer = 1; |
| 594 | 649 | this.wait_for_store_config(); |
| 650 | + | |
| 595 | 651 | |
| 596 | 652 | i.get("/api/weshop/serviceCard/get/" + o.stoid + "/" + ee.data.gid, { |
| 597 | 653 | failRollback: !0, |
| ... | ... | @@ -668,6 +724,8 @@ Page({ |
| 668 | 724 | this.data.enterAddressPage && (this.data.enterAddressPage = !1); |
| 669 | 725 | this.get_sto(); |
| 670 | 726 | |
| 727 | + | |
| 728 | + | |
| 671 | 729 | }, |
| 672 | 730 | |
| 673 | 731 | enterAddress: function() { |
| ... | ... | @@ -681,6 +739,7 @@ Page({ |
| 681 | 739 | clearInterval(i); |
| 682 | 740 | } |
| 683 | 741 | }, |
| 742 | + | |
| 684 | 743 | onHide: function() { |
| 685 | 744 | this.data.is_timer = 0; |
| 686 | 745 | for(var i = 1; i < 100; i++) { |
| ... | ... | @@ -694,6 +753,7 @@ Page({ |
| 694 | 753 | activeCategoryId: e |
| 695 | 754 | }), 1 == e ? this.tabGoodsContent() : 2 == e && this.tabComment(); |
| 696 | 755 | }, |
| 756 | + | |
| 697 | 757 | tabClick2: function(t) { |
| 698 | 758 | this.setData({ |
| 699 | 759 | activeCategoryId2: t.currentTarget.id |
| ... | ... | @@ -727,7 +787,7 @@ Page({ |
| 727 | 787 | //商品详情的时候调用 |
| 728 | 788 | tabGoodsContent: function() { |
| 729 | 789 | var th = this, |
| 730 | - i = getApp().request; | |
| 790 | + i = getApp().request; | |
| 731 | 791 | this.setData({ |
| 732 | 792 | activeCategoryId: 1 |
| 733 | 793 | }); |
| ... | ... | @@ -741,7 +801,7 @@ Page({ |
| 741 | 801 | var action= t.currentTarget.dataset.action; |
| 742 | 802 | if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind; |
| 743 | 803 | |
| 744 | - th.setData({ | |
| 804 | + th.setData({ | |
| 745 | 805 | open_ind_store: ind |
| 746 | 806 | }); |
| 747 | 807 | |
| ... | ... | @@ -762,8 +822,16 @@ Page({ |
| 762 | 822 | newd['pick_name'] = th.data.sto_sele_name; |
| 763 | 823 | newd['guide_id'] = getApp().globalData.guide_id; |
| 764 | 824 | newd['guide_type']=0; |
| 825 | + | |
| 826 | + if(this.data.prom_type && this.data.prom_type == 1) { | |
| 827 | + newd['prom_type'] = this.data.prom_type; | |
| 828 | + newd['prom_id'] = this.data.prom_id; | |
| 829 | + newd['prom_price'] = this.data.prom_price; | |
| 830 | + } | |
| 831 | + | |
| 832 | + // console.log('newd++++++++', newd); | |
| 765 | 833 | th.buyNow(newd); |
| 766 | - }else{ | |
| 834 | + } else { | |
| 767 | 835 | |
| 768 | 836 | var newd = { |
| 769 | 837 | service_id: th.data.data.id, |
| ... | ... | @@ -873,7 +941,8 @@ Page({ |
| 873 | 941 | }, |
| 874 | 942 | |
| 875 | 943 | openSpecModel: function(t) { |
| 876 | - var th=this; | |
| 944 | + // console.log('****ttttttt***', t); | |
| 945 | + var th=this; | |
| 877 | 946 | var open_store = t.currentTarget.dataset.ind; |
| 878 | 947 | this.setData({ |
| 879 | 948 | store: 0, |
| ... | ... | @@ -2741,7 +2810,278 @@ Page({ |
| 2741 | 2810 | }; |
| 2742 | 2811 | }; |
| 2743 | 2812 | }); |
| 2744 | - } | |
| 2813 | + }, | |
| 2814 | + | |
| 2815 | + | |
| 2816 | + | |
| 2817 | + | |
| 2818 | + //---小于10的格式化函数---- | |
| 2819 | + // timeFormat(param) { | |
| 2820 | + // return param < 10 ? '0' + param : param; | |
| 2821 | + // }, | |
| 2822 | + | |
| 2823 | + //----倒计时函数----- | |
| 2824 | + countDown(time, prom_st) { | |
| 2825 | + if (!this.data.is_timer) return false; | |
| 2826 | + var th = this; | |
| 2827 | + // 获取当前时间,同时得到活动结束时间数组 | |
| 2828 | + var endTime = time; | |
| 2829 | + var newTime = ut.gettimestamp(); | |
| 2830 | + // 对结束时间进行处理渲染到页面 | |
| 2831 | + var obj = null; | |
| 2832 | + // 如果活动未结束,对时间进行处理 | |
| 2833 | + if (endTime - newTime > 0) { | |
| 2834 | + var time = (endTime - newTime); | |
| 2835 | + // 获取天、时、分、秒 | |
| 2836 | + var day = parseInt(time / (60 * 60 * 24)); | |
| 2837 | + var hou = parseInt(time % (60 * 60 * 24) / 3600); | |
| 2838 | + var min = parseInt(time % (60 * 60 * 24) % 3600 / 60); | |
| 2839 | + var sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); | |
| 2840 | + obj = { | |
| 2841 | + day: this.timeFormat(day), | |
| 2842 | + hou: this.timeFormat(hou), | |
| 2843 | + min: this.timeFormat(min), | |
| 2844 | + sec: this.timeFormat(sec) | |
| 2845 | + } | |
| 2846 | + } else { | |
| 2847 | + if (th.data.prom_st == 0) { | |
| 2848 | + //var endTime2 = new Date(th.data.prom_end_time).getTime(); | |
| 2849 | + var endTime2 = th.data.prom_act.end_time; | |
| 2850 | + th.setData({ | |
| 2851 | + prom_time_text: '距结束还剩:', | |
| 2852 | + prom_st: 1 | |
| 2853 | + }) | |
| 2854 | + setTimeout(function () { | |
| 2855 | + th.countDown(endTime2) | |
| 2856 | + }, 1000); | |
| 2857 | + return false; | |
| 2858 | + | |
| 2859 | + } else { | |
| 2860 | + //活动已结束,全部设置为'00' | |
| 2861 | + obj = { | |
| 2862 | + day: '00', | |
| 2863 | + hou: '00', | |
| 2864 | + min: '00', | |
| 2865 | + sec: '00' | |
| 2866 | + } | |
| 2867 | + th.setData({ | |
| 2868 | + prom_time_text: '活动已经结束:', | |
| 2869 | + prom_st: 3 | |
| 2870 | + }) | |
| 2871 | + th.setData({ | |
| 2872 | + djs: obj | |
| 2873 | + }); | |
| 2874 | + return false; | |
| 2875 | + } | |
| 2876 | + } | |
| 2877 | + | |
| 2878 | + th.setData({ | |
| 2879 | + djs: obj | |
| 2880 | + }); | |
| 2881 | + setTimeout(function () { | |
| 2882 | + th.countDown(endTime) | |
| 2883 | + }, 1000); | |
| 2884 | + }, | |
| 2885 | + | |
| 2886 | + | |
| 2887 | + get_normal(gid) { | |
| 2888 | + this.setData({ | |
| 2889 | + prom_type: 0, | |
| 2890 | + isshow: 1, | |
| 2891 | + }); | |
| 2892 | + // this.get_sku(os.stoid, this.data.data, gid); | |
| 2893 | + // this.get_sto(); | |
| 2894 | + // this.check_is_youhui(gid, 1); | |
| 2895 | + this.data.is_normal = 1; | |
| 2896 | + }, | |
| 2897 | + | |
| 2898 | + | |
| 2899 | + | |
| 2900 | + | |
| 2901 | + //--------检查是否活动,活动是否开始,或者是否结束------- | |
| 2902 | + async check_prom(gid, prom_type, prom_id) { | |
| 2903 | + console.log('check_prom'); | |
| 2904 | + var ee = this, th = ee; | |
| 2905 | + var user_id = getApp().globalData.user_id; | |
| 2906 | + if (!user_id) user_id = 0; | |
| 2907 | + | |
| 2908 | + // if (prom_type == 3 || prom_type == 0 || prom_type == 5 || prom_type == 7 || prom_type == 9 || prom_type == 10) { | |
| 2909 | + // this.setData({ | |
| 2910 | + // prom_type: 0, isshow: 1, | |
| 2911 | + // }); | |
| 2912 | + // return false; | |
| 2913 | + // } | |
| 2914 | + | |
| 2915 | + | |
| 2916 | + | |
| 2917 | + // if (prom_type == 1 && prom_id == 0) { | |
| 2918 | + // this.setData({ | |
| 2919 | + // prom_type: 0, isshow: 1, | |
| 2920 | + // }); | |
| 2921 | + | |
| 2922 | + // //获取门店 | |
| 2923 | + // this.get_sto(); | |
| 2924 | + // this.get_sku(o.stoid, this.data.data, gid); | |
| 2925 | + // this.check_has_flash(); | |
| 2926 | + // this.data.is_normal = 1; | |
| 2927 | + // this.check_is_youhui(gid, 1); | |
| 2928 | + // return false; | |
| 2929 | + // } | |
| 2930 | + | |
| 2931 | + //if (prom_type != 3 && prom_type!=0){ | |
| 2932 | + //---判断秒杀---- | |
| 2933 | + if (prom_type == 1 && prom_id > 0) { | |
| 2934 | + //-------判断活动是否抢光--------- | |
| 2935 | + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/" + prom_type + "/" + prom_id, { | |
| 2936 | + 1: 1 | |
| 2937 | + }).then(res => { | |
| 2938 | + var em = res; | |
| 2939 | + if (res.data.code == 0) { | |
| 2940 | + // console.log('!!!!!!res!!!!', res); | |
| 2941 | + if (res.data.data <= 0) ee.setData({ | |
| 2942 | + prom_r_null: 1 | |
| 2943 | + }); | |
| 2944 | + //拿取价格并且判断时间-- | |
| 2945 | + getApp().request.get("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + prom_id, { | |
| 2946 | + success: function (t) { | |
| 2947 | + // console.log('!!!!!!t!!!!', t); | |
| 2948 | + if (t.data.code != 0) { | |
| 2949 | + ee.get_normal(gid); | |
| 2950 | + return false; | |
| 2951 | + } | |
| 2952 | + //----已经结束----- | |
| 2953 | + if (t.data.data.is_end == 1) { | |
| 2954 | + ee.get_normal(gid); | |
| 2955 | + return false; | |
| 2956 | + } | |
| 2957 | + //----已经过期----- | |
| 2958 | + var now = ut.gettimestamp(); | |
| 2959 | + if (t.data.data.end_time < now) { | |
| 2960 | + ee.get_normal(gid); | |
| 2961 | + return false; | |
| 2962 | + } | |
| 2963 | + /*-- 还没有开始预热的也不显示 --*/ | |
| 2964 | + if (t.data.data.show_time > now) { | |
| 2965 | + ee.get_normal(gid); | |
| 2966 | + return false; | |
| 2967 | + } | |
| 2968 | + | |
| 2969 | + var t_gd = ee.data.data; | |
| 2970 | + var prom_end_time = ut.formatTime(t.data.data.end_time, "yyyy-MM-dd hh:mm:ss"); | |
| 2971 | + var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss"); | |
| 2972 | + | |
| 2973 | + ee.setData({ | |
| 2974 | + 'data.shop_price': t.data.data.user_price, | |
| 2975 | + prom_price: t.data.data.user_price, | |
| 2976 | + prom_type: 1, | |
| 2977 | + prom_id: prom_id, | |
| 2978 | + prom_buy_limit: t.data.data.buy_limit, | |
| 2979 | + prom_act: t.data.data, | |
| 2980 | + prom_end_time: prom_end_time, | |
| 2981 | + prom_start_time: prom_start_time, | |
| 2982 | + isshow: 1, | |
| 2983 | + }); | |
| 2984 | + | |
| 2985 | + ee.get_sto(); | |
| 2986 | + var newTime = ut.gettimestamp(); | |
| 2987 | + var endTime2 = t.data.data.end_time; | |
| 2988 | + var endTime1 = t.data.data.start_time; | |
| 2989 | + if (endTime1 > newTime) { | |
| 2990 | + ee.setData({ | |
| 2991 | + prom_time_text: '距秒杀开始还有', | |
| 2992 | + prom_st: 0, | |
| 2993 | + }) | |
| 2994 | + ee.countDown(endTime1, 0); | |
| 2995 | + } else { | |
| 2996 | + if (endTime2 > newTime) { | |
| 2997 | + ee.setData({ | |
| 2998 | + prom_time_text: '距秒杀结束还有', | |
| 2999 | + prom_st: 1 | |
| 3000 | + }) | |
| 3001 | + ee.countDown(endTime2); | |
| 3002 | + } | |
| 3003 | + } | |
| 3004 | + | |
| 3005 | + //如果是进行中的话 | |
| 3006 | + // if (endTime1 < newTime) { | |
| 3007 | + // //-- 获取秒杀活动的多少规格 -- | |
| 3008 | + // ee.get_more_flahs(function (list) { | |
| 3009 | + // if (list && list.length > 1) { | |
| 3010 | + | |
| 3011 | + // var n_item = list[0]; | |
| 3012 | + // var ind = list.findIndex(function (ele) { | |
| 3013 | + // return ele.goods_id == ee.data.data.goods_id; | |
| 3014 | + // }) | |
| 3015 | + // if (ind < 0) return false; | |
| 3016 | + // if (ind > 0) { | |
| 3017 | + // n_item = JSON.parse(JSON.stringify(list[ind])); | |
| 3018 | + // list.splice(ind, 1); | |
| 3019 | + // list.unshift(n_item); | |
| 3020 | + // } | |
| 3021 | + | |
| 3022 | + // ee.data.sele_g.viplimited = n_item.viplimited; | |
| 3023 | + // ee.data.data.viplimited = n_item.viplimited; | |
| 3024 | + | |
| 3025 | + // var gb = 1; | |
| 3026 | + // //-- 显示多规格 -- | |
| 3027 | + // for (let i in list) { | |
| 3028 | + // let item = list[i]; | |
| 3029 | + // var gg = ""; | |
| 3030 | + // if (item.goods_spec == "null" || item.goods_spec == null) item.goods_spec = ""; | |
| 3031 | + // if (item.goods_color == "null" || item.goods_color == null) item.goods_color = ""; | |
| 3032 | + | |
| 3033 | + // if (item.goods_spec != "" && item.goods_color != "") { | |
| 3034 | + // gg = item.goods_spec + "/" + item.goods_color; | |
| 3035 | + // } else if (item.goods_spec != "" || item.goods_color != "") { | |
| 3036 | + // gg = item.goods_spec + item.goods_color; | |
| 3037 | + // } else { | |
| 3038 | + // gg = "规格" + gb; | |
| 3039 | + // gb++; | |
| 3040 | + // } | |
| 3041 | + // item.gg = gg; | |
| 3042 | + // item.prom_id = item.prom_id; | |
| 3043 | + // item.prom_type = 1; | |
| 3044 | + // } | |
| 3045 | + | |
| 3046 | + // ee.setData({ | |
| 3047 | + // sku_g: list, | |
| 3048 | + // }); | |
| 3049 | + | |
| 3050 | + // } | |
| 3051 | + // }) | |
| 3052 | + // } | |
| 3053 | + | |
| 3054 | + } | |
| 3055 | + }); | |
| 3056 | + } | |
| 3057 | + }) | |
| 3058 | + } | |
| 3059 | + | |
| 3060 | + }, | |
| 3061 | + | |
| 3062 | + | |
| 3063 | + | |
| 3064 | + viewFlash(e) { | |
| 3065 | + let prom_type = e.currentTarget.dataset.promtype; | |
| 3066 | + let prom_id = e.currentTarget.dataset.promid; | |
| 3067 | + let goods_id = this.data.data.goods_id; | |
| 3068 | + let url = `/packageA/pages/goodsInfo/goodsInfo?goods_id=${goods_id}&prom_type=${prom_type}&prom_id=${prom_id}`; | |
| 3069 | + // console.log('url~~~~', url); | |
| 3070 | + getApp().goto(url); | |
| 3071 | + }, | |
| 3072 | + | |
| 3073 | + | |
| 3074 | + | |
| 3075 | + | |
| 3076 | + | |
| 3077 | + | |
| 3078 | + | |
| 3079 | + | |
| 3080 | + | |
| 3081 | + | |
| 3082 | + | |
| 3083 | + | |
| 3084 | + | |
| 2745 | 3085 | |
| 2746 | 3086 | |
| 2747 | 3087 | ... | ... |
packageA/pages/goodsInfo/goodsInfo.wxml
| ... | ... | @@ -51,6 +51,7 @@ |
| 51 | 51 | </view> |
| 52 | 52 | </view> |
| 53 | 53 | |
| 54 | + | |
| 54 | 55 | |
| 55 | 56 | <view id="id" bindtouchstart="handletouchtart" bindtouchmove="handletouchmove" wx:else> |
| 56 | 57 | <view class="xc-videos-picture rel"> |
| ... | ... | @@ -63,6 +64,30 @@ |
| 63 | 64 | </swiper> |
| 64 | 65 | </view> |
| 65 | 66 | </view> |
| 67 | + | |
| 68 | + | |
| 69 | + <!-- --显示秒杀价 --> | |
| 70 | + <view class="prom_show rel" wx:if="{{options.prom_type == 1}}"> | |
| 71 | + <!-- 即将开始 --> | |
| 72 | + <image class="secondkill-img" src='{{iurl+"/miniapp/images/blue_ks.png"}}' wx:if="{{prom_st==0}}"></image> | |
| 73 | + <!-- 进行中 --> | |
| 74 | + <image class="secondkill-img" src='{{iurl+"/miniapp/images/red_jx.png"}}' wx:elif="{{prom_st!=0}}"></image> | |
| 75 | + <image class="abs spike-img" src="{{iurl}}/miniapp/images/xsmiaosha.png"></image> | |
| 76 | + <view class="start fs26 abs" wx:if="{{prom_st==0}}">距活动开始还有</view> | |
| 77 | + <view class="stop fs26 abs" wx:if="{{prom_st==1 || prom_st==3}}">距活动结束还有</view> | |
| 78 | + <view class="secview flex abs fs24 xc-miaosha-time"> | |
| 79 | + <block wx:if="djs.day"> | |
| 80 | + <view class='day-val' style="color:{{(prom_st==1 || prom_st==3)?'#d40022':'#0097e0'}}">{{djs.day}}</view> | |
| 81 | + <view class="day white" style="color: {{(prom_st==1 || prom_st==3)?'#d40022':'#0097e0'}}">天</view> | |
| 82 | + </block> | |
| 83 | + <view class='time-val white t-c' style=" background:{{(prom_st==1 || prom_st==3)?'#d40022':'#0097e0'}}">{{djs.hou}}</view> | |
| 84 | + <view class="time" style="color: {{(prom_st==1 || prom_st==3)?'#d40022':'#0097e0'}}">时</view> | |
| 85 | + <view class='time-val white t-c' style=" background:{{(prom_st==1 || prom_st==3)?'#d40022':'#0097e0'}}">{{djs.min}}</view> | |
| 86 | + <view class="time" style="color: {{(prom_st==1 || prom_st==3)?'#d40022':'#0097e0'}}">分</view> | |
| 87 | + <view class='time-val white t-c' style=";background:{{(prom_st==1 || prom_st==3)?'#d40022':'#0097e0'}}">{{djs.sec}}</view> | |
| 88 | + <view class="time" style="color: {{(prom_st==1 || prom_st==3)?'#d40022':'#0097e0'}}">秒</view> | |
| 89 | + </view> | |
| 90 | + </view> | |
| 66 | 91 | |
| 67 | 92 | |
| 68 | 93 | <!-- <block> --> |
| ... | ... | @@ -73,6 +98,9 @@ |
| 73 | 98 | </view> |
| 74 | 99 | |
| 75 | 100 | <view> |
| 101 | + <!-- 秒杀价 --> | |
| 102 | + <!-- <view class="co-red" wx:if="{{options.prom_type == 1}}"><text class="rel yuan fs28">¥</text>{{filters.toFix(prom_price,2)}}</view> --> | |
| 103 | + <!-- 手店价 --> | |
| 76 | 104 | <view class="co-red"><text class="rel yuan fs28">¥</text>{{filters.toFix(data.shop_price,2)}}</view> |
| 77 | 105 | <view class="goods-title"> |
| 78 | 106 | <view class="goods-name elli">{{data.goods_name}}</view> |
| ... | ... | @@ -124,6 +152,41 @@ |
| 124 | 152 | </view> |
| 125 | 153 | |
| 126 | 154 | </view> |
| 155 | + | |
| 156 | + | |
| 157 | + <view class="bdt16" wx:if="{{actList}}"> | |
| 158 | + <view class="cx-frame" style="position: relative; height: auto"> | |
| 159 | + <!-- <block> --> | |
| 160 | + <view class="flex ai_c" wx:for="{{actList}}"> | |
| 161 | + <view class="cx-sizs fs30 pdr40" wx:if="{{item.prom_type == 1}}">秒杀{{index+1}}</view> | |
| 162 | + <view class="f1"> | |
| 163 | + <!-- <view class="fs28 f1"> --> | |
| 164 | + <!-- <view> | |
| 165 | + <text class="prom_condition"> | |
| 166 | + <text class="fill-box">消费满</text>享优惠 | |
| 167 | + </text> | |
| 168 | + </view> --> | |
| 169 | + | |
| 170 | + <!-- <view class="word f1 fs26"> --> | |
| 171 | + <!-- <text class="tick lh2 pdr20" wx:if="{{item.money>0}}">减价{{item.money}}元</text> | |
| 172 | + <text class="tick lh2 pdr20" wx:if="{{item.sale>0}}">打{{item.sale}}折</text> | |
| 173 | + <text class="tick lh2 pdr20" wx:if="{{item.past==1}}">包邮</text> | |
| 174 | + <text class="tick lh2 pdr20" wx:if="{{item.intValue>0}}">送{{item.intValue}}积分</text> | |
| 175 | + <view class="tick lh2 pdr20" wx:if="{{item.couponId>0}}">送{{item.couponMoney}}元优惠券</view> | |
| 176 | + <view class="tick ellipsis-1x lh2" wx:if="{{item.gift_id>0}}">送商品{{item.goods_name}}</view> | |
| 177 | + <view class="tick ellipsis-1x lh2 details pdr40" wx:if="{{item.lb_id>0}}" data-id="{{item.lb_id}}" bindtap="viewLbDetails">送{{item.lbtitle}}</view> --> | |
| 178 | + <view class="tick ellipsis-1x lh2 details pdr40" bindtap="viewFlash" data-promtype="{{item.prom_type}}" data-promid="{{item.act_id}}">{{item.act_name}}</view> | |
| 179 | + <!-- </view> --> | |
| 180 | + <!-- </view> --> | |
| 181 | + </view> | |
| 182 | + </view> | |
| 183 | + | |
| 184 | + | |
| 185 | + <!-- </block> --> | |
| 186 | + </view> | |
| 187 | + </view> | |
| 188 | + | |
| 189 | + | |
| 127 | 190 | |
| 128 | 191 | <view class="bz_view flex bdt16" wx:if="{{store_config}}"> |
| 129 | 192 | <image class="bzfu_img" src="{{iurl}}/miniapp/images/bzfu_w.png"></image> |
| ... | ... | @@ -238,7 +301,7 @@ |
| 238 | 301 | </block> |
| 239 | 302 | </block> |
| 240 | 303 | |
| 241 | - <view class="table_s" wx:if="{{service_list}}"> | |
| 304 | + <!-- <view class="table_s" wx:if="{{service_list}}"> | |
| 242 | 305 | <view class="tb_item tb-l"> |
| 243 | 306 | <view class="item_left f1"> |
| 244 | 307 | <text>项目名称</text> |
| ... | ... | @@ -261,7 +324,7 @@ |
| 261 | 324 | <text>{{item.frequency}}</text> |
| 262 | 325 | </view> |
| 263 | 326 | </view> |
| 264 | - </view> | |
| 327 | + </view> --> | |
| 265 | 328 | |
| 266 | 329 | <view class="wxParse"> |
| 267 | 330 | <template is="wxParse" data="{{wxParseData:content.nodes}}"></template> |
| ... | ... | @@ -439,11 +502,63 @@ |
| 439 | 502 | </view> |
| 440 | 503 | </view> |
| 441 | 504 | |
| 442 | - | |
| 505 | + | |
| 443 | 506 | <view class="flex f1 btn-group"> |
| 444 | - <view bindtap="openSpecModel" data-ind="1" class="join-btn cart-btn f1">加入购物车</view> | |
| 445 | - <view bindtap="openSpecModel" data-ind="2" class="buy-btn cart-btn f1">立即购买</view> | |
| 507 | + | |
| 508 | + <!-- 从“秒杀”入口进入购买商品 --> | |
| 509 | + <!-- <block wx:if="{{options.prom_type == 1}}"> --> | |
| 510 | + <block wx:if="{{options.prom_type == 1}}"> | |
| 511 | + <block wx:if="{{prom_st==1 && !prom_r_null}}"> | |
| 512 | + <view bindtap="openSpecModel" data-ind="1" class="join-btn cart-btn f1">加入购物车</view> | |
| 513 | + <view bindtap="openSpecModel" data-ind="2" class="buy-btn cart-btn f1">立即抢购</view> | |
| 514 | + </block> | |
| 515 | + | |
| 516 | + <block wx:if="{{prom_st == 0 && !prom_r_null}}"> | |
| 517 | + <!-- 秒杀预热要单独购买 --> | |
| 518 | + <block wx:if="{{prom_type==1 && prom_act.is_shop_buy}}"> | |
| 519 | + <view bindtap="openSpecModel_Nor" data-nor="1" class="join-btn cart-btn f1">单独购买</view> | |
| 520 | + <view class="buy-btn cart-btn lanse">即将开始</view> | |
| 521 | + </block> | |
| 522 | + <block wx:else> | |
| 523 | + <view class="buy-btn cart-btn cart-btn-lg lanse set_width f1">即将开始</view> | |
| 524 | + </block> | |
| 525 | + </block> | |
| 526 | + | |
| 527 | + | |
| 528 | + <block wx:if="{{prom_r_null}}"> | |
| 529 | + | |
| 530 | + <block wx:if="{{prom_type==1 && prom_act.is_shop_buy}}"> | |
| 531 | + <view bindtap="openSpecModel_Nor" data-nor="1" class="join-btn cart-btn f1">单独购买</view> | |
| 532 | + <view class="buy-btn cart-btn huise f1">已抢光</view> | |
| 533 | + </block> | |
| 534 | + <view wx:else class="buy-btn cart-btn cart-btn-lg huise set_width f1">已抢光</view> | |
| 535 | + </block> | |
| 536 | + | |
| 537 | + <block wx:if="{{prom_st==3 && !prom_r_null}}"> | |
| 538 | + <block wx:if="{{prom_type==1 && prom_act.is_shop_buy}}"> | |
| 539 | + <view bindtap="openSpecModel_Nor" data-nor="1" class="join-btn cart-btn f1">单独购买</view> | |
| 540 | + <view class="buy-btn cart-btn huise f1">活动已经结束</view> | |
| 541 | + </block> | |
| 542 | + | |
| 543 | + <view wx:else class="buy-btn cart-btn cart-btn-lg huise set_width f1">活动已经结束</view> | |
| 544 | + </block> | |
| 545 | + </block> | |
| 546 | + <!-- </block> --> | |
| 547 | + | |
| 548 | + | |
| 549 | + <!-- 从“我的服务”入口进入购买商品 --> | |
| 550 | + <block wx:else> | |
| 551 | + <view bindtap="openSpecModel" data-ind="1" class="join-btn cart-btn f1">加入购物车</view> | |
| 552 | + <view bindtap="openSpecModel" data-ind="2" class="buy-btn cart-btn f1">立即购买</view> | |
| 553 | + </block> | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 446 | 557 | </view> |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 447 | 562 | |
| 448 | 563 | </view> |
| 449 | 564 | |
| ... | ... | @@ -558,10 +673,20 @@ |
| 558 | 673 | <block wx:else> |
| 559 | 674 | <view wx:if="{{openSpecModal_ind==1}}" bindtap="addCart" data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn yellow fs32 {{!sto_sele_name?'gray':''}}" |
| 560 | 675 | data-action="add">加入购物车</view> |
| 561 | - <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart" data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn spec-buy {{!sto_sele_name?'gray':''}}" | |
| 562 | - data-action="buy"> | |
| 563 | - {{sele_g.offline_price?"券后购买":"立即购买"}} | |
| 564 | - </view> | |
| 676 | + <!-- 秒杀 --> | |
| 677 | + <block wx:if="{{options.prom_type == 1}}"> | |
| 678 | + <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart" data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn spec-buy {{!sto_sele_name?'gray':''}}" | |
| 679 | + data-action="buy" data-promtype="{{options.prom_type}}" data-promid="{{options.prom_id}}"> | |
| 680 | + {{sele_g.offline_price?"券后购买":"立即购买"}} | |
| 681 | + </view> | |
| 682 | + </block> | |
| 683 | + <!-- 普通商品 --> | |
| 684 | + <block wx:else> | |
| 685 | + <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart" data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn spec-buy {{!sto_sele_name?'gray':''}}" | |
| 686 | + data-action="buy"> | |
| 687 | + {{sele_g.offline_price?"券后购买":"立即购买"}} | |
| 688 | + </view> | |
| 689 | + </block> | |
| 565 | 690 | </block> |
| 566 | 691 | </block> |
| 567 | 692 | </block> | ... | ... |
packageA/pages/goodsInfo/goodsInfo.wxss
| ... | ... | @@ -2907,3 +2907,45 @@ button.custom-service::after{ |
| 2907 | 2907 | .del { |
| 2908 | 2908 | text-decoration: line-through; |
| 2909 | 2909 | } |
| 2910 | + | |
| 2911 | + | |
| 2912 | + | |
| 2913 | + | |
| 2914 | +.tick { | |
| 2915 | + position: relative; | |
| 2916 | +} | |
| 2917 | + | |
| 2918 | +.tick:before { | |
| 2919 | + content: ''; | |
| 2920 | + display: inline-block; | |
| 2921 | + vertical-align: middle; | |
| 2922 | + margin-top: -4rpx; | |
| 2923 | + margin-right: 12rpx; | |
| 2924 | + width: 22rpx; | |
| 2925 | + height: 22rpx; | |
| 2926 | + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAMAAADzapwJAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABCUExURUdwTPInDPInDPgoDfMnDPYqEvInDPInDPInDP87NPUoDv8vEvMoDPInDPIoDPMnDvInDPInDPInDPIoDPQoDfInDEON4KMAAAAVdFJOUwD45yawG4zz3gQ0DmLOfECQZpPlS54kMQ4AAAC0SURBVBjTbZFREoMgDERDS0xQQNHu/a/alEGtaIYfHrBhs0S1pujVifo40VkhC+BUHSDzQTlBhjHY8bjogXmDZ+orJKwXwMUeUoa/0PeGbH8Q4Y5CJopYOjosiOQxdpRGk1UXOkrBKdkimtN8UrKrJBVXdzsllSYSjR/0J9JaGn81WluWtonYKQ0op51P3M2L2bmZN9n8MKoVqTph/RsseyjfYxAkfgot/82CpuJVLOLSIv4Cd5AJ37BgpFwAAAAASUVORK5CYII=) no-repeat; | |
| 2927 | + background-size: 22rpx auto; | |
| 2928 | +} | |
| 2929 | + | |
| 2930 | +.details::after { | |
| 2931 | + content: ''; | |
| 2932 | + position: absolute; | |
| 2933 | + right: 0; | |
| 2934 | + top: 0; | |
| 2935 | + bottom: 0; | |
| 2936 | + margin: auto; | |
| 2937 | + display: inline-block; | |
| 2938 | + width: 40rpx; | |
| 2939 | + height: 40rpx; | |
| 2940 | + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURUdwTIyMjCYmJiYmJi0tLY+PjyYmJidnOsIAAAAGdFJOUwDt6aYcSSEXj/YAAAA8SURBVCjPY2AYBTQBLEbKDhiCTmlpKggeq2AAiDJLS0tGcBkFBUActbS0JAY4F6sgVu1YLcLnpFFAFQAATwgLKVhjC9UAAAAASUVORK5CYII=); | |
| 2941 | + background-repeat: no-repeat; | |
| 2942 | + background-size: 40rpx auto; | |
| 2943 | +} | |
| 2944 | + | |
| 2945 | +.lh2 { | |
| 2946 | + line-height: 2; | |
| 2947 | +} | |
| 2948 | + | |
| 2949 | +.huise { | |
| 2950 | + background: gray | |
| 2951 | +} | ... | ... |
pages/index/index/index.wxml
| ... | ... | @@ -172,21 +172,23 @@ |
| 172 | 172 | <view class="seckill-list"> |
| 173 | 173 | <swiper class="s_prom" indicator-dots="{{false}}" bindchange="flashSwiperChange"> |
| 174 | 174 | <swiper-item wx:for="{{saleGoods}}" wx:key="{{index}}" class="p_swiper" wx:key="saleGoods" style="740rpx !important;padding: 0; margin-left: 10rpx"> |
| 175 | - <navigator style="flex-shrink: 0;width: 247rpx" class="nav" hover-class="none" url="/pages/goods/goodsInfo/goodsInfo?goods_id={{aitem.goods_id}}&title={{aitem.goods_name}}&prom_type=1&prom_id={{aitem.id}}" wx:for="{{item}}" wx:key="item" wx:for-item="aitem" wx:for-index="aind"> | |
| 176 | - <view class="imgview "> | |
| 177 | - <image src="{{url+aitem.original_img}}" mode="aspectFill" lazy-load="true" data-errorimg="saleGoods[{{index}}][{{aind}}].original_img" binderror="bind_bnerr3" data-img="{{aitem.original_img}}"></image> | |
| 178 | - | |
| 179 | - <image wx:if="{{aitem.status==0}}" class="status_img" src="{{url}}/miniapp/images/miao/yure.png"></image> | |
| 180 | - <image wx:if="{{aitem.status==1}}" class="status_img" src="{{url}}/miniapp/images/miao/going.png"></image> | |
| 181 | - <image wx:if="{{aitem.status==2}}" class="status_img" src="{{url}}/miniapp/images/miao/mend.png"></image> | |
| 182 | - </view> | |
| 183 | - <view class="ellipsis-2 mar-top10" style="height: 76rpx;">{{aitem.goods_name}}</view> | |
| 184 | - <!-- <view class="red-co mar-top10 is_seckill_height"> --> | |
| 185 | - <view class="co-red mar-top10"> | |
| 186 | - <text class="fs20">¥</text>{{aitem.price}} | |
| 187 | - <text class="un_line">¥{{aitem.market_price}}</text> | |
| 188 | - </view> | |
| 189 | - </navigator> | |
| 175 | + <navigator style="flex-shrink: 0;width: 247rpx" class="nav" hover-class="none" url="{{aitem.goods_type == 0 ? ('/pages/goods/goodsInfo/goodsInfo?goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type=1&prom_id=' + aitem.id):('/packageA/pages/goodsInfo/goodsInfo?goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type=1&prom_id=' + aitem.id )}}" wx:for="{{item}}" wx:key="item" wx:for-item="aitem" wx:for-index="aind"> | |
| 176 | + <view class="imgview"> | |
| 177 | + <image src="{{url+aitem.original_img}}" mode="aspectFill" lazy-load="true" data-errorimg="saleGoods[{{index}}][{{aind}}].original_img" binderror="bind_bnerr3" data-img="{{aitem.original_img}}"></image> | |
| 178 | + | |
| 179 | + <image wx:if="{{aitem.status==0}}" class="status_img" src="{{url}}/miniapp/images/miao/yure.png"></image> | |
| 180 | + <image wx:if="{{aitem.status==1}}" class="status_img" src="{{url}}/miniapp/images/miao/going.png"></image> | |
| 181 | + <image wx:if="{{aitem.status==2}}" class="status_img" src="{{url}}/miniapp/images/miao/mend.png"></image> | |
| 182 | + </view> | |
| 183 | + <view class="ellipsis-2 mar-top10" style="height: 76rpx;">{{aitem.goods_name}}</view> | |
| 184 | + <!-- <view class="red-co mar-top10 is_seckill_height"> --> | |
| 185 | + <view class="co-red mar-top10"> | |
| 186 | + <text class="fs20">¥</text>{{aitem.price}} | |
| 187 | + <text class="un_line">¥{{aitem.market_price}}</text> | |
| 188 | + </view> | |
| 189 | + </navigator> | |
| 190 | + | |
| 191 | + | |
| 190 | 192 | </swiper-item> |
| 191 | 193 | </swiper> |
| 192 | 194 | <!-- <view class="flex-center-around translation"> | ... | ... |