Commit 4c7039cf806c0489ff43c29dcdde43b3b4fa951f

Authored by taiyuan
1 parent 711f9309

幸运购修改

components/diy_luckyGo/diy_luckyGo.js 0 → 100644
  1 +// var e = function(e) {
  2 +// return e && e.__esModule ? e : {
  3 +// default: e
  4 +// };
  5 +// }(require("../../utils/LoadMore3.js")),
  6 +// n = new e.default(),
  7 +var t = getApp(),
  8 + a = t.request,
  9 + o = t.globalData.setting,
  10 + os = o,
  11 + i = require("../../utils/util.js"),
  12 + ut = i,
  13 + s = require("../../utils/common.js");
  14 +var regeneratorRuntime = require('../../utils/runtime.js');
  15 +Component({
  16 + properties: {
  17 + // 这里定义了innerText属性,属性值可以在组件使用时指定
  18 + object: {
  19 + type: Object,
  20 + value: null,
  21 + },
  22 + goods_array: {
  23 + type: Array,
  24 + value: []
  25 + },
  26 + newTime: {
  27 + type: Number,
  28 + value: 0
  29 + },
  30 + },
  31 + data: {
  32 + // 这里是一些组件内部数据
  33 + yc: false,
  34 + someData: null,
  35 + ylp_img: "https://mshopimg.yolipai.net/",
  36 + imghost: os.imghost,
  37 + timer: null,
  38 + },
  39 +
  40 + pageLifetimes: {
  41 + //要处理一下,游客登录后的界面的变化,主要还该是改变会员
  42 + show: function () {
  43 + //会员身份变化
  44 + var th = this;
  45 + var g_id = this.data.object;
  46 + this.init(g_id);
  47 + setTimeout(function () {
  48 + if (th.data.goods_array && th.data.goods_array.length > 0) {
  49 + th.data.timer = setInterval(function () {
  50 + th.countDown2(th);
  51 + }, 1000);
  52 + }
  53 + },600)
  54 + }
  55 + },
  56 +
  57 + ready: function () {
  58 + var g_id = this.data.object;
  59 + this.init(g_id);
  60 + },
  61 + detached() {
  62 + // 页面被被销毁的时候,清除定时器
  63 + clearInterval(this.data.timer);
  64 + },
  65 + methods: {
  66 + // 这里是一个自定义方法
  67 + customMethod: function () { },
  68 + init: function (g_id) {
  69 + var th = this, app = getApp(), goodsidlist = "";
  70 + if (g_id.data_type == 2) {
  71 + if (g_id.data && g_id.data.length > 0) {
  72 + //--先把商品ID串起来--
  73 + g_id.data.forEach(function (val, ind) {
  74 + var item = {};
  75 + goodsidlist += val.goodsid + ",";
  76 + })
  77 + goodsidlist = ut.sub_last(goodsidlist);
  78 +
  79 + var user_id=getApp().globalData.user_id;
  80 + if(!user_id){ user_id=0;}
  81 +
  82 + //--调用接口,读取秒杀--
  83 + app.request.promiseGet("/api/ms/flash_sale/getGoodsList?store_id="
  84 + + os.stoid + "&goodsidlist=" + goodsidlist+"&user_id="+user_id, {}).then(res => {
  85 + console.log(res);
  86 + //如果秒杀的数组为空的时候
  87 + var goodslist = res.data.data;
  88 + //就算是添加的活动已经过期,就要用最新的进行中活动
  89 + if (goodslist && goodslist.length > 0) {
  90 + th.set_goods_list(g_id.data, goodslist);
  91 + }
  92 + });
  93 + }
  94 + } else {
  95 + th.no_gid_set();
  96 + }
  97 + },
  98 +
  99 + //当是默认的情况
  100 + no_gid_set() {
  101 + var user_id=getApp().globalData.user_id;
  102 + if(!user_id){ user_id=0;}
  103 + // var req={ store_id: os.stoid, is_end: 0, is_show: 1, timetype: 2,user_id:user_id}; 原来的
  104 + var req={ store_id: os.stoid, is_end: 0, timetype: 1};
  105 + getApp().request.promiseGet("/api/weshop/prom/luckyActivity/page",
  106 + { isShowLoading: 1, data:req }
  107 + ).then(res => {
  108 + if (res.data.code == 0 && res.data.data.pageData && res.data.data.pageData.length > 0) {
  109 + var goodsidlist = res.data.data.pageData;
  110 + this.set_goods_list(null, goodsidlist);
  111 + // console.log('goodsidlist', goodsidlist);
  112 + }
  113 + });
  114 + },
  115 +
  116 + //就算是添加的活动已经过期,就要用最新的活动
  117 + set_goods_list(g_id, goodslist) {
  118 + // 判断火热,预热
  119 + var newTime = ut.gettimestamp(), all_array = [], th = this;
  120 + th.setData({ newTime: newTime });
  121 + if (g_id) {
  122 + /*--商品队列按照添加的顺序排列--*/
  123 + g_id.forEach(function (val, ind) {
  124 + goodslist.forEach(function (vy, indy) {
  125 + if (val.goodsid == vy.goods_id) {
  126 + if(!vy.id) vy.id=vy.prom_id;
  127 + all_array.push(vy);
  128 + }
  129 + })
  130 + })
  131 + } else {
  132 + all_array = goodslist;
  133 + }
  134 +
  135 +
  136 + if (all_array.length == 0) {
  137 + all_array = goodslist;
  138 + }
  139 +
  140 + for(let i in all_array){
  141 + let item=all_array[i];
  142 + if(item.user_price) item.price=item.user_price;
  143 + }
  144 +
  145 + var arr = new Array();
  146 + //--三个三个一组---
  147 + for (var i = 0; i < all_array.length; i += 3) {
  148 + arr.push(all_array.slice(i, i + 3));
  149 + }
  150 + /*--熏染到前台--*/
  151 +
  152 + th.setData({ goods_array: arr });
  153 + console.log('goods_array', arr);
  154 +
  155 + th.data.timer = setInterval(function () {
  156 + th.countDown2(th);
  157 + }, 1000);
  158 + },
  159 +
  160 +
  161 +
  162 + //---小于10的格式化函数----
  163 + timeFormat: function (param) {
  164 + return param < 10 ? '0' + param : param;
  165 + },
  166 + //----秒杀倒计时函数-----
  167 + countDown2: function (ob) {
  168 + if (ob == undefined) return false;
  169 + var ee = ob;
  170 + // 获取当前时间,同时得到活动结束时间数组
  171 + var newTime = ut.gettimestamp();
  172 + this.setData({ newTime: newTime });
  173 +
  174 + var List = ee.data.goods_array;
  175 + if (List.length == 0) return false;
  176 + for (var j = 0; j < List.length; j++) {
  177 + // 对结束时间进行处理渲染到页面
  178 + var endTimeList = List[j];
  179 + for (var i = 0; i < endTimeList.length; i++) {
  180 + var o = endTimeList[i];
  181 + var endTime = o.end_time;
  182 + if (newTime < o.start_time) endTime = o.start_time;
  183 + let obj = null;
  184 + // 如果活动未结束,对时间进行处理
  185 + if (endTime - newTime > 0) {
  186 + let time = (endTime - newTime);
  187 + // 获取天、时、分、秒
  188 + let day = parseInt(time / (60 * 60 * 24));
  189 + let hou = parseInt(time % (60 * 60 * 24) / 3600);
  190 + let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
  191 + let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
  192 + obj = {
  193 + day: this.timeFormat(day),
  194 + hou: this.timeFormat(hou),
  195 + min: this.timeFormat(min),
  196 + sec: this.timeFormat(sec)
  197 + }
  198 + } else {
  199 + //活动已结束,全部设置为'00'
  200 + obj = {
  201 + day: '00',
  202 + hou: '00',
  203 + min: '00',
  204 + sec: '00'
  205 + }
  206 + }
  207 + var txt = "goods_array[" + j + "][" + i + "].djs";
  208 + ee.setData({
  209 + [txt]: obj
  210 + });
  211 + }
  212 + }
  213 + },
  214 +
  215 +
  216 + //图片失败,默认图片
  217 + bind_bnerr3: function (e) {
  218 + var _errImg = e.target.dataset.errorimg;
  219 + var _errObj = {};
  220 + _errObj[_errImg] = "/public/images/default_goods_image_240.gif";
  221 + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
  222 + },
  223 +
  224 + go: function (e) {
  225 + let url = e.currentTarget.dataset.url;
  226 + getApp().goto(url);
  227 + }
  228 + },
  229 +
  230 +
  231 +})
