| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458 | 
							- // pages/prod/prod.js
 
- const app = getApp()
 
- var http = require('../../../utils/http.js');
 
- var config = require('../../../utils/config.js');
 
- var util = require('../../../utils/util.js');
 
- Page({
 
-   /**
 
-    * 页面的初始数据
 
-    */
 
-   data: {
 
-     shopId: 1,
 
-     shopName: '',
 
-     picDomain: config.picDomain,
 
-     indicatorDots: true,
 
-     indicatorColor: '#f2f2f2',
 
-     indicatorActiveColor: '#eb2444',
 
-     isAuthInfo: true,
 
-     autoplay: true,
 
-     interval: 3000,
 
-     duration: 1000,
 
-     prodNum: 1,
 
-     totalCartNum: 0,
 
-     groupActivityId: 0,
 
-     pic: "",
 
-     imgs: '',
 
-     prodName: '',
 
-     price: 0,
 
-     actPrice: 0,
 
-     content: '',
 
-     prodId: 0,
 
-     brief: '',
 
-     skuId: 0,
 
-     popupShow: false,
 
-     skuShow: false,
 
-     skuGroupShow: false,
 
-     commentShow: false,
 
-     skuList: [],
 
-     skuGroup: {},
 
-     findSku: true,
 
-     defaultSku: undefined,
 
-     detaultGroupSku: undefined,
 
-     selectedProp: [],
 
-     selectedPropObj: {},
 
-     selectedProperties: "",
 
-     propKeys: [],
 
-     allProperties: [],
 
-     isCollection: false,
 
-     skuShowType: 0, // sku的显示类型 0普通sku 1拼团sku
 
-     totalStocks: 0, // 活动剩余库存
 
-     hasMaxNum: false, // 是否限购
 
-     maxNum: 0, // 限购数量
 
-     totalStocks: 0, //库存量
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面加载
 
-    */
 
-   onLoad: function(options) {
 
-     this.setData({
 
-       prodId: options.prodId,
 
-     });
 
-     // 加载商品信息
 
-     this.getProdInfo();
 
-   },
 
-   /**
 
-    * 获取是否关注信息
 
-    */
 
-   getCollection() {
 
-     wx.showLoading();
 
-     var params = {
 
-       url: "/p/user/collection/isCollection",
 
-       method: "GET",
 
-       data: {
 
-         prodId: this.data.prodId
 
-       },
 
-       callBack: (res) => {
 
-         this.setData({
 
-           isCollection: res
 
-         })
 
-         wx.hideLoading();
 
-       }
 
-     };
 
-     http.request(params);
 
-   },
 
-   // 获取商品信息
 
-   getProdInfo() {
 
-     wx.showLoading();
 
-     var params = {
 
-       url: "/score/prod/prodInfo",
 
-       method: "GET",
 
-       data: {
 
-         prodId: this.data.prodId,
 
-         // userType: 0
 
-       },
 
-       callBack: (res) => {
 
-         var imgStrs = res.imgs;
 
-         var imgs = imgStrs.split(",");
 
-         var content = util.formatHtml(res.content);
 
-         this.setData({
 
-           imgs: imgs,
 
-           content: content,
 
-           price: res.price,
 
-           prodName: res.prodName,
 
-           groupActivityId: res.groupActivityId,
 
-           prodId: res.prodId,
 
-           brief: res.brief,
 
-           totalStocks: res.totalStocks,
 
-           // skuId: res.skuId
 
-           skuList: res.skuList,
 
-           totalStocks: res.totalStocks, //库存量
 
-           pic: res.pic,
 
-           shopId: res.shopId,
 
-           scorePrice: res.scorePrice, //积分价格
 
-         });
 
-         // 团购活动
 
-         if (res.groupActivityId) {
 
-           this.getJoinGroupList();
 
-         }
 
-         // 组装sku
 
-         this.groupSkuProp(res.skuList);
 
-         // this.getShopInfo();
 
-         wx.hideLoading();
 
-       }
 
-     };
 
-     http.request(params);
 
-   },
 
-   //根据sku的属性 分组
 
-   groupSkuProp: function(skuList) {
 
-     // var skuList = this.data.skuList;
 
-     if (skuList.length == 1 && skuList[0].properties == "") {
 
-       this.setData({
 
-         defaultSku: skuList[0]
 
-       });
 
-       // this.setDefaultGroupSku();
 
-       return;
 
-     }
 
-     var skuGroup = {};
 
-     var allProperties = [];
 
-     var propKeys = [];
 
-     this.setData({
 
-       selectedPropObj: {}
 
-     });
 
-     for (var i = 0; i < skuList.length; i++) {
 
-       var defaultSku = this.data.defaultSku;
 
-       var isDefault = false;
 
-       if (!defaultSku && skuList[i].price == this.data.price) { //找到和商品价格一样的那个SKU,作为默认选中的SKU
 
-         defaultSku = skuList[i];
 
-         isDefault = true;
 
-         this.setData({
 
-           defaultSku: defaultSku
 
-         });
 
-       }
 
-       var properties = skuList[i].properties; //版本:公开版;颜色:金色;内存:64GB
 
-       allProperties.push(properties);
 
-       var propList = properties.split(";"); // ["版本:公开版","颜色:金色","内存:64GB"]
 
-       var selectedPropObj = this.data.selectedPropObj;
 
-       for (var j = 0; j < propList.length; j++) {
 
-         var propval = propList[j].split(":"); //["版本","公开版"]
 
-         var props = skuGroup[propval[0]]; //先取出 版本对应的值数组
 
-         //如果当前是默认选中的sku,把对应的属性值 组装到selectedProp
 
-         if (isDefault) {
 
-           propKeys.push(propval[0]);
 
-           selectedPropObj[propval[0]] = propval[1];
 
-         }
 
-         if (props == undefined) {
 
-           props = []; //假设还没有版本,新建个新的空数组
 
-           props.push(propval[1]); //把 "公开版" 放进空数组
 
-         } else {
 
-           if (!this.array_contain(props, propval[1])) { //如果数组里面没有"公开版"
 
-             props.push(propval[1]); //把 "公开版" 放进数组
 
-           }
 
-         }
 
-         skuGroup[propval[0]] = props; //最后把数据 放回版本对应的值
 
-       }
 
-       this.setData({
 
-         selectedPropObj: selectedPropObj,
 
-         propKeys: propKeys
 
-       });
 
-     }
 
-     this.parseSelectedObjToVals();
 
-     this.setData({
 
-       skuGroup: skuGroup,
 
-       allProperties: allProperties
 
-     });
 
-     // this.setDefaultGroupSku();
 
-   },
 
-   //将已选的 {key:val,key2:val2}转换成 [val,val2]
 
-   parseSelectedObjToVals: function() {
 
-     var selectedPropObj = this.data.selectedPropObj;
 
-     var selectedProperties = "";
 
-     var selectedProp = [];
 
-     for (var key in selectedPropObj) {
 
-       selectedProp.push(selectedPropObj[key]);
 
-       selectedProperties += key + ":" + selectedPropObj[key] + ";";
 
-     }
 
-     selectedProperties = selectedProperties.substring(0, selectedProperties.length - 1);
 
-     // console.log(selectedProperties);
 
-     this.setData({
 
-       selectedProp: selectedProp,
 
-       selectedProperties: selectedProperties
 
-     });
 
-     var findSku = false;
 
-     for (var i = 0; i < this.data.skuList.length; i++) {
 
-       if (this.data.skuList[i].properties == selectedProperties) {
 
-         findSku = true;
 
-         this.setData({
 
-           defaultSku: this.data.skuList[i]
 
-         });
 
-         break;
 
-       }
 
-     }
 
-     this.setData({
 
-       findSku: findSku
 
-     });
 
-     // this.setDefaultGroupSku();
 
-   },
 
-   //点击选择规格
 
-   toChooseItem: function(e) {
 
-     var ok = e.currentTarget.dataset.ok;
 
-     if (ok == 0) {
 
-       return;
 
-     }
 
-     var val = e.currentTarget.dataset.val;
 
-     var key = e.currentTarget.dataset.key;
 
-     var selectedPropObj = this.data.selectedPropObj;
 
-     selectedPropObj[key] = val;
 
-     this.setData({
 
-       selectedPropObj: selectedPropObj
 
-     });
 
-     this.parseSelectedObjToVals();
 
-   },
 
-   //判断数组是否包含某对象
 
-   array_contain: function(array, obj) {
 
-     for (var i = 0; i < array.length; i++) {
 
-       if (array[i] == obj) //如果要求数据类型也一致,这里可使用恒等号===
 
-         return true;
 
-     }
 
-     return false;
 
-   },
 
-   /**
 
-    * 立即兑换
 
-    */
 
-   redeemNow: function() {
 
-     if (!this.data.findSku) {
 
-       return;
 
-     }
 
-     if (!this.data.skuShow) {
 
-       this.setData({
 
-         skuShow: true
 
-       })
 
-       return
 
-     }
 
-     wx.showLoading({
 
-       mask: true
 
-     });
 
-     if (this.data.totalStocks < 0) {
 
-       wx.showToast({
 
-         title: '商品库存不足!',
 
-         icon: none,
 
-         duration: 2000,
 
-       })
 
-       return
 
-     }
 
-     // 查看是否授权
 
-     util.checkAuthInfo(this._redeemNow)
 
-   },
 
-   _redeemNow() {
 
-     wx.setStorageSync("orderItem", JSON.stringify({
 
-       prodId: this.data.prodId,
 
-       skuId: this.data.defaultSku.skuId,
 
-       prodCount: this.data.prodNum,
 
-       shopId: this.data.shopId,
 
-       distributionCardNo: this.data.distributionCardNo
 
-     }));
 
-     wx.navigateTo({
 
-       url: '/packageMemberIntegral/pages/integralSubmitOrder/integralSubmitOrder?orderEntry=1',
 
-     })
 
-   },
 
-   /**
 
-    * 页面隐藏触发
 
-    */
 
-   onHide(){
 
-     this.setData({
 
-       skuShow: false
 
-     })
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面初次渲染完成
 
-    */
 
-   onReady: function() {
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面显示
 
-    */
 
-   onShow: function() {
 
-     this.setData({
 
-       totalCartNum: app.globalData.totalCartCount,
 
-     });
 
-     // 查看用户是否关注
 
-     this.getCollection();
 
-   },
 
-   /**
 
-    * 页面相关事件处理函数--监听用户下拉动作
 
-    */
 
-   onPullDownRefresh: function() {
 
-   },
 
-   /**
 
-    * 页面上拉触底事件的处理函数
 
-    */
 
-   onReachBottom: function() {
 
-   },
 
-   /**
 
-    * 跳转到首页
 
-    */
 
-   toHomePage: function() {
 
-     wx.switchTab({
 
-       url: '/pages/index/index',
 
-     })
 
-   },
 
-   /**
 
-    * 减数量
 
-    */
 
-   onCountMinus: function() {
 
-     var prodNum = this.data.prodNum;
 
-     if (prodNum > 1) {
 
-       this.setData({
 
-         prodNum: prodNum - 1
 
-       });
 
-     }
 
-   },
 
-   /**
 
-    * 加数量
 
-    */
 
-   onCountPlus: function() {
 
-     var prodNum = this.data.prodNum;
 
-     // 判断是否限购
 
-     if (this.data.hasMaxNum) {
 
-       if (prodNum < this.data.totalStocks && prodNum < this.data.maxNum) {
 
-         this.setData({
 
-           prodNum: prodNum + 1
 
-         });
 
-       } else {
 
-         wx.showToast({
 
-           title: '限购' + this.data.maxNum + '件',
 
-           icon: 'none',
 
-         })
 
-       }
 
-     } else {
 
-       if (prodNum < this.data.totalStocks) {
 
-         this.setData({
 
-           prodNum: prodNum + 1
 
-         });
 
-       }
 
-     }
 
-   },
 
-   // sku弹框
 
-   showSku: function(e) {
 
-     if (e.currentTarget.dataset.alonebuy == 1) {
 
-       this.setData({
 
-         skuShow: true,
 
-         skuShowType: 0
 
-       });
 
-     } else {
 
-       if (this.data.groupActivityId) {
 
-         this.setData({
 
-           skuShow: true,
 
-           skuShowType: 1
 
-         });
 
-       } else {
 
-         this.setData({
 
-           skuShow: true,
 
-           skuShowType: 0
 
-         });
 
-       }
 
-     }
 
-   },
 
-   // 关闭规格弹窗
 
-   closePopup: function() {
 
-     this.setData({
 
-       popupShow: false,
 
-       skuShow: false,
 
-       commentShow: false
 
-     });
 
-   },
 
-   /**
 
-    * 获取用户信息
 
-    */
 
-   onGotUserInfo: function(e) {
 
-     if (e.detail.errMsg != "getUserInfo:fail auth deny") {
 
-       this.setData({
 
-         isAuthInfo: true
 
-       });
 
-       http.updateUserInfo();
 
-     }
 
-   },
 
-   groupConfirmOrder: function(e) {
 
-     if (!this.data.findSku) {
 
-       return;
 
-     }
 
-     var ths = this;
 
-     wx.showLoading({
 
-       mask: true
 
-     });
 
-     // 查看是否授权
 
-     util.checkAuthInfo(ths._groupConfirmData)
 
-   },
 
-   _groupConfirmData() {
 
-     wx.setStorageSync("groupOrderItem", JSON.stringify({
 
-       groupSkuId: ths.data.detaultGroupSku.groupSkuId, // this.data.groupSkuId,
 
-       prodCount: ths.data.prodNum, // this.data.prodNum,
 
-       groupTeamId: e.currentTarget.dataset.teamid // this.data.groupTeamId
 
-     }));
 
-     wx.navigateTo({
 
-       url: '/pages/groupConfirmOrder/groupConfirmOrder',
 
-     })
 
-   }
 
- })
 
 
  |