352 lines
18 KiB
HTML
Executable File
352 lines
18 KiB
HTML
Executable File
{{include file="public/header" /}}
|
|
|
|
<!-- right content start -->
|
|
<div class="content-right">
|
|
<div class="content">
|
|
<!-- form start -->
|
|
<form class="am-form form-validation form-search" method="post" action="{{:MyUrl('admin/goods/index')}}" request-type="form">
|
|
<div class="thin">
|
|
<div class="am-input-group am-input-group-sm am-fl so">
|
|
<input type="text" autocomplete="off" name="keywords" class="am-radius" placeholder="标题/型号" value="{{if !empty($params.keywords)}}{{$params.keywords}}{{/if}}" />
|
|
<span class="am-input-group-btn">
|
|
<button class="am-btn am-btn-default am-radius" type="submit" data-am-loading="{spinner:'circle-o-notch', loadingText:'搜索中...'}">搜索</button>
|
|
</span>
|
|
</div>
|
|
<label class="am-fl thin_sub more-submit">
|
|
更多筛选条件
|
|
{{if isset($params['is_more']) and $params['is_more'] eq 1}}
|
|
<input type="checkbox" name="is_more" value="1" id="is_more" checked />
|
|
<i class="am-icon-angle-up"></i>
|
|
{{else /}}
|
|
<input type="checkbox" name="is_more" value="1" id="is_more" />
|
|
<i class="am-icon-angle-down"></i>
|
|
{{/if}}
|
|
</label>
|
|
</div>
|
|
<table class="so-list more-where {{if !isset($params['is_more'])}}none{{/if}}">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<span>分类:</span>
|
|
<select class="am-radius chosen-select" name="category_id" data-placeholder="商品分类...">
|
|
<option value="0">商品分类...</option>
|
|
{{if !empty($goods_category_list)}}
|
|
{{foreach $goods_category_list as $v}}
|
|
<option value="{{$v.id}}" {{if !empty($params['category_id']) and $v['id'] eq $params['category_id']}}selected{{/if}}>一级 - {{$v.name}}</option>
|
|
{{if !empty($v['items'])}}
|
|
{{foreach $v.items as $vs}}
|
|
<option style="padding-left: 30px;" value="{{$vs.id}}" {{if !empty($params['category_id']) and $vs['id'] eq $params['category_id']}}selected{{/if}}>二级 - {{$vs.name}}</option>
|
|
{{if !empty($vs['items'])}}
|
|
{{foreach $vs.items as $vss}}
|
|
<option style="padding-left: 60px;" value="{{$vss.id}}" {{if !empty($params['category_id']) and $vss['id'] eq $params['category_id']}}selected{{/if}}>三级 - {{$vss.name}}</option>
|
|
{{/foreach}}
|
|
{{/if}}
|
|
{{/foreach}}
|
|
{{/if}}
|
|
{{/foreach}}
|
|
{{/if}}
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<span>品牌:</span>
|
|
<select name="brand_id" class="am-radius chosen-select" data-placeholder="品牌...">
|
|
{{if !empty($brand_list)}}
|
|
<option value="0">品牌...</option>
|
|
{{foreach $brand_list as $v}}
|
|
<optgroup label="{{$v.name}}">
|
|
{{if !empty($v['items'])}}
|
|
{{foreach $v.items as $vs}}
|
|
<option style="padding-left: 30px;" value="{{$vs.id}}" {{if isset($params['brand_id']) and $params['brand_id'] eq $vs['id']}}selected{{/if}}>{{$vs.name}}</option>
|
|
{{/foreach}}
|
|
{{/if}}
|
|
</optgroup>
|
|
{{/foreach}}
|
|
{{/if}}
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<span>状态:</span>
|
|
<select name="is_shelves" class="chosen-select" data-placeholder="上下架状态...">
|
|
<option value="-1">上下架状态...</option>
|
|
{{foreach $common_is_shelves_list as $v}}
|
|
<option value="{{$v.id}}" {{if isset($params['is_shelves']) and $params['is_shelves'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
|
{{/foreach}}
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<span>推荐:</span>
|
|
<select name="is_home_recommended" class="chosen-select" data-placeholder="首页推荐...">
|
|
<option value="-1">首页推荐...</option>
|
|
{{foreach $common_is_text_list as $v}}
|
|
<option value="{{$v.id}}" {{if isset($params['is_home_recommended']) and $params['is_home_recommended'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
|
{{/foreach}}
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="time">
|
|
<span>时间:</span>
|
|
<span>
|
|
<input type="text" autocomplete="off" name="time_start" class="am-form-field am-input-sm am-radius Wdate" placeholder="起始时间" value="{{if !empty($params.time_start)}}{{$params.time_start}}{{/if}}" data-validation-message="日期格式有误" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})" autocomplete="off" /><i class="am-icon-calendar"></i>
|
|
</span>
|
|
<em class="text-grey">~</em>
|
|
<span>
|
|
<input type="text" autocomplete="off" name="time_end" class="am-form-field am-input-sm am-radius Wdate" placeholder="结束时间" value="{{if !empty($params.time_end)}}{{$params.time_end}}{{/if}}" pattern="^[0-9]{4}-[0-9]{2}-[0-9]{2}$" data-validation-message="日期格式有误" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})" autocomplete="off" /><i class="am-icon-calendar"></i>
|
|
</span>
|
|
</td>
|
|
<td>
|
|
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner:'circle-o-notch', loadingText:'搜索中...'}">搜索</button>
|
|
<a href="{{:MyUrl('admin/goods/index')}}" class="am-btn am-btn-warning am-radius am-btn-sm reset-submit">清除条件</a>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</form>
|
|
<!-- form end -->
|
|
|
|
<!-- top operation start -->
|
|
<div class="am-g am-margin-top-sm">
|
|
<a href="{{:MyUrl('admin/goods/saveinfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> 新增</a>
|
|
|
|
<!-- 顶部操作钩子 -->
|
|
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true and (!isset($is_footer) or $is_footer eq 1)}}
|
|
<div class="plugins-tag">
|
|
<span>plugins_view_admin_goods_top_operate</span>
|
|
</div>
|
|
{{/if}}
|
|
{{php}}
|
|
$hook_name = 'plugins_view_admin_goods_top_operate';
|
|
$hook_data = Hook::listen($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>true]);
|
|
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>
|
|
<!-- top operation end -->
|
|
|
|
<!-- list start -->
|
|
<div class="am-scrollable-horizontal am-table-scrollable-horizontal am-margin-top-sm">
|
|
<table class="am-table am-table-striped am-table-hover am-table-bordered am-text-nowrap am-table-td-fixed-last goods-list">
|
|
<thead>
|
|
<tr>
|
|
<th>商品ID</th>
|
|
<th class="am-grid-lg">标题名称</th>
|
|
<th>销售价格(元)</th>
|
|
<th class="am-text-center">上下架</th>
|
|
<th class="am-text-center">首页推荐</th>
|
|
<th>库存数量</th>
|
|
<th>商品型号</th>
|
|
<th>品牌</th>
|
|
<th class="am-text-center">更多</th>
|
|
<th class="am-text-center">操作</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{if !empty($data_list)}}
|
|
{{foreach $data_list as $v}}
|
|
<tr id="data-list-{{$v.id}}" {{if $v['is_shelves'] eq 0}}class="am-active"{{/if}}>
|
|
<td class="am-text-middle">{{$v.id}}</td>
|
|
<td class="am-text-middle">
|
|
<a href="{{$v.goods_url}}" target="_blank" title="{{$v.title}}">
|
|
<img src="{{$v['images']}}" class="am-img-thumbnail am-radius goods-images" />
|
|
</a>
|
|
<a href="{{$v.goods_url}}" target="_blank" title="{{$v.title}}" {{if !empty($v['title_color'])}} style="color:{{$v.title_color}};" {{/if}} class="am-nowrap-initial">{{$v.title}}</a>
|
|
{{if !empty($v['simple_desc'])}}
|
|
<p class="am-text-danger am-nowrap-initial">{{$v.simple_desc}}</p>
|
|
{{/if}}
|
|
</td>
|
|
<td class="am-text-middle">
|
|
{{$v.price}}
|
|
{{if !empty($v['original_price']) and $v['original_price'] gt 0}}
|
|
<br /><span class="am-badge am-radius">原价 {{$v.original_price}}</span>
|
|
{{/if}}
|
|
</td>
|
|
<td class="am-text-middle am-text-center">
|
|
<a href="javascript:;" class="am-icon-btn am-icon-check submit-state {{if $v['is_shelves'] eq 1}}am-success{{else /}}am-default{{/if}}" data-url="{{:MyUrl('admin/goods/statusshelves')}}" data-id="{{$v.id}}" data-state="{{$v['is_shelves']}}" data-is-update-status="1"></a>
|
|
</td>
|
|
<td class="am-text-middle am-text-center">
|
|
<a href="javascript:;" class="am-icon-btn am-icon-check submit-state {{if $v['is_home_recommended'] eq 1}}am-success{{else /}}am-default{{/if}}" data-url="{{:MyUrl('admin/goods/statushomerecommended')}}" data-id="{{$v.id}}" data-state="{{$v['is_home_recommended']}}" data-is-update-status="0"></a>
|
|
</td>
|
|
<td class="am-text-middle">{{$v.inventory}} {{$v.inventory_unit}}</td>
|
|
<td class="am-text-middle">{{$v.model}}</td>
|
|
<td class="am-text-middle">{{$v.brand_name}}</td>
|
|
<td class="am-text-middle">
|
|
<p class="am-text-center xo-cursor-pr">
|
|
<i class="am-icon-caret-down"></i>
|
|
<span data-am-modal="{target: '#my-popup{{$v.id}}'}"> 查看更多</span>
|
|
</p>
|
|
<div class="am-popup am-radius" id="my-popup{{$v.id}}">
|
|
<div class="am-popup-inner">
|
|
<div class="am-popup-hd">
|
|
<h4 class="am-popup-title">详情内容</h4>
|
|
<span data-am-modal-close
|
|
class="am-close">×</span>
|
|
</div>
|
|
<div class="am-popup-bd">
|
|
<dl class="dl-content">
|
|
<dt>标题名称</dt>
|
|
<dd class="am-nowrap-initial">{{$v.title}}</dd>
|
|
|
|
<dt>商品简述</dt>
|
|
<dd class="am-nowrap-initial">{{$v.simple_desc}}</dd>
|
|
|
|
<dt>销售价格(元)</dt>
|
|
<dd>
|
|
{{$v.price}}
|
|
{{if !empty($v['original_price']) and $v['original_price'] gt 0}}
|
|
<br /><span class="am-badge am-radius">原价 {{$v.original_price}}</span>
|
|
{{/if}}
|
|
</dd>
|
|
|
|
<dt>上下架</dt>
|
|
<dd>{{:lang('common_is_shelves_list')[$v['is_shelves']]['name']}}</dd>
|
|
|
|
<dt>库存数量</dt>
|
|
<dd>{{$v.inventory}} {{$v.inventory_unit}}</dd>
|
|
|
|
<dt>最低起购数量</dt>
|
|
<dd>{{$v.buy_min_number}} {{$v.inventory_unit}}</dd>
|
|
|
|
<dt>单次最大购买数量</dt>
|
|
<dd>{{if $v['buy_max_number'] eq 0}}<span class="cr-ddd">不限</span>{{else /}}{{$v.buy_max_number}} {{$v.inventory_unit}}{{/if}}</dd>
|
|
|
|
<dt>商品型号</dt>
|
|
<dd>{{$v.model}}</dd>
|
|
|
|
<dt>品牌</dt>
|
|
<dd>{{$v.brand_name}}</dd>
|
|
|
|
<dt>生产地</dt>
|
|
<dd>{{$v.place_origin_name}}</dd>
|
|
|
|
<dt>商品分类</dt>
|
|
<dd>{{$v.category_text}}</dd>
|
|
|
|
<dt>购买赠送积分</dt>
|
|
<dd>{{$v.give_integral}}</dd>
|
|
|
|
<dt>扣减库存</dt>
|
|
<dd>{{:lang('common_is_text_list')[$v['is_deduction_inventory']]['name']}}</dd>
|
|
|
|
<dt>访问次数</dt>
|
|
<dd>{{$v.access_count}}</dd>
|
|
|
|
<dt>电脑端详情</dt>
|
|
<dd>
|
|
<div class="am-scrollable-vertical am-nowrap-initial">{{$v.content_web|raw}}</div>
|
|
</dd>
|
|
|
|
<dt>虚拟商品展示数据</dt>
|
|
<dd>
|
|
<div class="am-scrollable-vertical am-nowrap-initial">{{$v.fictitious_goods_value|raw}}</div>
|
|
</dd>
|
|
|
|
<dt>SEO标题</dt>
|
|
<dd>{{$v.seo_title}}</dd>
|
|
|
|
<dt>SEO关键字</dt>
|
|
<dd>{{$v.seo_keywords}}</dd>
|
|
|
|
<dt>SEO描述</dt>
|
|
<dd>{{$v.seo_desc}}</dd>
|
|
|
|
<dt>创建时间</dt>
|
|
<dd>{{$v.add_time}}</dd>
|
|
|
|
<dt>更新时间</dt>
|
|
<dd>{{$v.upd_time}}</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="am-operate-grid">
|
|
<div class="am-scrollable-vertical">
|
|
<a class="am-btn am-btn-secondary am-btn-xs am-radius am-btn-block" href="{{:MyUrl('admin/goods/saveinfo', array_merge($params, ['id'=>$v['id']]))}}">
|
|
<i class="am-icon-edit"></i>
|
|
<span>编辑</span>
|
|
</a>
|
|
<button class="am-btn am-btn-danger am-btn-xs am-radius am-btn-block submit-delete" data-url="{{:MyUrl('admin/goods/delete')}}" data-id="{{$v.id}}">
|
|
<i class="am-icon-trash-o"></i>
|
|
<span>删除</span>
|
|
</button>
|
|
|
|
<!-- 商品列表操作钩子 -->
|
|
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true and (!isset($is_footer) or $is_footer eq 1)}}
|
|
<div class="plugins-tag">
|
|
<span>plugins_view_admin_goods_list_operate</span>
|
|
</div>
|
|
{{/if}}
|
|
{{php}}
|
|
$hook_name = 'plugins_view_admin_goods_list_operate';
|
|
$hook_data = Hook::listen($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>true, 'id'=>$v['id'], '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}}
|
|
{{/if}}
|
|
</tbody>
|
|
</table>
|
|
{{if empty($data_list)}}
|
|
<div class="table-no"><i class="am-icon-warning"></i> 没有相关数据</div>
|
|
{{/if}}
|
|
</div>
|
|
<!-- list end -->
|
|
|
|
<!-- bottom operation start -->
|
|
<div class="am-g am-margin-top-sm">
|
|
<!-- 底部操作钩子 -->
|
|
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true and (!isset($is_footer) or $is_footer eq 1)}}
|
|
<div class="plugins-tag">
|
|
<span>plugins_view_admin_goods_bottom_operate</span>
|
|
</div>
|
|
{{/if}}
|
|
{{php}}
|
|
$hook_name = 'plugins_view_admin_goods_bottom_operate';
|
|
$hook_data = Hook::listen($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>true]);
|
|
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>
|
|
<!-- bottom operation end -->
|
|
|
|
<!-- page start -->
|
|
{{if !empty($data_list)}}
|
|
{{$page_html|raw}}
|
|
{{/if}}
|
|
<!-- page end -->
|
|
</div>
|
|
</div>
|
|
<!-- right content end -->
|
|
|
|
<!-- footer start -->
|
|
{{include file="public/footer" /}}
|
|
<!-- footer end --> |