| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511 | 
							- // pages/snapUpDetail/snapUpDetail.js
 
- var http = require('../../utils/http.js');
 
- var config = require('../../utils/config.js');
 
- Page({
 
-   /**
 
-    * 页面的初始数据
 
-    */
 
-   data: {
 
-     hideModal: true,
 
-     prodCommData: {},
 
-     littleCommPage: [],
 
-     evaluate: -1,
 
-     isCollection: false,
 
-     prodCommPage: {
 
-       current: 0,
 
-       pages: 0,
 
-       records: []
 
-     },
 
-     imgs: '', //商品图片
 
-     /** swiper */
 
-     indicatorDots: true,
 
-     autoplay: true,
 
-     indicatorColor: '#f2f2f2',
 
-     interval: 3000,
 
-     duration: 1000,
 
-     indicatorActiveColor: '#eb2444',
 
-     /** swiper */
 
-     content: '', //商品详情介绍
 
-     skuShow: false,  //sku选择
 
-     popupShow: false,
 
-     commentShow: false,
 
-     defaultSku: undefined,
 
-     skuGroup: {},
 
-     allProperties: [],
 
-     prodNum: 1, //数量+-
 
-     skuId: 0,
 
-     prodId: 0,
 
-     totalCartNum: 0,
 
-     pic: "",
 
-     imgs: '',
 
-     prodName: '',
 
-     price: 0,
 
-     content: '',
 
-     brief: '',
 
-     picDomain: config.picDomain,
 
-     groupSkuId:'',
 
-     groupTeamId: 0
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面加载
 
-    */
 
-   onLoad: function (options) {
 
-     console.log(options);
 
-     this.setData({
 
-       prodId: options.prodid,
 
-     });
 
-     if (options.scene) {
 
-       // console.log(options.scene)
 
-       const scene = decodeURIComponent(options.scene);
 
-       var params = scene.split(",");
 
-       this.setData({
 
-         prodId: params[0],
 
-       });
 
-     }
 
-     // 加载商品信息
 
-     this.getProdInfo();
 
-     // 加载评论项
 
-     this.getLittleProdComm();
 
-   },
 
-   /**
 
-    * 获取商品信息
 
-    */
 
-   getProdInfo() {
 
-     wx.showLoading();
 
-     var params = {
 
-       url: "/prod/prodInfo",
 
-       method: "GET",
 
-       data: {
 
-         prodId: this.data.prodId,
 
-         // userType: 0
 
-       },
 
-       callBack: (res) => {
 
-         // console.log(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,
 
-           prodId: res.prodId,
 
-           brief: res.brief,
 
-           // skuId: res.skuId
 
-           skuList: res.skuList,
 
-           pic: res.pic
 
-         });
 
-         // 获取优惠券
 
-         this.getCouponList();
 
-         // 组装sku
 
-         this.groupSkuProp();
 
-         wx.hideLoading();
 
-       }
 
-     };
 
-     http.request(params);
 
-   },
 
-   showSku: function () {
 
-     this.setData({
 
-       skuShow: true
 
-     });
 
-   },
 
-   /**
 
-    * 根据sku的属性 分组
 
-    */
 
-   groupSkuProp: function () {
 
-     var skuList = this.data.skuList;
 
-     if (skuList.length == 1 && skuList[0].properties == "") {
 
-       this.setData({
 
-         defaultSku: skuList[0]
 
-       });
 
-       return;
 
-     }
 
-     var skuGroup = {};
 
-     var allProperties = [];
 
-     var propKeys = [];
 
-     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
 
-     });
 
-   },
 
-   /**
 
-    * 将已选的 {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
 
-     });
 
-     for (var i = 0; i < this.data.skuList.length; i++) {
 
-       if (this.data.skuList[i].properties == selectedProperties) {
 
-         this.setData({
 
-           defaultSku: this.data.skuList[i]
 
-         });
 
-         break;
 
-       }
 
-     }
 
-   },
 
-   /**
 
-    * 点击选择规格
 
-    */
 
-   toChooseItem: function (e) {
 
-     var ok = e.currentTarget.dataset.ok;
 
-     if (!ok) {
 
-       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();
 
-   },
 
-   /**
 
-   * 加数量
 
-   */
 
-   onCountPlus: function () {
 
-     var prodNum = this.data.prodNum;
 
-     if (prodNum < 1000) {
 
-       this.setData({
 
-         prodNum: prodNum + 1
 
-       });
 
-     }
 
-   },
 
-   /**
 
-   * 减数量
 
-   */
 
-   onCountMinus: function () {
 
-     var prodNum = this.data.prodNum;
 
-     if (prodNum > 1) {
 
-       this.setData({
 
-         prodNum: prodNum - 1
 
-       });
 
-     }
 
-   },
 
-   /**
 
-    * 关闭弹窗
 
-    */
 
-   closePopup: function () {
 
-     this.setData({
 
-       popupShow: false,
 
-       skuShow: false,
 
-       commentShow: false
 
-     });
 
-   },
 
-   /**
 
-    * 获取部分评论
 
-    */
 
-   getLittleProdComm() {
 
-     if (this.data.prodCommPage.records.length) {
 
-       return;
 
-     }
 
-     this.getProdCommPage();
 
-   },
 
-   getMoreCommPage(e) {
 
-     this.getProdCommPage();
 
-   },
 
-   // 获取分页获取评论
 
-   getProdCommPage(e) {
 
-     if (e) {
 
-       if (e.currentTarget.dataset.evaluate === this.data.evaluate) {
 
-         return;
 
-       }
 
-       this.setData({
 
-         prodCommPage: {
 
-           current: 0,
 
-           pages: 0,
 
-           records: []
 
-         },
 
-         evaluate: e.currentTarget.dataset.evaluate
 
-       })
 
-     }
 
-     http.request({
 
-       url: "/p/prodComm/prodCommPageByProd",
 
-       method: "GET",
 
-       data: {
 
-         prodId: this.data.prodId,
 
-         size: 10,
 
-         current: this.data.prodCommPage.current + 1,
 
-         evaluate: this.data.evaluate
 
-       },
 
-       callBack: (res) => {
 
-         res.records.forEach(item => {
 
-           if (item.pics) {
 
-             item.pics = item.pics.split(',')
 
-           }
 
-         })
 
-         let records = this.data.prodCommPage.records
 
-         records = records.concat(res.records)
 
-         this.setData({
 
-           prodCommPage: {
 
-             current: res.current,
 
-             pages: res.pages,
 
-             records: records
 
-           }
 
-         })
 
-         // 如果商品详情中没有评论的数据,截取两条到商品详情页商品详情
 
-         if (!this.data.littleCommPage.length) {
 
-           this.setData({
 
-             littleCommPage: records.slice(0, 2)
 
-           })
 
-         }
 
-       }
 
-     })
 
-   },
 
-   showComment: function () {
 
-     this.setData({
 
-       commentShow: true
 
-     });
 
-   },
 
-   /**
 
-    * 立即购买
 
-    */
 
-   buyNow: function() {
 
-     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: '/pages/submit-order/submit-order?orderEntry=1',
 
-     })
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面初次渲染完成
 
