细节优化

feat/task1-c-wallet
gongfuxiang 2022-09-01 15:14:08 +08:00
parent 03c3b054e3
commit 87396f68ac
23 changed files with 59 additions and 178 deletions

View File

@ -34,8 +34,14 @@ class Payment extends Base
*/
public function Index()
{
// 插件列表
$payment = PaymentService::PluginsPaymentList();
// 模板数据
$assign = [
// 支付插件列表
'data_list' => empty($payment['data']) ? [] : $payment['data'],
// 不能删除的支付方式
'cannot_deleted_list' => PaymentService::$cannot_deleted_list,
@ -45,12 +51,9 @@ class Payment extends Base
// 应用商店
'store_payment_url' => StoreService::StorePaymentUrl(),
];
// 插件列表
$ret = PaymentService::PluginsPaymentList();
$assign['data_list'] = $ret['data'];
// 插件更新信息
$upgrade = PaymentService::PaymentUpgradeInfo($ret['data']);
$upgrade = PaymentService::PaymentUpgradeInfo($payment['data']);
$assign['upgrade_info'] = $upgrade['data'];
// 数据赋值

View File

@ -51,7 +51,7 @@
<div class="am-alert am-alert-warning" data-am-alert>
<button type="button" class="am-close">&times;</button>
<p>1. PC端建议尺寸1920x500px</p>
<p>2. 手机端建议尺寸1200x380px</p>
<p>2. 手机端建议尺寸1200x360px</p>
</div>
</div>
<div class="am-form-group">

View File

@ -64,7 +64,7 @@
<button type="button" class="am-close am-fr mobile-address-close-submit">&times;</button>
</h3>
{{if !empty($user_address_list)}}
<button class="am-btn am-btn-primary am-btn-xs address-submit-save" type="button" data-url="{{:MyUrl('index/useraddress/saveinfo')}}" data-popup-title="新增地址">使用新地址</button>
<button class="am-btn am-btn-primary am-btn-xs address-submit-save" type="button" data-url="{{:MyUrl('index/useraddress/saveinfo')}}">使用新地址</button>
{{/if}}
</div>
{{if !empty($user_address_list)}}
@ -99,7 +99,7 @@
<a href="javascript:;" class="am-icon-check-circle-o address-default-submit" data-url="{{:MyUrl('index/useraddress/setdefault')}}" data-id="{{$address.id}}" data-view="reload"> 设为默认</a>
<span class="cut">|</span>
{{/if}}
<a href="javascript:;" class="am-icon-edit address-submit-save" data-url="{{:MyUrl('index/useraddress/saveinfo', ['id'=>$address['id']])}}" data-popup-title="编辑地址"> 编辑</a>
<a href="javascript:;" class="am-icon-edit address-submit-save" data-url="{{:MyUrl('index/useraddress/saveinfo', ['id'=>$address['id']])}}"> 编辑</a>
<span class="cut">|</span>
<a href="javascript:;" class="am-icon-trash-o address-submit-delete" data-url="{{:MyUrl('index/useraddress/delete')}}" data-id="{{$address.id}}"> 删除</a>
</div>
@ -110,7 +110,7 @@
<div class="table-no">
<i class="am-icon-warning"></i>
<span>没有地址</span>
<button class="am-btn am-btn-secondary am-btn-xs am-margin-left-sm address-submit-save" type="button" data-url="{{:MyUrl('index/useraddress/saveinfo')}}" data-popup-title="新增地址">使用新地址</button>
<button class="am-btn am-btn-secondary am-btn-xs am-margin-left-sm address-submit-save" type="button" data-url="{{:MyUrl('index/useraddress/saveinfo')}}">使用新地址</button>
</div>
{{/if}}
</div>

View File

@ -114,7 +114,10 @@
{{if $item.original_price gt 0}}
<span class="original-price am-margin-right-xs">{{$module_data.currency_data.currency_symbol}}{{$item.original_price}}</span>
{{/if}}
<span>{{$module_data.currency_data.currency_symbol}}{{$item.price}}x{{$item.buy_number}}</span>
<span>
<span class="line-price">{{$module_data.currency_data.currency_symbol}}{{$item.price}}</span>
<span>x{{$item.buy_number}}</span>
</span>
{{if $item['returned_quantity'] gt 0 or $item['refund_price'] gt 0}}
<span class="am-text-danger am-margin-left-lg">已退 {{$item.returned_quantity}} / {{$module_data.currency_data.currency_symbol}}{{$item.refund_price}}</span>
{{/if}}

View File

@ -70,7 +70,10 @@
{{if $module_data.order_data.items.original_price gt 0}}
<span class="original-price am-margin-right-xs">{{$module_data.order_data.currency_data.currency_symbol}}{{$module_data.order_data.items.original_price}}</span>
{{/if}}
<span>{{$module_data.order_data.currency_data.currency_symbol}}{{$module_data.order_data.items.price}} x {{$module_data.order_data.items.buy_number}}</span>
<span>
<span class="line-price">{{$module_data.order_data.currency_data.currency_symbol}}{{$module_data.order_data.items.price}}</span>
<span>x{{$module_data.order_data.items.buy_number}}</span>
</span>
</div>
<!-- 用户订单售后列表基础底部-开始 -->

View File

@ -23,7 +23,7 @@
<div class="user-content">
<div class="user-content-body">
<div class="control">
<button class="am-btn am-btn-primary am-btn-xs am-icon-plus address-submit-save" type="button" data-url="{{:MyUrl('index/useraddress/saveinfo')}}" data-popup-title="新增地址"> 新增新地址</button>
<button class="am-btn am-btn-primary am-btn-xs am-icon-plus address-submit-save" type="button" data-url="{{:MyUrl('index/useraddress/saveinfo')}}"> 新增新地址</button>
</div>
{{if !empty($user_address_list)}}
<ul class="address-list">
@ -54,7 +54,7 @@
<a href="javascript:;" class="am-icon-check-circle-o address-default-submit" data-url="{{:MyUrl('index/useraddress/setdefault')}}" data-id="{{$address.id}}" data-view="reload"> 设为默认</a>
<span class="cut">|</span>
{{/if}}
<a href="javascript:;" class="am-icon-edit address-submit-save" data-url="{{:MyUrl('index/useraddress/saveinfo', ['id'=>$address['id']])}}" data-popup-title="编辑地址"> 编辑</a>
<a href="javascript:;" class="am-icon-edit address-submit-save" data-url="{{:MyUrl('index/useraddress/saveinfo', ['id'=>$address['id']])}}"> 编辑</a>
<span class="cut">|</span>
<a href="javascript:;" class="am-icon-trash-o address-submit-delete" data-url="{{:MyUrl('index/useraddress/delete')}}" data-id="{{$address.id}}"> 删除</a>
</div>

View File

@ -1,7 +1,7 @@
{{include file="public/header" /}}
<!-- conntent start -->
<div class="am-g am-padding-sm">
<div class="am-padding-sm">
<!-- form start -->
<form class="am-form form-validation" method="post" action="{{:MyUrl('index/useraddress/save')}}" request-type="ajax-reload" request-value="parent">
<div class="am-form-group">

View File

@ -542,7 +542,7 @@ class ArticleService
$data['id'] = $params['id'];
}
}
return DataReturn(MyLang('common.operate_success'), 0, json_encode($data));
return DataReturn(MyLang('common.operate_success'), 0, $data);
}
/**

View File

@ -194,7 +194,7 @@ class ExpressService
}
$res = self::DataHandle([$data]);
return DataReturn(MyLang('common.operate_success'), 0, json_encode($res[0]));
return DataReturn(MyLang('common.operate_success'), 0, $res[0]);
}
/**

View File

@ -2647,7 +2647,7 @@ class GoodsService
MyCache(SystemService::CacheKey('shopxo.cache_goods_category_key'), null);
$res = self::GoodsCategoryDataHandle([$data]);
return DataReturn(MyLang('common.operate_success'), 0, json_encode($res[0]));
return DataReturn(MyLang('common.operate_success'), 0, $res[0]);
}
/**

View File

@ -175,7 +175,7 @@ class RegionService
$data['id'] = $params['id'];
}
}
return DataReturn(MyLang('common.operate_success'), 0, json_encode($data));
return DataReturn(MyLang('common.operate_success'), 0, $data);
}
/**

View File

@ -103,7 +103,7 @@ class ScreeningPriceService
$data['id'] = $params['id'];
}
}
return DataReturn(MyLang('common.operate_success'), 0, json_encode($data));
return DataReturn(MyLang('common.operate_success'), 0, $data);
}
/**

View File

@ -2663,7 +2663,7 @@ class UserService
}
if(!empty($user_ids))
{
$data = Db::name('User')->where(['id'=>$user_ids])->column('username,nickname,mobile,email,avatar,province,city', 'id');
$data = Db::name('User')->where(['id'=>$user_ids])->column('id,username,nickname,mobile,email,avatar,province,city', 'id');
}
// 数据处理

View File

@ -761,11 +761,11 @@ function TreeItemHtmlHandle(item, pid, level, is_delete_all)
// 新增
if(level < rank-1)
{
html += '<button class="am-btn am-btn-success am-btn-xs am-radius am-icon-plus am-margin-right-sm tree-submit-add-node" data-am-modal="{target: \''+popup_tag+'\'}" data-id="'+item.id+'" '+(item.is_enable == 0 ? 'style="display:none;"' : '')+'> '+(window['lang_operate_add_name'] || '新增')+'</button>';
html += '<button class="am-btn am-btn-success am-btn-xs am-radius am-icon-plus am-margin-right-sm tree-submit-add-node" data-am-modal="{target: \''+popup_tag+'\'}" data-id="'+item.id+'"> '+(window['lang_operate_add_name'] || '新增')+'</button>';
}
// 编辑
html += '<button class="am-btn am-btn-secondary am-btn-xs am-radius am-icon-edit submit-edit" data-am-modal="{target: \''+popup_tag+'\'}" data-json="'+encodeURIComponent(item.json)+'" data-is-exist-son="'+item.is_son+'"> '+(window['lang_operate_edit_name'] || '编辑')+'</button>';
html += '<button class="am-btn am-btn-secondary am-btn-xs am-radius am-icon-edit submit-edit" data-am-modal="{target: \''+popup_tag+'\'}" data-json="'+encodeURIComponent(item.json)+'" data-is-exist-son="'+(item.is_son || 'no')+'"> '+(window['lang_operate_edit_name'] || '编辑')+'</button>';
if(item.is_son != 'ok' || is_delete_all == 1)
{
// 是否需要删除子数据
@ -802,23 +802,16 @@ function TreeFormSaveBackHandle(e)
// 数据处理
if((e.data || null) != null)
{
var json = JSON.parse(decodeURIComponent(e.data));
if(typeof(e.data) == 'object')
{
var json = e.data;
var string = JSON.stringify(e.data);
} else {
var json = JSON.parse(decodeURIComponent(e.data));
var string = e.data;
}
if((json.id || null) != null)
{
// 是否存在pid节点数据
var pid_arr = [];
if($popup.find('select[name="pid"]').length > 0)
{
$popup.find('select[name="pid"] option').each(function()
{
var value = $(this).val();
if(value != '')
{
pid_arr.push(value);
}
});
}
// 存在数据编辑、则添加
var $obj = $('#data-list-'+json.id);
if($obj.length > 0)
@ -841,44 +834,7 @@ function TreeFormSaveBackHandle(e)
}
// 属性json数据更新
$obj.find('.submit-edit').attr('data-json', encodeURIComponent(e.data));
// pid改变后不可再次操作
if(pid_arr.length > 0)
{
if(json_old.pid != json.pid)
{
// 移出操作项(由于修改父级后,数据可能已经不在当前节点下、禁止再次编辑)
$obj.find('.submit').remove();
// 更新记录样式
$obj.addClass('tree-change-item');
// 存在父节点数据则移出当前的元素option
// 防止交叉关联导致造成垃圾数据残留在数据库中
// 移出当前存在父节点中的数据
$popup.find('select[name="pid"] option[value="'+json['id']+'"]').remove();
// 多选插件事件更新
if($('select.chosen-select').length > 0)
{
$('select.chosen-select').trigger('chosen:updated');
}
} else {
// 是否未启用
if(json.is_enable != 1)
{
$obj.find('.tree-submit-add-node').hide();
} else {
$obj.find('.tree-submit-add-node').show();
}
// 如果当前节点id不存在pid节点中则隐藏新增操作按钮
if(pid_arr.indexOf(json.id) == -1)
{
$obj.find('.tree-submit-add-node').hide();
}
}
}
$obj.find('.submit-edit').attr('data-json', encodeURIComponent(string));
} else {
// 存在pid直接拉取下级数据,则追加新数据
var is_delete_all = parseInt($('#tree').attr('data-is-delete-all') || 0);
@ -894,10 +850,10 @@ function TreeFormSaveBackHandle(e)
var level = $('#data-list-'+json.pid).length > 0 ? parseInt($('#data-list-'+json.pid).attr('data-level') || 0)+1 : 0;
Tree(json.pid, $('#tree').data('node-url'), level, is_delete_all);
} else {
json['json'] = e.data;
json['json'] = string;
// 拼接html数据
var html = TreeItemHtmlHandle(json, 0, is_delete_all);
var html = TreeItemHtmlHandle(json, 0, 0, is_delete_all);
// 首次则增加table标签容器
if($('#tree table tbody').length > 0)
@ -907,14 +863,6 @@ function TreeFormSaveBackHandle(e)
} else {
$('#tree').html('<table class="am-table am-table-striped am-table-hover"><tbody>'+html+'</tbody></table>');
}
// 刚刚创建的数据不支持新增操作
// 因为级数据还不在父级选择节点数据中
// 需要刷新页面重新加载数据
// 如果当前节点id不存在pid节点中则隐藏新增操作按钮
if(pid_arr.indexOf(json.id) == -1)
{
$('#data-list-'+json.id).find('.tree-submit-add-node').hide();
}
}
}
}

View File

@ -165,11 +165,9 @@ ul.address-list, .business-item ul { overflow: hidden; }
.goods-base { float: left; top: 0; margin-left: 85px; }
.goods-attr { margin-top: 5px; }
.goods-attr li { color: #888; line-height: 16px; }
.original-price { color: #999; text-decoration: line-through; }
.am-table { margin-bottom: 10px; }
.am-table > tbody > tr > td { border-top: 1px solid #eee; }
.am-table > thead > tr > th { border-bottom: 1px solid #f5f5f5; }
@media only screen and (min-width:640px) {
.cart-content table tr .base { width: 40%; }
.cart-content table tr .price { width: 20%; }

View File

@ -5,10 +5,7 @@
.goods-base { float: left; top: 0; margin-left: 85px; }
.goods-attr { margin-top: 5px; }
.goods-attr li { color: #888; line-height: 16px; }
.original-price, .line-price { font-family: Verdana,Tahoma,arial; }
.original-price { color: #9c9c9c; text-decoration: line-through; }
.line-price { color: #3c3c3c; }
.line-price, strong.total-price-content, .nav-total-price { font-weight: 700; }
strong.total-price-content, .nav-total-price { font-weight: 700; }
.stock-tag { width: 100px; }
.stock-tag .am-form-field { padding: 3px; height: 25px; text-align: center; font-size: 14px !important; width: 80px; }
.stock-tag .am-input-group-label { line-height: 23px; height: 25px; font-size: 14px !important; padding: 0 10px; }

View File

@ -237,8 +237,23 @@ input.add,input.min{width:15px}
font-weight: bold;
}
/* 价格颜色 */
.price, .price strong {color: #c00; }
/* 价格 */
.original-price,
.line-price {
font-family: Verdana,Tahoma,arial;
}
.original-price {
color: #888;
text-decoration:
line-through; }
.line-price {
color: #3c3c3c;
font-weight: 700;
}
.price,
.price strong {
color: #c00;
}
/* 公共错误提示页面 */
.tips-error, .tips-success { margin: 10% 0; background: #fff; }
@ -617,7 +632,6 @@ ul.am-dropdown-content > .am-active > a:focus,
*
*/
.am-popup-bd {
padding: 5px;
background: none;
}

View File

@ -49,15 +49,9 @@
.goods-base {float: left; top: 0; margin-left: 85px; }
.goods-attr { margin-top: 5px; }
.goods-attr li { color: #888; line-height: 16px; }
.original-price, .line-price { font-family: Verdana,Tahoma,arial; }
.original-price { color: #9c9c9c; text-decoration: line-through; }
.line-price { color: #3c3c3c; }
.line-price, strong.total-price-content { font-weight: 700; }
strong.total-price-content { color: #d2364c; font-size: 16px; }
.am-table { margin-bottom: 10px; }
.am-table > tbody > tr > td { border-top: 1px solid #F5F5F5; }
.am-table > thead > tr > th { border-bottom: 1px solid #f7f7f7; }
@media only screen and (min-width:640px) {
.cart-content table tr .base { width: 40%; }
.cart-content table tr .price { width: 20%; }

View File

@ -11,7 +11,6 @@ ul.progress li i.step {
display: block;
background-color: #e1e1e1;
}
ul.progress li .digital {
background-color: #f7f7f7;
border-radius: 50px;
@ -23,16 +22,13 @@ ul.progress li .digital {
font-weight: 700;
border: 6px solid #e1e1e1;
}
ul.progress li .base .title {
font-weight: 500;
color: #666;
}
ul.progress li .base .date {
color: #999;
}
ul.progress li.steps-success .digital {
border: 6px solid #4CAF50;
color: #fff;
@ -56,7 +52,6 @@ ul.progress li.current .title {
.base-right .icon-success {
color: #28801c;
}
@media only screen and (min-width: 641px) {
ul.progress {
overflow: hidden;
@ -83,7 +78,6 @@ ul.progress li.current .title {
margin-top: 50px;
}
}
@media only screen and (max-width: 641px) {
ul.progress li i.step {
height: 60px;
@ -101,7 +95,6 @@ ul.progress li.current .title {
}
}
/**
*
*/
@ -113,7 +106,6 @@ ul.progress li.current .title {
color: #666;
}
/**
*
*/
@ -169,7 +161,6 @@ ul.progress li.current .title {
}
}
/**
*
*/
@ -179,7 +170,6 @@ ul.progress li.current .title {
-webkit-box-shadow: none;
}
/**
*
*/
@ -199,14 +189,6 @@ ul.progress li.current .title {
.business-item ul li:nth-child(2n) { margin-right: 0; }
}
/**
*
*/
.original-price { color: #9c9c9c; text-decoration: line-through; }
.line-price { color: #3c3c3c; }
/**
*
*/

View File

@ -8,9 +8,6 @@
.user-content-body .goods-base {float: left; top: 0; margin-left: 85px; }
.user-content-body .goods-attr { margin-top: 5px; }
.user-content-body .goods-attr li { color: #888; line-height: 16px; }
.user-content-body .original-price, .user-content-body .line-price { font-family: Verdana,Tahoma,arial; }
.user-content-body .original-price { color: #9c9c9c; text-decoration: line-through; }
.user-content-body .line-price { color: #3c3c3c; font-weight: 700; }
/**
*

View File

@ -326,10 +326,6 @@
.search-list .items .sales-count {
color: #888;
}
.items .original-price {
text-decoration: line-through;
color: #666;
}
@media only screen and (min-width: 640px) {
.search-container ul li:hover .items {
-webkit-box-shadow: 0px 12px 12px -10px rgb(0 0 0 / 40%);

View File

@ -1,27 +0,0 @@
/**
*
*/
.goods-detail img { width: 80px; height: 80px; }
.goods-detail { position: relative; }
.goods-title { display: block; max-height: 36px; overflow: hidden; text-overflow: ellipsis; }
.goods-title:hover { text-decoration: underline; }
.goods-base { position: absolute; top: 0; left: 85px; }
.original-price, .line-price { font-family: Verdana,Tahoma,arial; }
.original-price { color: #9c9c9c; text-decoration: line-through; }
.line-price { color: #3c3c3c; font-weight: 700; }
.am-table { margin-bottom: 10px; }
.am-table > tbody > tr > td { border-top: 1px solid #F5F5F5; }
.am-table > thead > tr > th { border-bottom: 1px solid #f7f7f7; }
@media only screen and (min-width:640px) {
.data-list tr .base { width: 50%; }
.data-list tr .price { width: 20%; }
.data-list tr .operate { width: 10%; }
}
@media only screen and (max-width:640px) {
.data-list tr .base { width: 65%; }
.data-list tr .price { width: 15%; }
.data-list tr .operate { width: 20%; }
.goods-detail img { width: 50px; height: 50px; }
.goods-base { left: 55px; }
}

View File

@ -1,27 +0,0 @@
/**
*
*/
.goods-detail img { width: 80px; height: 80px; }
.goods-detail { position: relative; }
.goods-title { display: block; max-height: 36px; overflow: hidden; text-overflow: ellipsis; }
.goods-title:hover { text-decoration: underline; }
.goods-base { position: absolute; top: 0; left: 85px; }
.original-price, .line-price { font-family: Verdana,Tahoma,arial; }
.original-price { color: #9c9c9c; text-decoration: line-through; }
.line-price { color: #3c3c3c; font-weight: 700; }
.am-table { margin-bottom: 10px; }
.am-table > tbody > tr > td { border-top: 1px solid #F5F5F5; }
.am-table > thead > tr > th { border-bottom: 1px solid #f7f7f7; }
@media only screen and (min-width:640px) {
.data-list tr .base { width: 50%; }
.data-list tr .price { width: 20%; }
.data-list tr .operate { width: 10%; }
}
@media only screen and (max-width:640px) {
.data-list tr .base { width: 65%; }
.data-list tr .price { width: 15%; }
.data-list tr .operate { width: 20%; }
.goods-detail img { width: 50px; height: 50px; }
.goods-base { left: 55px; }
}