foodie-shop/pay.html

978 lines
31 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0 ,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>结算页面</title>
<link rel="shortcut icon" href="img/foodie.ico" />
<link href="AmazeUI-2.4.2/assets/css/amazeui.css" rel="stylesheet" type="text/css" />
<link href="basic/css/demo.css" rel="stylesheet" type="text/css" />
<link href="css/cartstyle.css" rel="stylesheet" type="text/css" />
<link href="css/jsstyle.css" rel="stylesheet" type="text/css" />
<link href="css/lee.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/address.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.9/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
<div id="pay">
<!--顶部导航条 -->
<div class="am-container header">
<ul class="message-l">
<div class="topMessage">
<div class="menu-hd" v-show="!userIsLogin">
<a href="login.html" target="_top" class="h">亲,请登录</a>
<a href="register.html" target="_top">免费注册</a>
</div>
<div class="menu-hd" v-show="userIsLogin">
<span style="color: #d2364c">欢迎,{{userInfo.username}}</span>
</div>
</div>
</ul>
<ul class="message-r">
<div class="topMessage home">
<div class="menu-hd"><a href="index.html" target="_top" class="h">商城首页</a></div>
</div>
<div class="topMessage my-shangcheng">
<div class="menu-hd MyShangcheng"><a href="javascript:void(0);" @click="goUserCenter">
<i class="am-icon-user am-icon-fw"></i>个人中心</a></div>
</div>
</ul>
</div>
<!--悬浮搜索框-->
<div class="nav white">
<!-- <div class="logo"><img src="images/logo.png" /></div> -->
<div class="logoBig">
<li><img src="images/logobig.png" /></li>
</div>
<div class="search-bar pr">
<a name="index_none_header_sysc" href="#"></a>
<form>
<input id="searchInput" name="index_none_header_sysc" type="text" placeholder="搜索"
autocomplete="off">
<input id="ai-topsearch" class="submit am-btn" value="搜索" index="1" type="submit">
</form>
</div>
</div>
<div class="clear"></div>
<div class="concent">
<!--地址 -->
<div class="paycont">
<div class="address">
<h3>确认收货地址 </h3>
<div class="control">
<div class="tc-btn createAddr theme-login am-btn am-btn-danger">使用新地址</div>
</div>
<div class="clear"></div>
<ul>
<span v-show="addressList.length > 0">
<!-- <block v-for="(address, aindex) in addressList" :key="aindex">
<div class="per-border"></div> -->
<!-- <li class="user-addresslist " v-for="(address, aindex) in addressList" :key="aindex" style="margin-top: 6px;"> -->
<li :class="['user-addresslist', {'defaultAddr' : address.id == choosedAddressId}]"
v-for="(address, aindex) in addressList"
:key="aindex"
@click="chooseAddress(address.id)"
style="margin-top: 6px;">
<!-- <li :class="['user-addresslist', {'DefaultAddr' : address.isDefault == 1}]"> -->
<div class="address-left">
<!-- background: url(../images/peraddbg.png)no-repeat scroll 0% 0%; -->
<!-- :style="address.isDefault == 1 ? " -->
<div class="user DefaultAddr">
<span class="buy-address-detail">
<span class="buy-user">{{address.receiver}}</span>
<span class="buy-phone">{{address.mobile}}</span>
</span>
</div>
<div class="default-address DefaultAddr">
<span class="buy-line-title buy-line-title-type">收货地址:</span>
<span class="buy--address-detail">
<span class="province">{{address.province}}</span>
<span class="city">{{address.city}}</span>
<span class="dist">{{address.district}}</span>
<span class="street">{{address.detail}}</span>
</span>
</div>
<ins class="deftip" v-show="address.isDefault == 1">默认地址</ins>
</div>
<div class="address-right">
<a href="person/address.html">
<span class="am-icon-angle-right am-icon-lg"></span></a>
</div>
<div class="clear"></div>
<div class="new-addr-btn">
<a href="javascript:void(0);" @click.stop="setDefaultAddress(address.id)" :class="[{'hidden' : address.id == defaultAddressId}]" >设为默认</a>
<span :class="['new-addr-bar', {'hidden' : address.id == defaultAddressId}]">|</span>
<a href="javascript:void(0);" @click.stop="editAddress(address.id)">编辑</a>
<span class="new-addr-bar">|</span>
<a href="javascript:void(0);" @click.stop="deleteAddress(address.id)">删除</a>
</div>
</li>
<!-- </block> -->
</span>
</ul>
<div class="clear"></div>
</div>
<!--支付方式-->
<div class="logistics">
<h3>选择支付方式</h3>
<ul class="pay-list">
<li class="" @click="choosePayMethod(1)" style="width: 180px;height:40px;padding:3px;"><img src="img/wxpay.png"/><span></span></li>
<!-- <li class="pay qq" @click="choosePayMethod(1)"><img src="images/weizhifu.jpg"/>微信<span></span></li> -->
<!-- <li class="pay taobao" @click="choosePayMethod(2)"><img src="images/zhifubao.jpg"/>支付宝<span></span></li> -->
<li class="" @click="choosePayMethod(2)" style="width: 180px;height:40px;padding:3px;"><img src="img/alipay.png"/><span></span></li>
</ul>
</div>
<div class="clear"></div>
<!--订单 -->
<div class="concent">
<div id="payTable">
<h3>确认订单信息</h3>
<div class="cart-table-th">
<div class="wp">
<div class="th th-item">
<div class="td-inner">商品信息</div>
</div>
<div class="th th-price">
<div class="td-inner">单价</div>
</div>
<div class="th th-amount">
<div class="td-inner">数量</div>
</div>
<div class="th th-sum">
<div class="td-inner">金额</div>
</div>
<div class="th th-oplist">
<div class="td-inner">配送方式</div>
</div>
</div>
</div>
<div class="clear"></div>
<tr class="item-list">
<div class="bundle bundle-last" v-for="(orderItem, index) in orderItemList">
<div class="bundle-main">
<ul class="item-content clearfix">
<div class="pay-phone">
<li class="td td-item">
<div class="item-pic">
<a :href="'item.html?itemId=' + orderItem.itemId" target="_blank" class="J_MakePoint">
<img :src="orderItem.itemImgUrl" class="itempic J_ItemImg"
style="width: 80px;height: 80px"></a>
</div>
<div class="item-info">
<div class="item-basic-info">
<a :href="'item.html?itemId=' + orderItem.itemId" target="_blank" class="item-title J_MakePoint"
data-point="tbcart.8.11">{{orderItem.itemName}}</a>
</div>
</div>
</li>
<li class="td td-info">
<div class="item-props">
<span class="sku-line">规格:{{orderItem.specName}}</span>
</div>
</li>
<li class="td td-price">
<div class="item-price price-promo-promo">
<div class="price-content">
<em
class="J_Price price-now">{{orderItem.priceDiscount / 100}}</em>
</div>
</div>
</li>
</div>
<li class="td td-amount">
<div class="amount-wrapper ">
<div class="item-amount ">
<span class="phone-title">购买数量</span>
<div class="sl">
{{orderItem.buyCounts}}
</div>
</div>
</div>
</li>
<li class="td td-sum">
<div class="td-inner">
<em tabindex="0"
class="J_ItemSum number">{{orderItem.priceDiscount * orderItem.buyCounts / 100}}</em>
</div>
</li>
<li class="td td-oplist">
<div class="td-inner">
<span class="phone-title">配送方式</span>
<div class="pay-logis">
包邮
</div>
</div>
</li>
</ul>
<div class="clear"></div>
</div>
</div>
</tr>
<div class="clear"></div>
</div>
</div>
<div class="clear"></div>
<div class="pay-total">
<!--留言-->
<div class="order-extra">
<div class="order-user-info">
<div id="holyshit257" class="memo">
<label>买家留言:</label>
<input v-model="orderRemarker" type="text" title="选填, 可写备注" placeholder="选填, 可写备注"
class="memo-input J_MakePoint c2c-text-default memo-close">
<div class="msg hidden J-msg">
<p class="error">最多输入500个字符</p>
</div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<!--含运费小计 -->
<div class="buy-point-discharge ">
<p class="price g_price ">
合计(包邮)
<!-- <span>¥</span> -->
<em class="pay-sum">¥{{totalAmount / 100}}</em>
</p>
</div>
<!--信息 -->
<div class="order-go clearfix">
<div class="pay-confirm clearfix">
<div class="box">
<div tabindex="0" id="holyshit267" class="realPay"><em class="t">实付款:</em>
<span class="price g_price ">
<!-- <span>¥</span> -->
<em class="style-large-bold-red " id="J_ActualFee">¥{{totalAmount / 100}}</em>
</span>
</div>
<div id="holyshit268" class="pay-address">
<p class="buy-footer-address">
<span class="buy-line-title buy-line-title-type">寄送至:</span>
<span class="buy--address-detail">
<span class="province">{{confirmAddress.province}}</span>
<span class="city">{{confirmAddress.city}}</span>
<span class="dist">{{confirmAddress.district}}</span>
<span class="street">{{confirmAddress.detail}}</span>
</span>
</p>
<p class="buy-footer-address">
<span class="buy-line-title">收货人:</span>
<span class="buy-address-detail">
<span class="buy-user">{{confirmAddress.receiver}}</span>
<span class="buy-phone">{{confirmAddress.mobile}}</span>
</span>
</p>
</div>
</div>
<div id="holyshit269" class="submitOrder">
<div class="go-btn-wrap">
<a id="J_Go"
href="javascript:void(0);"
@click="submitOrder"
class="btn-go"
tabindex="0"
title="点击此按钮,提交订单">提交订单</a>
</div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<!-- </div> -->
<div class="footer ">
<div class="footer-hd ">
<p>
<a href="https://www.imooc.com/" target="_blank">慕课网</a>
<b>|</b>
<a href="https://coding.imooc.com/class/217.html" target="_blank">分布式架构仿抖音短视频</a>
<b>|</b>
<a href="https://coding.imooc.com/class/261.html" target="_blank">Netty仿微信聊天</a>
<b>|</b>
<a href="https://coding.imooc.com/class/201.html" target="_blank">Zookeeper与dubbo入门</a>
<b>|</b>
<a href="https://coding.imooc.com/class/293.html" target="_blank">支付宝小程序</a>
</p>
</div>
<div class="footer-bd ">
<p>
<em>© 2019 imooc.com 京ICP备12003892号-11 北京奥鹏文化传媒有限公司 版权所有</em>
</p>
</div>
</div>
<!-- </div> -->
<div class="theme-popover-mask"></div>
<div class="theme-popover">
<!--标题 -->
<div class="am-cf am-padding">
<div class="am-fl am-cf"><strong class="am-text-danger am-text-lg">新增地址</strong> / <small>Add
address</small></div>
</div>
<hr />
<div class="am-u-md-12">
<form class="am-form am-form-horizontal">
<div class="am-form-group">
<label for="user-name" class="am-form-label">收货人</label>
<div class="am-form-content">
<input type="text" id="user-name" placeholder="收货人" v-model="receiver" maxlength="12">
</div>
</div>
<div class="am-form-group">
<label for="user-phone" class="am-form-label">手机号码</label>
<div class="am-form-content">
<input id="user-phone" placeholder="手机号必填" v-model="mobile" maxlength="11">
</div>
</div>
<div class="am-form-group">
<label for="user-phone" class="am-form-label">所在地</label>
<div id="example" class="am-form-content address">
<select v-model="prov">
<option v-for="option in arr" :value="option.name">{{ option.name }}</option>
</select>
<select v-model="city">
<option v-for="option in cityArr" :value="option.name">{{ option.name }}</option>
</select>
<select v-model="district" v-if="district">
<option v-for="option in districtArr" :value="option.name">{{ option.name }}</option>
</select>
</div>
</div>
<div class="am-form-group">
<label for="user-intro" class="am-form-label">详细地址</label>
<div class="am-form-content">
<textarea class="" rows="3" id="user-intro" placeholder="输入详细地址"
v-model="detail"></textarea>
<small>100字以内写出你的详细地址...</small>
</div>
</div>
<div class="am-form-group theme-poptit">
<div class="am-u-sm-9 am-u-sm-push-3">
<div class="am-btn am-btn-danger" @click="saveNewAddressOrUpdate">保存</div>
<div class="am-btn am-btn-danger close" @click="closeAddressDialog">取消</div>
</div>
</div>
</form>
</div>
<!-- <input type="hidden" id="hiddenOrderId" :value="orderId"/>
<a href="" id="alipayLink" target="_blank"></a> -->
</div>
<div class="clear"></div>
</div>
<script type="text/javascript " src="js/app.js"></script>
<script type="text/javascript " src="js/cities.js"></script>
<script type="text/javascript">
// $(document).ready(function(){
// $("#alipayLink").one("click",function(){
// var orderId = $("#hiddenOrderId").val();
// debugger;
// window.open('alipayTempTransit.html?orderId='+orderId);
// });
// });
var index = new Vue({
el: "#pay",
data: {
userIsLogin: false,
userInfo: {},
orderItemList: [], // 订单结算的商品列表
totalAmount: 0, // 订单总价格
defaultAddressId: "", // 默认地址id
choosedAddressId: "", // 选中的地址id
addressList: [],
updatedAddressId: "", // 用于更新地址的id如果为空新增如果不为空修改
confirmAddress: {}, // 确认地址
choosedPayMethod: 0,
orderRemarker: "", // 用户备注留言
receiver: "",
mobile: "",
province: "",
// city: "",
// district: "",
detail: "",
orderId: "",
arr: arrAll,
prov: '北京',
city: '北京',
district: '东城区',
cityArr: [],
districtArr: []
},
watch: {
prov: {
// 表格数据刷新后需清空之前查看的订单详情内容
handler: function (newVal, oldVal) {
this.updateCity();
this.updateDistrict();
},
deep: true,
},
city: {
// 表格数据刷新后需清空之前查看的订单详情内容
handler: function (newVal, oldVal) {
this.updateDistrict();
},
deep: true,
},
},
created() {
this.updateCity();
this.updateDistrict();
// var me = this;
// 通过cookie判断用户是否登录
this.judgeUserLoginStatus();
// 渲染结算订单信息
this.renderOrderInfoList();
// 渲染地址信息
this.renderUserAddressList();
},
methods: {
goUserCenter() {
// 判断用户是否登录
var userIsLogin = this.userIsLogin;
if (!userIsLogin) {
// 用户未登录,则跳转
window.location.href = "login.html?returnUrl=" + app.centerServerUrl;
} else {
window.location.href = app.centerServerUrl;
}
},
// goAlipay() {
// window.open("alipayTempTransit.html?orderId=" + this.orderId);
// },
choosePayMethod(payMethod) {
this.choosedPayMethod = payMethod;
},
// 提交订单,创建订单
submitOrder() {
// 判断提交的商品不能为空
var orderItemList = this.orderItemList;
if (orderItemList == null || orderItemList == undefined || orderItemList == '' || orderItemList.length <= 0) {
alert("没有商品信息,订单无法提交~");
return;
}
// 拼接规格ids
var itemSpecIds = "";
for (var i = 0 ; i < orderItemList.length ; i ++) {
var tmpSpecId = orderItemList[i].specId;
itemSpecIds += tmpSpecId;
if (i < orderItemList.length-1) {
itemSpecIds += ",";
}
}
// 判断选中的地址id不能为空
var choosedAddressId = this.choosedAddressId;
if (choosedAddressId == null || choosedAddressId == undefined || choosedAddressId == '') {
alert("请选择收货地址!");
return;
}
// 判断支付方式不能为空
var choosedPayMethod = parseInt(this.choosedPayMethod);
if (choosedPayMethod != 1 && choosedPayMethod != 2) {
alert("请选择支付方式!");
return;
}
// var newWindow = window.open();
// 买家备注可以为空
var orderRemarker = this.orderRemarker;
// console.log(orderRemarker);
var userInfo = this.userInfo;
var serverUrl = app.serverUrl;
axios.defaults.withCredentials = true;
axios.post(
serverUrl + '/orders/create',
{
"userId": userInfo.id,
"itemSpecIds": itemSpecIds,
"addressId": choosedAddressId,
"payMethod": choosedPayMethod,
"leftMsg": orderRemarker,
},
{
headers: {
'headerUserId': userInfo.id,
'headerUserToken': userInfo.userUniqueToken
}
})
.then(res => {
if (res.data.status == 200) {
// alert("OK");
var orderId = res.data.data;
// 判断是否微信还是支付宝支付
if (choosedPayMethod == 1) {
// 微信支付则跳转到微信支付页面,并且获得支付二维码
window.location.href = "wxpay.html?orderId=" + orderId;
} else if (choosedPayMethod == 2) {
this.orderId = orderId;
// 支付宝支付直接跳转
window.location.href = "alipay.html?orderId=" + orderId + "&amount="+this.totalAmount;
window.open("alipayTempTransit.html?orderId=" + orderId);
// const newWindow = window.open();
// 弹出的新窗口进行支付
// newWindow.location = "alipayTempTransit.html?orderId=" + orderId;
// this.$nextTick(()=> {
// // 当前页面跳转后会轮训支付结果
// newWindow.location.href = "alipay.html?orderId=" + orderId;
// })
} else {
alert("目前只支持微信或支付宝支付!");
}
} else {
alert(res.data.msg);
}
});
},
// 编辑地址
editAddress(addressId) {
// 获得编辑的地址内容
var addressList = this.addressList;
var updateAddress = null;
for (var i = 0 ; i < addressList.length ; i ++) {
var tmpAddress = addressList[i];
if (tmpAddress.id == addressId) {
updateAddress = tmpAddress;
break;
}
}
// 赋值
this.receiver = updateAddress.receiver;
this.mobile = updateAddress.mobile;
this.prov = updateAddress.province;
this.city = updateAddress.city;
this.district = updateAddress.district;
this.detail = updateAddress.detail;
// 弹出对话框
this.showAddressDialog();
// 设置更新地址的id
this.updatedAddressId = addressId;
},
// 弹出对话框
showAddressDialog() {
// 禁止遮罩层下面的内容滚动
$(document.body).css("overflow","hidden");
$(this).addClass("selected");
$(this).parent().addClass("selected");
$('.theme-popover-mask').show();
$('.theme-popover-mask').height($(window).height());
$('.theme-popover').slideDown(200);
},
// 删除地址
deleteAddress(addressId) {
var isDel = window.confirm("确认删除改地址吗");
if (!isDel) {
return;
}
// 如果删除的地址是默认地址或者选中地址则choosedAddressId和defaultAddressId要设置为空
if (addressId == this.choosedAddressId) {
this.choosedAddressId = "";
}
if (addressId == this.defaultAddressId) {
this.defaultAddressId = "";
}
var userInfo = this.userInfo;
var serverUrl = app.serverUrl;
axios.defaults.withCredentials = true;
axios.post(
serverUrl + '/address/delete?userId=' + userInfo.id + "&addressId=" + addressId,
{},
{
headers: {
'headerUserId': userInfo.id,
'headerUserToken': userInfo.userUniqueToken
}
})
.then(res => {
if (res.data.status == 200) {
this.renderUserAddressList();
} else {
alert(res.data.msg);
}
});
},
// 设置默认地址
setDefaultAddress(addressId) {
var userInfo = this.userInfo;
var serverUrl = app.serverUrl;
axios.defaults.withCredentials = true;
axios.post(
serverUrl + '/address/setDefalut?userId=' + userInfo.id + "&addressId=" + addressId,
{},
{
headers: {
'headerUserId': userInfo.id,
'headerUserToken': userInfo.userUniqueToken
}
})
.then(res => {
if (res.data.status == 200) {
this.renderUserAddressList();
} else {
alert(res.data.msg);
}
});
},
// 选择地址,切换选中效果
chooseAddress(choosedAddressId) {
this.choosedAddressId = choosedAddressId;
// this.defaultAddressId = choosedAddressId;
// console.log("this.defaultAddressId:" + this.defaultAddressId);
// console.log("this.choosedAddressId:" + this.choosedAddressId);
// 确认地址动态改变
this.renderConfirmAddress(choosedAddressId);
},
renderConfirmAddress(addressId) {
// 提交订单的确认地址要跟着动态改变
var addressList = this.addressList;
var confirmAddress = null;
for (var i = 0 ; i < addressList.length ; i ++) {
var tmpAddress = addressList[i];
if (tmpAddress.id == addressId) {
confirmAddress = tmpAddress;
break;
}
}
// 赋值
this.confirmAddress = confirmAddress;
},
updateCity() {
for (var i in this.arr) {
var obj = this.arr[i];
if (obj.name == this.prov) {
this.cityArr = obj.sub;
break;
}
}
this.city = this.cityArr[1].name;
},
updateDistrict() {
for (var i in this.cityArr) {
var obj = this.cityArr[i];
if (obj.name == this.city) {
this.districtArr = obj.sub;
break;
}
}
if (this.districtArr && this.districtArr.length > 0 && this.districtArr[1].name) {
this.district = this.districtArr[1].name;
} else {
this.district = '';
}
},
// 创建用户新地址
saveNewAddressOrUpdate() {
var receiver = this.receiver;
if (receiver == null || receiver == '' || receiver == undefined) {
alert("收货人姓名不能为空");
return;
}
if (receiver.length > 12) {
alert("收货人姓名不能太长");
return;
}
var mobile = this.mobile;
if (mobile == null || mobile == '' || mobile == undefined) {
alert("手机不能为空");
return;
}
if (mobile.length != 11) {
alert("手机号长度为11位");
return;
}
var checkMobile = app.checkMobile(mobile);
if (!checkMobile) {
alert('请输入有效的手机号码!');
return;
}
var prov = this.prov;
var city = this.city;
var district = this.district;
var detail = this.detail;
if (detail == null || detail == '' || detail == undefined) {
alert("详细地址不能为空");
return;
}
// 添加新地址
var userInfo = this.userInfo;
var serverUrl = app.serverUrl;
axios.defaults.withCredentials = true;
var addressId = this.updatedAddressId;
// 地址id为空则新增地址否则更新地址
if (addressId == "" || addressId == undefined || addressId == null) {
axios.post(
serverUrl + '/address/add',
{
"userId": userInfo.id,
"receiver": receiver,
"mobile": mobile,
"province": prov,
"city": city,
"district": district,
"detail": detail
},
{
headers: {
'headerUserId': userInfo.id,
'headerUserToken': userInfo.userUniqueToken
}
})
.then(res => {
if (res.data.status == 200) {
this.closeAddressDialog();
this.renderUserAddressList();
// 设置更新地址的id为空
this.updatedAddressId = "";
} else if (res.data.status == 500) {
alert(res.data.msg);
}
});
} else {
axios.post(
serverUrl + '/address/update',
{
"addressId": addressId,
"userId": userInfo.id,
"receiver": receiver,
"mobile": mobile,
"province": prov,
"city": city,
"district": district,
"detail": detail
},
{
headers: {
'headerUserId': userInfo.id,
'headerUserToken': userInfo.userUniqueToken
}
})
.then(res => {
if (res.data.status == 200) {
this.closeAddressDialog();
this.renderUserAddressList();
} else if (res.data.status == 500) {
alert(res.data.msg);
}
});
}
},
closeAddressDialog() {
$(document.body).css("overflow","visible");
$('.theme-login').removeClass("selected");
$('.item-props-can').removeClass("selected");
$('.theme-popover-mask').hide();
$('.theme-popover').slideUp(200);
// 设置更新地址的id为空
this.updatedAddressId = "";
this.flushAddressForm();
},
renderUserAddressList() {
var userInfo = this.userInfo;
// 请求后端获得最新数据
var serverUrl = app.serverUrl;
axios.defaults.withCredentials = true;
axios.post(
serverUrl + '/address/list?userId=' + userInfo.id, {},
{
headers: {
'headerUserId': userInfo.id,
'headerUserToken': userInfo.userUniqueToken
}
})
.then(res => {
if (res.data.status == 200) {
var addressList = res.data.data;
// console.log(addressList);
this.addressList = addressList;
// 设置默认应该选中的地址id
this.setDefaultChoosedAddressId(addressList);
// 清空地址内容
this.flushAddressForm();
} else if (res.data.status == 500) {
alert(res.data.msg);
console.log(res.data.msg);
} else {
alert(res.data.msg);
console.log(res.data.msg);
}
});
},
flushAddressForm() {
this.receiver = "";
this.mobile = "";
this.prov = "北京";
this.city = "北京";
this.district = "东城区";
this.detail = "";
this.updateCity();
this.updateDistrict();
},
setDefaultChoosedAddressId(addressList) {
var confirmAddress = {};
for (var i = 0 ; i < addressList.length ; i ++) {
var address = addressList[i];
if (address.isDefault == 1) {
this.defaultAddressId = address.id;
confirmAddress = address;
// 如果当前页面还没有选中的地址,则把默认地址作为选中地址
var choosedAddressId = this.choosedAddressId;
if (choosedAddressId == null || choosedAddressId == undefined || choosedAddressId == '') {
this.choosedAddressId = address.id;
}
break;
}
}
// 赋值
this.confirmAddress = confirmAddress;
},
renderOrderInfoList() {
var selectedItemSpecIds = app.getUrlParam("selectedItemSpecIds");
if (selectedItemSpecIds == null || selectedItemSpecIds == '' || selectedItemSpecIds ==
undefined) {
app.goErrorPage();
}
var specIdsArray = new Array();
specIdsArray = selectedItemSpecIds.split(",");
var orderItemList = [];
var totalAmount = 0;
for (var i = 0; i < specIdsArray.length; i++) {
var tmpSpecId = specIdsArray[i];
var orderItem = this.getItemFromCookieShopcartList(tmpSpecId);
orderItemList.push(orderItem);
totalAmount += (orderItem.priceDiscount * orderItem.buyCounts);
}
// console.log(orderItemList);
this.orderItemList = orderItemList;
this.totalAmount = totalAmount;
if (orderItemList.length <= 0) {
alert("没有商品信息,或订单已经提交");
window.location.href = "shopcart.html";
}
},
getItemFromCookieShopcartList(specId) {
var shopcartList = app.getShopcartList();
if (shopcartList == null || shopcartList == undefined || shopcartList.length == 0) {
app.goErrorPage();
}
for (var i = 0; i < shopcartList.length; i++) {
var tmpSpecId = shopcartList[i].specId;
if (tmpSpecId == specId) {
return shopcartList[i];
}
}
},
// 打开商品详情页面
showItemDetail(itemId) {
window.open("item.html?itemId=" + itemId);
},
// 通过cookie判断用户是否登录
judgeUserLoginStatus() {
var userCookie = app.getCookie("user");
if (userCookie != null && userCookie != undefined && userCookie != '') {
var userInfoStr = decodeURIComponent(userCookie);
// console.log(userInfo);
if (userInfoStr != null && userInfoStr != undefined && userInfoStr != '') {
var userInfo = JSON.parse(userInfoStr);
// 判断是否是一个对象
if ( typeof(userInfo) == "object" ) {
this.userIsLogin = true;
// console.log(userInfo);
this.userInfo = userInfo;
} else {
this.userIsLogin = false;
this.userInfo = {};
}
}
} else {
this.userIsLogin = false;
this.userInfo = {};
}
}
}
});
</script>
</body>
</html>