细节优化

feat/task1-c-wallet
gongfuxiang 2022-10-20 17:26:07 +08:00
parent 3719797079
commit c53e40db03
26 changed files with 296 additions and 209 deletions

View File

@ -305,6 +305,9 @@ class Common extends BaseController
// 默认不加载echarts图表组件
$assign['is_load_echarts'] = 0;
// 默认不加载动画数数
$assign['is_load_animation_count'] = 0;
// 布局样式+管理
$assign['is_load_layout'] = 0;
$assign['is_load_layout_admin'] = 0;

View File

@ -140,6 +140,9 @@ class Index extends Common
// 加载图表组件
$assign['is_load_echarts'] = 1;
// 加载动画数数
$assign['is_load_animation_count'] = 1;
}
MyViewAssign($assign);

View File

@ -45,7 +45,7 @@
<div class="am-margin-top-xs">
<p>姓名:{{$data.address_data.idcard_name}}</p>
<p>号码:{{$data.address_data.idcard_number}}</p>
{{if !empty($data['address_data']['idcard_front']) or !empty($module_data['address_data']['idcard_back'])}}
{{if !empty($data['address_data']['idcard_front']) or !empty($data['address_data']['idcard_back'])}}
<p class="am-nbfc"><span class="am-fl">照片:</span>{{if !empty($data['address_data']['idcard_front'])}}<a href="{{$data.address_data.idcard_front}}" target="_blank" class="am-fl"><img width="100" height="68" src="{{$data.address_data.idcard_front}}" alt="身份证人像面" class="am-img-thumbnail am-radius am-block" /></a>{{/if}} {{if !empty($data['address_data']['idcard_back'])}}<a href="{{$data.address_data.idcard_back}}" target="_blank" class="am-fl am-margin-left-xs"><img width="100" height="68" src="{{$data.address_data.idcard_back}}" alt="身份证人像面" class="am-img-thumbnail am-radius am-block" /></a>{{/if}}</p>
{{/if}}
</div>

View File

@ -4,13 +4,13 @@
<!-- 扩展 -->
{{block name="form_extend"}}
<!-- 取货弹窗 -->
<div class="am-modal am-modal-no-btn" tabindex="-1" id="order-take-modal">
<div class="am-modal am-radius am-nbfc" tabindex="-1" id="order-take-modal">
<div class="am-modal-dialog">
<div class="am-modal-hd">
<a href="javascript: void(0)" class="am-close" data-am-modal-close>&times;</a>
</div>
<div class="am-modal-bd">
<form class="am-form form-validation-take take-form" method="post" action="{{:MyUrl('admin/order/delivery')}}" request-type="ajax-reload">
<form class="am-form form-validation-take" method="post" action="{{:MyUrl('admin/order/delivery')}}" request-type="ajax-reload">
<div class="am-form-group am-form-group-refreshing am-margin-bottom-0">
<label>取货码</label>
<input type="text" autocomplete="off" name="extraction_code" placeholder="取货码" minlength="4" maxlength="4" data-validation-message="请填写4位数取货码" class="am-radius" required />
@ -26,14 +26,14 @@
</div>
<!-- 发货弹窗 -->
<div class="am-popup" id="order-delivery-popup">
<div class="am-popup am-radius" id="order-delivery-popup">
<div class="am-popup-inner">
<div class="am-popup-hd">
<h4 class="am-popup-title">发货操作</h4>
<span data-am-modal-close class="am-close">&times;</span>
</div>
<div class="am-popup-bd">
<form class="am-form form-validation-delivery delivery-form" method="post" action="{{:MyUrl('admin/order/delivery')}}" request-type="ajax-reload">
<form class="am-form form-validation-delivery am-form-popup-fixed" method="post" action="{{:MyUrl('admin/order/delivery')}}" request-type="ajax-reload">
<div class="business-item">
{{if !empty($express_list)}}
<ul class="express-list" data-type="express">
@ -44,7 +44,8 @@
<img src="{{$express.icon}}" />
{{/if}}
<span>{{$express.name}}</span>
<i class="icon-active"></i>
<div class="rotate"></div>
<i class="am-icon-check"></i>
</li>
{{/if}}
{{/foreach}}
@ -60,7 +61,7 @@
<input type="text" autocomplete="off" name="express_number" placeholder="快递单号" minlength="1" data-validation-message="请填写快递单号" class="am-radius" required />
</div>
<div class="am-margin-top-lg am-padding-bottom-lg">
<div class="am-form-popup-submit">
<input type="hidden" name="id" value="0" />
<input type="hidden" name="express_id" value="0" />
<input type="hidden" name="user_id" value="0" />
@ -72,14 +73,14 @@
</div>
<!-- 支付弹窗 -->
<div class="am-popup" id="order-pay-popup">
<div class="am-popup am-radius" id="order-pay-popup">
<div class="am-popup-inner">
<div class="am-popup-hd">
<h4 class="am-popup-title">支付操作</h4>
<span data-am-modal-close class="am-close">&times;</span>
</div>
<div class="am-popup-bd">
<form class="am-form form-validation-pay pay-form" action="{{:MyUrl('admin/order/pay')}}" method="POST" request-type="ajax-reload">
<form class="am-form form-validation-pay am-form-popup-fixed" action="{{:MyUrl('admin/order/pay')}}" method="POST" request-type="ajax-reload">
<div class="business-item">
{{if !empty($buy_payment_list)}}
<ul class="payment-list" data-type="payment">
@ -89,7 +90,8 @@
<img src="{{$payment.logo}}" />
{{/if}}
<span>{{$payment.name}}</span>
<i class="icon-active"></i>
<div class="rotate"></div>
<i class="am-icon-check"></i>
</li>
{{/foreach}}
</ul>
@ -98,7 +100,7 @@
{{include file="public/not_data" /}}
{{/if}}
</div>
<div class="am-margin-top-sm am-padding-bottom-lg">
<div class="am-form-popup-submit">
<input type="hidden" name="id" value="0" />
<input type="hidden" name="payment_id" value="0" />
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block" data-am-loading="{loadingText:'处理中...'}">确认</button>