0 232 \ No newline at end of file
... ...
components/diy_luckyGo/diy_luckyGo.json 0 → 100644
  1 +{
  2 + "component": true,
  3 + "usingComponents": {}
  4 +}
0 5 \ No newline at end of file
... ...
components/diy_luckyGo/diy_luckyGo.wxml 0 → 100644
  1 +<wxs module="filters" src="../../utils/filter.wxs"></wxs>
  2 +<block wx:if="{{goods_array.length>0}}">
  3 + <!-- 幸运购 -->
  4 + <view class="pdh20 flex jc_sb ai-center bg-white" bindtap="go">
  5 + <view><text class="iconfont icon-luck"></text>幸运购</view>
  6 + <view class="arrow-r">
  7 + <image src="{{imghost}}/miniapp/images/icon-arrowdown.png" lazy-load="true" class="img-block"></image>
  8 + </view>
  9 + </view>
  10 +
  11 + <!-- 单行滑动显示 -->
  12 + <block wx:if="{{object.style==1}}">
  13 + <!--商品展示-->
  14 + <swiper indicator-active-color="#ED6064" indicator-dots="false" wx:if="{{object.style==1}}">
  15 + <view wx:if="{{object.style==1}}">
  16 + <swiper-item class="s_it" wx:for="{{goods_array}}">
  17 + <block wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind">
  18 + <navigator url="/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo?goods_id={{aitem.goods_id}}&prom_type=9&group_id={{aitem.id}}"
  19 + class="pd20 nav" hover-class="none">
  20 + <view class="">
  21 + <view class="img-container row" data-content="{{aitem.group_num}}人团">
  22 + <image class="img-block" src="{{imghost + aitem.original_img}}" data-val="{{aitem.original_img}}"
  23 + data-errorimg="goods_array[{{index}}][{{aind}}].original_img" binderror="bind_bnerr3" lazy-load="true"
  24 + lazy-load="true"></image>
  25 + </view>
  26 + <view class="flex fdc jc_sb f1 pdt20">
  27 +
  28 + <view class="ellipsis-2 name fs28 clearbadge">{{aitem.title}}</view>
  29 + <view>
  30 + <view class="flex ai-center">
  31 + <text class="rmb c-red">{{filters.price(aitem.group_price)}}</text>
  32 + <view class="del fs22 c-a pdl10"><text class="rmb">{{aitem.market_price}}</text></view>
  33 + </view>
  34 + </view>
  35 +
  36 + </view>
  37 + </view>
  38 +
  39 + </navigator>
  40 + </block>
  41 + </swiper-item>
  42 + </view>
  43 + </swiper>
  44 + </block>
  45 +
  46 + <!-- 单列显示 -->
  47 + <block class="sp2" wx:if="{{object.style==2}}">
  48 + <view class="list">
  49 + <block wx:for="{{goods_array}}">
  50 + <!-- goods_array的数据是这样子的: [Array(3), Array(3), Array(3), Array(1)] -->
  51 + <!-- 3个成一组,这里我们默认让它显示goods_array[0],控制显示数量在3个以内 -->
  52 + <block wx:if="{{index == 0}}">
  53 + <block wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind">
  54 + <view class="list-item" data-url="/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo?goods_id={{aitem.goods_id}}&prom_type=9&group_id={{aitem.id}}" bindtap="go">
  55 + <view class="flex ai-center">
  56 + <view class="img-container">
  57 + <image class="img-block" src="{{imghost + aitem.original_img}}" data-val="{{aitem.original_img}}"
  58 + data-errorimg="goods_array[{{index}}][{{aind}}].original_img" binderror="bind_bnerr3" lazy-load="true"></image>
  59 + </view>
  60 + <view class="pdl20 flex fdc jc_sb f1">
  61 +
  62 + <view class="ellipsis-2 name fs28" data-content="{{aitem.group_num}}人团">{{aitem.title}}</view>
  63 + <view>
  64 + <view class="flex ai-center">
  65 + <text class="rmb c-red">{{filters.price(aitem.group_price)}}</text>
  66 + <view class="del fs22 c-a pdl10">零售价:<text class="rmb">{{aitem.market_price}}</text></view>
  67 + </view>
  68 + <view class="flex jc_sb">
  69 + <progress class="pdr20 f1 progress" percent="{{filters.percent(aitem.num, aitem.group_num)}}" activeColor="#FF6768"
  70 + backgroundColor="#d0d0d0" border-radius="12" stroke-width="12" data-content="{{aitem.num}}人已参团"></progress>
  71 + <view class="btn fs26 {{aitem.goods_num == 0 ? 'gray':''}}" wx:if="{{aitem.goods_num == 0}}">已抢光</view>
  72 + <view class="btn fs26" wx:else>去参团</view>
  73 + </view>
  74 + </view>
  75 + </view>
  76 + </view>
  77 + <view class="fs24 pdt10 c-7b">*<text class="c-red">{{aitem.group_num}}</text>人成团,<text class="c-red">{{aitem.group_win}}</text>人得商品,<text
  78 + class="c-red">{{aitem.group_num - aitem.group_win}}</text>人全额退款并得<text class="c-red">惊喜礼品</text>!</view>
  79 + </view>
  80 + </block>
  81 + </block>
  82 + </block>
  83 + </view>
  84 + </block>
  85 +</block>
