const defaultProductParam = { productCount:0, // 商品数量 productId:0, // 商品Id source:1, // 来源:1WWW 2小程序 userId:0 // 用户Id }; const defaultCartParam = { productIds:0, // 商品Id(逗号隔开) source:1, // 来源:1WWW 2小程序 userId:0 // 用户Id }; const defaultPostageParam = { productIds:0, // 商品Id(逗号隔开) userId:0, // 用户Id townId:0 // 地区Id }; const defaultConfirmParam = { cartType:1, // 购买类型:(1自主下单, 3协销下单) orderSource:1, // 订单来源 1WWW 6小程序[采美,星范] addressId:0, // 收货地址Id clubCouponId:0, // 关联优惠券Id clubId:0, // 机构Id orderInfo:[], // 订单商品数据 // 订单发票信息 orderInvoice:{ type: 0 }, // 订单发票信息 payInfo:{ // 订单金额数据 orderShouldPayFee: 0, // 订单最终支付金额 balancePayFlag: 0, // 勾选余额的状态(1使用,0不使用) clauseId:0, // 条款Id postage: 0, // 运费金额 postageFlag: 0, // 运费类型 userBeans: 0, // 抵扣采美豆数量 rebateFlag:0 // 是否返佣订单 } }; var shoppingConfirm = new Vue({ el: "#shoppingConfirm", data: { userId: 0, userIdentity: '', userToken: '', type: '', productIds: '', listData: [], kindCount: 0, totalCount: 0, totalPrice: 0, reducedPrice: 0, // 满减金额 couponAmount:0, // 优惠券金额 totalDiscountAmount:0, // 共减金额 cartParam: Object.assign({}, defaultCartParam), // 购物车立即结算确认订单参数 productParam: Object.assign({}, defaultProductParam), // 商品立即购买确认订单参数 postageParam: Object.assign({}, defaultPostageParam), // 邮费计算参数 confirmParam: Object.assign({}, defaultConfirmParam), // 提交订单参数 supportParm:{// 组合商品立即购买确认订单参数 productInfo:'', source:2, // 来源:1WWW 2小程序 userId:0 // 用户Id }, address: { id: '', townId: '', cityId: '', provinceId: '', name: '', mobile: '', desc: '', town: '', city: '', province: '', default: '', selectedId: '' }, orderInvoice:{ // 订单发票信息 id:0, type: 0, invoiceTitleType: 0, // 发票抬头类型 1企业 0个人 invoiceTitle: '', // 单位名称 corporationTaxNum:'', // 纳税人识别号 registeredAddress: '',// 单位地址 registeredPhone:'', // 注册电话 openBank:'', // 开户银行 bankAccountNo: '', // 银行账号 }, addressList: [], isShowAddressList: false, isShowAddressForm: false, addressForm: { id: '', name: '', mobile: '', townId: '', cityId: '', provinceId: '', desc: '', default: '' }, provinceOptions:[], cityOptions:[], townOptions:[], saveLoading: false, rule:{ name: '^[a-zA-Z\\u4e00-\\u9fa5]{2,}$', mobile: '^\\d{6,12}$' }, balance: { isFreight:false, //使用采美豆抵扣运费 flag: false, //使用余额抵扣 originUserMoney: 0, //初始化后不能改变,用于还原余额抵扣 userMoney: 0, //显示可使用余额 deductMoney: 0, //显示已使用的余额 surplusMoney: 0 //显示勾选后的剩余抵扣 }, isBeansShow:false, userBeans:0, hanldPostage:0, hanldPostageFlag:0, hanldShouldPayFee:0, freightBeansMoney:0, freightMoney:0, deductionBeans:0, submitLoading: false, checkedIndex:null, couponList:[], // 可用优惠券列表 isCouponShow:false, svipReducedPrice: 0, //超级会员优惠金额 isModelAlert:false, // 订单不足提示弹窗 isModelAlertText:'', isShowConfirm:true }, computed: { }, filters: { NumFormat:function(num) { var temp = String(num).split('.'); if (temp.length === 1 || temp[1].length < 2) { return Number(num).toFixed(2); }else{ return Number(num); } }, TypeFormat:function(value) { switch (value) { case 0: return '活动券'; break; case 1: return '品类券'; break; case 2: return '用户专享券'; break; case 3: return '店铺券'; break; case 4: return '新用户券'; break; } } }, methods: { blurHandle: function(event) { var el = event.currentTarget; verifyHandle(el); }, getProductCreateOrderInfo:function(){// 商品立即购买确认订单初始化 var _self = this; if(_self.userId ===0){return;} OrderApi.ProductCreateOrderInfo(_self.productParam,function(response){ if (response.code === 0 ) { _self.setCreatDataInfo(response.data) }else{ CAIMEI.Alert(r.msg, '确定', false); } }); }, OrderClubProductSupporting:function(){// 组合商品确认订单初始化 var _self = this; if(_self.userId ===0){return;} OrderApi.OrderClubProductSupporting(_self.supportParm,function(response){ if (response.code === 0 ) { _self.setCreatDataInfo(response.data) }else{ CAIMEI.Alert(r.msg, '确定', false); } }); }, getCartCreateOrderInfo: function () {// 购物车去结算确认订单初始化 var _self = this; if(_self.userId ===0){return;} OrderApi.GetOrderConfirmInfo(_self.cartParam,function(response){ if (response.code === 0 ) { _self.setCreatDataInfo(response.data) }else{ CAIMEI.Alert(r.msg, '确定', false); } }); }, setCreatDataInfo(data){ var _self = this; _self.listData = data.list; _self.totalPrice = data.totalPrice; _self.reducedPrice = data.reducedPrice; _self.totalCount = data.totalCount; _self.kindCount = data.kindCount; _self.balance.userMoney = data.userMoney; _self.balance.originUserMoney = data.userMoney; _self.hanldShouldPayFee = data.totalPrice; _self.svipReducedPrice = data.svipReducedPrice; _self.postageParam.productIds = _self.getProductIds(data.list); // 获取订单商品id列表 以 , 隔开 _self.getAddressList(_self.userId,20); console.log('邮费接口数据', _self.postageParam) if( data.couponList && data.couponList.length>0){ _self.isCouponShow = true; _self.couponAmount = data.couponList[0].couponAmount; _self.confirmParam.clubCouponId = data.couponList[0].clubCouponId; data.couponList.forEach((el) => { _self.couponList.push(Object.assign(el,{ischecked:false})) }) _self.couponList[0].ischecked = true; _self.hanldShouldPayFee = data.totalPrice - _self.couponAmount; } _self.totalDiscountAmount = _self.reducedPrice + _self.couponAmount; if(data.invoice){ data.invoice.type = 0; _self.orderInvoice = data.invoice; } }, getFreight: function(){// 获取邮费 var _self = this; console.log(_self.postageParam, '邮费接口调用') OrderApi.GetOrderPostage(_self.postageParam,function (r) { if(r.code === 0 && r.data){ _self.confirmParam.payInfo.postageFlag = _self.hanldPostageFlag = r.data.postageFlag; _self.userBeans = r.data.userBeans; _self.confirmParam.payInfo.postage = _self.hanldPostage = (r.data.postageFlag=== 1 ? r.data.postage : 0); _self.hanldShouldPayFee = _self.totalPrice + _self.confirmParam.payInfo.postage - _self.couponAmount; switch ( _self.confirmParam.payInfo.postageFlag) { case 1: if( _self.userBeans > 0 ){ _self.freightBeansMoney = r.data.postage; _self.freightMoney = r.data.postage; _self.isBeansShow = true; }else{ _self.freightBeansMoney = 0; _self.balance.isFreight = false; _self.isBeansShow = false; } if(r.data.userBeans >= _self.freightBeansMoney*100){ _self.deductionBeans = _self.freightBeansMoney*100 }else{ _self.deductionBeans = _self.userBeans } _self.changeDeductibleFreight(); break; case -1: if( _self.userBeans > 0 ){ _self.freightMoney = '到付'; _self.freightBeansMoney = 30; _self.isBeansShow = true; }else{ _self.freightBeansMoney = 0; _self.balance.isFreight = false; _self.isBeansShow = false; } if(r.data.userBeans >= _self.freightBeansMoney*100){ _self.deductionBeans = _self.freightBeansMoney*100 }else{ _self.deductionBeans = _self.userBeans } _self.changeDeductibleFreight(); break; } }else{ CAIMEI.Alert(r.msg, '确定', false); } }) }, getAddressList: function(userId,pageSize){ // 获取收货地址 var _self = this; OrderApi.GetAddressList({ userId:userId, pageNum:1, pageSize:pageSize },function (res) { if(res.code === 0 && res.data){ if(res.data.list){ _self.addressList = res.data.list; _self.address.id = res.data.list[0].addressId; _self.confirmParam.addressId = res.data.list[0].addressId; _self.address.townId = res.data.list[0].townId; _self.postageParam.townId = res.data.list[0].townId; _self.address.cityId = res.data.list[0].cityId; _self.address.provinceId = res.data.list[0].provinceId; _self.address.name = res.data.list[0].receiver; _self.address.mobile = res.data.list[0].mobile; _self.address.desc = res.data.list[0].address; _self.address.town = res.data.list[0].town; _self.address.city = res.data.list[0].city; _self.address.province = res.data.list[0].province; _self.address.default = true; _self.address.selectedId = res.data.list[0].addressId; _self.getFreight(_self.address.townId); }else{ _self.createAddress(); } _self.getProvinceOptions(); }else { CAIMEI.Alert(res.msg, '确定', false); _self.createAddress(); } }) }, getProvinceOptions: function(){ // 获取全部省份 var _self = this; OrderApi.GetAddressSelect({},function(res){ if(res.code === 0 && res.data){ _self.provinceOptions =res.data; }else{ CAIMEI.Alert(res.msg,'确定',false); } }); }, getCityOptions: function(parentId,callback){// 获取地区 var _self = this; if(parentId && parentId>0){ _self.cityOptions = []; _self.townOptions = []; _self.addressForm.cityId = ''; _self.addressForm.townId = ''; OrderApi.GetAddressSelect({ parentId: parentId,type:1 },function(res){ if(res.code === 0 && res.data){ _self.cityOptions = res.data; if(callback){callback();} }else{ CAIMEI.Alert(res.msg,'确定',false); } }); } }, getTownOptions: function(parentId, callback){ var _self = this; if(parentId && parentId>0){ _self.townOptions = []; _self.addressForm.townId = ''; OrderApi.GetAddressSelect({parentId: parentId,type:2},function(res){ if(res.code === 0 && res.data){ _self.townOptions = res.data; if(callback){callback();} }else{ CAIMEI.Alert(res.msg,'确定',false); } }) } }, showAddressBox: function(){// 显示地址弹窗 this.isShowAddressList = true; if(!isPC){fixedBody();} }, closeAddressBox: function(){// 关闭地址弹窗 this.isShowAddressList = false; if(!isPC){looseBody();} }, hideAddressForm: function(){// 隐藏地址表单 this.isShowAddressForm = false; if(!isPC){looseBody();} }, createAddress: function(){// 新建地址 this.isShowAddressForm = true; this.addressForm.name= ''; this.addressForm.mobile= ''; this.addressForm.addressId= ''; this.addressForm.townId= ''; this.addressForm.cityId= ''; this.addressForm.provinceId= ''; this.addressForm.desc= ''; this.addressForm.default= ''; this.addressForm.id = ''; this.getProvinceOptions(); if(!isPC){fixedBody();} }, updateAddress: function(){// 更新选择地址 var _self = this; _self.isShowAddressForm = true; _self.addressForm.id = _self.address.id; _self.addressForm.name = _self.address.name; _self.addressForm.mobile = _self.address.mobile; _self.addressForm.default = _self.address.default; _self.addressForm.desc = _self.address.desc; _self.addressForm.provinceId = _self.address.provinceId; _self.getCityOptions(_self.address.provinceId, function(){ _self.addressForm.cityId = _self.address.cityId; _self.getTownOptions(_self.address.cityId,function(){ _self.addressForm.townId = _self.address.townId; }); }); if(!isPC){fixedBody();} }, saveAddressForm: function(){// 更新保存地址 var _self = this; var pass = verifyForm(); if (_self.saveLoading) { return false; } this.$nextTick(function() { if (!pass) {return false;} if(!_self.addressForm.townId){ CAIMEI.dialog('请选择所在地区'); return false; }; _self.saveLoading = true; var params = { userId:_self.userId, // 用户id ,只在新增收货地址时传 receiver:_self.addressForm.name, // 收货人 mobile:_self.addressForm.mobile, // 手机 townId:_self.addressForm.townId, // 区ID address:_self.addressForm.desc, // 地址 defaultFlag:_self.addressForm.default ? 1 : 0 //是否默认收货地址(0 不是默认,1 默认) }; if(_self.addressForm.id){// 编辑 params.addressId = _self.addressForm.id;//编辑保存地址ID } _self.saveAddress(params); }); }, saveAddress: function(params){// 更新保存地址 var _self = this; OrderApi.AddSaveAddress(params,function(r){ if(r.code === 0){ CAIMEI.dialog('保存成功'); _self.saveLoading = false; _self.isShowAddressForm = false; // 重新获取地址列表 _self.getAddressList(_self.userId,20); }else{ CAIMEI.Alert(r.msg,'确定',false); } }); }, setDefaultAddress: function(addressId){// 列表直接设为默认地址 var _self = this; OrderApi.DefaultAddress({addressId:addressId,userId:_self.userId},function (r) { if(r.code === 0 ){ // 重新获取地址列表 _self.getAddressList(_self.userId,20); }else{ CAIMEI.Alert(r.msg,'确定',false); } }); }, deleteAddress: function(addressId){// 列表删除单个地址 var _self = this; CAIMEI.Modal('确定要删除该地址?','取消','确定',function () { OrderApi.DeleteAddress({addressId:addressId,userId:_self.userId},function (r) { if(r.code === 0 ){ CAIMEI.dialog('删除成功'); // 重新获取地址列表 _self.getAddressList(_self.userId,20); }else{ CAIMEI.Alert(r.msg,'确定',false); } }) }); }, chooseAddress: function(selectedId){ this.address.selectedId = selectedId; }, confirmAddress: function(){// 确认地址并查询邮费 var _self = this; _self.addressList.forEach(function(item){ if (_self.address.selectedId==item.addressId){ _self.address.id = item.addressId; _self.confirmParam.addressId = item.addressId; _self.address.townId = item.townId; _self.postageParam.townId = item.townId; _self.address.cityId = item.cityId; _self.address.provinceId = item.provinceId; _self.address.name = item.receiver; _self.address.mobile = item.mobile; _self.address.desc = item.address; _self.address.town = item.town; _self.address.city = item.city; _self.address.province = item.province; _self.address.default = (item.defaultFlag > 0); _self.getFreight(); } }); this.closeAddressBox(); }, checkedCoupon:function(idx){// 选择优惠券 var _self = this; var coupon = { couponAmount:0,clubCouponId:0 }; _self.checkedIndex = idx; _self.couponList.forEach((el,index) => { if(_self.checkedIndex == index){ el.ischecked = !el.ischecked; }else{ el.ischecked = false; } if(el.ischecked){ coupon.couponAmount = el.couponAmount; coupon.clubCouponId = el.clubCouponId; } }) _self.couponAmount = coupon.couponAmount; _self.totalDiscountAmount = _self.reducedPrice + _self.couponAmount; _self.confirmParam.clubCouponId = coupon.clubCouponId; _self.changeDeductibleFreight(); _self.useUserMoney(); }, toggleThisLadder: function(event){ var el = event.currentTarget; if($(el).hasClass("on")){ $(el).removeClass("on").siblings('.mFixed').hide(); if(!isPC){looseBody();} }else{ $(el).addClass("on").siblings('.mFixed').show(); if(!isPC){fixedBody();} } }, hideThisLadder: function(event){ var el = event.currentTarget; $(el).parents('.priceTag').find('.tag').removeClass("on").siblings('.mFixed').hide(); if(!isPC){looseBody();} }, useUserMoney: function(){//勾选余额抵扣 var _self = this; if(this.balance.userMoney>0){ this.$nextTick(function() { var total = _self.totalPrice +_self.confirmParam.payInfo.postage - _self.couponAmount; // 订单总金额 + 邮费金额 if(_self.balance.flag){ _self.confirmParam.payInfo.balancePayFlag = 1; if(_self.balance.userMoney >= total){ // 全部抵扣 _self.hanldShouldPayFee = 0; if(_self.balance.isFreight){// 勾选了采美豆丢运费 _self.balance.deductMoney = _self.totalPrice - _self.couponAmount; // 抵扣使用金额 = 订单总金额 _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.totalPrice); // 抵扣后剩余余额 = 余额总额 - (订单总金额+邮费金额) console.log('余额全部抵扣勾选了采美豆运费',_self.balance.surplusMoney) }else{ _self.balance.deductMoney = total; // 抵扣使用金额 = 订单总金额 + 邮费金额 - 优惠券金额 _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额 console.log('余额全部抵扣未勾选了采美豆运费',_self.balance.surplusMoney) } }else{ // 部分抵扣 if(_self.balance.isFreight){// 勾选了采美豆丢运费 _self.hanldShouldPayFee = _self.repiceNumSub(_self.totalPrice,_self.balance.userMoney) - _self.couponAmount; // 最终订单总价 = 订单总金额 - 余额总额 _self.balance.deductMoney = _self.balance.userMoney; // 抵扣使用金额 = 余额总额 _self.balance.surplusMoney = 0; // 抵扣后剩余余额 = 0 console.log('部分抵扣勾选了采美豆运费',_self.hanldShouldPayFee) }else{ _self.hanldShouldPayFee = _self.repiceNumSub(total,_self.balance.userMoney); // 最终订单总价 = 订单总金额 - 余额总额 _self.balance.deductMoney = _self.balance.userMoney; // 抵扣使用金额 = 余额总额 _self.balance.surplusMoney = 0; // 抵扣后剩余余额 = 0 console.log('部分抵扣没有勾选了采美豆运费',_self.hanldShouldPayFee) } } }else{// 取消抵扣 _self.confirmParam.payInfo.balancePayFlag = 0; _self.balance.userMoney = _self.balance.originUserMoney; _self.balance.deductMoney = 0; _self.balance.surplusMoney = _self.balance.originUserMoney; if(_self.balance.isFreight){//判断是否有采美豆抵扣运费 _self.hanldShouldPayFee = _self.totalPrice - _self.couponAmount; // 最终订单总价 = 订单总金额 }else{ _self.hanldShouldPayFee = total; // 最终订单总价 = 订单总金额 + 邮费金额 } console.log('取消余额抵扣',_self.hanldShouldPayFee) } }); } }, changeDeductibleFreight: function(){//选择采美豆抵扣邮费 var _self = this; var total = _self.totalPrice +_self.confirmParam.payInfo.postage - _self.couponAmount; if(_self.balance.isFreight){//判断是否勾选运费 if(_self.confirmParam.payInfo.postageFlag == 1){//有邮费 _self.confirmParam.payInfo.userBeans = _self.freightBeansMoney*100; if( _self.userBeans > 0 ){// 判断采美豆大于0 if(_self.balance.flag) {// 勾选了余额抵扣 console.log('订单总额',total) if(_self.balance.userMoney>=total){ // 全部抵扣 _self.hanldShouldPayFee = 0; _self.balance.deductMoney = _self.totalPrice - _self.couponAmount; // 抵扣使用金额 = 订单总金额 _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额 console.log('有勾选余额抵扣全抵',_self.hanldShouldPayFee) }else{ // 部分抵扣 _self.hanldShouldPayFee = _self.repiceNumSub(_self.totalPrice,_self.balance.userMoney) - _self.couponAmount; _self.balance.deductMoney = _self.balance.userMoney; // 抵扣使用金额 = 余额总额 _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额 console.log('有勾选余额抵扣部分抵',_self.hanldShouldPayFee) } }else{ _self.hanldShouldPayFee = ((_self.totalPrice*100 +_self.confirmParam.payInfo.postage*100 - _self.freightBeansMoney*100)/100) - _self.couponAmount; console.log('无余额抵扣',_self.hanldShouldPayFee) } } }else if(_self.confirmParam.payInfo.postageFlag == -1){// 到付 _self.confirmParam.payInfo.userBeans = _self.freightBeansMoney*100; if(_self.balance.flag) {// 勾选了余额抵扣 if(_self.balance.userMoney >= total){ // 全部抵扣 _self.hanldShouldPayFee = 0; _self.balance.deductMoney = _self.totalPrice - _self.couponAmount; // 抵扣使用金额 = 订单总金额 _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额 console.log('到付有勾选余额抵扣全抵',_self.hanldShouldPayFee) }else{ // 部分抵扣 _self.hanldShouldPayFee =_self.hanldShouldPayFee = _self.repiceNumSub(_self.totalPrice,_self.balance.userMoney) - _self.couponAmount; _self.balance.deductMoney = _self.balance.userMoney; // 抵扣使用金额 = 余额总额 _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额 console.log('到付有勾选余额抵扣部分抵',_self.hanldShouldPayFee) } }else{ _self.hanldShouldPayFee = _self.totalPrice - _self.couponAmount ; console.log('到付未勾选余额抵扣',_self.hanldShouldPayFee) } }else{ _self.confirmParam.payInfo.userBeans = 0; _self.hanldShouldPayFee = _self.totalPrice - _self.couponAmount ; console.log('其他',_self.hanldShouldPayFee) } }else{ console.log('未勾选采美豆抵扣') _self.confirmParam.payInfo.userBeans = 0; if(_self.balance.flag) {//如果勾选了余额抵扣 if(_self.balance.userMoney>=total) { // 全部抵扣 console.log('勾选采美豆抵扣=========》',total) _self.hanldShouldPayFee = 0 ; _self.balance.deductMoney = total; // 抵扣使用金额 = (订单总金额+邮费金额-优惠券价格) _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额 console.log('余额全抵抵未勾选采美豆抵扣',_self.hanldShouldPayFee) }else{ console.log('未勾选采美豆抵扣=========》',total) _self.hanldShouldPayFee = _self.repiceNumSub(total,_self.balance.userMoney); _self.balance.deductMoney = _self.balance.userMoney; // 抵扣使用金额 = (订单总金额+邮费金额) _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额 console.log('余额部分抵未勾选采美豆抵扣',_self.hanldShouldPayFee) } }else{ _self.hanldShouldPayFee = (_self.totalPrice +_self.confirmParam.payInfo.postage) - _self.couponAmount; } } }, repiceNumSub: function(arg1, arg2) {//减法精确,arg2:被减数,arg1:减数 var r1,r2,m,n; try{ r1=arg1.toString().split(".")[1].length }catch(e){ r1=0 } try{ r2=arg2.toString().split(".")[1].length }catch(e){ r2=0 } m=Math.pow(10,Math.max(r1,r2)); // last modify by deeka // 动态控制精度长度 n=(r1>=r2)?r1:r2; return ((arg1*m-arg2*m)/m).toFixed(n); }, submitOrder: function(){// 提交按钮点击 var _self = this; if( _self.hanldShouldPayFee<1000){ _self.isModelAlert = true; _self.isModelAlertText = '采购金额过小,将扣除500采美豆。建议您使用微信扫描 以下二维码,进入采美旗下“呵呵商城”小程序购买小额 商品。'; }else{ _self.handleClickOrderSubmitMit() } }, handleClickOrderSubmitMit:function () {// 提交订单 var _self = this; _self.isModelAlert = false; if(_self.submitLoading){return false;} if(!_self.confirmParam.addressId){ CAIMEI.dialog('请先添加收货地址~'); return false; } if(_self.orderInvoice.type*1 === 1){ // 普通发票 if(!_self.orderInvoice.invoiceTitle){ CAIMEI.dialog('请输入个人抬头');return false; } if(_self.orderInvoice.invoiceTitleType===1 && !_self.orderInvoice.corporationTaxNum){ CAIMEI.dialog('请输入纳税人识别号');return false; } }else if(_self.orderInvoice.type*1 === 2){ // 增值税发票 if(!_self.orderInvoice.invoiceTitle){ CAIMEI.dialog('请输入个人抬头');return false; } if(!_self.orderInvoice.corporationTaxNum){ CAIMEI.dialog('请输入纳税人识别号');return false; } if(!_self.orderInvoice.registeredAddress){ CAIMEI.dialog('请输入单位地址');return false; } if(!_self.orderInvoice.registeredPhone){ CAIMEI.dialog('请输入注册电话');return false; } if(!_self.orderInvoice.openBank){ CAIMEI.dialog('请输入开户银行');return false; } if(!_self.orderInvoice.bankAccountNo){ CAIMEI.dialog('请输入银行账号');return false; } } // 禁用按钮 _self.submitLoading = true; // 发票信息 if(_self.confirmParam.orderInvoice.type*1 === 0){ _self.confirmParam.orderInvoice = Object.assign(_self.confirmParam.orderInvoice,'',{type:0}); }else if(_self.confirmParam.orderInvoice.type*1 === 1){ _self.confirmParam.orderInvoice = Object.assign(_self.confirmParam.orderInvoice,'',{type:1, invoiceContent: '商品明细'}); }else if(_self.confirmParam.orderInvoice.type*1 === 2){ _self.confirmParam.orderInvoice = Object.assign(_self.confirmParam.orderInvoice,'',{type:2}); } //商品信息 _self.confirmParam.orderInfo = _self.listData.map(el => { var productInfo = []; el.cartList.forEach(item => { productInfo.push({ productId:item.productId, productNum:item.number, presentNum:0, productType:item.productType }) }) return {shopId:el.shopId,note:el.note?el.note:'',productInfo:productInfo} }); if(_self.orderInvoice.type!=0){ _self.orderInvoice.type = parseInt(_self.orderInvoice.type) _self.confirmParam.orderInvoice = _self.orderInvoice; } var hanldPostageFlag = _self.confirmParam.payInfo.postage = parseInt(_self.hanldPostage).toFixed(2); _self.confirmParam.payInfo.postageFlag = parseInt(_self.hanldPostageFlag); _self.confirmParam.payInfo.orderShouldPayFee = parseFloat(_self.hanldShouldPayFee).toFixed(2); _self.confirmParam.payInfo = JSON.stringify(_self.confirmParam.payInfo); _self.confirmParam.orderInfo = JSON.stringify(_self.confirmParam.orderInfo); _self.confirmParam.orderInvoice = JSON.stringify(_self.confirmParam.orderInvoice); console.log('confirmParam',_self.confirmParam); OrderApi.ConfirmOrder(_self.confirmParam,function (res) { if(res.code === 0){ var data = res.data; if(data.code === 1){//余额抵扣全部订单金额 var Amount = { payableAmount: _self.deductMoney }; CAIMEI.Storage.removeItem('confirmOrderInfo'); CAIMEI.Storage.setItem('confirmOrderInfo',JSON.stringify({data:Amount})); window.location.href = '/pay/success.html?pageType=www&type=success&payAmount='+data.payTotalFee; }else{//余额抵扣部分订单金额或者未支付的 var order = { orderId:data.orderId, orderNo:data.orderNo, orderMark:data.orderMark, payableAmount:data.payableAmount }; CAIMEI.Storage.removeItem('confirmOrderInfo'); CAIMEI.Storage.setItem('confirmOrderInfo',JSON.stringify({data:order})); window.location.href = '/pay/caimei-paycash.html?type=confirm&orderId='+data.orderId; } }else if(res.code === -3){ _self.isModelAlert = true; _self.isShowConfirm = false; _self.submitLoading = false; _self.isModelAlertText = '您已有2个采购金额过小的订单,本次不能再进行采购。您可使用微信扫描以下二维码,进入采美旗下“呵呵商城”小程序购买小额商品。'; _self.formatConfirmParam(); }else if(res.code === -4){ _self.isModelAlert = true; _self.isShowConfirm = false; _self.submitLoading = false; _self.isModelAlertText = '采美豆不足,不能提交订单。您可使用微信扫描以下二维码,进入采美旗下“呵呵商城”小程序购买小额商品。'; _self.formatConfirmParam(); }else{ CAIMEI.Alert(res.msg,'确定',true, function(){ setTimeout(function(){ _self.submitLoading = false; _self.formatConfirmParam(); },500); }); } }); }, formatConfirmParam:function(){// 还原提交订单参数格式 var _self = this; _self.confirmParam.payInfo = JSON.parse(_self.confirmParam.payInfo); _self.confirmParam.orderInfo = JSON.parse(_self.confirmParam.orderInfo); _self.confirmParam.orderInvoice = JSON.parse(_self.confirmParam.orderInvoice); }, handleCloseModel:function () { this.isModelAlert = false; this.isShowConfirm= true; }, getProductIds: function(list){// 获取订单商品id列表 var productIds = []; list.forEach(function(supplier){ supplier.cartList.forEach(function(product){ productIds.push(product.productId) }); }) // console.log(list); return productIds.join(','); } }, created: function () { var _self = this; var urlType = getUrlParam("type") ? getUrlParam("type")*1 : ""; if(globalUserData){ _self.userId = _self.productParam.userId = _self.cartParam.userId = _self.postageParam.userId = _self.supportParm.userId = globalUserData.userId; _self.confirmParam.clubId = globalUserData.clubId _self.userIdentity = globalUserData.identity; _self.userToken = globalUserData.token; // type:(1购物车提交[对应表cm_cart],2直接购买提交, 3协销下单) if(urlType === 1) {//购物车提交 _self.confirmParam.cartType = 1; _self.cartParam.productIds = _self.productIds = window.localStorage.getItem("shoppingProductIds"); // 获取列表数据 _self.getCartCreateOrderInfo(); }else if(urlType === 2){//立即购买 _self.confirmParam.cartType = 2; _self.productParam.productId = _self.productIds = getUrlParam("productId"); _self.productParam.productCount = getUrlParam("count"); if(_self.productParam.productId && _self.productParam.productCount) { _self.getProductCreateOrderInfo(); } }else if(urlType === 3){// 组合商品立即购买 _self.supportParm.productInfo = CAIMEI.Storage.getItem("KEY_SUPPORE"); _self.OrderClubProductSupporting() } } }, mounted: function () { var _self = this; var minAwayBtm = $("footer").height(); //处理滚动条控制底部提交fixed $(window).scroll(function() { var awayBtm = $(document).height() - $(window).scrollTop() - $(window).height(); if(minAwayBtm <= awayBtm){ $(".summaryWrap").addClass('fixed'); }else{ $(".summaryWrap").removeClass("fixed"); } }); } });