View File

@ -5,7 +5,7 @@
</button>
{{if !empty($module_data['operate_data'])}}
{{if $module_data['operate_data']['is_confirm'] eq 1}}
<button type="button" class="am-btn am-btn-primary am-btn-xs am-radius am-btn-block submit-ajax" data-url="{{:MyUrl('admin/order/confirm')}}" data-id="{{$module_data.id}}" data-value="{{$module_data.user_id}}" data-view="reload" data-msg="是否操作收货,操作后不可恢复!">
<button type="button" class="am-btn am-btn-primary am-btn-xs am-radius am-btn-block submit-ajax" data-url="{{:MyUrl('admin/order/confirm')}}" data-id="{{$module_data.id}}" data-value="{{$module_data.user_id}}" data-view="reload" data-msg="是否操作确认,操作后不可恢复!">
<i class="am-icon-check-circle-o"></i>
<span>确认</span>
</button>

View File

@ -89,7 +89,9 @@
<script type='text/javascript' src="{{$public_host}}static/common/lib/dragsort/jquery.dragsort-0.5.2.min.js?v={{:MyC('home_static_cache_version')}}"></script>
<!-- 动画数数 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/animation-count-to/animation.count.to.js?v={{:MyC('home_static_cache_version')}}"></script>
{{if isset($is_load_animation_count) and $is_load_animation_count eq 1}}
<script type='text/javascript' src="{{$public_host}}static/common/lib/animation-count-to/animation.count.to.js?v={{:MyC('home_static_cache_version')}}"></script>
{{/if}}
<!-- amazeui插件 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/amazeui-switch/amazeui.switch.min.js?v={{:MyC('home_static_cache_version')}}"></script>

View File

@ -413,6 +413,9 @@ class Common extends BaseController
// 默认不加载echarts图表组件
$assign['is_load_echarts'] = 0;
// 默认不加载动画数数
$assign['is_load_animation_count'] = 0;
// 是否加载附件组件
$admin = AdminService::LoginInfo();
$assign['is_load_upload_editor'] = (!empty($this->user) || !empty($admin)) ? 1 : 0;

View File

@ -109,8 +109,8 @@
{{else /}}
<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')}}">使用新地址</button>
<p>没有地址</p>
<button class="am-btn am-btn-secondary am-btn-xs am-margin-top-sm address-submit-save" type="button" data-url="{{:MyUrl('index/useraddress/saveinfo')}}">使用新地址</button>
</div>
{{/if}}
</div>
@ -158,8 +158,8 @@
{{else /}}
<div class="table-no">
<i class="am-icon-warning"></i>
<span>没有地址</span>
<button type="button" class="am-btn am-btn-default am-btn-secondary am-radius am-margin-left-sm" data-am-modal="{target: '#extraction-address-popup'}">选择取货地址</button>
<p>没有地址</p>
<button type="button" class="am-btn am-btn-default am-btn-secondary am-radius am-margin-top-sm" data-am-modal="{target: '#extraction-address-popup'}">选择取货地址</button>
</div>
{{/if}}
@ -532,7 +532,8 @@
<img src="{{$payment.logo}}" />
{{/if}}
<span>{{$payment.name}}</span>
<i class="icon-active"></i>
<div class="rotate"></div>
<i class="am-icon-check"></i>
</li>
{{/foreach}}
</ul>

View File

