| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427 | 
							- var util = require('../../../utils/util.js');
 
- var api = require('../../../config/api.js');
 
- var app = getApp();
 
- var dateArray = [];
 
- Page({
 
-   data: {
 
-     checkedGoodsList: [],
 
-     addressVo: {},
 
-     checkedCoupon: [],
 
-     couponList: [],
 
-     goodsBizTypeList: ['00','02','10','11'],
 
-     goodsTotalPrice: 0.00, //商品总价
 
-     freightPrice00: 0.00,    //备货业务快递费
 
-     freightPrice02: 0.00,    //补货业务快递费
 
-     freightPrice10: 0.00,    //现场发包快递费
 
-     freightPrice11: 0.00,    //普通商品快递费
 
-     couponPrice: 0.00,     //优惠券的价格
 
-     orderTotalPrice: 0.00,  //订单总价
 
-     actualPrice: 0.00,     //实际需要支付的总价
 
-     userCouponId: 0,
 
-     fullCutCouponId: 0,
 
-     fullCutCouponDec: 0, //满减优惠券
 
-     goodsTotalByType00: 0,//备货业务商品总计
 
-     goodsTotalByType02: 0,//补货业务商品总计
 
-     goodsTotalByType10: 0,//现场发包商品总计
 
-     goodsTotalByType11: 0, //普通商品商品总计
 
-     postscript: "",
 
-     postscript00: '',//备货业务备注
 
-     postscript02: '',//补货业务备注
 
-     postscript10: '',//现场发包备注
 
-     postscript11: '',//普通商品备注
 
-     checkStore: false,
 
-     storeVo: {},
 
-     delivery_date: '',
 
-     delivery_remark: '尽快送达',
 
-     multiArray: [],
 
-     multiIndex: [0, 0],
 
-     timeArray: util.getNowTimeArray(),
 
-     idNo: '',
 
-     userName: '',
 
-     idNoM: '',
 
-     idNoDisabled: false
 
-   },
 
-   bindMultiPickerColumnChange: function (e) {
 
-     let that = this;
 
-     // console.log('修改的列为', e.detail.column, ',值为', e.detail.value);
 
-     var data = {
 
-       multiArray: this.data.multiArray,
 
-       multiIndex: this.data.multiIndex
 
-     };
 
-     data.multiIndex[e.detail.column] = e.detail.value
 
-     if (e.detail.column == 0){
 
-       data.multiIndex[1] = 0
 
-     }
 
-     let timeArray = that.data.timeArray;
 
-     if (data.multiIndex[0] == 1){
 
-       timeArray =  util.timeArray.slice(0);
 
-     }else{
 
-       timeArray = util.getNowTimeArray();
 
-     }
 
-     data.timeArray = timeArray;
 
-     data.multiArray[1] = timeArray;
 
-     this.setData(data)
 
-   },
 
-   bindMultiPickerChange: function (e) {
 
-     let that = this;
 
-     console.log('picker发送选择改变,携带值为', e.detail.value)
 
-     this.setData({
 
-       multiIndex: e.detail.value,
 
-       delivery_date: dateArray[e.detail.value[0]],
 
-       delivery_remark: e.detail.value[0] == 0 ? that.data.timeArray[e.detail.value[1]] : that.data.timeArray[e.detail.value[1]]
 
-     })
 
-     console.log('delivery_date', this.data.delivery_date, ',delivery_remark', this.data.delivery_remark)
 
-   },
 
-   initPicker(){
 
-     let that = this;
 
-     let date = new Date();
 
-     let hours = date.getHours();
 
-     let minutes = date.getMinutes();
 
-     let index = 0;
 
-     var today = util.getNowTime();
 
-     var tomorrow = util.getDateStr(new Date(),1);
 
-     dateArray = [today, tomorrow];
 
-     this.setData({
 
-       'multiArray[0]': dateArray,
 
-       'multiArray[1]': that.data.timeArray,
 
-     })
 
-   }, 
 
-   formatidcard(idcard) {
 
-     if (idcard.length == 15) {
 
-       return idcard.replace(/(\d{6})\d{6}(\d{3})/, "$1******$2");
 
-     } else {
 
-       return idcard.replace(/(\d{5})\d{6}(\d{6})/, "$1******$2");
 
-     }
 
-   },
 
-   getCheckoutInfo: function () {
 
-     let that = this;
 
-     util.request(api.CartCheckout, { userCouponId: that.data.userCouponId, merchSn: wx.getStorageSync('merchSn') }).then(function (res) {
 
-       if (res.errno === 0) {
 
-         console.log(res.data);
 
-         that.setData({
 
-           checkedGoodsList: res.data.checkedGoodsList,
 
-           actualPrice: res.data.actualPrice,
 
-           addressVo: res.data.addressVo,
 
-           checkedCoupon: res.data.checkedCoupon,
 
-           couponList: res.data.couponList,
 
-           fullCutCouponId: res.data.fullCutCouponId,
 
-           couponPrice: res.data.couponPrice,
 
-           freightPrice00: res.data.freightPrice00,
 
-           freightPrice02: res.data.freightPrice02,
 
-           freightPrice10: res.data.freightPrice10,
 
-           freightPrice11: res.data.freightPrice11,
 
-           goodsTotalPrice: res.data.goodsTotalPrice,
 
-           orderTotalPrice: res.data.orderTotalPrice,
 
-           fullCutCouponDec: res.data.fullCutCouponDec,
 
-           userName: res.data.userName,
 
-           idNo: res.data.idNo
 
-         });
 
-         if (that.data.idNo) {
 
-           that.setData({
 
-             idNoM: that.formatidcard(that.data.idNo)
 
-           });
 
-         }
 
-         if(that.data.idNo){
 
-           that.setData({
 
-             idNoDisabled: true
 
-           });
 
-         }
 
-         let num00 = 0;
 
-         let num02 = 0;
 
-         let num10 = 0;
 
-         let num11 = 0;
 
-         
 
-         let goodsTotalPrice00 = 0;
 
-         let goodsTotalPrice02 = 0;
 
-         let goodsTotalPrice10 = 0;
 
-         let goodsTotalPrice11 = 0;
 
-         for (var i = 0; i < that.data.checkedGoodsList.length; i++) {
 
-           if ('00' == that.data.checkedGoodsList[i].goodsBizType) {
 
-             num00 = num00 + that.data.checkedGoodsList[i].number;
 
-             goodsTotalPrice00 = goodsTotalPrice00 + 
 
-               (that.data.checkedGoodsList[i].retail_price * that.data.checkedGoodsList[i].number);
 
-           }
 
-           if ('02' == that.data.checkedGoodsList[i].goodsBizType) {
 
-             num02 = num02 + that.data.checkedGoodsList[i].number;
 
-             goodsTotalPrice02 = goodsTotalPrice02 +
 
-               (that.data.checkedGoodsList[i].retail_price * that.data.checkedGoodsList[i].number);
 
-           }
 
-           if ('10' == that.data.checkedGoodsList[i].goodsBizType) {
 
-             num10 = num10 + that.data.checkedGoodsList[i].number;
 
-             goodsTotalPrice10 = goodsTotalPrice10 +
 
-               (that.data.checkedGoodsList[i].retail_price * that.data.checkedGoodsList[i].number);
 
-           }
 
-           if ('11' == that.data.checkedGoodsList[i].goodsBizType) {
 
-             num11 = num11 + that.data.checkedGoodsList[i].number;
 
-             goodsTotalPrice11 = goodsTotalPrice11 +
 
-               (that.data.checkedGoodsList[i].retail_price * that.data.checkedGoodsList[i].number);
 
-           }
 
-         }
 
-         that.setData({
 
-           goodsTotalByType00: num00,
 
-           goodsTotalByType02: num02,
 
-           goodsTotalByType10: num10,
 
-           goodsTotalByType11: num11,
 
-           goodsTotalPrice00: goodsTotalPrice00 + that.data.freightPrice00,
 
-           goodsTotalPrice02: goodsTotalPrice02 + that.data.freightPrice02,
 
-           goodsTotalPrice10: goodsTotalPrice10 + that.data.freightPrice10,
 
-           goodsTotalPrice11: goodsTotalPrice11 + that.data.freightPrice11
 
-         });
 
-         // console.log(that.data.goodsTotalByType00);
 
-         // console.log(that.data.goodsTotalByType02);
 
-         // console.log(that.data.goodsTotalByType10);
 
-         // console.log(that.data.goodsTotalByType11);
 
-         // 选择优惠券
 
-         if (that.data.userCouponId && that.data.couponList.length > 0) {
 
-           for (var i = 0; i < that.data.couponList.length; i++) {
 
-             if (that.data.userCouponId == that.data.couponList[i].id) {
 
-               that.setData({
 
-                 checkedCoupon: that.data.couponList[i],
 
-                 couponPrice: that.data.couponList[i].type_money
 
-               });
 
-               break;
 
-             }
 
-           }
 
-         }
 
-       }
 
-       wx.hideLoading();
 
-       that.checkStore();
 
-     });
 
-   },
 
-   selectAddress() {
 
-     this.setData({
 
-       checkStore: false
 
-     });
 
-     wx.navigateTo({
 
-       url: '/pages/shopping/address/address',
 
-     })
 
-   },
 
-   addAddress() {
 
-     wx.navigateTo({
 
-       url: '/pages/shopping/addressAdd/addressAdd',
 
-     })
 
-   },
 
-   selectCoupon() {
 
-     let that = this;
 
-     wx.navigateTo({
 
-       url: '/pages/shopping/coupon/coupon',
 
-     })
 
-   },
 
-   bindPostscriptBlur(e) {
 
-     let goodsType = e.target.dataset.goodsType;
 
-     if (goodsType == '00') {
 
-       this.setData({
 
-         postscript00: e.detail.value
 
-       });
 
-     }
 
-     if (goodsType == '02') {
 
-       this.setData({
 
-         postscript02: e.detail.value
 
-       });
 
-     }
 
-     if (goodsType == '10') {
 
-       this.setData({
 
-         postscript10: e.detail.value
 
-       });
 
-     }
 
-     if (goodsType == '11') {
 
-       this.setData({
 
-         postscript11: e.detail.value
 
-       });
 
-     }
 
-   },
 
-   submitOrder: function (e) {
 
-     // console.log(e.detail.formId);
 
-     
 
-     if (!this.data.addressVo) {
 
-       util.showErrorToast('请选择收货地址');
 
-       return false;
 
-     }
 
-     if (!e.detail.value.idNo) {
 
-       util.showErrorToast('身份证号不能为空');
 
-       return false;
 
-     }
 
-     if (!e.detail.value.userName) {
 
-       util.showErrorToast('姓名不能为空');
 
-       return false;
 
-     }
 
-     if (this.data.idNoM == '') {
 
-       this.setData({
 
-         idNo: e.detail.value.idNo,
 
-         userName: e.detail.value.userName
 
-       });
 
-     }
 
-     if (!this.checkIdcard(this.data.idNo)){
 
-         wx.showModal({
 
-           title: '提示信息',
 
-           content: '请输入正确的身份证号',
 
-           showCancel: false
 
-         });
 
-       return false;
 
-     }
 
-     // if (!this.data.checkStore || !this.data.checkStore) {
 
-     //   util.showErrorToast('超过门店配送范围');
 
-     //   return false;
 
-     // }
 
-     let that = this;
 
-     // console.log(that.data.postscript00);
 
-     // console.log(that.data.postscript02);
 
-     // console.log(that.data.postscript10);
 
-     // console.log(that.data.postscript11);
 
-     wx.showLoading({
 
-       title: '加载中...',
 
-     });
 
-     util.request(api.OrderSubmit, {
 
-       checkedAddress: that.data.addressVo,
 
-       userCouponId: that.data.userCouponId,
 
-       fullCutCouponId: that.data.fullCutCouponId,
 
-       postscript00: that.data.postscript00,
 
-       postscript02: that.data.postscript02,
 
-       postscript10: that.data.postscript10,
 
-       postscript11: that.data.postscript11,
 
-       delivery_date: that.data.delivery_date,
 
-       delivery_remark: that.data.delivery_remark,
 
-       idNo: that.data.idNo,
 
-       userName: that.data.userName,
 
-       merchSn: wx.getStorageSync("merchSn")
 
-     }, 'POST').then(function (res) {
 
-       if (res.errno === 0) {
 
-         let actualPrice = that.data.actualPrice;
 
-         let orderIds = [];
 
-         for (let i = 0; i < res.data.orderInfo.length; i++){
 
-           orderIds[i] = res.data.orderInfo[i].id;
 
-         }
 
-         wx.hideLoading();
 
-         wx.redirectTo({
 
-           url: '/pages/pay/pay?orderIds=' + orderIds + '&actualPrice=' + actualPrice + '&isMergePay=1'//此处提交支付属于合并支付
 
-         })
 
-       } else {
 
-         wx.showModal({
 
-           title: '提示信息',
 
-           content: res.errmsg,
 
-           showCancel: false
 
-         });
 
-       }
 
-     });
 
-   },
 
-   // 校验门店
 
-   checkStore: function () {
 
-     let that = this;
 
-     util.request(api.CheckStore, {
 
-       checkedAddress: that.data.addressVo,
 
-       storeId: wx.getStorageSync('storeId')
 
-     }, 'POST').then(function (res) {
 
-       if (res.errno === 0) {
 
-         that.setData({
 
-           storeVo: res.data,
 
-           checkStore: true
 
-         });
 
-       } else{
 
-         // console.log(res.errmsg);
 
-         // util.showErrorToast(res.errmsg);
 
-         that.setData({
 
-           checkStore: false
 
-         });
 
-       }
 
-     });
 
-   },
 
-   onLoad: function (options) {
 
-     // 页面初始化 options为页面跳转所带来的参数
 
-   },
 
-   onReady: function () {
 
-     // 页面渲染完成
 
-   },
 
-   onShow: function () {
 
-     // 页面显示
 
-     wx.showLoading({
 
-       title: '加载中...',
 
-     })
 
-     this.getCheckoutInfo();
 
-     this.initPicker()
 
-   },
 
-   onHide: function () {
 
-     // 页面隐藏
 
-   },
 
-   onUnload: function () {
 
-     // 页面关闭
 
-   },
 
-   // 校验身份证号
 
- //校验码校验
 
- checkCode: function (val) {
 
-     var p = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
 
-     var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
 
-     var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2];
 
-     var code = val.substring(17);
 
-     if (p.test(val)) {
 
-       var sum = 0;
 
-       for (var i = 0; i < 17; i++) {
 
-         sum += val[i] * factor[i];
 
-       }
 
-       if (parity[sum % 11] == code.toUpperCase()) {
 
-         return true;
 
-       }
 
-     }
 
-     return false;
 
-   },
 
-   //省份校验
 
-   checkProv: function (val) {
 
-     var pattern = /^[1-9][0-9]/;
 
-     var provs = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江 ", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北 ", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏 ", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门" };
 
-     if (pattern.test(val)) {
 
-       if (provs[val]) {
 
-         return true;
 
-       }
 
-     }
 
-     return false;
 
-   },
 