-    */
 
-   onReady: function () {
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面显示
 
-    */
 
-   onShow: function () {
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面隐藏
 
-    */
 
-   onHide: function () {
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面卸载
 
-    */
 
-   onUnload: function () {
 
-   },
 
-   /**
 
-    * 页面相关事件处理函数--监听用户下拉动作
 
-    */
 
-   onPullDownRefresh: function () {
 
-   },
 
-   /**
 
-    * 页面上拉触底事件的处理函数
 
-    */
 
-   onReachBottom: function () {
 
-   },
 
-   /**
 
-    * 用户点击右上角分享
 
-    */
 
-   onShareAppMessage: function () {
 
-   },
 
-   /**
 
-    * 显示遮罩层
 
-    */
 
-   showModal: function () {
 
-     var that = this;
 
-     that.setData({
 
-       hideModal: false
 
-     })
 
-     var animation = wx.createAnimation({
 
-       duration: 600,//动画的持续时间 默认400ms 数值越大,动画越慢 数值越小,动画越快 
 
-       timingFunction: 'ease',//动画的效果 默认值是linear 
 
-     })
 
-     this.animation = animation
 
-     setTimeout(function () {
 
-       that.fadeIn();//调用显示动画
 
-     }, 100)
 
-   },
 
-   /**
 
-    * 隐藏遮罩层
 
-    */
 
-   hideModal: function () {
 
-     var that = this;
 
-     var animation = wx.createAnimation({
 
-       duration: 800,//动画的持续时间 默认400ms 数值越大,动画越慢 数值越小,动画越快 
 
-       timingFunction: 'ease',//动画的效果 默认值是linear
 
-     })
 
-     this.animation = animation
 
-     that.fadeDown();//调用隐藏动画
 
-     setTimeout(function () {
 
-       that.setData({ hideModal: true })
 
-     }, 720)//先执行下滑动画,再隐藏模块
 
-   },
 
-   /**
 
-    * 动画集
 
-    */
 
-   fadeIn: function () {
 
-     this.animation.translateY(0).step()
 
-     this.setData({
 
-       animationData: this.animation.export()//动画实例的export方法导出动画数据传递给组件的animation属性
 
-     })
 
-   },
 
-   fadeDown: function () {
 
-     this.animation.translateY(300).step()
 
-     this.setData({
 
-       animationData: this.animation.export(),
 
-     })
 
-   },
 
-   /**
 
-    * 跳转到首页
 
-    */
 
-   toHomePage: function () {
 
-     wx.switchTab({
 
-       url: '/pages/index/index',
 
-     })
 
-   },
 
-   /**
 
-    * 跳转到购物车
 
-    */
 
-   toCartPage: function () {
 
-     wx.switchTab({
 
-       url: '/pages/basket/basket',
 
-     })
 
-   },
 
-   /**
 
-    * 查看拼团团队
 
-    */
 
-   toGroupTempInfoPage: function (e) {
 
-     wx.navigateTo({
 
-       url: '/pages/spellMembersDetails/spellMembersDetails?groupTeamId=' + e.currentTarget.dataset.groupTeamId,
 
-     })
 
-   },
 
-   /**
 
-    * 拼团确认订单
 
-    */
 
-   groupConfirmOrder: function(e){
 
-     var ths = this;
 
-     wx.showLoading({
 
-       mask: true
 
-     });
 
-     // 查看是否授权
 
-     wx.getSetting({
 
-       success(res) {
 
-         wx.hideLoading();
 
-         if (res.authSetting['scope.userInfo']) {
 
-           ths.setData({
 
-             isAuthInfo: true
 
-           });
 
-           wx.setStorageSync("groupOrderItem", JSON.stringify({
 
-             groupSkuId: 1,// this.data.groupSkuId,
 
-             prodCount:  this.data.prodNum,
 
-             groupTeamId: 0 // this.data.groupTeamId
 
-           }));
 
-           wx.navigateTo({
 
-             url: '/pages/groupConfirmOrder/groupConfirmOrder',
 
-           })
 
-         } else {
 
-           ths.setData({
 
-             isAuthInfo: false
 
-           });
 
-         }
 
-       }
 
-     })
 
-   }
 
- })
 
 
  |