@ -5,10 +5,8 @@
<span data-am-modal-close class="am-close">&times;</span>
</div>
<div class="am-popup-bd">
<form class="am-form pay-form" method="post" action="{{:MyUrl('index/order/pay')}}">
<!-- 支付方式 -->
<form class="am-form pay-form am-form-popup-fixed" method="post" action="{{:MyUrl('index/order/pay')}}">
<div class="business-item">
<h3>选择支付</h3>
{{if !empty($buy_payment_list)}}
<ul class="payment-list" data-type="payment">
{{foreach $buy_payment_list as $payment}}
@ -17,7 +15,8 @@
<img src="{{$payment.logo}}" />
{{/if}}
<span>{{$payment.name}}</span>
<i class="icon-active"></i>
<div class="rotate"></div>
<i class="am-icon-check"></i>
</li>
{{/foreach}}
</ul>
@ -26,7 +25,7 @@
<div class="table-no"><i class="am-icon-warning"></i> 没有支付方式</div>
{{/if}}
</div>
<div class="am-form-group am-form-group-refreshing">
<div class="am-form-popup-submit">
<input type="hidden" name="ids" value="{{if !empty($pay_params['order_ids'])}}{{$pay_params.order_ids}}{{/if}}" />
<input type="hidden" name="payment_id" value="{{if !empty($pay_params['payment_id'])}}{{$pay_params.payment_id}}{{/if}}" />
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block" data-am-loading="{loadingText:'处理中...'}">确认支付</button>

View File

@ -1,4 +1,4 @@
<div class="am-popup" id="popup-orderaftersale-delivery">
<div class="am-popup am-radius" id="popup-orderaftersale-delivery">
<div class="am-popup-inner">
<div class="am-popup-hd">
<h4 class="am-popup-title">退货操作</h4>
@ -9,18 +9,16 @@
<span>退货地址:</span>
<span class="am-text-warning">{{$return_goods_address}}</span>
</div>
<form class="am-form form-validation" action="{{:MyUrl('index/orderaftersale/delivery')}}" method="POST" request-type="ajax-reload">
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('index/orderaftersale/delivery')}}" method="POST" request-type="ajax-reload">
<div class="am-form-group">
<label>快递名称<span class="am-form-group-label-tips-must">必选</span></label>
<input type="text" name="express_name" class="am-radius" placeholder="快递名称" minlength="1" maxlength="60" data-validation-message="快递名称格式 1~60 个字符之间" required />
</div>
<div class="am-form-group">
<label>快递单号<span class="am-form-group-label-tips-must">必填</span></label>
<input type="text" name="express_number" class="am-radius" placeholder="快递单号" minlength="1" maxlength="60" data-validation-message="快递单号格式 1~60 个字符之间" required />
</div>
<div class="am-form-group am-form-group-refreshing am-margin-top-lg">
<div class="am-form-popup-submit">
<input type="hidden" name="id" value="{{$new_aftersale_data.id}}" />
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block" data-am-loading="{loadingText:'处理中...'}">提交</button>
</div>

View File

@ -75,6 +75,11 @@
<!-- 元素拖拽排序插件 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/dragsort/jquery.dragsort-0.5.2.min.js?v={{:MyC('home_static_cache_version')}}"></script>
<!-- 动画数数 -->
{{if isset($is_load_animation_count) and $is_load_animation_count eq 1}}
<script type='text/javascript' src="{{$public_host}}static/common/lib/animation-count-to/animation.count.to.js?v={{:MyC('home_static_cache_version')}}"></script>
{{/if}}
<!-- ueditor 编辑器 -->
<script type='text/javascript' src="{{$my_public_url}}static/common/lib/ueditor/ueditor.config.js?v={{:MyC('home_static_cache_version')}}"></script>
<script type='text/javascript' src="{{$public_host}}static/common/lib/ueditor/ueditor.all.js?v={{:MyC('home_static_cache_version')}}"></script>

View File