... ...
components/diy_luckyGo/diy_luckyGo.wxss 0 → 100644
  1 +@import '../../app.wxss';
  2 +
  3 +
  4 +
  5 +.s_it {
  6 + width: 100%;
  7 + display: flex;
  8 + background-color: white;
  9 +}
  10 +
  11 +
  12 +
  13 +
  14 +
  15 +
  16 +swiper {
  17 + height: 450rpx;
  18 +}
  19 +
  20 +.nav {
  21 + width: calc(100% / 3);
  22 + box-sizing: border-box;
  23 +}
  24 +
  25 +.arrow-r {
  26 + width: 30rpx;
  27 + height: 30rpx;
  28 +}
  29 +
  30 +.icon-luck {
  31 + color: #ED6064;
  32 + margin-right: 4rpx;
  33 +}
  34 +
  35 +
  36 +
  37 +
  38 +.list-item {
  39 + background-color: white;
  40 + padding: 20rpx;
  41 +}
  42 +
  43 +.img-container {
  44 + width: 220rpx;
  45 + height: 220rpx;
  46 + border-radius: 14rpx;
  47 + overflow: hidden;
  48 + flex-shrink: 0;
  49 + position: relative;
  50 +}
  51 +
  52 +.img-container::before {
  53 + content: '幸运购';
  54 + position: absolute;
  55 + left: 0;
  56 + top: 0;
  57 + padding: 4rpx;
  58 + background-color: rgba(255,103,103,.7);
  59 + color: white;
  60 + font-size: 22rpx;
  61 + border-radius: 0 0 14rpx 0;
  62 +}
  63 +
  64 +
  65 +
  66 +.img-container.row::before {
  67 + content: attr(data-content);
  68 + position: absolute;
  69 + left: 0;
  70 + top: 0;
  71 + padding: 4rpx;
  72 + background-color: rgba(255,103,103,.7);
  73 + color: white;
  74 + font-size: 22rpx;
  75 + border-radius: 0 0 14rpx 0;
  76 +}
  77 +
  78 +.name::before {
  79 + content: attr(data-content);
  80 + background-color: #FF6768;
  81 + color: white;
  82 + font-size: 24rpx;
  83 + padding-left: 10rpx;
  84 + padding-right: 10rpx;
  85 + border-radius: 20rpx;
  86 + margin-right: 10rpx;
  87 +}
  88 +
  89 +.name.clearbadge::before {
  90 + content: none;
  91 +}
  92 +
  93 +.rmb::before {
  94 + content: '¥';
  95 + font-size: 24rpx;
  96 +}
  97 +
  98 +.del {
  99 + text-decoration: line-through;
  100 +}
  101 +
  102 +.btn {
  103 + background-color: #FF6768;
  104 + border-radius: 20rpx;
  105 + padding-left:20rpx;
  106 + padding-right: 20rpx;
  107 + color: white;
  108 +}
  109 +
  110 +.name {
  111 + height: 88rpx;
  112 +}
  113 +
  114 +.no-more {
  115 + font-size: 24rpx;
  116 + line-height: 2;
  117 + text-align: center;
  118 + padding-top: 20rpx;
  119 + padding-bottom: 20rpx;
  120 + color: #ccc;
  121 +}
  122 +
  123 +.progress {
  124 + position: relative;
  125 +}
  126 +.progress::before {
  127 + position: absolute;
  128 + width: 100%;
  129 + content: attr(data-content);
  130 + font-size: 20rpx;
  131 + color: white;
  132 + text-align: center;
  133 +}
  134 +
  135 +.btn.gray {
  136 + background-color: #ccc;
  137 +}