-   //出生日期码校验
 
-   checkDate: function (val) {
 
-     var pattern = /^(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)$/;
 
-     if (pattern.test(val)) {
 
-       var year = val.substring(0, 4);
 
-       var month = val.substring(4, 6);
 
-       var date = val.substring(6, 8);
 
-       var date2 = new Date(year + "-" + month + "-" + date);
 
-       if (date2 && date2.getMonth() == (parseInt(month) - 1)) {
 
-         return true;
 
-       }
 
-     }
 
-     return false;
 
-   },
 
-   checkIdcard: function (val) {
 
-     if (this.checkCode(val)) {
 
-       var date = val.substring(6, 14);
 
-       if (this.checkDate(date)) {
 
-         if (this.checkProv(val.substring(0, 2))) {
 
-           return true;
 
-         }
 
-       }
 
-     }
 
-     // this.isError("请输入正确身份证号");
 
-     return false;
 
-   },
 
- // 通过身份证号获取出生日期和性别
 
- getBirthAndSex: function (idCard) {
 
-     var that = this;
 
-     var info = {};
 
-     var birth = (idCard.length === 18) ? idCard.slice(6, 14) : idCard.slice(6, 12);
 
-     var order = (idCard.length === 18) ? idCard.slice(-2, -1) : idCard.slice(-1);
 
-     info.birthDay = (idCard.length === 18) ? ([birth.slice(0, 4), birth.slice(4, 6), birth.slice(-2)]).join('-') : (['19' + birth.slice(0, 2), birth.slice(2, 4), birth.slice(-2)]).join('-');
 
-     info.sex = (order % 2 === 0 ? 2 : 0);
 
-     return info;
 
-   }
 
- })
 
 
  |