@ -603,38 +603,62 @@ class FormHandleModule
$data = [];
if(!empty($this->form_data['detail_form_list']))
{
$is_table_title = true;
$detail_form_count = count($this->form_data['detail_form_list']);
foreach($list as $v)
{
// 当前详情数据最大数记录
$detail_data_row_max = 0;
foreach($this->form_data['detail_form_list'] as $dv)
{
if(!empty($dv) && !empty($dv['label']) && !empty($dv['field']) && !empty($dv['data']) && !empty($v[$dv['field']]) && is_array($v[$dv['field']]))
// 追加表头
if($is_table_title && !empty($dv) && !empty($dv['label']) && !empty($dv['field']) && !empty($dv['data']))
{
$is_first = true;
$is_title = true;
foreach($v[$dv['field']] as $vs)
foreach($dv['data'] as $dvk=>$dvv)
{
$temp = $is_first ? $v : [];
foreach($dv['data'] as $dvk=>$dvv)
{
// 追加数据导列表
$field = $dv['field'].'_'.$dvk;
$temp[$field] = isset($vs[$dvk]) ? $vs[$dvk] : '';
// 追加表头
if($is_title)
{
$title[$field] = [
'name' => $dv['label'].' - '.$dvv,
'type' => 'string',
];
}
$is_first = false;
}
unset($temp[$dv['field']]);
$data[] = $temp;
$is_title = false;
$title[$dv['field'].'_'.$dvk] = [
'name' => $dv['label'].' - '.$dvv,
'type' => 'string',
];
}
}
// 当前详情数据最大数记录
$temp_max = (count($v[$dv['field']]) == count($v[$dv['field']], 1)) ? 1 : count($v[$dv['field']]);
if($temp_max > $detail_data_row_max)
{
$detail_data_row_max = $temp_max;
}
}
$is_table_title = false;
// 根据详情数据追加数据
for($i=0; $i<$detail_data_row_max; $i++)
{
$temp = ($i == 0) ? $v : [];
for($t=0; $t<$detail_form_count; $t++)
{
$dv = $this->form_data['detail_form_list'][$t];
if(!empty($v[$dv['field']]))
{
$dv_data = array_keys($dv['data']);
foreach($dv_data as $df)
{
$fk = $dv['field'];
$field = $dv['field'].'_'.$df;
// 非二维数组则转二维数组
if(count($v[$fk]) == count($v[$fk], 1))
{
$v[$fk] = [$v[$fk]];
}
// 存在数据则追加数据字段
if(isset($v[$fk][$i]) && isset($v[$fk][$i][$df]))
{
$temp[$field] = $v[$fk][$i][$df];
}
}
}
}
$data[] = $temp;
}
}
}
@ -961,6 +985,14 @@ class FormHandleModule
} elseif(array_key_exists($params_where_name.'_max', $this->out_params) && $this->out_params[$params_where_name.'_max'] !== null && $this->out_params[$params_where_name.'_max'] !== '')
{
$this->out_params[$form_key.'_max'] = $this->out_params[$params_where_name.'_max'];
// start字段
} elseif(array_key_exists($params_where_name.'_start', $this->out_params) && $this->out_params[$params_where_name.'_start'] !== null && $this->out_params[$params_where_name.'_start'] !== '')
{
$this->out_params[$form_key.'_start'] = $this->out_params[$params_where_name.'_start'];
// end字段
} elseif(array_key_exists($params_where_name.'_end', $this->out_params) && $this->out_params[$params_where_name.'_end'] !== null && $this->out_params[$params_where_name.'_end'] !== '')
{
$this->out_params[$form_key.'_end'] = $this->out_params[$params_where_name.'_end'];
}
// 根据组件类型处理

View File

