| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- // index.js
- let myPro = require("../../utils/wxRequest.js");
- let util = require("../../utils/util.js");
- Page({
- data: {
- imgUrl: getApp().globalData.imgUrl,
- fare_type: 1, // 0外卖 1自提 默认自提
- transprotFare: 0, // 配送费
- userInfo: null,
- forbidden: null, // 1不允许下单
- store: null,
- is_member: 0 // 是否为会员
- },
- onLoad: function (options) {
- // Do some initialize when page load.
- let that = this;
- that.setData({
- userInfo: getApp().globalData.userInfo
- });
- },
- onShow: function () {
- // Do something when page show.
- let that = this;
- that.setData({
- is_member: getApp().globalData.is_member
- });
- // 清掉备注
- wx.removeStorageSync('user_mark');
- // 店铺
- if(wx.getStorageSync('store')){
- that.setData({
- store: JSON.parse(wx.getStorageSync('store'))
- });
- };
- that.getCreatelist();
- },
- onReady: function () {
- // Do something when page ready.
- },
- onHide: function () {
- // Do something when page hide.
- },
- onUnload: function () {
- // Do something when page close.
- },
- onPullDownRefresh: function () {
- // Do something when pull down.
-
- },
- onReachBottom: function () {
- // Do something when page reach bottom.
- },
- onPageScroll: function () {
- // Do something when page scroll
-
- },
- onResize: function () {
- // Do something when page resize
- },
- // 获取购物车商品及配送费
- getCreatelist(){
- let that = this;
- let params = {};
- // 获取配送方式
- if(wx.getStorageSync('fare_type')){
- let fare_type = wx.getStorageSync('fare_type');
- params.fare_type = fare_type;
- that.setData({
- fare_type: fare_type
- });
- };
- // 获取收货地址
- if(that.data.fare_type != 1){
- if(wx.getStorageSync('checkedAddress')){
- let checkedAddress = JSON.parse(wx.getStorageSync('checkedAddress'));
- that.setData({
- checkedAddress: checkedAddress
- });
- params.address_id = checkedAddress.id;
- };
- };
- // console.log('params',params);
- myPro.wxRequest("user/v3/order/createlist","GET",params).then(res=>{
- that.setData({
- cartGoods: res.result.cartsList,
- transprotFare: res.result.orderInfo.delivery_fee,
- totalPrice: res.result.orderInfo.pay_price,
- });
- }).catch(err=>{
- console.log('报错信息',err);
- wx.showToast({
- title: err,
- icon: "none"
- })
- })
- },
- // 获取购物车商品
- getCartsList(){
- let that = this;
- let params = {};
- myPro.wxRequest("user/v3/carts/list","GET",params).then(res=>{
- // 已加购商品
- let list = res.result.list;
- that.setData({
- cartGoods: list,
- totalPrice: res.result.money,
- totalNums: res.result.total_num
- });
- // 计算价格和数量
- that.computedGoods();
- }).catch(err=>{
- console.log('报错信息',err);
- wx.showToast({
- title: err,
- icon: "none"
- });
- })
- },
- // 计算运费(店铺与收获地址的距离)
- getTransportFare(){
- let that = this;
- let params = {
- lat: that.data.checkedAddress.lat,
- lng: that.data.checkedAddress.lnt, // lnt没写错
- store_id: that.data.store.id
- };
- wx.request({
- method: "GET",
- url: getApp().globalData.api + "api/common/store/distance",
- data: params,
- success: function(res){
- let data = res.data;
- if(data.code == 200){
- that.setData({
- forbidden: null,
- transprotFare: data.result.delivery_fee
- });
- // 计算总费用
- that.computedGoods();
- }else if(data.code == 400){
- // 约定400 为超出配送范围
- wx.showToast({
- title: data.msg,
- icon: "none"
- });
- that.setData({
- transprotFare: data.result.delivery_fee
- });
- // 计算总费用 但不允许下单
- that.computedGoods();
- that.setData({
- forbidden: 1
- });
- }else{
- wx.showToast({
- title: data.msg,
- icon: "none"
- });
- }
- },
- fail: function(res){
- console.log("报错",res)
- }
- })
- },
- // 计算费用
- computedGoods(){
- let that = this;
- // 商品的总计数量和总价后台直接返回,但配送费得算上
- let totalPrice = that.data.totalPrice;
- // 加上配送费
- if(that.data.transprotFare){
- // console.log('配送费',that.data.transprotFare)
- totalPrice += parseFloat(that.data.transprotFare); // 返回的可能是字符串
- };
- that.setData({
- totalPrice: totalPrice
- });
- },
- // 输入的备注信息
- getUserMark(event){
- // console.log(event.detail);
- let that = this;
- wx.setStorage({
- key: 'user_mark',
- data: event.detail
- });
- },
- // 进创建订单页
- goCreateOrder(event){
- let that = this;
- if(that.data.forbidden){
- wx.showToast({
- title: "超出配送范围,请更换地址",
- icon: "none"
- })
- }else{
- let url = "";
- if(that.data.fare_type == 0){
- url = '/pages/pay-order/index?fare_type='+that.data.fare_type+'&address_id='+that.data.checkedAddress.id
- }else{
- url = '/pages/pay-order/index?fare_type='+that.data.fare_type
- }
- wx.redirectTo({
- url: url
- });
- }
- },
- // 更改配送地址
- goSelectAddress(){
- let that = this;
- wx.navigateTo({
- url: "/pages/user/address/list/index?is_back=1"
- });
- }
- });
|