0 138 \ No newline at end of file
... ...
packageC/pages/luckyGo/luckyGo_details/luckyGo_details.js
... ... @@ -986,7 +986,7 @@ Page({
986 986 // }
987 987 // }
988 988 return {
989   - title: "邀一起参加幸运购",
  989 + title: "邀一起参加幸运购",
990 990 path: pagePath,
991 991 imageUrl: imgPath,
992 992 }
... ...
pages/goods/goodsInfo/goodsInfo.js
... ... @@ -702,7 +702,7 @@ Page({
702 702  
703 703 //---展示---
704 704 onShow: function () {
705   - console.log('djfijsaoifjoisadjfoij');
  705 + // console.log('djfijsaoifjoisadjfoij');
706 706 var goods_list = null, th = this, that = this;
707 707 var show_prew_img = this.data.show_prew_img
708 708 if (show_prew_img) {
... ... @@ -844,7 +844,7 @@ Page({
844 844  
845 845  
846 846 //获取统一条形码,普通商品和优惠促销的商品
847   - if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5 || ee.data.data.prom_type == 7) {
  847 + if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5 || ee.data.data.prom_type == 7 || ee.data.data.prom_type == 9) {
848 848 //默认门店要拿下门店库存
849 849 if (that.data.sales_rules == 2 && that.data.is_newsales_rules) {
850 850 //获取门店
... ... @@ -3027,7 +3027,7 @@ Page({
3027 3027 var user_id=getApp().globalData.user_id;
3028 3028 if(!user_id) user_id=0;
3029 3029  
3030   - if (prom_type == 3 || prom_type == 0 || prom_type == 5 || prom_type == 7) {
  3030 + if (prom_type == 3 || prom_type == 0 || prom_type == 5 || prom_type == 7 || prom_type == 9) {
3031 3031 this.setData({
3032 3032 prom_type: 0,isshow: 1,
3033 3033 });
... ...
pages/index/index/index.json
... ... @@ -19,7 +19,8 @@
19 19 "service": "/components/diy_service/diy_service",
20 20 "scan": "/components/diy_scan/diy_scan",
21 21 "store_select": "/components/diy_store_select/diy_store_select",
22   - "presell": "/components/diy_pregoods/diy_pregoods"
  22 + "presell": "/components/diy_pregoods/diy_pregoods",
  23 + "luckyGo": "/components/diy_luckyGo/diy_luckyGo"
23 24 },
24 25 "enablePullDownRefresh": false
25 26 }
26 27 \ No newline at end of file
... ...
pages/index/index/index.wxml
... ... @@ -505,6 +505,11 @@
505 505 <block wx:if="{{item.ename=='groupbuy'}}">
506 506 <groupbuy object="{{item.content}}"></groupbuy>
507 507 </block>
  508 + <!-- 幸运购 -->
  509 + <block wx:if="{{item.ename=='luckyactivity'}}">
  510 + <luckyGo object="{{item.content}}"></luckyGo>
  511 + </block>
  512 +
508 513  
509 514 </view>
510 515  
... ...
pages/index/index/index.wxss
... ... @@ -64,7 +64,7 @@
64 64 width: 48rpx;
65 65 height: 48rpx;
66 66 margin: 0 18rpx;
67   - border-radius: 50%;
  67 + /* border-radius: 50%; */
68 68 overflow: hidden;
69 69 }
70 70  
... ...
pages/user/order_list/order_list.js
... ... @@ -195,6 +195,22 @@ Page({
195 195 }
196 196 })
197 197 }
  198 + // 如果是幸运购活动
  199 + if(glist[0].prom_type==9){
  200 + await getApp().request.promiseGet('/api/weshop/prom/luckyOrder/list', {
  201 + data: {
  202 + store_id: os.stoid,
  203 + user_id: oo.user_id,
  204 + order_id: item.order_id,
  205 + }
  206 + }).then(res => {
  207 + if(res.data.code==0){
  208 + // console.log('luckyGo', res.data.data[0]['team_status']);
  209 + data[ind]['team_status'] = res.data.data[0]['team_status'];
  210 + // data[ind]['ord_url']='/packageC/pages/presell/cart/cart';
  211 + }
  212 + })
  213 + }
198 214 //------------对比一下有没有退款记录------------
199 215 await getApp().request.promiseGet("/api/weshop/order/returngoods/page", {
200 216 data: {
... ...
pages/user/order_list/order_list.wxml
... ... @@ -40,7 +40,7 @@
40 40 <text selectable='true'>订单编号:{{item.order_sn}}</text>
41 41 <!-- 商品评价状态 -->
42 42 <view class="flex-center c-r">
43   -
  43 + <!-- 这是预售的 -->
44 44 <block wx:if="{{item.presell}}">
45 45 <block wx:if="{{item.order_status==3}}">
46 46 <text wx:if="{{item.presell.tail_pay_state==2}}">尾款支付失败</text>
... ... @@ -64,6 +64,19 @@
64 64 <block wx:else>退款中</block>
65 65  
66 66 </block>
  67 + <!-- 幸运购 -->
  68 + <block wx:elif="{{item.order_goods[0].prom_type == 9}}">
  69 + <view wx:if="{{item.is_back ==1}}">已退款</view>
  70 + <view wx:if="{{item.pay_status ==1 && item.team_status == 0}}">已支付,待成团</view>
  71 + <view wx:if="{{(item.order_status==0&&item.pay_status==0)}}">未支付</view>
  72 + <view wx:if="{{(item.order_status==1&&item.pay_status==1&&item.shipping_status==0 && item.team_status == 2)}}">待发货</view>
  73 + <view wx:if="{{(item.order_status==1&&item.pay_status==1&&item.shipping_status==1 && item.team_status == 2)}}">待收货</view>
  74 + <view wx:if="{{(item.order_status==2)}}">待评价</view>
  75 + <view wx:if="{{item.order_status==4}}">已评价</view>
  76 + <view wx:if="{{item.pay_status == 0 && item.order_status==3 && item.pt_status!=6}}" class="flex-center" >已取消<view class="lin"></view>
  77 + <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteOrderData" data-index="{{index}}" data-order_id="{{item.order_id}}"></image>
  78 + </view>
  79 + </block>
67 80 <block wx:else>
68 81 <!-- 订单状态 -->
69 82 <view wx:if="{{item.pt_status==1 && item.pt_prom_id>0}}">组团中</view>
... ... @@ -82,6 +95,8 @@
82 95 </block>
83 96 <block wx:else>退款中</block>
84 97 </block>
  98 +
  99 +
85 100  
86 101 </view>
87 102 </view>
... ...