@ -2286,10 +2286,11 @@ class OrderService
case 'admin' :
$delete_field = 'is_delete_time';
break;
case 'user' :
$delete_field = 'user_is_delete_time';
break;
default :
$delete_field = empty($params['delete_field']) ? '' : $params['delete_field'];
}
if(empty($delete_field))
{
@ -2310,19 +2311,44 @@ class OrderService
return DataReturn('状态不可操作['.$status_text.']', -1);
}
// 删除操作
$data = [
$delete_field => time(),
'upd_time' => time(),
];
if(Db::name('Order')->where($where)->update($data))
{
// 启动事务
Db::startTrans();
// 捕获异常
try {
// 删除操作
$data = [
$delete_field => time(),
'upd_time' => time(),
];
if(!Db::name('Order')->where($where)->update($data))
{
throw new \Exception(MyLang('common.delete_fail'));
}
// 用户消息
MessageService::MessageAdd($order['user_id'], '订单删除', '订单删除成功', self::$business_type_name, $order['id']);
// 订单删除成功钩子
$hook_name = 'plugins_service_order_delete_success';
$ret = EventReturnHandle(MyEventTrigger($hook_name, [
'hook_name' => $hook_name,
'is_backend' => true,
'order_id' => $params['id'],
'params' => $params,
]));
if(isset($ret['code']) && $ret['code'] != 0)
{
throw new \Exception($ret['msg']);
}
// 完成
Db::commit();
return DataReturn(MyLang('common.delete_success'), 0);
} catch(\Exception $e) {
Db::rollback();
return DataReturn($e->getMessage(), -1);
}
return DataReturn('删除失败或资源不存在', -1);
}
/**

View File

@ -130,7 +130,7 @@ class Excel
$index = 0;
foreach($this->title as $tk=>$tv)
{
$temp .= ($index == 0 ? '' : ',').(array_key_exists($tk, $v) ? str_replace([',', "\n"], [ '', ''], $v[$tk]) : '')."\t";
$temp .= ($index == 0 ? '' : ',').((array_key_exists($tk, $v) && !is_array($v[$tk])) ? str_replace([',', "\n"], [ '', ''], $v[$tk]) : '')."\t";
$index++;
}
$csv_content .= (($excel_charset == 0) ? $temp : iconv('utf-8', $charset, $temp))."\n";
@ -245,7 +245,7 @@ class Excel
$drawing->setOffsetY(15);
$drawing->setWorksheet($spreadsheet->getActiveSheet());
} else {
$value = array_key_exists($tk, $v) ? (($excel_charset == 0) ? $v[$tk] : iconv('utf-8', $charset, $v[$tk])) : '';
$value = (array_key_exists($tk, $v) && is_array($v[$tk])) ? (($excel_charset == 0) ? $v[$tk] : iconv('utf-8', $charset, $v[$tk])) : '';
$sheet->setCellValueByColumnAndRow($temp_cum+1, $temp_row, $value);
}

View File

@ -1,22 +1,3 @@
/**
*
*/
.business-item h3 { border-bottom: 3px solid #e3e3e3; margin:5px 0 0 0; font-size: 14px;font-weight: 700; }
.business-item ul { padding: 10px 3px 5px 5px; overflow: hidden; }
.business-item ul li { border:1px solid transparent ;overflow: hidden; float: left; cursor: pointer; padding: 5px; border: 1px solid #eee; margin: 0 10px 10px 0; }
.business-item ul li img { width: 36px; height: 36px; vertical-align: middle; }
.business-item ul li:hover {border: 1px solid #d2364c;box-shadow: 0px 0 0px 1px #d2364c;}
.business-item ul li.selected { border-color: #d2364c ; position: relative; box-shadow: 0px 0 0px 1px #d2364c; }
.business-item ul li.selected i.icon-active { position: absolute; width: 10px; height: 10px; font-size: 0; line-height: 0; right: 0px; bottom: 0px; background: url(../images/sys-item-selected.gif) no-repeat right bottom; }
@media only screen and (min-width:640px) {
.business-item ul li {width:calc(33% - 5px); }
.business-item ul li:nth-child(3n) { margin-right: 0; }
}
@media only screen and (max-width:640px) {
.business-item ul li { width: calc(50% - 5px); }
.business-item ul li:nth-child(2n) { margin-right: 0; }
}
/**
* -
*/

View File

@ -444,7 +444,7 @@ function EchartsInit(e)
var chart = null;
switch(type)
{
// 支付方式
// 基础数据总数
case 'base-count' :
EchartsBaseCount(res.data);
break;

View File

@ -170,7 +170,6 @@ $(function()
if($(document).width() <= 640)
{
$('.menu-scaling-submit').attr('data-status', 0);
$('.menu-scaling-submit').css({'left': '164px'});
$('.menu-scaling-submit').removeClass('am-icon-indent').addClass('am-icon-dedent');
$('#admin-offcanvas').css({'width': 'inherit'});
$('#admin-offcanvas').removeClass('menu-mini').removeClass('menu-mini-event');

View File

@ -1,99 +1,85 @@
FromInit('form.form-validation-delivery');
FromInit('form.form-validation-pay');
FromInit('form.form-validation-take');
$(function()
{
// 混合列表选择
$('.business-item ul li').on('click', function()
{
if($(this).hasClass('selected'))
{
$('form input[name='+$(this).parent().data('type')+'_id]').val(0);
$(this).removeClass('selected');
} else {
$('form input[name='+$(this).parent().data('type')+'_id]').val($(this).data('value'));
$(this).addClass('selected').siblings('li').removeClass('selected');
}
});
// 发货操作
var $form_delivery = $('form.form-validation-delivery');
$('.submit-delivery').on('click', function()
{
$('form.delivery-form input[name=id]').val($(this).data('id'));
$('form.delivery-form input[name=express_number]').val('');
var express_id = $(this).data('express-id') || 0;
$form_delivery.find('input[name=id]').val($(this).data('id'));
$form_delivery.find('input[name=express_number]').val('');
var express_id = parseInt($(this).data('express-id') || 0);
var user_id = $(this).data('user-id') || 0;
$('form.delivery-form input[name=express_id]').val(express_id);
$('form.delivery-form input[name=user_id]').val(user_id);
$form_delivery.find('input[name=express_id]').val(express_id);
$form_delivery.find('input[name=user_id]').val(user_id);
$('ul.express-list li.selected').removeClass('selected');
if(express_id != 0) {
$('.express-items-'+express_id).addClass('selected').siblings('li').removeClass('selected');
}
});
// 发货操作表单
FromInit('form.form-validation-delivery');
$('form.delivery-form button[type=submit]').on('click', function()
$form_delivery.find(' button[type=submit]').on('click', function()
{
var id = $('form.delivery-form input[name=id]').val() || 0;
var id = parseInt($form_delivery.find('input[name=id]').val() || 0);
if(id == 0)
{
Prompt(lang_order_id_empty || '订单id有误');
Prompt(window['lang_order_id_empty'] || '订单id有误');
return false;
}
var express_id = $('form.delivery-form input[name=express_id]').val() || 0;
var express_id = parseInt($form_delivery.find('input[name=express_id]').val() || 0);
if(express_id == 0)
{
Prompt(lang_express_choice_tips || '请选择快递方式');
Prompt(window['lang_express_choice_tips'] || '请选择快递方式');
return false;
}
});
// 支付操作
var $form_pay = $('form.form-validation-pay');
$('.submit-pay').on('click', function()
{
$('form.pay-form input[name=id]').val($(this).data('id'));
var payment_id = $(this).data('payment-id') || 0;
$form_pay.find('input[name=id]').val($(this).data('id'));
var payment_id = parseInt($(this).data('payment-id') || 0);
if($('.payment-items-'+payment_id).length > 0)
{
$('form.pay-form input[name=payment_id]').val(payment_id);
$form_pay.find('input[name=payment_id]').val(payment_id);
$('.payment-items-'+payment_id).addClass('selected').siblings('li').removeClass('selected');
} else {
$('form.pay-form input[name=payment_id]').val(0);
$form_pay.find('input[name=payment_id]').val(0);
$('ul.payment-list li.selected').removeClass('selected');
}
});
// 支付操作表单
FromInit('form.form-validation-pay');
$('form.pay-form button[type=submit]').on('click', function()
$form_pay.find('button[type=submit]').on('click', function()
{
var id = $('form.pay-form input[name=id]').val() || 0;
var id = parseInt($form_pay.find('input[name=id]').val() || 0);
if(id == 0)
{
Prompt(lang_order_id_empty || '订单id有误');
Prompt(window['lang_order_id_empty'] || '订单id有误');
return false;
}
var payment_id = $('form.pay-form input[name=payment_id]').val() || 0;
var payment_id = parseInt($form_pay.find('input[name=payment_id]').val() || 0);
if(payment_id == 0)
{
Prompt(lang_payment_choice_tips || '请选择支付方式');
Prompt(window['lang_payment_choice_tips'] || '请选择支付方式');
return false;
}
});
// 取货操作
var $form_take = $('form.form-validation-take');
$('.submit-take').on('click', function()
{
$('form.take-form input[name=id]').val($(this).data('id') || 0);
$('form.take-form input[name=user_id]').val($(this).data('user-id') || 0);
$form_take.find('input[name=id]').val($(this).data('id') || 0);
$form_take.find('input[name=user_id]').val($(this).data('user-id') || 0);
});
// 取货操作表单
FromInit('form.form-validation-take');
$('form.take-form button[type=submit]').on('click', function()
$form_take.find('button[type=submit]').on('click', function()
{
if(($('form.take-form input[name=id]').val() || 0) == 0)
if(parseInt($form_take.find('input[name=id]').val() || 0) == 0)
{
Prompt(lang_order_id_empty || '订单id有误');
Prompt(window['lang_order_id_empty'] || '订单id有误');
return false;
}
});

View File

@ -161,6 +161,8 @@ form.am-form-pure .business-form-block {
}
}
@media only screen and (max-width: 640px) {
.form-group-item > [class*="am-u-md"] > .am-form-group,
.form-group-item > [class*="am-u-lg"] > .am-form-group,
.form-group-item [class*="am-u-md"] > .am-form-group:first-child,
.form-group-item [class*="am-u-lg"] > .am-form-group:last-child {
padding-left: 0;
@ -509,7 +511,9 @@ form.am-form-pure .business-form-block {
.modal-dialog-not-title .am-close:hover {
background: #f22a30;
}
.am-popup-hd .am-close, .am-popup-hd .am-full {
.am-popup-hd .am-close,
.am-modal-hd .am-close,
.am-popup-hd .am-full {
width: 26px;
height: 26px;
line-height: 26px;
@ -520,7 +524,8 @@ form.am-form-pure .business-form-block {
line-height: 24px;
opacity: 1;
}
.am-popup-hd .am-close:hover {
.am-popup-hd .am-close:hover,
.am-modal-hd .am-close:hover {
color: #f22a30;
transform: none;
}
@ -592,7 +597,7 @@ iframe { border: 0; }
.region-linkage select:not(:first-child) { margin-bottom: 5px; }
/* 表单 */
form.am-form .am-form-group, .plug-file-upload-view, .business-form-group, .business-form-block { padding: 15px 0 10px 0px; }
form.am-form .am-form-group, .plug-file-upload-view, .business-form-group, .business-form-block { padding: 5px; }
}
/**
@ -1543,6 +1548,95 @@ form .am-tab-panel .am-form-group:last-child {
margin-left: 10px;
}
/**
*
*/
form.am-form-popup-fixed {
padding-bottom: 100px;
}
form.am-form-popup-fixed .am-form-popup-submit {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
background: #fff;
height: 70px;
padding: 20px 10px;
border-top: 1px solid #eee;
z-index: 2;
}
/**
*
*/
.business-item ul {
padding: 5px;
overflow: hidden;
}
.business-item ul li {
border:1px solid transparent;
overflow: hidden;
float: left;
cursor: pointer;
padding: 5px;
border: 1px solid #eee;
margin: 0 10px 10px 0;
border-radius: 2px;
}
.business-item ul li img {
width: 36px;
height: 36px;
vertical-align: middle;
border-radius: 2px;
}
.business-item ul li .rotate {
background-color: #d2364c;
width: 22px;
height: 70px;
transform: rotate(44deg);
position: absolute;
right: -12px;
bottom: -20px;
display: none;
}
.business-item ul li i.am-icon-check {
position: absolute;
right: 1px;
bottom: 0;
color: #fff !important;
display: none;
}
.business-item ul li.selected .rotate,
.business-item ul li.selected i.am-icon-check {
display: block;
}
.business-item ul li:hover {
border: 1px solid #d2364c;
box-shadow: 0px 0 0px 1px #d2364c;
}
.business-item ul li.selected {
border-color: #d2364c;
position: relative;
box-shadow: 0px 0 0px 1px #d2364c;
}
@media only screen and (min-width:640px) {
.business-item ul li {
width:calc(33% - 5px);
}
.business-item ul li:nth-child(3n) {
margin-right: 0;
}
}
@media only screen and (max-width:640px) {
.business-item ul li {
width: calc(50% - 5px);
}
.business-item ul li:nth-child(2n) {
margin-right: 0;
}
}
/**
*

View File

@ -3899,4 +3899,19 @@ $(function()
}
temp_scroll_original_index = current_index;
});
// 混合业务列表选择
$(document).on('click', '.business-item ul li', function()
{
var $form = $(this).parents('form');
var $parent = $(this).parent();
if($(this).hasClass('selected'))
{
$form.find('input[name='+$parent.data('type')+'_id]').val(0);
$(this).removeClass('selected');
} else {
$form.find('input[name='+$parent.data('type')+'_id]').val($(this).data('value'));
$(this).addClass('selected').siblings('li').removeClass('selected');
}
});
});

View File

@ -24,7 +24,7 @@ dialog.alert = function(options) {
};
var html = [];
html.push('<div class="am-modal am-modal-alert '+options.class_name+'" tabindex="-1">');
html.push('<div class="am-modal-dialog">');
html.push('<div class="am-modal-dialog am-radius">');
if(options.title !== null || options.isClose === true)
{
html.push('<div class="am-modal-hd">');
@ -70,7 +70,7 @@ dialog.confirm = function(options) {
var html = [];
html.push('<div class="am-modal am-modal-confirm" tabindex="-1">');
html.push('<div class="am-modal-dialog">');
html.push('<div class="am-modal-dialog am-radius">');
html.push('<div class="am-modal-hd">' + options.title + '</div>');
html.push('<div class="am-modal-bd"><div class="am-padding-horizontal-xl am-padding-vertical-xs">' + options.content + '</div></div>');
html.push('<div class="am-modal-footer">');
@ -109,7 +109,7 @@ dialog.loading = function(options) {
} else {
var html = [];
html.push('<div class="am-modal am-modal-loading am-modal-no-btn" tabindex="-1" id="my-modal-loading">');
html.push('<div class="am-modal-dialog">');
html.push('<div class="am-modal-dialog am-radius">');
html.push('<div class="am-modal-bd am-padding-vertical-0">');
html.push('<div class="am-padding-horizontal-sm am-padding-vertical-sm">');
html.push('<span class="am-icon-spinner am-icon-spin"></span>');
@ -178,16 +178,16 @@ dialog.popup = function(options) {
// 是否存在标题
if(options.title != null)
{
html.push('<div class="am-popup '+options.class+'">');
html.push('<div class="am-popup-inner">');
html.push('<div class="am-popup am-radius '+options.class+'">');
html.push('<div class="am-popup-inner am-radius">');
html.push('<div class="am-popup-hd">');
html.push('<h4 class="am-popup-title">' + options.title + '</h4>');
html.push('<span data-am-modal-close class="am-close">&times;</span>');
html.push('</div>');
html.push('<div class="am-popup-bd">' + options.content + '</div>');
} else {
html.push('<div class="am-popup '+options.class+' popup-not-title">');
html.push('<div class="am-popup-inner">');
html.push('<div class="am-popup am-radius '+options.class+' popup-not-title">');
html.push('<div class="am-popup-inner am-radius">');
html.push('<span data-am-modal-close class="am-close am-close-alt am-icon-times"></span>');
html.push(options.content);
}

View File

@ -1736,9 +1736,6 @@ fieldset[disabled] .am-btn-default.am-active {
background-color: #0e90d2;
border-color: #0e90d2;
}
a.am-btn-primary:visited {
color: #fff;
}
.am-btn-primary:hover,
.am-btn-primary:focus,
.am-btn-primary:active,
@ -1784,9 +1781,6 @@ fieldset[disabled] .am-btn-primary.am-active {
background-color: #3bb4f2;
border-color: #3bb4f2;
}
a.am-btn-secondary:visited {
color: #fff;
}
.am-btn-secondary:hover,
.am-btn-secondary:focus,
.am-btn-secondary:active,
@ -1877,9 +1871,6 @@ fieldset[disabled] .am-btn-warning.am-active {
background-color: #dd514c;
border-color: #dd514c;
}
a.am-btn-danger:visited {
color: #fff;
}
.am-btn-danger:hover,
.am-btn-danger:focus,
.am-btn-danger:active,
@ -1925,9 +1916,6 @@ fieldset[disabled] .am-btn-danger.am-active {
background-color: #5eb95e;
border-color: #5eb95e;
}
a.am-btn-success:visited {
color: #fff;
}
.am-btn-success:hover,
.am-btn-success:focus,
.am-btn-success:active,
@ -4541,18 +4529,16 @@ a.am-badge:focus {
font-size: 20px;
font-weight: bold;
line-height: 24px;
color: #000;
color: #ccc;
text-shadow: 0 1px 0 #fff;
opacity: .2;
-webkit-transition: all .3s;
transition: all .3s;
}
.am-close:hover,
.am-close:focus {
color: #000;
color: #666;
text-decoration: none;
cursor: pointer;
opacity: .5;
outline: none;
}
.am-close[class*="am-icon-"] {
@ -7491,8 +7477,6 @@ img.am-thumbnail,
.am-vertical-align-middle,
.am-vertical-align-bottom {
display: inline-block;
font-size: 1.6rem;
/* 1 */
max-width: 100%;
}
.am-vertical-align-middle {

View File

@ -1591,6 +1591,9 @@ var hiprint = function (t) {
p = this.getFooterFormatter(n, i);
return p && a.append(p(n, e, o, r)), a;
}, TableExcelHelper.createTableRow = function (t, e, n, i) {
if(Object.prototype.toString.call(e) != '[object Array]') {
e = [e];
}
var o = TableExcelHelper.reconsitutionTableColumnTree(t),
r = $("<tbody></tbody>");
(e || (e = []), i.groupFields.length) ? _assets_plugins_hinnn__WEBPACK_IMPORTED_MODULE_1__.a.groupBy(e, i.groupFields, function (t) {

View File

@ -15,27 +15,10 @@ ul.address-list li .user-base {font-size: 14px; font-weight: 700; margin-bottom:
.address-default { display:block !important;}
/* 物流/支付 */
.business-item ul li { border:1px solid transparent ;overflow: hidden; float: left; cursor: pointer; padding: 5px; border: 1px solid #e5e5e5; margin: 0 10px 10px 0; }
ul.logistics-list li.selected, ul.payment-list li.selected, .confirm-selected {border-color:#d2364c ;position:relative;box-shadow: 0px 0 0px 1px #d2364c;}
ul.logistics-list li.selected i.icon-active, ul.payment-list li.selected i.icon-active, .confirm-selected i.icon-active {
position: absolute;
width: 10px;
height: 10px;
font-size: 0;
line-height: 0;
right: 0px;
bottom: 0px;
background: url(../images/sys-item-selected.gif) no-repeat right bottom;
}
.business-item ul { padding: 10px 3px 5px 5px;}
ul.logistics-list li img, ul.payment-list li img { width: 36px; height: 36px; vertical-align: middle; }
.business-item ul li, ul.address-list li {
-webkit-transition: border-color .2s ease-in;
-moz-transition: border-color .2s ease-in;
-ms-transition: border-color .2s ease-in;
-o-transition: border-color .2s ease-in;
transition: border-color .2s ease-in;
@media only screen and (min-width: 640px) {
.business-item ul li:nth-child(3n) {
margin-right: 10px;
}
}
/*运费、留言、扩展数据*/

View File

@ -170,25 +170,6 @@ ul.progress li.current .title {
-webkit-box-shadow: none;
}
/**
*
*/
.business-item h3 { border-bottom: 3px solid #e3e3e3; margin-top:5px; font-size: 14px;font-weight: 700; }
.business-item ul { padding: 10px 3px 5px 5px; overflow: hidden; }
.business-item ul li { border:1px solid transparent ;overflow: hidden; float: left; cursor: pointer; padding: 5px; border: 1px solid #eee; margin: 0 10px 10px 0; }
.business-item ul li img { width: 36px; height: 36px; }
.business-item ul li.selected { border-color: #d2364c ; position: relative; box-shadow: 0px 0 0px 1px #d2364c; }
.business-item ul li.selected i.icon-active { position: absolute; width: 10px; height: 10px; font-size: 0; line-height: 0; right: 0px; bottom: 0px; background: url(../images/sys-item-selected.gif) no-repeat right bottom; }
@media only screen and (min-width:640px) {
.business-item ul li {width:calc(33% - 5px); }
.business-item ul li:nth-child(3n) { margin-right: 0; }
.business-item ul li:hover { border: 1px solid #d2364c; box-shadow: 0px 0 0px 1px #d2364c; }
}
@media only screen and (max-width:640px) {
.business-item ul li { width: calc(50% - 5px); }
.business-item ul li:nth-child(2n) { margin-right: 0; }
}
/**
*
*/

View File

@ -28,19 +28,6 @@ $(function()
$pay_popup.modal();
});
// 混合列表选择
$('.business-item ul li').on('click', function()
{
if($(this).hasClass('selected'))
{
$('form.pay-form input[name='+$(this).parent().data('type')+'_id]').val(0);
$(this).removeClass('selected');
} else {
$('form.pay-form input[name='+$(this).parent().data('type')+'_id]').val($(this).data('value'));
$(this).addClass('selected').siblings('li').removeClass('selected');
}
});
// 支付表单
$('form.pay-form button[type=submit]').on('click', function()
{