Commit 3db273ad by dhn

发票地址位置及功能修改

parent 0d843a60
...@@ -197,8 +197,27 @@ class LayoutProcessor implements LayoutProcessorInterface ...@@ -197,8 +197,27 @@ class LayoutProcessor implements LayoutProcessorInterface
$fields $fields
); );
} }
$jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']['children']
if (isset($jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']
['children']['shippingAddress']['children']['after-shipping-method-form'])){
$component['billing-address-form'] = $this->getBillingAddressComponent('shared', $elements);
$jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']
['children']['shippingAddress']['children']['after-shipping-method-form']['children'] =
array_merge_recursive(
$component,
$jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']
['children']['shippingAddress']['children']['after-shipping-method-form']
);
}
$jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']['children']
['shippingAddress']['children']['shipping-address-fieldset']['children']['company']['sortOrder'] = 140; ['shippingAddress']['children']['shipping-address-fieldset']['children']['company']['sortOrder'] = 140;
file_put_contents('./yyyy.txt',json_encode($jsLayout));
return $jsLayout; return $jsLayout;
} }
......
...@@ -229,6 +229,13 @@ ...@@ -229,6 +229,13 @@
</item> </item>
</item> </item>
</item> </item>
<item name="after-shipping-method-form" xsi:type="array">
<item name="component" xsi:type="string">uiComponent</item>
<item name="displayArea" xsi:type="string">after-shipping-method-form</item>
<item name="children" xsi:type="array">
<!-- address-list-additional-addresses -->
</item>
</item>
</item> </item>
</item> </item>
</item> </item>
......
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/**
* @api
*/
define(
[
'jquery',
'Magento_Checkout/js/model/quote',
'Magento_Checkout/js/model/url-builder',
'mage/storage-new',
'Magento_Checkout/js/model/error-processor',
'Magento_Customer/js/model/customer',
'Magento_Checkout/js/model/full-screen-loader',
'Magento_Checkout/js/action/get-payment-information'
],
function ($,
quote,
urlBuilder,
storage,
errorProcessor,
customer,
fullScreenLoader,
getPaymentInformationAction
) {
'use strict';
return function (messageContainer) {
var serviceUrl,
payload;
/**
* Checkout for guest and registered customer.
*/
if (!customer.isLoggedIn()) {
serviceUrl = urlBuilder.createUrl('/guest-carts/:cartId/billing-address', {
cartId: quote.getQuoteId()
});
payload = {
cartId: quote.getQuoteId(),
address: quote.billingAddress()
};
} else {
serviceUrl = urlBuilder.createUrl('/carts/mine/billing-address', {});
payload = {
cartId: quote.getQuoteId(),
address: quote.billingAddress()
};
}
fullScreenLoader.startLoader();
quote.responseBillStatus(null);
return storage.post(
serviceUrl, JSON.stringify(payload)
).done(
function () {
var deferred = $.Deferred();
getPaymentInformationAction(deferred);
$.when(deferred).done(function () {
fullScreenLoader.stopLoader();
});
quote.responseBillStatus(200);
}
).fail(
function (response) {
errorProcessor.process(response, messageContainer);
fullScreenLoader.stopLoader();
quote.responseBillStatus(400);
}
);
};
}
);
...@@ -32,6 +32,7 @@ define([ ...@@ -32,6 +32,7 @@ define([
shippingSaveMethod = ko.observable(null), shippingSaveMethod = ko.observable(null),
paymentMethod = ko.observable(null), paymentMethod = ko.observable(null),
paymentMethodlist = ko.observable(null), paymentMethodlist = ko.observable(null),
responseBillStatus = ko.observable(null),
quoteData = window.checkoutConfig.quoteData, quoteData = window.checkoutConfig.quoteData,
basePriceFormat = window.checkoutConfig.basePriceFormat, basePriceFormat = window.checkoutConfig.basePriceFormat,
priceFormat = window.checkoutConfig.priceFormat, priceFormat = window.checkoutConfig.priceFormat,
...@@ -45,6 +46,7 @@ define([ ...@@ -45,6 +46,7 @@ define([
shippingAddress: shippingAddress, shippingAddress: shippingAddress,
shippingMethod: shippingMethod, shippingMethod: shippingMethod,
shippingSaveMethod:shippingSaveMethod, shippingSaveMethod:shippingSaveMethod,
responseBillStatus:responseBillStatus,
billingAddress: billingAddress, billingAddress: billingAddress,
paymentMethod: paymentMethod, paymentMethod: paymentMethod,
paymentMethodlist:paymentMethodlist, paymentMethodlist:paymentMethodlist,
...@@ -121,7 +123,6 @@ define([ ...@@ -121,7 +123,6 @@ define([
getShippingSaveMethod: function () { getShippingSaveMethod: function () {
return shippingSaveMethod; return shippingSaveMethod;
}, },
setPaymentMethodList: function (MethodList) { setPaymentMethodList: function (MethodList) {
paymentMethodlist(MethodList); paymentMethodlist(MethodList);
}, },
......
define([ define([
'jquery', 'jquery',
'uiComponent', 'uiComponent',
'Magento_Checkout/js/model/checkout-data-resolver' 'uiRegistry',
], function ($, Component,checkoutDataResolver) { 'Magento_Checkout/js/model/checkout-data-resolver',
'Magento_Checkout/js/model/quote'
], function ($, Component,registry,checkoutDataResolver,quote) {
'use strict'; 'use strict';
var input_city = $('#co-shipping-form input[name="city"]'); var input_city = $('#co-shipping-form input[name="city"]');
if (input_city.is(':visible') && !input_city.closest('.field').hasClass('_required')) { if (input_city.is(':visible') && !input_city.closest('.field').hasClass('_required')) {
...@@ -39,6 +41,9 @@ define([ ...@@ -39,6 +41,9 @@ define([
if (!addressForm.validate().form()) { if (!addressForm.validate().form()) {
return false; return false;
} }
var paymentMethodObj = $('.checkout-index-index .payment-method'); var paymentMethodObj = $('.checkout-index-index .payment-method');
if(paymentMethodObj.length < 1) if(paymentMethodObj.length < 1)
{ {
...@@ -58,12 +63,22 @@ define([ ...@@ -58,12 +63,22 @@ define([
} else { } else {
regin = region_select.find(":selected").text(); regin = region_select.find(":selected").text();
} }
if(!registry.get('checkout.steps.shipping-step.shippingAddress.after-shipping-method-form.billing-address-form').isAddressSameAsShipping())
{
$('#submitBill').trigger('click');
if(quote.responseBillStatus() == 400)
{
return false;
}
}
$('#checkout-step-shipping').hide(); $('#checkout-step-shipping').hide();
$('#shipping-text').show(); $('#shipping-text').show();
$('#shipping-text .main-address.shipping-address').html(firstname + ' ' + lastname + '<br>' + street + '<br>' + city + ', ' + regin + ', ' + country + '<br>' + postcode + ', ' + telephone + '<br>' + email); $('#shipping-text .main-address.shipping-address').html(firstname + ' ' + lastname + '<br>' + street + '<br>' + city + ', ' + regin + ', ' + country + '<br>' + postcode + ', ' + telephone + '<br>' + email);
} }
$(paymentMethodObj[0]).find('input[type="radio"]').trigger('click'); $(paymentMethodObj[0]).find('input[type="radio"]').trigger('click');
$('#next-shipping').hide(); $('#next-shipping').hide();
$('#edit-shipping').show();
$('#checkout-step-shipping_method').show(); $('#checkout-step-shipping_method').show();
$('#checkout-payment-method-load').show(); $('#checkout-payment-method-load').show();
$('#checkout-step-payment,#opc-shipping_method').find('.step-title').removeClass('no-border'); $('#checkout-step-payment,#opc-shipping_method').find('.step-title').removeClass('no-border');
...@@ -80,10 +95,41 @@ define([ ...@@ -80,10 +95,41 @@ define([
$('#shipping-text').hide(); $('#shipping-text').hide();
$('#checkout-step-shipping').show(); $('#checkout-step-shipping').show();
$('#next-shipping').show(); $('#next-shipping').show();
$('#edit-shipping').hide();
$('#checkout-step-shipping_method').hide(); $('#checkout-step-shipping_method').hide();
$('#checkout-payment-method-load').hide(); $('#checkout-payment-method-load').hide();
$('#checkout-step-payment,#opc-shipping_method').find('.step-title').addClass('no-border'); $('#checkout-step-payment,#opc-shipping_method').find('.step-title').addClass('no-border');
}); });
$(document).on('click', '#billing-address-same-as-shipping-shared', function () {
if(!registry.get('checkout.steps.shipping-step.shippingAddress.after-shipping-method-form.billing-address-form').isAddressSameAsShipping())
{
$('#shipping-text .main-address.shipping-address').html('');
$('#checkout_place_order').removeClass('button-fix');
$('#shipping-text').hide();
$('#checkout-step-shipping').show();
$('#next-shipping').show();
$('#edit-shipping').hide();
$('#checkout-step-shipping_method').hide();
$('#checkout-payment-method-load').hide();
$('#checkout-step-payment,#opc-shipping_method').find('.step-title').addClass('no-border');
}
});
$(document).on('click', '#editLink', function () {
$('#shipping-text .main-address.shipping-address').html('');
$('#checkout_place_order').removeClass('button-fix');
$('#shipping-text').hide();
$('#checkout-step-shipping').show();
$('#next-shipping').show();
$('#edit-shipping').hide();
$('#checkout-step-shipping_method').hide();
$('#checkout-payment-method-load').hide();
$('#checkout-step-payment,#opc-shipping_method').find('.step-title').addClass('no-border');
if(!registry.get('checkout.steps.shipping-step.shippingAddress.after-shipping-method-form.billing-address-form').isAddressSameAsShipping())
{
$('#action-edit-address').trigger('click');
}
});
} }
}); });
} }
......
...@@ -70,8 +70,10 @@ define([ ...@@ -70,8 +70,10 @@ define([
* @returns {*} * @returns {*}
*/ */
_isAddressSameAsShipping: function () { _isAddressSameAsShipping: function () {
if(registry.get('checkout.steps.shipping-step.shippingAddress.after-shipping-method-form.billing-address-form')){
return registry.get('checkout.steps.shipping-step.shippingAddress.after-shipping-method-form.billing-address-form').isAddressSameAsShipping();
}
return true; return true;
//return registry.get('checkout.steps.billing-step.payment.payments-list.billing-address-form-shared').isAddressSameAsShipping();
} }
}); });
}); });
...@@ -21,11 +21,11 @@ ...@@ -21,11 +21,11 @@
<br/> <br/>
</each> </each>
</div> </div>
<div class="billing-handle"> <div class="billing-handle" style="display: none;">
<button visible="!isAddressSameAsShipping()" <button visible="!isAddressSameAsShipping()"
type="button" type="button"
class="action action-edit-address" class="action action-edit-address"
click="editAddress"> click="editAddress" id="action-edit-address">
<span translate="'Edit'"></span> <span translate="'Edit'"></span>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M19.769 9.923l-12.642 12.639-7.127 1.438 1.438-7.128 12.641-12.64 5.69 5.691zm1.414-1.414l2.817-2.82-5.691-5.689-2.816 2.817 5.69 5.692z"></path> <path d="M19.769 9.923l-12.642 12.639-7.127 1.438 1.438-7.128 12.641-12.64 5.69 5.691zm1.414-1.414l2.817-2.82-5.691-5.689-2.816 2.817 5.69 5.692z"></path>
......
...@@ -5,15 +5,17 @@ ...@@ -5,15 +5,17 @@
padding: 20px 22px; padding: 20px 22px;
border: 1px solid #d6d6d6; border: 1px solid #d6d6d6;
font-size: 14px; font-size: 14px;
min-height: 200px; /*min-height: 200px;*/
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
} }
/*
.billing-address-box{ .billing-address-box{
padding-bottom: 1rem; padding-bottom: 1rem;
border-bottom: 1px dashed #ddd; border-bottom: 1px dashed #ddd;
} }
*/
.billing-handle .action-edit-address { .billing-handle .action-edit-address {
border: none; border: none;
background: 0 0; background: 0 0;
...@@ -30,7 +32,7 @@ ...@@ -30,7 +32,7 @@
fill: #666; fill: #666;
} }
.billing-address-details { .billing-address-details {
padding: 0.5rem 0px 0.5rem 1.5rem; padding: 0.5rem 0px 0.5rem 0rem;
} }
@media (max-width: 1023px){ @media (max-width: 1023px){
.action-update-cancel{ .action-update-cancel{
...@@ -77,7 +79,7 @@ ...@@ -77,7 +79,7 @@
</style> </style>
<div class="checkout-billing-address cclt"> <div class="checkout-billing-address cclt">
<div class="billing-address-same-as-shipping-block field choice" data-bind="visible: canUseShippingAddress()"> <div class="billing-address-same-as-shipping-block field choice" data-bind="visible: canUseShippingAddress()" style="padding:0;">
<input type="checkbox" name="billing-address-same-as-shipping" <input type="checkbox" name="billing-address-same-as-shipping"
data-bind="checked: isAddressSameAsShipping, click: useShippingAddress, attr: {id: 'billing-address-same-as-shipping-' + getCode($parent)}"/> data-bind="checked: isAddressSameAsShipping, click: useShippingAddress, attr: {id: 'billing-address-same-as-shipping-' + getCode($parent)}"/>
<label data-bind="attr: {for: 'billing-address-same-as-shipping-' + getCode($parent)}"><span <label data-bind="attr: {for: 'billing-address-same-as-shipping-' + getCode($parent)}"><span
...@@ -91,7 +93,7 @@ ...@@ -91,7 +93,7 @@
<!-- ko template: 'Magento_Checkout/billing-address/form' --><!-- /ko --> <!-- ko template: 'Magento_Checkout/billing-address/form' --><!-- /ko -->
<div class="actions-toolbar action-update-cancel" style="margin-left: 0%;"> <div class="actions-toolbar action-update-cancel" style="margin-left: 0%;">
<div class="primary"> <div class="primary">
<button class="action action-update" type="button" data-bind="click: updateAddress"> <button class="action action-update" id="submitBill" type="button" data-bind="click: updateAddress">
<span data-bind="i18n: 'Update'"></span> <span data-bind="i18n: 'Update'"></span>
</button> </button>
<button class="action action-cancel" type="button" data-bind="click: cancelAddressEdit"> <button class="action action-cancel" type="button" data-bind="click: cancelAddressEdit">
......
...@@ -8,11 +8,6 @@ ...@@ -8,11 +8,6 @@
class="items payment-methods"> class="items payment-methods">
<div repeat="foreach: paymentGroupsList, item: '$group'" <div repeat="foreach: paymentGroupsList, item: '$group'"
class="payment-group"> class="payment-group">
<!-- ko if: showFormShared($group) -->
<!-- ko foreach: getRegion(getBillingAddressRegionName()) -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!--/ko-->
<!--/ko-->
<each args="data: getRegion($group().displayArea), as: 'method'" render=""></each> <each args="data: getRegion($group().displayArea), as: 'method'" render=""></each>
</div> </div>
</div> </div>
......
...@@ -283,7 +283,7 @@ $full_free_ship = $_helper->currency($full_free, true, false); ...@@ -283,7 +283,7 @@ $full_free_ship = $_helper->currency($full_free, true, false);
padding: 20px 22px; padding: 20px 22px;
border: 1px solid #d6d6d6; border: 1px solid #d6d6d6;
font-size: 14px; font-size: 14px;
min-height: 200px; /*min-height: 200px;*/
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
} }
...@@ -297,11 +297,13 @@ $full_free_ship = $_helper->currency($full_free, true, false); ...@@ -297,11 +297,13 @@ $full_free_ship = $_helper->currency($full_free, true, false);
background-size: contain; background-size: contain;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAACECAYAAABVnZHfAAAA+0lEQVQ4je3UsUrDUBTG8X9s6yZOeYMOLejgS7iIUDCrS0uH0oI+QUGdHZSsjnZw6dB3ENK1U8eCQqBjoWvkaE/4SpHgYjv0bj9yc5J7v3tukN5GGT9jcICMreFDEQFLRwK0gCyIXtLvKfGkd5aDwr+uKkbAsaMGvAElf+cc6GuB6m7szo4hU9w5ysA9UNdpTWDsS7BMn3U9mZ3EtdIlxZOiC3T8O6yeTr1axU7JPp8iJIor7zvDJ9CwjLTNwj+02aEiVrSBGyS5R03OEr/e51OEd4UFNXPMgUtgkTdT7zQONzrrd1woXoETh92UQyD0AnaXPmi1o3/ZA+ALpYA1JaK/rAEAAAAASUVORK5CYII=) repeat-y; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAACECAYAAABVnZHfAAAA+0lEQVQ4je3UsUrDUBTG8X9s6yZOeYMOLejgS7iIUDCrS0uH0oI+QUGdHZSsjnZw6dB3ENK1U8eCQqBjoWvkaE/4SpHgYjv0bj9yc5J7v3tukN5GGT9jcICMreFDEQFLRwK0gCyIXtLvKfGkd5aDwr+uKkbAsaMGvAElf+cc6GuB6m7szo4hU9w5ysA9UNdpTWDsS7BMn3U9mZ3EtdIlxZOiC3T8O6yeTr1axU7JPp8iJIor7zvDJ9CwjLTNwj+02aEiVrSBGyS5R03OEr/e51OEd4UFNXPMgUtgkTdT7zQONzrrd1woXoETh92UQyD0AnaXPmi1o3/ZA+ALpYA1JaK/rAEAAAAASUVORK5CYII=) repeat-y;
} }
/*
.main-address.shipping-address .main-address.shipping-address
{ {
border-bottom: 1px dashed #d6d6d6; border-bottom: 1px dashed #d6d6d6;
padding-bottom: 20px; padding-bottom: 20px;
} }
*/
.address-edit{ .address-edit{
border: none; border: none;
background: 0 0; background: 0 0;
......
...@@ -4,6 +4,15 @@ ...@@ -4,6 +4,15 @@
* See COPYING.txt for license details. * See COPYING.txt for license details.
*/ */
--> -->
<style>
#edit-shipping{
border-bottom: 1px #dddddd dashed;
text-align: right;
}
#edit-shipping svg{
vertical-align: revert;
}
</style>
<li id="shipping" class="checkout-shipping-address" data-bind="fadeVisible: visible()"> <li id="shipping" class="checkout-shipping-address" data-bind="fadeVisible: visible()">
<!--<div class="step-title" translate="'Shipping Address'" data-role="title" />--> <!--<div class="step-title" translate="'Shipping Address'" data-role="title" />-->
<p class="step-title"> <p class="step-title">
...@@ -14,7 +23,7 @@ ...@@ -14,7 +23,7 @@
</p> </p>
<div id="checkout-step-shipping" <div id="checkout-step-shipping"
class="step-content" class="step-content"
data-role="content"> data-role="content" style="margin-bottom: 1rem;">
<each if="!quoteIsVirtual" args="getRegion('customer-email')" render="" /> <each if="!quoteIsVirtual" args="getRegion('customer-email')" render="" />
<each args="getRegion('address-list')" render="" /> <each args="getRegion('address-list')" render="" />
...@@ -46,17 +55,22 @@ ...@@ -46,17 +55,22 @@
<div class="confirmed-address"> <div class="confirmed-address">
<div class="main-address shipping-address"> <div class="main-address shipping-address">
</div> </div>
<button class="address-edit">
<span>edit</span>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M19.769 9.923l-12.642 12.639-7.127 1.438 1.438-7.128 12.641-12.64 5.69 5.691zm1.414-1.414l2.817-2.82-5.691-5.689-2.816 2.817 5.69 5.692z"></path>
</svg>
</button>
</div> </div>
</div> </div>
<div class="billing-address-form">
<each args="getRegion('after-shipping-method-form')" render="" />
</div>
<div id="next-shipping"> <div id="next-shipping">
<span><!-- ko i18n: 'Save & Continue'--><!-- /ko --></span> <span><!-- ko i18n: 'Save & Continue'--><!-- /ko --></span>
</div> </div>
<div id="edit-shipping" style="display:none;">
<a href="javascript:;" id="editLink" style="color:#000;">
<span><!-- ko i18n: 'Edit'--><!-- /ko --></span>
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24">
<path d="M19.769 9.923l-12.642 12.639-7.127 1.438 1.438-7.128 12.641-12.64 5.69 5.691zm1.414-1.414l2.817-2.82-5.691-5.689-2.816 2.817 5.69 5.692z"></path>
</svg>
</a>
</div>
</li> </li>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment