var t = getApp(), a = t.request, o = t.globalData.setting, os = o, i = require("../../utils/util.js"), ut = i, s = require("../../utils/common.js"); var regeneratorRuntime = require('../../utils/runtime.js'); Component({ properties: { // 这里定义了innerText属性,属性值可以在组件使用时指定 object: { type: Object, value: null, }, }, data: { // 这里是一些组件内部数据 group: false, imghost: o.imghost, is_recommend: 0, is_hot: 0, is_new: 0, baseUrl: "/api/weshop/goods/page", resourceUrl: t.globalData.setting.resourceUrl, url: t.globalData.setting.imghost, currentPage: 1, requestData: null, requestUrl: "", goods_array: null, total: null, prom_id: 0, classstyle_id: null, g_id: null, wgroup: null, goods_btn: null, loadText: '加载更多', someData: {}, goodscount: null, firist_type_data: null, firist_type_curr: 0, }, ready: function () { }, lifetimes: { attached: function() { // 在组件实例进入页面节点树时执行 this.data.classstyle_id = this.data.object.classstyle; this.data.goodscount = this.data.object.goodscount; this.data.wgroup = this.data.object.wgroup; this.setData({ classstyle_id: this.data.object.classstyle }) if (this.data.object.goodsclass == 1) { this.data.is_recommend = 1 } if (this.data.object.goodsclass == 2) { this.data.is_hot = 1 } if (this.data.object.goodsclass == 3) { this.data.is_new = 1 } this.data.requestData = new Array(); this.data.g_id = this.data.object.data; var arr = []; for (var i = 0; i < this.data.g_id.length; i += this.data.goodscount) { arr.push(this.data.g_id.slice(i, i + this.data.goodscount)); } this.data.firist_type_data = arr; this.init(this.data.classstyle_id, this.data.wgroup); }, detached: function() { // 在组件实例被从页面节点树移除时执行 }, }, pageLifetimes: { show: function () { this.data.firist_type_curr=0, this.data.currentPage=1, this.setData({ goods_array: null}) // 页面被展示 // 在组件实例进入页面节点树时执行 this.data.classstyle_id = this.data.object.classstyle; this.data.goodscount = this.data.object.goodscount; this.data.wgroup = this.data.object.wgroup; this.setData({ classstyle_id: this.data.object.classstyle }) if (this.data.object.goodsclass == 1) { this.data.is_recommend = 1 } if (this.data.object.goodsclass == 2) { this.data.is_hot = 1 } if (this.data.object.goodsclass == 3) { this.data.is_new = 1 } this.data.requestData = new Array(); //---将数组--- this.data.g_id = this.data.object.data; var arr = []; for (var i = 0; i < this.data.g_id .length; i += this.data.goodscount) { arr.push(this.data.g_id .slice(i, i + this.data.goodscount)); } this.data.firist_type_data = arr; this.init(this.data.classstyle_id, this.data.wgroup); }, }, methods: { // 这里是一个自定义方法 init: function (classstyle_id, wgroup) { var th = this; var g_id = this.data.g_id; if (classstyle_id == 1) { //---手动选择的时候--- g_id = this.data.firist_type_data[th.data.firist_type_curr]; th.data.firist_type_curr++; } var th = this, app = getApp(), index = 0, gdata = []; //--初始化卡类-- th.card_init(); var os=getApp().globalData.setting; classstyle_id = classstyle_id + ""; switch (classstyle_id) { //---手动选择商品--- case "1": var str=""; for (var i = 0; i < g_id.length; i++) { str += g_id[i].goodsid + ","; } str=str.substring(0, str.length - 1); app.request.get("/api/weshop/goods/getgoodslistOrdby?store_id=" + os.stoid + "&goodsidlist=" + str, { success: function(res) { console.log("121212"); if(res.data.code==0 && res.data.data){ var rData = th.data.requestData; if (rData == null) rData=[]; var now=ut.gettimestamp(); var new_arr=[]; for (var ii in res.data.data){ var item=res.data.data[ii]; item.goods_img=th.data.imghost + item.original_img; if(item.e_timenow) {item.prom_type=0; item.prom_price=0;} new_arr.push(item); } rData = rData.concat(new_arr); th.data.requestData = rData; th.setData({ goods_array: rData }); //---控制有没有加载更多的按钮--- if (th.data.firist_type_curr == th.data.firist_type_data.length) {th.setData({ goods_btn: [] }); } else th.setData({ goods_btn: res.data}); } } }) break; case "2": var item = {}; app.request.promiseGet("/api/weshop/goods/page", { data: { store_id: os.stoid , is_recommend: th.data.is_recommend, is_hot: th.data.is_hot, is_new: th.data.is_new, pageSize: th.data.goodscount, page: th.data.currentPage, isonsale: 1, } }).then(res => { //商品地址 var goods = res.data.data.pageData; th.setData({ goods_btn: res.data.data.pageData, total: res.data.data.total }) th.data.currentPage++; var now=ut.gettimestamp(); goods.forEach(async function (val, ind) { var item = {}; var prom_id = null; console.log(val.goodsid); //app.request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + val.goods_id, {}).then(res => { //商品地址 //var goods = res.data.data; item.goods_name = val.goods_name; item.goods_img = th.data.imghost + val.original_img; item.market_price = val.market_price; item.shop_price = val.shop_price; item.sales_sum = val.sales_sum; item.goods_id = val.goods_id; item.cardprice1 = val.cardprice1; item.cardprice2 = val.cardprice2; item.cardprice3 = val.cardprice3; prom_id = val.prom_id; var prom_type = val.prom_type; //0普通商品 1秒杀 6拼单 var url = ""; if (prom_type == 6) { url = "/api/weshop/teamlist/get/" + os.stoid + "/" + prom_id; } else if (prom_type == 1) { url = "/api/ms/flash_sale/get/" + os.stoid + "/" + prom_id; } if(url!="") { await app.request.promiseGet(url, {}).then(res => { var prom = null if (res && res.data) prom=res.data.data; if (prom != null && prom.is_end==0 && prom.end_time>now && prom.show_time { //商品地址 var goods = res.data.data.pageData; th.setData({ goods_btn: res.data.data.pageData, total: res.data.data.total }) th.data.currentPage++; var now=ut.gettimestamp(); goods.forEach(async function (val, ind) { var item = {}; var prom_id = null; console.log(val.goodsid); //app.request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + val.goods_id, {}).then(res => { //商品地址 var goods = res.data.data; item.goods_name = val.goods_name; item.goods_img = th.data.imghost + val.original_img; item.market_price = val.market_price; item.shop_price = val.shop_price; item.sales_sum = val.sales_sum; item.goods_id = val.goods_id; item.cardprice1 = val.cardprice1; item.cardprice2 = val.cardprice2; item.cardprice3 = val.cardprice3; prom_id = val.prom_id; var prom_type = res.data.data.prom_type; //0普通商品 1秒杀 6拼单 var url = ""; if (prom_type == 6) { url = "/api/weshop/teamlist/get/" + os.stoid + "/" + prom_id; } else if (prom_type == 1) { url = "/api/ms/flash_sale/get/" + os.stoid + "/" + prom_id; } if(url!=null){ await app.request.promiseGet(url, {}).then(res => { var prom =null; if(res && res.data) res.data.data; if (prom != null && prom.is_end==0 && prom.end_time>now && prom.show_time 4) card_name = card_name.substring(0, 4); th.setData({ card_field: user.card_field, card_name: card_name, card_list: ob.card_list }); } } }, 500) }) } }) } }) }, //--- 获取卡类列表 --- getPlusCardType: function(func) { var storid = o.stoid; var th = this; getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { var plusCard = res.data.data; var arr = [1219, 2089, 3031]; var new_arr = new Array(); var card_name_map = new Map(); for (var i = 0; i < plusCard.length; i++) { var name = "card" + plusCard[i].CorrPrice.toLowerCase(); card_name_map.set(name, plusCard[i].CardName); } var ob = { "card_list": plusCard, "name_map": card_name_map }; func(ob); }) }, } })