vr-shopxo-plugin/shopxo/app/index/view/default/buy/index.html

982 lines
73 KiB
HTML
Raw Normal View History

{{:ModuleInclude('public/header')}}
<!-- header top nav -->
{{:ModuleInclude('public/header_top_nav')}}
<!-- search -->
{{:ModuleInclude('public/nav_search')}}
<!-- header nav -->
{{:ModuleInclude('public/header_nav')}}
<!-- goods category -->
{{:ModuleInclude('public/goods_category')}}
<!-- 订单确认页面顶部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_top</span>
</div>
{{/if}}
{{if !empty($plugins_view_buy_top_data) and is_array($plugins_view_buy_top_data)}}
{{foreach $plugins_view_buy_top_data as $hook}}
{{if is_string($hook) or is_int($hook)}}
{{$hook|raw}}
{{/if}}
{{/foreach}}
{{/if}}
<!-- 订单确认页面顶部钩子-结束 -->
<!-- content -->
<div class="am-container">
<div class="link-list">
<!-- 订单确认页面内部顶部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_inside_top</span>
</div>
{{/if}}
{{if !empty($plugins_view_buy_inside_top_data) and is_array($plugins_view_buy_inside_top_data)}}
{{foreach $plugins_view_buy_inside_top_data as $hook}}
{{if is_string($hook) or is_int($hook)}}
{{$hook|raw}}
{{/if}}
{{/foreach}}
{{/if}}
<!-- 订单确认页面内部顶部钩子-结束 -->
<div class="address-container am-background-white am-radius am-margin-top-main">
<!-- 下单多类型选择 -->
{{if !empty($buy_site_model_list) and is_array($buy_site_model_list)}}
<div id="buy-items-tabs" data-am-tabs="{noSwipe: 1}" class="am-tabs buy-header-nav am-margin-top-0">
<ul class="am-avg-sm-{{:count($buy_site_model_list)}} am-tabs-nav am-cf am-nav am-nav-tabs am-tabs-short-border am-margin-0">
{{foreach $buy_site_model_list as $v}}
<li {{if isset($base['site_model']) and $base['site_model'] eq $v['value']}}class="am-active"{{/if}}>
<a href="javascript:;" data-value="{{$v.value}}">{{$v.name}}</a>
</li>
{{/foreach}}
</ul>
</div>
{{/if}}
<!-- 地址信息 -->
{{if isset($base['site_model']) and in_array($base['site_model'], [0,1,2])}}
<div id="buy-items-address" class="address {{if in_array($base['site_model'], [0,1])}}user{{else /}}extraction{{/if}}-address-container address-phone-padding">
<!-- 快递、同城 - 用户地址 -->
{{if in_array($base['site_model'], [0,1])}}
<div class="control am-margin-bottom-main">
<h3>
<span>{{:MyLang('buy.confirm_delivery_address_name')}}</span>
<button type="button" class="am-close am-fr mobile-address-close-submit">&times;</button>
</h3>
{{if !empty($user_address_list)}}
<button type="button" class="am-btn am-btn-primary-plain am-text-xs am-border-main am-radius address-submit-save" data-url="{{:MyUrl('index/useraddress/saveinfo')}}" data-title="{{:MyLang('address_title')}}{{:MyLang('add_title')}}">{{:MyLang('buy.use_new_address_name')}}</button>
{{/if}}
</div>
{{if !empty($user_address_list)}}
<ul class="address-list address-express-delivery am-margin-top-main">
{{foreach $user_address_list as $address}}
<li class="address-cart am-radius am-border-grey box-shadow-hover {{if (isset($params['address_id']) and $params['address_id'] eq $address['id']) or (!isset($params['address_id']) and isset($address['is_default']) and $address['is_default'] eq 1) or (count($user_address_list) eq 1)}}address-default{{/if}}" id="data-list-{{$address.id}}" data-value="{{$address.id}}">
<div class="address-content am-background-white">
<div class="address-left">
<div class="user-base am-border-bottom-grey-light am-color-grey-dark">
{{if !empty($address.alias)}}
<span class="address-alias am-text-truncate am-badge am-badge-secondary-plain am-radius am-margin-right-xs">{{$address.alias}}</span>
{{/if}}
{{if isset($address['is_default']) and $address['is_default'] eq 1}}
<span class="address-alias am-badge am-radius am-badge-plain am-margin-right-sm">{{:MyLang('default_title')}}</span>
{{/if}}
<span class="address-detail">
<span class="user am-text-truncate am-margin-right-sm">{{$address.name}}</span>
<span class="phone">{{$address.tel}}</span>
</span>
</div>
<div class="region am-margin-bottom-sm am-margin-top-sm am-color-grey-dark">
<span class="province">{{$address.province_name}}</span>
<span class="city">{{$address.city_name}}</span>
<span class="dist">{{$address.county_name}}</span>
<span class="street">{{$address.address}}</span>
</div>
</div>
<div class="address-right">
<span class="iconfont icon-angle-right"></span>
</div>
<div class="address-operation-btn">
{{if isset($address['is_default']) and $address['is_default'] neq 1}}
<a href="javascript:;" class="address-default-submit am-padding-left-sm" data-url="{{:MyUrl('index/useraddress/setdefault')}}" data-id="{{$address.id}}" data-view="reload"> {{:MyLang('setup_default_title')}}</a>
{{/if}}
<a href="javascript:;" class="am-padding-left-sm address-submit-save" data-url="{{:MyUrl('index/useraddress/saveinfo', ['id'=>$address['id']])}}" data-title="{{:MyLang('address_title')}}{{:MyLang('edit_title')}}"> {{:MyLang('edit_title')}}</a>
<a href="javascript:;" class="address-submit-delete am-padding-left-sm" data-url="{{:MyUrl('index/useraddress/delete')}}" data-id="{{$address.id}}"> {{:MyLang('delete_title')}}</a>
</div>
</div>
</li>
{{/foreach}}
</ul>
{{else /}}
<div class="am-text-center">
{{:ModuleInclude('public/not_data', [
'msg' => MyLang('buy.no_address_info_tips'),
'icon' => StaticAttachmentUrl('no-address.png'),
])}}
<button type="button" class="am-btn am-btn-primary-plain am-text-xs am-border-main am-radius am-margin-bottom-main address-submit-save" data-url="{{:MyUrl('index/useraddress/saveinfo')}}" data-title="{{:MyLang('address_title')}}{{:MyLang('add_title')}}">{{:MyLang('buy.use_new_address_name')}}</button>
</div>
{{/if}}
{{/if}}
<!-- 自提点 - 自提地址 -->
{{if $base['site_model'] eq 2}}
<div class="control am-margin-bottom-main">
<h3>{{:MyLang('buy.confirm_extraction_address_name')}}</h3>
</div>
{{if empty($base['extraction_address'])}}
<p class="am-text-danger am-text-center am-margin-top-lg">{{:MyLang('buy.no_take_address_tips')}}</p>
{{else /}}
<!-- 选中地址 -->
{{if !empty($base['address'])}}
<div class="extraction-address-item am-cf">
<div class="am-vertical-align-middle extraction-address-content">
<div class="extraction-address-content-left">
{{if !empty($base['address']['alias'])}}
<span class="am-badge am-badge-secondary-plain am-radius am-margin-right-xs">{{$base.address.alias}}</span>
{{/if}}
<span class="am-margin-right-xs">{{$base.address.name}}</span>
<span class="am-margin-right-xs">{{$base.address.tel}}</span>
<p class="address-detail">
<span>{{$base.address.province_name}}</span>
<span>{{$base.address.city_name}}</span>
<span>{{$base.address.county_name}}</span>
<span>{{$base.address.address}}</span>
</p>
</div>
{{if !empty($base['address'])}}
<button type="button" class="am-btn am-btn-primary-plain am-radius am-border-main am-text-xs extraction-address-content-right" data-am-modal="{target: '#extraction-address-popup'}">{{:MyLang('buy.choice_take_address_name')}}</button>
{{/if}}
</div>
<div class="address-right address-position-top">
<span class="iconfont icon-angle-right"></span>
</div>
</div>
{{else /}}
<div class="am-text-center">
{{:ModuleInclude('public/not_data', [
'msg' => MyLang('buy.no_address_info_tips'),
'icon' => StaticAttachmentUrl('no-address.png'),
])}}
<button type="button" class="am-btn am-btn-primary-plain am-text-xs am-border-main am-radius am-margin-bottom-main" data-am-modal="{target: '#extraction-address-popup'}">{{:MyLang('buy.choice_take_address_name')}}</button>
</div>
{{/if}}
<!-- 自提地址选择弹层 -->
<div class="am-popup am-radius" id="extraction-address-popup">
<div class="am-popup-inner">
<div class="am-popup-hd">
<h4 class="am-popup-title">{{:MyLang('buy.extraction_list_choice_title')}}</h4>
<span class="am-close" data-am-modal-close>&times;</span>
</div>
<div class="am-popup-bd">
<ul class="am-list">
{{foreach $base.extraction_address as $key=>$address}}
<li class="extraction-address-item am-nbfc extraction-phone-address" data-value="{{$key}}">
{{if !empty($address['logo'])}}
<div class="am-margin-right-xs extraction-phone-address-img">
<img src="{{$address.logo}}" alt="{{$address.name}}" class="am-img-thumbnail am-radius address-logo" />
</div>
{{/if}}
<div class="extraction-phone-address-content">
<div class="extraction-phone-address-content-title">
<p class="am-color-black extraction-phone-address-title">
{{if !empty($address['alias'])}}
<span class="am-badge am-badge-secondary-plain am-radius am-margin-right-sm">{{$address.alias}}</span>
{{/if}}
<span class="am-margin-right-sm">{{$address.name}}</span>
<span class="am-margin-right-sm">{{$address.tel}}</span>
</p>
<p class="address-detail am-margin-bottom-sm am-margin-top-sm">
<span>{{$address.province_name}}</span>
<span>{{$address.city_name}}</span>
<span>{{$address.county_name}}</span>
<span>{{$address.address}}</span>
{{if isset($address['lng']) and isset($address['lat']) and $address['lng'] neq 0 and $address['lat'] neq 0}}
<a href="javascript:;" class="am-badge am-radius am-icon-map-marker am-margin-left-main submit-map-popup am-background-white am-text-xs" data-lng="{{$address.lng}}" data-lat="{{$address.lat}}"> {{:MyLang('view_map_title')}}</a>
{{/if}}
</p>
</div>
{{if (isset($params['address_id']) and $params['address_id'] eq $key) or (!empty($base['address']) and $base.address.id eq $key)}}
<button type="button" class="am-btn am-radius am-color-grey-dark am-border-main am-background-grey am-text-xs" disabled>{{:MyLang('already_choice_title')}}</button>
{{else /}}
<button type="button" class="am-btn am-radius am-color-main am-border-main am-background-white am-text-xs" data-value="{{$key}}">{{:MyLang('choice_title')}}</button>
{{/if}}
</div>
</li>
{{/foreach}}
</ul>
</div>
</div>
</div>
{{/if}}
{{/if}}
<!-- 同城、自提已选择地址 -->
{{if $base['site_model'] eq 1 or ($base['site_model'] eq 2 and !empty($base['address']))}}
{{if (!empty($buy_extraction_contact_info) and isset($buy_extraction_contact_info['is_write']) and $buy_extraction_contact_info['is_write'] eq 1) or (!empty($buy_datetime_info) and isset($buy_datetime_info['is_select']) and $buy_datetime_info['is_select'] eq 1)}}
<div class="address-extend-field-container extraction-contact am-flex am-gap-32 am-margin-top">
{{if !empty($buy_extraction_contact_info) and isset($buy_extraction_contact_info['is_write']) and $buy_extraction_contact_info['is_write'] eq 1}}
<div class="item am-flex am-flex-items-center am-gap-1">
<p>{{:MyLang('buy.extraction_contact_name')}}</p>
<input type="text" form-name="extraction_contact_name" class="am-form-field am-radius" placeholder="{{:MyLang('buy.extraction_contact_name')}}" value="{{if !empty($buy_extraction_contact_info['name'])}}{{$buy_extraction_contact_info.name}}{{/if}}" {{if isset($buy_extraction_contact_info['required']) and $buy_extraction_contact_info['required'] eq 1}}data-validation-message="{{$buy_extraction_contact_info.error_msg}}" required{{/if}} />
</div>
<div class="item am-flex am-flex-items-center am-gap-1">
<p>{{:MyLang('buy.extraction_contact_tel')}}</p>
<input type="text" form-name="extraction_contact_tel" class="am-form-field am-radius" placeholder="{{:MyLang('buy.extraction_contact_tel_placeholder')}}" value="{{if !empty($buy_extraction_contact_info['tel'])}}{{$buy_extraction_contact_info.tel}}{{/if}}" {{if isset($buy_extraction_contact_info['required']) and $buy_extraction_contact_info['required'] eq 1}}data-validation-message="{{$buy_extraction_contact_info.error_msg}}" required{{/if}} />
</div>
{{/if}}
{{if !empty($buy_datetime_info) and isset($buy_datetime_info['is_select']) and $buy_datetime_info['is_select'] eq 1}}
<div class="item am-flex am-flex-items-center am-gap-1">
<p>{{:MyLang('appoint_time_title')}}</p>
<input type="text" form-name="appoint_time" class="am-form-field am-radius Wdate" autocomplete="off" placeholder="{{:MyLang('appoint_time_title')}}" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm'})" {{if isset($buy_datetime_info['required']) and $buy_datetime_info['required'] eq 1}}data-validation-message="{{$buy_datetime_info.error_msg}}" required{{/if}} />
</div>
{{/if}}
</div>
{{/if}}
{{/if}}
</div>
{{/if}}
</div>
<!-- 订单确认页面地址底部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_address_bottom</span>
</div>
{{/if}}
{{if !empty($plugins_view_buy_address_bottom_data) and is_array($plugins_view_buy_address_bottom_data)}}
{{foreach $plugins_view_buy_address_bottom_data as $hook}}
{{if is_string($hook) or is_int($hook)}}
{{$hook|raw}}
{{/if}}
{{/foreach}}
{{/if}}
<!-- 订单确认页面地址底部钩子-结束 -->
<!-- 商品分组订单信息 -->
<div class="buy-items am-background-white am-radius am-padding-main am-margin-top-main">
<h3>{{:MyLang('buy.buy_item_order_title')}}</h3>
{{if !empty($buy_goods)}}
<div class="goods-group-list am-margin-top-sm">
<div class="am-panel am-radius am-border-0 am-margin-0">
<div class="am-panel-bd am-padding-0">
<!-- 商品明细 -->
<table class="am-table am-margin-0">
<thead class="am-text-left">
<tr>
<th>{{:MyLang('buy.goods_list_thead_base')}}</th>
<th class="am-hide-sm-only">{{:MyLang('buy.goods_list_thead_price')}}</th>
<th class="am-hide-sm-only">{{:MyLang('buy.goods_list_thead_number')}}</th>
<th class="am-hide-sm-only">{{:MyLang('buy.goods_list_thead_total')}}</th>
</tr>
</thead>
<tbody>
{{foreach $buy_goods as $k=>$v}}
{{if !empty($v['goods_items'])}}
<!-- 加一个判断是否是最后一个,如果是则隐藏 -->
{{if $k gt 0}}
<tr>
<td colspan="4" class="am-padding-0">
<!-- 商品分割线 -->
<hr data-am-widget="divider" class="am-divider am-border-0 am-border-bottom-grey am-margin-top-sm am-margin-bottom-sm" />
</td>
</tr>
{{/if}}
<tr>
<td colspan="4">
<div class="am-panel-hd am-padding-0 warehouse-info">
<!-- 分组导航内部开始钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_nav_inside_begin</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_nav_inside_begin';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$v]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组导航内部开始钩子-结束 -->
<!-- 仓库信息 -->
<span class="warehouse-item-container">
{{if !empty($v['icon'])}}
{{if IsUrl($v['icon'])}}
<img src="{{$v.icon}}" alt="{{$v.name}}" class="warehouse-icon" />
{{else /}}
<i class="{{$v.icon}}"></i>
{{/if}}
{{/if}}
{{if empty($v['url'])}}
<span class="warehouse-name">{{$v.name}}</span>
{{else /}}
<a href="{{$v.url}}" target="_blank" class="text-deco-none">
<span class="warehouse-name">{{$v.name}}</span>
</a>
{{/if}}
{{if !empty($v['alias'])}}<span class="am-badge am-badge-secondary-plain am-radius am-margin-left-sm">{{$v.alias}}</span>{{/if}}
</span>
<!-- 分组导航内部中间钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_nav_inside_middle</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_nav_inside_middle';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$v]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组导航内部中间钩子-结束 -->
<!-- 地理位置 -->
{{if isset($v['lng']) and isset($v['lat']) and $v['lng'] neq 0 and $v['lat'] neq 0}}
<div class="am-margin-left-sm">
<a href="javascript:;" class="am-radius am-icon-map-marker submit-map-popup am-background-white am-color-grey am-font-weight-400 am-text-xs am-margin-left-sm" data-lng="{{$v.lng}}" data-lat="{{$v.lat}}" data-title="{{:MyLang('map_title')}}"> {{:MyLang('view_map_title')}}</a>
</div>
{{/if}}
<!-- 分组导航内部结束钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_nav_inside_end</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_nav_inside_end';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$v]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组导航内部结束钩子-结束 -->
</div>
</td>
</tr>
{{foreach $v.goods_items as $goods}}
<!-- 分组商品顶部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_goods_inside_top</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_goods_inside_top';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$v]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组商品顶部钩子-结束 -->
<tr id="data-list-{{$goods.id}}" data-id="{{$goods.id}}" data-goods-id="{{$goods.goods_id}}">
<td class="base">
<!-- 分组商品详情基础顶部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_goods_base_top</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_goods_base_top';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'goods'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组商品详情基础顶部钩子-结束 -->
<div class="goods-detail">
<a href="{{$goods.goods_url}}" target="_blank">
<img class="am-border-grey-light am-radius" src="{{$goods.images}}">
</a>
<div class="goods-base">
<a href="{{$goods.goods_url}}" target="_blank" class="goods-title am-text-truncate-2">{{$goods.title}}</a>
{{if !empty($goods.spec)}}
<ul class="goods-attr">
{{foreach $goods.spec as $kspeck=>$spec}}
<li>
{{$spec.type}}:{{$spec.value}}
{{if count($goods.spec) neq $kspeck+1}}{{/if}}
</li>
{{/foreach}}
</ul>
{{/if}}
</div>
</div>
<div class="wap-base am-show-sm-only">
{{if isset($goods['show_field_original_price_status']) and $goods['show_field_original_price_status'] eq 1}}
{{if $goods['original_price'] gt 0}}
<span class="original-price">{{$goods.show_original_price_symbol}}{{$goods.original_price}}{{$goods.show_original_price_unit}}</span>
{{/if}}
{{/if}}
{{if isset($goods['show_field_price_status']) and $goods['show_field_price_status'] eq 1}}
<strong class="total-price-content">{{$goods.show_price_symbol}}{{$goods.price}}{{$goods.show_price_unit}}</strong>
{{/if}}
<!-- 分组商品详情基础底部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_goods_inside_base_price_bottom</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_goods_inside_base_price_bottom';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'goods'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组商品详情基础底部钩子-结束 -->
<span class="wap-number">x{{$goods.stock}}</span>
</div>
<!-- 分组商品详情基础底部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_goods_inside_base_bottom</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_goods_inside_base_bottom';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组商品详情基础底部钩子-结束 -->
</td>
<td class="am-hide-sm-only am-color-666">
{{if isset($goods['show_field_original_price_status']) and $goods['show_field_original_price_status'] eq 1}}
{{if $goods['original_price'] gt 0}}
<p class="original-price">{{$goods.show_original_price_symbol}}{{$goods.original_price}}{{$goods.show_original_price_unit}}</p>
{{/if}}
{{/if}}
{{if isset($goods['show_field_price_status']) and $goods['show_field_price_status'] eq 1}}
<p>{{$goods.show_price_symbol}}{{$goods.price}}{{$goods.show_price_unit}}</p>
{{/if}}
<!-- 分组内商品列表价格钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_goods_inside_price_bottom</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_goods_inside_price_bottom';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'goods'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组内商品列表价格钩子-结束 -->
</td>
<td class="number am-hide-sm-only am-color-666">
<span>{{$goods.stock}} {{$goods.inventory_unit}}</span>
<!-- 分组内商品列表数量钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_goods_inside_stock_bottom</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_goods_inside_stock_bottom';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'goods'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组内商品列表数量钩子-结束 -->
</td>
<td class="total-price am-hide-sm-only am-color-grey-dark">
{{if isset($goods['show_field_price_status']) and $goods['show_field_price_status'] eq 1}}
<strong>{{$goods.show_price_symbol}}</strong><strong class="total-price-content">{{$goods.total_price}}</strong>
{{/if}}
<!-- 分组内商品列表总价钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_goods_inside_total_price_bottom</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_goods_inside_total_price_bottom';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'goods'=>$goods]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组内商品列表总价钩子-结束 -->
</td>
</tr>
{{/foreach}}
<tr>
<td colspan="4">
<!-- 分组商品组扩展顶部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_goods_inside_extension_top</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_goods_inside_extension_top';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$v, 'params'=>$params]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组商品组扩展顶部钩子-结束 -->
<!-- 扩展展示数据 -->
{{if !empty($v['order_base']['extension_data'])}}
<ul class="buy-extension-data">
{{foreach $v['order_base']['extension_data'] as $ext}}
{{if !isset($ext['is_buy_show']) or $ext['is_buy_show'] eq 1}}
<li class="am-margin-top-xs">
<span class="extension-items-name">{{$ext.name}}:</span>
<span class="extension-items-tips">{{$ext.tips}}</span>
</li>
{{/if}}
{{/foreach}}
</ul>
{{/if}}
<!-- 分组商品组扩展底部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_goods_inside_extension_bottom</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_goods_inside_extension_bottom';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$v, 'params'=>$params]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组商品组扩展底部钩子-结束 -->
</td>
</tr>
<tr>
<td colspan="4" class="am-text-right am-text-bottom">
<!-- 含运费小计 -->
<div class="am-text-right">
<span class="goods-group-summary-total-price">
<span>{{:MyLang('buy.goods_item_total_name')}}</span>
<span class="price">
<span>{{$currency_symbol}}</span><strong class="total-price-content line-price am-text-sm">{{$v.order_base.actual_price}}</strong>
</span>
</span>
<!-- 分组商品汇总合计底部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_inside_base_total_bottom</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_inside_base_total_bottom';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$v, 'params'=>$params]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 分组商品汇总合计底部钩子-结束 -->
</div>
</td>
</tr>
{{else /}}
<tr>
<td colspan="4">
<div class="table-no">
<i class="am-icon-skyatlas am-icon-lg"></i>
<p>{{:MyLang('buy.not_goods_tips')}}</p>
</div>
</td>
</tr>
{{/if}}
{{/foreach}}
</tbody>
</table>
<!-- 商品组内底部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_goods_inside_bottom</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_buy_group_goods_inside_bottom';
$hook_data = MyEventTrigger($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>false, 'data'=>$buy_goods, 'params'=>$params]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
<!-- 商品组内底部钩子-结束 -->
</div>
</div>
</div>
{{else /}}
<div class="table-no">
<i class="am-icon-skyatlas am-icon-lg"></i>
<p>{{:MyLang('buy.not_goods_tips')}}</p>
</div>
{{/if}}
</div>
<!-- 订单确认页面分组商品底部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_group_goods_bottom</span>
</div>
{{/if}}
{{if !empty($plugins_view_buy_group_goods_bottom_data) and is_array($plugins_view_buy_group_goods_bottom_data)}}
{{foreach $plugins_view_buy_group_goods_bottom_data as $hook}}
{{if is_string($hook) or is_int($hook)}}
{{$hook|raw}}
{{/if}}
{{/foreach}}
{{/if}}
<!-- 订单确认页面分组商品底部钩子-结束 -->
<div class="am-background-white am-radius am-padding-bottom-main">
<div class="buy-pay-footer am-padding-main am-margin-top-main">
<!-- 支付方式 -->
{{if $base['actual_price'] gt 0 and $common_order_is_booking neq 1}}
<div id="buy-items-payment" class="buy-items">
<h3>{{:MyLang('buy.buy_item_payment_title')}}</h3>
<div class="business-list business-list-nbfc payment am-margin-top-sm" data-field="payment_id">
{{if !empty($payment_list)}}
<ul class="am-avg-sm-2 am-avg-md-3 am-avg-lg-4 payment-list" data-is-required="1">
{{foreach $payment_list as $payment}}
<li data-value="{{$payment.id}}" class="am-padding-sm am-padding-left-main am-padding-right-main am-text-center {{if isset($params['payment_id']) and $params['payment_id'] eq $payment['id']}}selected{{/if}}">
<div class="business-item am-padding-sm am-radius">
{{if !empty($payment['tips'])}}
<p class="tips">{{$payment.tips}}</p>
{{/if}}
{{if !empty($payment.logo)}}
<img class="am-margin-right-xs am-radius" src="{{$payment.logo}}" class="am-radius" />
{{/if}}
<span>{{$payment.name}}</span>
<i class="iconfont icon-subscript"></i>
</div>
</li>
{{/foreach}}
</ul>
{{/if}}
</div>
{{if empty($payment_list)}}
<div class="table-no">
<i class="am-icon-skyatlas am-icon-lg"></i>
<p>{{:MyLang('buy.not_payment_tips')}}</p>
</div>
{{/if}}
</div>
{{/if}}
<!-- 订单确认页面支付方式底部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_payment_bottom</span>
</div>
{{/if}}
{{if !empty($plugins_view_buy_payment_bottom_data) and is_array($plugins_view_buy_payment_bottom_data)}}
{{foreach $plugins_view_buy_payment_bottom_data as $hook}}
{{if is_string($hook) or is_int($hook)}}
{{$hook|raw}}
{{/if}}
{{/foreach}}
{{/if}}
<!-- 订单确认页面支付方式底部钩子-结束 -->
</div>
<!-- 留言 -->
<div class="buy-message am-padding-horizontal-main am-margin-top-sm">
<div class="order-extra am-radius am-padding-bottom-xs">
<h3>{{:MyLang('buy.user_message_title')}}</h3>
<div class="am-margin-top-sm">
<textarea type="text" class="memo-input" placeholder="{{:MyLang('buy.user_message_placeholder')}}" maxlength="230"></textarea>
</div>
</div>
<!-- 订单确认页面用户留言底部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_user_note_bottom</span>
</div>
{{/if}}
{{if !empty($plugins_view_buy_user_note_bottom_data) and is_array($plugins_view_buy_user_note_bottom_data)}}
{{foreach $plugins_view_buy_user_note_bottom_data as $hook}}
{{if is_string($hook) or is_int($hook)}}
{{$hook|raw}}
{{/if}}
{{/foreach}}
{{/if}}
<!-- 订单确认页面用户留言底部钩子-结束 -->
</div>
<div class="buy-nav-footer am-padding-horizontal-main">
<!-- 订单确认页面订单确认信息顶部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_base_confirm_top</span>
</div>
{{/if}}
{{if !empty($plugins_view_buy_base_confirm_top_data) and is_array($plugins_view_buy_base_confirm_top_data)}}
{{foreach $plugins_view_buy_base_confirm_top_data as $hook}}
{{if is_string($hook) or is_int($hook)}}
{{$hook|raw}}
{{/if}}
{{/foreach}}
{{/if}}
<!-- 订单确认页面订单确认信息顶部钩子-结束 -->
<!-- 基础信息 -->
<div class="buy-order-nav am-padding-top-sm am-background-white box-shadow-top-hover">
<div class="box am-radius am-padding-main am-color-grey-dark am-margin-bottom-main am-border-grey am-radius">
<div class="base-real-pay">
<span class="buy-line-title">{{:MyLang('buy.summary_title')}}</span>
<span class="price">
<strong>{{$currency_symbol}}</strong><strong class="nav-total-price">{{$base.actual_price}}</strong>
</span>
</div>
<!-- 展示、虚拟 不显示地址 -->
{{if !in_array($common_site_type, [3,4]) and !empty($base['address'])}}
<div class="pay-address">
<div class="buy-footer-address">
<span class="buy-line-title">{{:MyLang('buy.summary_contact_name')}}</span>
<span class="buy-user">
{{if empty($base['address'])}}...{{else /}}{{$base.address.name}}{{/if}}
</span>
<span class="buy-phone">
{{if empty($base['address'])}}...{{else /}}{{$base.address.tel}}{{/if}}
</span>
</div>
<div class="buy-footer-address">
<span class="buy-line-title buy-line-title-type">{{:MyLang('buy.summary_address')}}</span>
<span class="buy-address-detail">
{{if empty($base['address'])}}
...
{{else /}}
{{$base.address.province_name}} {{$base.address.city_name}} {{$base.address.county_name}} {{$base.address.address}}
{{/if}}
</span>
</div>
</div>
{{/if}}
</div>
<form class="am-form form-validation nav-buy" action="{{:MyUrl('index/buy/add')}}" method="post" request-type="ajax-fun" request-value="BuySubmitBack" data-site-type="{{$common_site_type}}" data-base-actual-price="{{$base.actual_price}}" data-is-booking="{{$common_order_is_booking}}">
<input type="hidden" name="buy_type" value="{{if isset($buy_data['buy_type'])}}{{$buy_data.buy_type}}{{else /}}goods{{/if}}" />
<input type="hidden" name="goods_data" value="{{if isset($buy_data['goods_data'])}}{{$buy_data.goods_data}}{{/if}}" />
<input type="hidden" name="ids" value="{{if isset($params['ids'])}}{{$params.ids}}{{/if}}" />
<input type="hidden" name="address_id" value="{{if isset($base['address']) and isset($base['address']['id'])}}{{$base.address.id}}{{else /}}{{if isset($params['address_id'])}}{{$params.address_id}}{{else /}}-1{{/if}}{{/if}}" />
<input type="hidden" name="payment_id" value="{{if isset($params['payment_id'])}}{{$params.payment_id}}{{else /}}0{{/if}}" />
<input type="hidden" name="user_note" value="" />
<input type="hidden" name="site_model" value="{{if isset($base['site_model'])}}{{$base.site_model}}{{else /}}0{{/if}}" />
<input type="hidden" name="appoint_time" class="am-form-field am-radius" value="" />
<input type="hidden" name="extraction_contact_name" class="am-form-field am-radius" value="{{if !empty($user['nickname'])}}{{$user.nickname}}{{/if}}" />
<input type="hidden" name="extraction_contact_tel" class="am-form-field am-radius" value="{{if !empty($user['mobile'])}}{{$user.mobile}}{{/if}}" />
<!-- 订单确认页面提交订单表单内部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_form_inside</span>
</div>
{{/if}}
{{if !empty($plugins_view_buy_form_inside_data) and is_array($plugins_view_buy_form_inside_data)}}
{{foreach $plugins_view_buy_form_inside_data as $hook}}
{{if is_string($hook) or is_int($hook)}}
{{$hook|raw}}
{{/if}}
{{/foreach}}
{{/if}}
<!-- 订单确认页面提交订单表单内部钩子-结束 -->
<div class="go-btn-wrap">
<button type="submit" class="am-btn am-btn-primary am-btn-lg am-radius btn-loading-example buy-submit" data-am-loading="{spinner: 'circle-o-notch', loadingText:'{{:MyLang('buy.summary_submit_order_name')}}'}">
<i class="iconfont icon-check"></i>
<span>{{:MyLang('buy.summary_submit_order_name')}}</span>
</button>
</div>
</form>
</div>
<!-- 订单确认页面内部底部钩子-s开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_inside_bottom</span>
</div>
{{/if}}
{{if !empty($plugins_view_buy_inside_bottom_data) and is_array($plugins_view_buy_inside_bottom_data)}}
{{foreach $plugins_view_buy_inside_bottom_data as $hook}}
{{if is_string($hook) or is_int($hook)}}
{{$hook|raw}}
{{/if}}
{{/foreach}}
{{/if}}
<!-- 订单确认页面内部底部钩子-结束 -->
</div>
</div>
</div>
</div>
<!-- 订单确认页面底部钩子-开始 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_buy_bottom</span>
</div>
{{/if}}
{{if !empty($plugins_view_buy_bottom_data) and is_array($plugins_view_buy_bottom_data)}}
{{foreach $plugins_view_buy_bottom_data as $hook}}
{{if is_string($hook) or is_int($hook)}}
{{$hook|raw}}
{{/if}}
{{/foreach}}
{{/if}}
<!-- 订单确认页面底部钩子-结束 -->
<!-- 订单提交后提示弹层 -->
<div class="am-modal am-modal-no-btn" tabindex="-1" id="buy-order-submit-modal">
<div class="am-modal-dialog">
<div class="am-modal-bd">
<div class="content am-vertical-align-middle am-padding-vertical-sm am-text-xs">
<p class="am-text-success">{{:MyLang('buy.payment_layer_title')}}</p>
<p class="am-text-warning am-margin-top-lg">{{:MyLang('buy.payment_layer_content')}}</p>
<p class="am-text-warning am-margin-xs">
<span>{{:MyLang('enter_title')}}</span>
<a href="{{:MyUrl('index/order/index')}}" class="am-text-secondary">{{:MyLang('buy.payment_layer_order_button_text')}}</a>
<span>{{:MyLang('buy.payment_layer_tips')}}</span>
</p>
</div>
</div>
</div>
</div>
<!-- footer start -->
{{:ModuleInclude('public/footer')}}
<script type="text/javascript">
// 提交订单回调
function BuySubmitBack(e)
{
if(e.code == 0)
{
$('#buy-order-submit-modal').modal({
closeViaDimmer: false,
width: 280,
height: 140
});
$.AMUI.progress.done();
Prompt(e.msg, 'success');
setTimeout(function()
{
window.location.href = e.data.jump_url;
}, 1500);
} else {
$('form.form-validation').find('button[type="submit"]').button('reset');
$.AMUI.progress.done();
Prompt(e.msg);
}
}
</script>