|
@@ -52,9 +52,9 @@
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</a>
|
|
<!-- 收藏 -->
|
|
<!-- 收藏 -->
|
|
-<!-- <div class="headIconItem collectIcon">-->
|
|
|
|
-<!-- <img src="/assets/index/asstes/icon/collect.png" alt="collect" tabindex="collect">-->
|
|
|
|
-<!-- </div>-->
|
|
|
|
|
|
+ <!-- <div class="headIconItem collectIcon">-->
|
|
|
|
+ <!-- <img src="/assets/index/asstes/icon/collect.png" alt="collect" tabindex="collect">-->
|
|
|
|
+ <!-- </div>-->
|
|
<!-- 个人中心 -->
|
|
<!-- 个人中心 -->
|
|
<a href="/index/user/personal.html">
|
|
<a href="/index/user/personal.html">
|
|
<div class="headIconItem userIcon">
|
|
<div class="headIconItem userIcon">
|
|
@@ -99,9 +99,9 @@
|
|
<h2 class="menuItemTitle shoppingCartIcon">Shopping Cart</h2>
|
|
<h2 class="menuItemTitle shoppingCartIcon">Shopping Cart</h2>
|
|
</a>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
-<!-- <div class="mobileMenuItem">
|
|
|
|
- <h2 class="menuItemTitle collectIcon">Collect</h2>
|
|
|
|
- </div>-->
|
|
|
|
|
|
+ <!-- <div class="mobileMenuItem">
|
|
|
|
+ <h2 class="menuItemTitle collectIcon">Collect</h2>
|
|
|
|
+ </div>-->
|
|
<div class="mobileMenuItem">
|
|
<div class="mobileMenuItem">
|
|
<a href="/index/user/personal.html">
|
|
<a href="/index/user/personal.html">
|
|
<h2 class="menuItemTitle userIcon">Personal</h2>
|
|
<h2 class="menuItemTitle userIcon">Personal</h2>
|
|
@@ -148,8 +148,8 @@
|
|
<!-- 结算模块 -->
|
|
<!-- 结算模块 -->
|
|
<section class="windContainer">
|
|
<section class="windContainer">
|
|
<div class="windTBox">
|
|
<div class="windTBox">
|
|
- <p class="lt">Add a coupon</p>
|
|
|
|
- <p class="cartTotals">CART TOTALS</p>
|
|
|
|
|
|
+ <p class="lt">CART TOTALS</p>
|
|
|
|
+ <p class="cartTotals"></p>
|
|
</div>
|
|
</div>
|
|
<div class="linkItem">
|
|
<div class="linkItem">
|
|
<div class="windInfoBox">
|
|
<div class="windInfoBox">
|
|
@@ -159,21 +159,82 @@
|
|
</div>
|
|
</div>
|
|
<div class="mbItem">
|
|
<div class="mbItem">
|
|
<div class="windInfoBox">
|
|
<div class="windInfoBox">
|
|
- <p class="key">Shipping</p>
|
|
|
|
|
|
+ <p class="key">Free Shipping</p>
|
|
<p class="val">$0.00</p>
|
|
<p class="val">$0.00</p>
|
|
</div>
|
|
</div>
|
|
- <div class="windInfoBox">
|
|
|
|
- <p class="key">Free shipping</p>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <!-- <div class="windInfoBox">-->
|
|
|
|
+ <!-- <p class="key">Free Shipping</p>-->
|
|
|
|
+ <!-- </div>-->
|
|
</div>
|
|
</div>
|
|
- <div class="mbItem">
|
|
|
|
|
|
+ <div class="mbItem" id="addressInfo">
|
|
<div class="windInfoBox">
|
|
<div class="windInfoBox">
|
|
- <p class="key">Shipping to California, United States (us)</p>
|
|
|
|
|
|
+ <div class="key">
|
|
|
|
+ <p class="keyItem" id="fullNameText">{$fullName}</p>
|
|
|
|
+ <p class="keyItem" id="contactNumberText">{$phone}</p>
|
|
|
|
+ <p class="keyItem" id="emailText">{$email}</p>
|
|
|
|
+ <p class="keyItem" id="addressText">{$full}</p>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div class="windInfoBox">
|
|
<div class="windInfoBox">
|
|
- <p class="key changeAddress">Change address</p>
|
|
|
|
|
|
+ <p class="key" id="changeAddress">Change address</p>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- 填写地址模块 -->
|
|
|
|
+ <div id="addressContainer">
|
|
|
|
+ <!-- 名字 -->
|
|
|
|
+ <div class="addressItem">
|
|
|
|
+ <p class="addItmeTitle">First Name:</p>
|
|
|
|
+ <input class="addInput" id="userName" type="text" placeholder="First Name">
|
|
|
|
+ </div>
|
|
|
|
+ <div class="addressItem">
|
|
|
|
+ <p class="addItmeTitle">Last Name:</p>
|
|
|
|
+ <input class="addInput" id="lastName" type="text" placeholder="Last Name">
|
|
|
|
+ </div>
|
|
|
|
+ <!-- 手机号码 -->
|
|
|
|
+ <div class="addressItem">
|
|
|
|
+ <p class="addItmeTitle">Contact Number:</p>
|
|
|
|
+ <input class="addInput" id="phoneNumber" type="text" placeholder="Contact Number">
|
|
|
|
+ </div>
|
|
|
|
+ <!-- 地区 -->
|
|
|
|
+ <div class="addressItem">
|
|
|
|
+ <p class="addItmeTitle">State:</p>
|
|
|
|
+ <select id="areaSelect">
|
|
|
|
+ <option value="0" selected>--Choose A state--</option>
|
|
|
|
+ {foreach $states50 as $state}
|
|
|
|
+ <option value="{$state['id']}">{$state['name']}</option>
|
|
|
|
+ {/foreach}
|
|
|
|
+ </select>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- 详情地址 -->
|
|
|
|
+ <div class="addressItem">
|
|
|
|
+ <p class="addItmeTitle">Address:</p>
|
|
|
|
+ <input class="addInput" id="address" type="text" placeholder="Address">
|
|
|
|
+ </div>
|
|
|
|
+ <!-- 邮箱 -->
|
|
|
|
+ <div class="addressItem">
|
|
|
|
+ <p class="addItmeTitle">Mailbox:</p>
|
|
|
|
+ <input type="text" id="mailbox" class="addInput" placeholder="Mailbox">
|
|
|
|
+ </div>
|
|
|
|
+ <!-- 邮政编码 -->
|
|
|
|
+ <div class="addressItem">
|
|
|
|
+ <p class="addItmeTitle">Zip Code:</p>
|
|
|
|
+ <input class="addInput" id="postalCode" type="text" placeholder="Zip Code">
|
|
|
|
+ </div>
|
|
|
|
+ <div id="addressButModel">
|
|
|
|
+ <div class="addressButtonBox">
|
|
|
|
+ <div id="addCancel">Cancel</div>
|
|
|
|
+ <div id="addSave">Save</div>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <!-- <div class="mbItem">
|
|
|
|
+ <div class="windInfoBox freeshipping">
|
|
|
|
+ <p class="key">Free shipping</p>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="windInfoBox">
|
|
|
|
+ <p class="key">$199.99</p>
|
|
|
|
+ </div>
|
|
|
|
+ </div>-->
|
|
<div class="totalBox">
|
|
<div class="totalBox">
|
|
<p class="totalT">Total</p>
|
|
<p class="totalT">Total</p>
|
|
<p class="totalVal">${$cartMoney}</p>
|
|
<p class="totalVal">${$cartMoney}</p>
|
|
@@ -259,7 +320,7 @@
|
|
src="https://img1.baidu.com/it/u=3449617615,1431463931&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1709485200&t=489bafcac7c5bebed91cf50c14356269"
|
|
src="https://img1.baidu.com/it/u=3449617615,1431463931&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1709485200&t=489bafcac7c5bebed91cf50c14356269"
|
|
alt="">
|
|
alt="">
|
|
<div class="ageReminderInfo">
|
|
<div class="ageReminderInfo">
|
|
- <h3>ARE YOU OF LEAAL SMOKIND AGE?</h3>
|
|
|
|
|
|
+ <h3>ARE YOU OF LEAAL SMOKING AGE?</h3>
|
|
<div class="ageReminderButBox">
|
|
<div class="ageReminderButBox">
|
|
<div class="ageRBut ageReminderNo"><span>NO</span></div>
|
|
<div class="ageRBut ageReminderNo"><span>NO</span></div>
|
|
<div class="ageRBut ageReminderYes"><span>Yes, I am 21+</span></div>
|
|
<div class="ageRBut ageReminderYes"><span>Yes, I am 21+</span></div>
|
|
@@ -267,6 +328,28 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
|
|
+
|
|
|
|
+<!-- 年龄提示层 -->
|
|
|
|
+<section class="maskContainer">
|
|
|
|
+ <div class="ageReminderBox">
|
|
|
|
+ <img class="ageReminderBack"
|
|
|
|
+ src="https://img1.baidu.com/it/u=3449617615,1431463931&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1709485200&t=489bafcac7c5bebed91cf50c14356269"
|
|
|
|
+ alt="">
|
|
|
|
+ <div class="ageReminderInfo">
|
|
|
|
+ <h3>ARE YOU OF LEAAL SMOKING AGE?</h3>
|
|
|
|
+ <div class="ageReminderButBox">
|
|
|
|
+ <div class="ageRBut ageReminderNo"><span>NO</span></div>
|
|
|
|
+ <div class="ageRBut ageReminderYes"><span>Yes, I am 21+</span></div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+</section>
|
|
|
|
+<div id="loadingModel">
|
|
|
|
+ <div class="loadingBox">
|
|
|
|
+ <img src="/assets/index/asstes/icon/loading.gif" alt="Jumping to paypal.">
|
|
|
|
+ </div>
|
|
|
|
+</div>
|
|
|
|
+
|
|
<div id="toastContainer"></div>
|
|
<div id="toastContainer"></div>
|
|
</body>
|
|
</body>
|
|
<script src="/assets/index/js/jquery-1.12.0.js"></script>
|
|
<script src="/assets/index/js/jquery-1.12.0.js"></script>
|
|
@@ -277,6 +360,152 @@
|
|
<script>
|
|
<script>
|
|
$(document).ready(function () {
|
|
$(document).ready(function () {
|
|
|
|
|
|
|
|
+ //默认地址
|
|
|
|
+ const defaultAddressInfo = {
|
|
|
|
+ userName: "userName",
|
|
|
|
+ phoneNumber: "123456789",
|
|
|
|
+ areaSelect: "0",
|
|
|
|
+ address: "addressaddress",
|
|
|
|
+ mailbox: "123456789@qq.com",
|
|
|
|
+ postalCode: "123456"
|
|
|
|
+ }
|
|
|
|
+ // 是否已填写过地址
|
|
|
|
+ let isAddress = true
|
|
|
|
+
|
|
|
|
+ //初始化地址模块标签显示隐藏
|
|
|
|
+ function initAddressLabel() {
|
|
|
|
+ //是否已填写过地址、显示默认地址,隐藏填写地址表单
|
|
|
|
+ if (isAddress) {
|
|
|
|
+ $("#addressInfo").show(0)
|
|
|
|
+ $("#addressContainer").hide(0)
|
|
|
|
+ } else {
|
|
|
|
+ $("#addressInfo").hide(0)
|
|
|
|
+ $("#addressContainer").show(0)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //初始化表单
|
|
|
|
+ function initAddressForm() {
|
|
|
|
+ const {userName, phoneNumber, areaSelect, address, mailbox, postalCode} = defaultAddressInfo || {}
|
|
|
|
+ userName && $("#userName").val(userName)
|
|
|
|
+ phoneNumber && $("#phoneNumber").val(phoneNumber)
|
|
|
|
+ areaSelect && $("#areaSelect").val(areaSelect)
|
|
|
|
+ address && $("#address").val(address)
|
|
|
|
+ // mailbox && $("#mailbox").val(mailbox)
|
|
|
|
+ postalCode && $("#postalCode").val(postalCode)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ initAddressLabel()
|
|
|
|
+ initAddressForm()
|
|
|
|
+
|
|
|
|
+ //更改地址,需显示填写地址表单、取消保存按钮
|
|
|
|
+ $("#changeAddress").on(tap, async function () {
|
|
|
|
+ $("#addressContainer").show(0)
|
|
|
|
+ $("#addressButModel").show(0)
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ //取消更改
|
|
|
|
+ $("#addCancel").on(tap, async function () {
|
|
|
|
+ $("#addressContainer").hide(0)
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ // 添加地址
|
|
|
|
+ function addAddress() {
|
|
|
|
+ const userNameEle = $("#userName")
|
|
|
|
+ const lastNameEle = $("#lastName")
|
|
|
|
+ const phoneNumberEle = $("#phoneNumber")
|
|
|
|
+ const areaSelectEle = $("#areaSelect")
|
|
|
|
+ const addressEle = $("#address")
|
|
|
|
+ const mailboxEle = $("#mailbox")
|
|
|
|
+ const postalCodeEle = $("#postalCode")
|
|
|
|
+
|
|
|
|
+ // 名字
|
|
|
|
+ const userName = userNameEle.val()
|
|
|
|
+ const lastName = lastNameEle.val()
|
|
|
|
+ // 手机号码
|
|
|
|
+ const phoneNumber = phoneNumberEle.val()
|
|
|
|
+ // 地区
|
|
|
|
+ const areaSelect = areaSelectEle.val()
|
|
|
|
+ // 详情地址
|
|
|
|
+ const address = addressEle.val()
|
|
|
|
+ // 邮箱
|
|
|
|
+ const mailbox = mailboxEle.val()
|
|
|
|
+ // 邮政编码
|
|
|
|
+ const postalCode = postalCodeEle.val()
|
|
|
|
+
|
|
|
|
+ if (!userName || userName === "") {
|
|
|
|
+ userNameEle.focus()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (!phoneNumber || phoneNumber === "") {
|
|
|
|
+ phoneNumberEle.focus()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (!areaSelect || areaSelect === "") {
|
|
|
|
+ areaSelectEle.focus()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (!address || address === "") {
|
|
|
|
+ addressEle.focus()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ const params = {
|
|
|
|
+ form: {
|
|
|
|
+ name: userName,
|
|
|
|
+ last_name: lastName,
|
|
|
|
+ phone: phoneNumber,
|
|
|
|
+ email: mailbox,
|
|
|
|
+ region: [{label: '', value: 1}, {label: '', value: 2}, {label: areaSelect, value: 4}],
|
|
|
|
+ //mailbox,
|
|
|
|
+ detail: address,
|
|
|
|
+ zip_code: postalCode
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return new Promise(function (resolve, reject) {
|
|
|
|
+ // setTimeout(() => {
|
|
|
|
+ // $("#addressText").text("新地址")
|
|
|
|
+ // resolve(1001);
|
|
|
|
+ // $("#addressContainer").hide(0)
|
|
|
|
+ // })
|
|
|
|
+ $.ajax({
|
|
|
|
+ url: "/index/address/add",
|
|
|
|
+ method: 'POST',
|
|
|
|
+ data: JSON.stringify(params),
|
|
|
|
+ headers: {
|
|
|
|
+ 'Content-Type': 'application/json',
|
|
|
|
+ 'storeId': '10001',
|
|
|
|
+ 'platform': 'H5',
|
|
|
|
+ },
|
|
|
|
+ dataType: 'json',
|
|
|
|
+ success: function (response) {
|
|
|
|
+ resolve(response);
|
|
|
|
+ },
|
|
|
|
+ error: function (xhr, status, error) {
|
|
|
|
+ reject(error);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //保存更改
|
|
|
|
+ $("#addSave").on(tap, async function () {
|
|
|
|
+ const {data, status} = await addAddress()
|
|
|
|
+ if (status === 200 || status === "200") {
|
|
|
|
+ showToast('Success')
|
|
|
|
+ setTimeout(function () {
|
|
|
|
+ $("#addressText").text(data.full)
|
|
|
|
+ $("#fullNameText").text(data.name + " " + data.last_name)
|
|
|
|
+ $("#contactNumberText").text(data.phone)
|
|
|
|
+ $("#emailText").text(data.email)
|
|
|
|
+ $("#addressContainer").hide(0)
|
|
|
|
+ }, 2000)
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ showToast('Something wrong.Try again later.')
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
function showToast(message) {
|
|
function showToast(message) {
|
|
var toastElement = $('#toastContainer');
|
|
var toastElement = $('#toastContainer');
|
|
toastElement.text(message);
|
|
toastElement.text(message);
|
|
@@ -427,6 +656,16 @@
|
|
//支付
|
|
//支付
|
|
$(".payPalButton").on(tap, async function () {
|
|
$(".payPalButton").on(tap, async function () {
|
|
console.log("paypaing")
|
|
console.log("paypaing")
|
|
|
|
+ let addressId
|
|
|
|
+ $("#loadingModel").show(0)
|
|
|
|
+ // 支付之前先判断是否有默认地址
|
|
|
|
+ if (!isAddress) {
|
|
|
|
+ // 先添加地址
|
|
|
|
+ const res = await addAddress()
|
|
|
|
+ addressId = res
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
const params = {
|
|
const params = {
|
|
//"cartIds": "10002",
|
|
//"cartIds": "10002",
|
|
"delivery": 10,
|
|
"delivery": 10,
|
|
@@ -452,14 +691,21 @@
|
|
"delivery": 10,
|
|
"delivery": 10,
|
|
"address_id": 2
|
|
"address_id": 2
|
|
}
|
|
}
|
|
- console.log(params)
|
|
|
|
|
|
+ $("#loadingModel").show(0)
|
|
const res = await orderPaymentPoints(params)
|
|
const res = await orderPaymentPoints(params)
|
|
- console.log(res)
|
|
|
|
const {status, message, data} = res || {}
|
|
const {status, message, data} = res || {}
|
|
if (status === 200 || status === "200") {
|
|
if (status === 200 || status === "200") {
|
|
- window.location.replace('/index/user/order.html')
|
|
|
|
|
|
+ $("#loadingModel").hide(0)
|
|
|
|
+ showToast(message)
|
|
|
|
+ setTimeout(function () {
|
|
|
|
+ window.location.replace('/index/user/order.html')
|
|
|
|
+ }, 3000)
|
|
} else if (status === 401 || status === "401") {
|
|
} else if (status === 401 || status === "401") {
|
|
- window.location.replace('../passport/logIn.html')
|
|
|
|
|
|
+ showToast('Login first!')
|
|
|
|
+ setTimeout(function () {
|
|
|
|
+ window.location.replace('../passport/logIn.html')
|
|
|
|
+ }, 3000)
|
|
|
|
+ //window.location.replace('../passport/logIn.html')
|
|
} else {
|
|
} else {
|
|
showToast(message)
|
|
showToast(message)
|
|
}
|
|
}
|