var regeneratorRuntime = require('../../utils/runtime.js'); var ut = require("../../utils/util.js"); var os= getApp().globalData.setting; Component({ properties: { // 这里定义了innerText属性,属性值可以在组件使用时指定 object: { type: Object, value: null, }, goods_array: { type: Array, value: [] }, newTime: { type: Number, value: 0 }, }, data: { // 这里是一些组件内部数据 yc: false, someData: null, ylp_img: "https://mshopimg.yolipai.net/", imghost: os.imghost, timer: null, }, pageLifetimes: { //要处理一下,游客登录后的界面的变化,主要还该是改变会员 show: function () { //会员身份变化 var th = this; var g_id = this.data.object; this.init(g_id); setTimeout(function () { if (th.data.goods_array && th.data.goods_array.length > 0) { th.data.timer = setInterval(function () { th.countDown2(th); }, 1000); } },600) } }, ready: function () { var g_id = this.data.object; this.init(g_id); }, detached() { // 页面被被销毁的时候,清除定时器 clearInterval(this.data.timer); }, methods: { // 这里是一个自定义方法 customMethod: function () { }, init: function (g_id) { var th=this; getApp().getConfig2(function (e) { var swithc_list = e.switch_list; var sw_arr = JSON.parse(swithc_list); if(sw_arr.is_retail_price){ th.setData({is_retail_price:1}); } }) var app = getApp(), goodsidlist = ""; if (g_id.data && g_id.data.length > 0) { //--先把商品ID串起来-- g_id.data.forEach(function (val, ind) { var item = {}; goodsidlist += val.goodsid + ","; }) goodsidlist = ut.sub_last(goodsidlist); var user_id=getApp().globalData.user_id; if(!user_id){ user_id=0;} //--调用接口,读取团购-- app.request.promiseGet("/api/weshop/goods/groupBuy/getGoodsList?isnew=1&store_id=" + os.stoid + "&aidlist=" + goodsidlist+"&user_id="+user_id, {}).then(res => { console.log(res,100); //如果秒杀的数组为空的时候 var goodslist = res.data.data; //就算是添加的活动已经过期,就要用最新的进行中活动 if (goodslist && goodslist.length > 0) { th.set_goods_list(g_id.data, goodslist); } }); } else { th.no_gid_set(); } }, //-- 当是默认的情况 -- no_gid_set() { var user_id=getApp().globalData.user_id; if(!user_id){ user_id=0;} var req={ store_id: os.stoid, is_end: 0, is_show: 1, timetype: 2,user_id:user_id}; getApp().request.promiseGet("/api/weshop/goods/groupBuy/page?isnew=1&page=1&pageSize=9", { isShowLoading: 1, data:req } ).then(res => { if (res.data.code == 0 && res.data.data.pageData && res.data.data.pageData.length > 0) { var goodsidlist = res.data.data.pageData; this.set_goods_list(null, goodsidlist); } }); }, //就算是添加的活动已经过期,就要用最新的活动 set_goods_list(g_id, goodslist) { // 判断火热,预热 var newTime = ut.gettimestamp(), all_array = [], th = this; th.setData({ newTime: newTime }); if (g_id) { goodslist.forEach(function (vy, indy) { all_array.push(vy); }) } else { all_array = goodslist; } if (all_array.length == 0) { all_array = goodslist; } for(let i in all_array){ let item=all_array[i]; if(item.user_price) item.price=item.user_price; } var arr = new Array(); //--三个三个一组--- for (var i = 0; i < all_array.length; i += 3) { arr.push(all_array.slice(i, i + 3)); } /*--熏染到前台--*/ th.setData({ goods_array: arr }); th.data.timer = setInterval(function () { th.countDown2(th); }, 1000); }, //---小于10的格式化函数---- timeFormat: function (param) { return param < 10 ? '0' + param : param; }, //----秒杀倒计时函数----- countDown2: function (ob) { if (ob == undefined) return false; var ee = ob; // 获取当前时间,同时得到活动结束时间数组 var newTime = ut.gettimestamp(); this.setData({ newTime: newTime }); var List = ee.data.goods_array; if (List.length == 0) return false; for (var j = 0; j < List.length; j++) { // 对结束时间进行处理渲染到页面 var endTimeList = List[j]; for (var i = 0; i < endTimeList.length; i++) { var o = endTimeList[i]; var endTime = o.end_time; if (newTime < o.start_time) endTime = o.start_time; let obj = null; // 如果活动未结束,对时间进行处理 if (endTime - newTime > 0) { let time = (endTime - newTime); // 获取天、时、分、秒 let day = parseInt(time / (60 * 60 * 24)); let hou = parseInt(time % (60 * 60 * 24) / 3600); let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); obj = { day: this.timeFormat(day), hou: this.timeFormat(hou), min: this.timeFormat(min), sec: this.timeFormat(sec) } } else { //活动已结束,全部设置为'00' obj = { day: '00', hou: '00', min: '00', sec: '00' } } var txt = "goods_array[" + j + "][" + i + "].djs"; ee.setData({ [txt]: obj }); } } }, //图片失败,默认图片 bind_bnerr3: function (e) { var _errImg = e.target.dataset.errorimg; var _errObj = {}; _errObj[_errImg] = "/public/images/default_goods_image_240.gif"; this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; }, //跳转到团购列表 go_to_group: function () { var url="/packageC/pages/group_list/group_list"; getApp().goto(url); }, //跳转到商品详情,要区别商品和服务卡项 go_group_buy(e){ let index=e.currentTarget.dataset.index; let idx=e.currentTarget.dataset.idx; let aitem=this.data.goods_array[index][idx]; var url="/pages/goods/goodsInfo/goodsInfo?goods_id="+aitem.goods_id+"&prom_type=2&prom_id="+aitem.prom_id; //如果是服务卡项的时候 if(aitem.goods_type==1){ url="/packageG/pages/group_buy/goodsInfo/goodsInfo?goods_id="+aitem.goods_id+"&prom_id="+aitem.prom_id; } getApp().goto(url); } } })