mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-01 15:32:48 +08:00
chore: 删除测试代码
This commit is contained in:
@@ -1,104 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\controller\test;
|
||||
|
||||
use app\common\controller\AdminController;
|
||||
use app\admin\service\annotation\ControllerAnnotation;
|
||||
use app\admin\service\annotation\NodeAnotation;
|
||||
use think\App;
|
||||
|
||||
/**
|
||||
* @ControllerAnnotation(title="test_goods")
|
||||
*/
|
||||
class Goods extends AdminController
|
||||
{
|
||||
|
||||
/**
|
||||
* 是否关联查询.
|
||||
* @var bool
|
||||
*/
|
||||
protected $relationSearch = true;
|
||||
|
||||
use \app\admin\traits\Curd;
|
||||
|
||||
public function __construct(App $app)
|
||||
{
|
||||
parent::__construct($app);
|
||||
|
||||
$this->model = new \app\admin\model\TestGoods();
|
||||
|
||||
$this->assign('select_list_status', $this->model::SELECT_LIST_STATUS, true);
|
||||
|
||||
$this->assign('select_list_time_status', $this->model::SELECT_LIST_TIME_STATUS, true);
|
||||
|
||||
$this->assign('select_list_is_recommend', $this->model::SELECT_LIST_IS_RECOMMEND, true);
|
||||
|
||||
$this->assign('select_list_shop_type', $this->model::SELECT_LIST_SHOP_TYPE, true);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @NodeAnotation(title="列表")
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
if ($this->request->isAjax()) {
|
||||
if (input('selectFields')) {
|
||||
return $this->selectList();
|
||||
}
|
||||
list($page, $limit, $where) = $this->buildTableParames();
|
||||
$count = $this->model
|
||||
->withJoin(['mallCate'], 'LEFT')
|
||||
|
||||
->where($where)
|
||||
->count();
|
||||
$list = $this->model
|
||||
->withJoin(['mallCate'], 'LEFT')
|
||||
|
||||
->where($where)
|
||||
->page($page, $limit)
|
||||
->order($this->sort)
|
||||
->select();
|
||||
$data = [
|
||||
'code' => 0,
|
||||
'msg' => '',
|
||||
'count' => $count,
|
||||
'data' => $list,
|
||||
];
|
||||
return json($data);
|
||||
}
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @NodeAnotation(title="导出")
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
list($page, $limit, $where) = $this->buildTableParames();
|
||||
|
||||
|
||||
$this->model = $this->model->withJoin(['mallCate'], 'LEFT');
|
||||
|
||||
$fields = $this->request->param('fields', '{}', null);
|
||||
$image_fields = $this->request->param('image_fields', '{}', null);
|
||||
$select_fields = $this->request->param('select_fields', '{}', null);
|
||||
$date_fields = $this->request->param('date_fields', '{}', null);
|
||||
|
||||
$fields = json_decode($fields, true);
|
||||
$image_fields = json_decode($image_fields, true);
|
||||
$select_fields = json_decode($select_fields, true);
|
||||
$date_fields = json_decode($date_fields, true);
|
||||
|
||||
$content = \app\common\tools\ExportTools::excel($this->model, $where, $fields, $image_fields, $select_fields, $date_fields);
|
||||
|
||||
$export_file_name = $this->exportFileName;
|
||||
|
||||
if (empty($export_file_name)) {
|
||||
$export_file_name = $this->model->getName();
|
||||
}
|
||||
|
||||
return download($content, $export_file_name . date('YmdHis') . '.xlsx', true);
|
||||
@@ -1,96 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\model;
|
||||
|
||||
use app\common\model\TimeModel;
|
||||
|
||||
/**
|
||||
* @property int $id id
|
||||
* @property \app\admin\model\MallCate $mallCate 分类ID
|
||||
* @property string $title 商品名称
|
||||
* @property string $logo 商品logo
|
||||
* @property string $images 商品图片
|
||||
* @property string $describe 商品描述
|
||||
* @property int $total_stock 总库存
|
||||
* @property int $sort 排序
|
||||
* @property int $status 状态 0:正常,1:禁用
|
||||
* @property string $cert_file 合格证
|
||||
* @property string $verfiy_file 检测报告
|
||||
* @property string $remark 备注说明
|
||||
* @property int $create_time create_time
|
||||
* @property string $publish_time 发布日期
|
||||
* @property string $sale_time 售卖日期
|
||||
* @property string $intro 简介
|
||||
* @property int $time_status 秒杀状态 0:未参加,1:已开始,3:已结束
|
||||
* @property int $is_recommend 是否推荐 0:不推荐,1:推荐
|
||||
* @property string $shop_type 商品类型 taobao:淘宝,jd:京东
|
||||
* @property string $tag 商品标签
|
||||
* @property string $tag_backup 商品标签(单选)
|
||||
* @property string $from_area 产地
|
||||
* @property string $store_city 仓库
|
||||
* @property string $tag_input 商品标签 (输入)
|
||||
* @property string $uid 唯一id
|
||||
* @property float|double $price 价格
|
||||
* @property string $detail 详情
|
||||
*/
|
||||
class TestGoods extends TimeModel
|
||||
{
|
||||
|
||||
protected $name = "test_goods";
|
||||
|
||||
protected $deleteTime = "delete_time";
|
||||
|
||||
|
||||
public const SELECT_LIST_STATUS = ['0' => '正常', '1' => '禁用'];
|
||||
|
||||
public const SELECT_LIST_TIME_STATUS = ['0' => '未参加', '1' => '已开始', '3' => '已结束'];
|
||||
|
||||
public const SELECT_LIST_IS_RECOMMEND = ['0' => '不推荐', '1' => '推荐'];
|
||||
|
||||
public const SELECT_LIST_SHOP_TYPE = ['taobao' => '淘宝', 'jd' => '京东'];
|
||||
|
||||
/**
|
||||
* 商品图片获取器
|
||||
* @param $value
|
||||
* @return array
|
||||
*/
|
||||
public function getImagesListAttr($value, $data)
|
||||
{
|
||||
if (empty($data['images'])) {
|
||||
return [];
|
||||
}
|
||||
return explode('|', $data['images']);
|
||||
}
|
||||
/**
|
||||
* 检测报告获取器
|
||||
* @param $value
|
||||
* @return array
|
||||
*/
|
||||
public function getVerfiyFileListAttr($value, $data)
|
||||
{
|
||||
if (empty($data['verfiy_file'])) {
|
||||
return [];
|
||||
}
|
||||
return explode('|', $data['verfiy_file']);
|
||||
}
|
||||
/**
|
||||
* 商品类型获取器
|
||||
* @param $value
|
||||
* @return array
|
||||
*/
|
||||
public function getShopTypeListAttr($value, $data)
|
||||
{
|
||||
if (empty($data['shop_type'])) {
|
||||
return [];
|
||||
}
|
||||
return explode(',', $data['shop_type']);
|
||||
}
|
||||
|
||||
|
||||
public function mallCate()
|
||||
{
|
||||
return $this->belongsTo('\app\admin\model\MallCate', 'cate_id', 'id');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
var init = {
|
||||
tableElem: '#currentTable',
|
||||
tableRenderId: 'currentTableRenderId',
|
||||
indexUrl: 'test.goods/index',
|
||||
addUrl: 'test.goods/add' + location.search,
|
||||
editUrl: 'test.goods/edit',
|
||||
readUrl: 'test.goods/read',
|
||||
deleteUrl: 'test.goods/delete',
|
||||
exportUrl: 'test.goods/export',
|
||||
modifyUrl: 'test.goods/modify',
|
||||
};
|
||||
@@ -1,200 +0,0 @@
|
||||
<div class="layuimini-container">
|
||||
<form id="app-form" class="layui-form layuimini-form">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分类ID</label>
|
||||
<div class="layui-input-block">
|
||||
<div data-toggle="table-data" data-index="{:__url('mall.cate/index')}" data-select-type="radio" data-select-value="{$Request.param.cate_id|default='0'}" data-value-field="id" data-name="cate_id" data-field-name="title" data-required="1">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="title" class="layui-input" lay-verify="required" placeholder="请输入商品名称" value="{$Request.param.title|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品logo</label>
|
||||
<div class="layui-input-block layuimini-upload">
|
||||
<input name="logo" class="layui-input layui-col-xs6" lay-verify="required" placeholder="请上传商品logo" value="{$Request.param.logo|default=''}">
|
||||
<div class="layuimini-upload-btn">
|
||||
<span><a class="layui-btn" data-upload="logo" data-upload-number="one" data-upload-exts="*image" data-upload-icon="image"><i class="fa fa-upload"></i> 上传</a></span>
|
||||
<span><a class="layui-btn layui-btn-normal" id="select_logo" data-upload-select="logo" data-upload-number="one" data-upload-mimetype="image/*"><i class="fa fa-list"></i> 选择</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品图片</label>
|
||||
<div class="layui-input-block layuimini-upload">
|
||||
<input name="images" class="layui-input layui-col-xs6" lay-verify="required" placeholder="请上传商品图片" value="{$Request.param.images|default=''}">
|
||||
<div class="layuimini-upload-btn">
|
||||
<span><a class="layui-btn" data-upload="images" data-upload-number="more" data-upload-exts="*image" data-upload-icon="image" data-upload-sign="|"><i class="fa fa-upload"></i> 上传</a></span>
|
||||
<span><a class="layui-btn layui-btn-normal" id="select_images" data-upload-select="images" data-upload-number="more" data-upload-mimetype="image/*" data-upload-sign="|"><i class="fa fa-list"></i> 选择</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品描述</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="describe" rows="20" class="layui-textarea editor" placeholder="请输入商品描述">{$Request.param.describe|default=''}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">总库存</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="total_stock" class="layui-input" lay-verify="required" placeholder="请输入总库存" value="{$Request.param.total_stock|default='0'}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="sort" class="layui-input" lay-verify="required" placeholder="请输入排序" value="{$Request.param.sort|default='0'}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">状态</label>
|
||||
<div class="layui-input-block">
|
||||
{foreach $select_list_status as $k=>$v}
|
||||
<input type="radio" name="status" value="{$k}" title="{$v}" {in name="k" value="$Request.param.status"}checked=""{/in}>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">合格证</label>
|
||||
<div class="layui-input-block layuimini-upload">
|
||||
<input name="cert_file" class="layui-input layui-col-xs6" lay-verify="required" placeholder="请上传合格证" value="{$Request.param.cert_file|default=''}">
|
||||
<div class="layuimini-upload-btn">
|
||||
<span><a class="layui-btn" data-upload="cert_file" data-upload-number="one" data-upload-exts="zip" data-upload-icon="file" data-upload-disable-preview="0"><i class="fa fa-upload"></i> 上传</a></span>
|
||||
<span><a class="layui-btn layui-btn-normal" id="select_cert_file" data-upload-select="cert_file" data-upload-number="one" data-upload-mimetype="*"><i class="fa fa-list"></i> 选择</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">检测报告</label>
|
||||
<div class="layui-input-block layuimini-upload">
|
||||
<input name="verfiy_file" class="layui-input layui-col-xs6" lay-verify="required" placeholder="请上传检测报告" value="{$Request.param.verfiy_file|default=''}">
|
||||
<div class="layuimini-upload-btn">
|
||||
<span><a class="layui-btn" data-upload="verfiy_file" data-upload-number="more" data-upload-exts="zip" data-upload-icon="file" data-upload-disable-preview="0"><i class="fa fa-upload" data-upload-sign="|" ></i> 上传</a></span>
|
||||
<span><a class="layui-btn layui-btn-normal" id="select_verfiy_file" data-upload-select="verfiy_file" data-upload-number="more" data-upload-mimetype="*" data-upload-sign="|"><i class="fa fa-list"></i> 选择</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">备注说明</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="remark" class="layui-textarea" lay-verify="required" placeholder="请输入备注说明">{$Request.param.remark|default=''}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布日期</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="publish_time" data-date="" data-date-type="date" class="layui-input" lay-verify="required" placeholder="请输入发布日期" value="{$Request.param.publish_time|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">售卖日期</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="sale_time" data-date="" data-date-type="datetime" class="layui-input" lay-verify="required" placeholder="请输入售卖日期" value="{$Request.param.sale_time|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="intro" class="layui-textarea" lay-verify="required" placeholder="请输入简介">{$Request.param.intro|default=''}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">秒杀状态</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="time_status" lay-verify="required">
|
||||
<option value=''></option>
|
||||
{foreach $select_list_time_status as $k=>$v}
|
||||
<option value='{$k}' {in name="k" value="$Request.param.time_status"}selected=""{/in}>{$v}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">是否推荐</label>
|
||||
<div class="layui-input-block">
|
||||
{foreach $select_list_is_recommend as $k=>$v}
|
||||
<input type="radio" name="is_recommend" value="{$k}" title="{$v}" {in name="k" value="$Request.param.is_recommend"}checked=""{/in}>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品类型</label>
|
||||
<div class="layui-input-block">
|
||||
{foreach $select_list_shop_type as $k=>$v}
|
||||
<input type="checkbox" name="shop_type[]" value="{$k}" lay-skin="primary" title="{$v}" {in name="k" value="$Request.param.shop_type"}checked=""{/in}>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品标签</label>
|
||||
<div class="layui-input-block">
|
||||
<div data-toggle="table-data" data-index="{:__url('mall.tag/index')}" data-select-type="checkbox" data-select-value="{$Request.param.tag|default=''}" data-value-field="id" data-name="tag" data-field-name="title" data-required="1">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品标签(单选)</label>
|
||||
<div class="layui-input-block">
|
||||
<div data-toggle="table-data" data-index="{:__url('mall.tag/index')}" data-select-type="radio" data-select-value="{$Request.param.tag_backup|default=''}" data-value-field="id" data-name="tag_backup" data-field-name="title" data-required="">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">产地</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" name="from_area" data-toggle="city-picker" lay-verify="required" value="{$Request.param.from_area|default=''}" type="text" data-level="" readonly data-field-code="0" data-field-name-province="0" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">仓库</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" name="store_city" data-toggle="city-picker" lay-verify="required" value="{$Request.param.store_city|default='山东省/临沂市'}" type="text" data-level="city" readonly >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品标签 (输入)</label>
|
||||
<div class="layui-input-block">
|
||||
<div data-toggle="tag-input" data-name="tag_input" data-value="{$Request.param.tag_input|default=''}" data-required="1"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">唯一id</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="uid" class="layui-input" lay-verify="required" placeholder="请输入唯一id" value="{$Request.param.uid|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">价格</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="price" class="layui-input" placeholder="请输入价格" value="{$Request.param.price|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">详情</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="detail" class="layui-input" placeholder="请输入详情" value="{$Request.param.detail|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="hr-line"></div>
|
||||
<div class="layui-form-item text-center">
|
||||
{notempty name='$Request.param.backTagId'}
|
||||
<div class="layui-btn layui-btn-sm page-back-button" layuimini-content-href="{$Request.param.backTagId}" data-back="1">返回</div>
|
||||
{/notempty}
|
||||
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit>确认</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">重置</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
@@ -1,3 +0,0 @@
|
||||
$(function(){
|
||||
ua.listen();
|
||||
})
|
||||
@@ -1,200 +0,0 @@
|
||||
<div class="layuimini-container">
|
||||
<form id="app-form" class="layui-form layuimini-form">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分类ID</label>
|
||||
<div class="layui-input-block">
|
||||
<div data-toggle="table-data" data-index="{:__url('mall.cate/index')}" data-select-type="radio" data-select-value="{$row.cate_id|default=''}" data-value-field="id" data-name="cate_id" data-field-name="title" data-required="1">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="title" class="layui-input" lay-verify="required" placeholder="请输入商品名称" value="{$row.title|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品logo</label>
|
||||
<div class="layui-input-block layuimini-upload">
|
||||
<input name="logo" class="layui-input layui-col-xs6" lay-verify="required" placeholder="请上传商品logo" value="{$row.logo|default=''}">
|
||||
<div class="layuimini-upload-btn">
|
||||
<span><a class="layui-btn" data-upload="logo" data-upload-number="one" data-upload-exts="*image" data-upload-icon="image"><i class="fa fa-upload"></i> 上传</a></span>
|
||||
<span><a class="layui-btn layui-btn-normal" id="select_logo" data-upload-select="logo" data-upload-number="one" data-upload-mimetype="image/*"><i class="fa fa-list"></i> 选择</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品图片</label>
|
||||
<div class="layui-input-block layuimini-upload">
|
||||
<input name="images" class="layui-input layui-col-xs6" lay-verify="required" placeholder="请上传商品图片" value="{$row.images|default=''}">
|
||||
<div class="layuimini-upload-btn">
|
||||
<span><a class="layui-btn" data-upload="images" data-upload-number="more" data-upload-exts="*image" data-upload-icon="image" data-upload-sign=""><i class="fa fa-upload"></i> 上传</a></span>
|
||||
<span><a class="layui-btn layui-btn-normal" id="select_images" data-upload-select="images" data-upload-number="more" data-upload-mimetype="image/*" data-upload-sign=""><i class="fa fa-list"></i> 选择</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品描述</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="describe" rows="20" class="layui-textarea editor" placeholder="请输入商品描述">{$row.describe|raw|default=''}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">总库存</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="total_stock" class="layui-input" lay-verify="required" placeholder="请输入总库存" value="{$row.total_stock|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="sort" class="layui-input" lay-verify="required" placeholder="请输入排序" value="{$row.sort|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">状态</label>
|
||||
<div class="layui-input-block">
|
||||
{foreach $select_list_status as $k=>$v}
|
||||
<input type="radio" name="status" value="{$k}" title="{$v}" {in name="k" value="$row.status"}checked=""{/in}>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">合格证</label>
|
||||
<div class="layui-input-block layuimini-upload">
|
||||
<input name="cert_file" class="layui-input layui-col-xs6" lay-verify="required" placeholder="请上传合格证" value="{$row.cert_file|default=''}">
|
||||
<div class="layuimini-upload-btn">
|
||||
<span><a class="layui-btn" data-upload="cert_file" data-upload-number="one" data-upload-exts="zip" data-upload-icon="file" data-upload-disable-preview="0"><i class="fa fa-upload"></i> 上传</a></span>
|
||||
<span><a class="layui-btn layui-btn-normal" id="select_cert_file" data-upload-select="cert_file" data-upload-number="one" data-upload-mimetype="*"><i class="fa fa-list"></i> 选择</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">检测报告</label>
|
||||
<div class="layui-input-block layuimini-upload">
|
||||
<input name="verfiy_file" class="layui-input layui-col-xs6" lay-verify="required" placeholder="请上传检测报告" value="{$row.verfiy_file|default=''}">
|
||||
<div class="layuimini-upload-btn">
|
||||
<span><a class="layui-btn" data-upload="verfiy_file" data-upload-number="more" data-upload-exts="zip" data-upload-icon="file" data-upload-disable-preview="0"><i class="fa fa-upload" data-upload-sign="" ></i> 上传</a></span>
|
||||
<span><a class="layui-btn layui-btn-normal" id="select_verfiy_file" data-upload-select="verfiy_file" data-upload-number="more" data-upload-mimetype="*" data-upload-sign=""><i class="fa fa-list"></i> 选择</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">备注说明</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="remark" class="layui-textarea" lay-verify="required" placeholder="请输入备注说明">{$row.remark|raw|default=''}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布日期</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="publish_time" data-date="" data-date-type="date" class="layui-input" lay-verify="required" placeholder="请输入发布日期" value="{$row.publish_time|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">售卖日期</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="sale_time" data-date="" data-date-type="datetime" class="layui-input" lay-verify="required" placeholder="请输入售卖日期" value="{$row.sale_time|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="intro" class="layui-textarea" lay-verify="required" placeholder="请输入简介">{$row.intro|raw|default=''}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">秒杀状态</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="time_status" lay-verify="required">
|
||||
<option value=''></option>
|
||||
{foreach $select_list_time_status as $k=>$v}
|
||||
<option value='{$k}' {in name="k" value="$row.time_status"}selected=""{/in}>{$v}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">是否推荐</label>
|
||||
<div class="layui-input-block">
|
||||
{foreach $select_list_is_recommend as $k=>$v}
|
||||
<input type="radio" name="is_recommend" value="{$k}" title="{$v}" {in name="k" value="$row.is_recommend"}checked=""{/in}>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品类型</label>
|
||||
<div class="layui-input-block">
|
||||
{foreach $select_list_shop_type as $k=>$v}
|
||||
<input type="checkbox" name="shop_type[]" value="{$k}" lay-skin="primary" title="{$v}" {in name="k" value="$row.shop_type"}checked=""{/in}>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品标签</label>
|
||||
<div class="layui-input-block">
|
||||
<div data-toggle="table-data" data-index="{:__url('mall.tag/index')}" data-select-type="checkbox" data-select-value="{$row.tag|default=''}" data-value-field="id" data-name="tag" data-field-name="title" data-required="1">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品标签(单选)</label>
|
||||
<div class="layui-input-block">
|
||||
<div data-toggle="table-data" data-index="{:__url('mall.tag/index')}" data-select-type="radio" data-select-value="{$row.tag_backup|default=''}" data-value-field="id" data-name="tag_backup" data-field-name="title" data-required="">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">产地</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" name="from_area" data-toggle="city-picker" lay-verify="required" value="{$row.from_area|default=''}" type="text" data-level="" readonly data-field-code="0" data-field-name-province="0" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">仓库</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" name="store_city" data-toggle="city-picker" lay-verify="required" value="{$row.store_city|default=''}" type="text" data-level="city" readonly >
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">商品标签 (输入)</label>
|
||||
<div class="layui-input-block">
|
||||
<div data-toggle="tag-input" data-name="tag_input" data-value="{$row.tag_input|default=''}" data-required="1"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">唯一id</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="uid" class="layui-input" lay-verify="required" placeholder="请输入唯一id" value="{$row.uid|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">价格</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="price" class="layui-input" placeholder="请输入价格" value="{$row.price|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">详情</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="detail" class="layui-input" placeholder="请输入详情" value="{$row.detail|default=''}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="hr-line"></div>
|
||||
<div class="layui-form-item text-center">
|
||||
{notempty name='$Request.param.backTagId'}
|
||||
<div class="layui-btn layui-btn-sm page-back-button" layuimini-content-href="{$Request.param.backTagId}" data-back="1">返回</div>
|
||||
{/notempty}
|
||||
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit>确认</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">重置</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
@@ -1,3 +0,0 @@
|
||||
$(function(){
|
||||
ua.listen();
|
||||
})
|
||||
@@ -1,13 +0,0 @@
|
||||
<div class="layuimini-container">
|
||||
<div class="layuimini-main">
|
||||
<table id="currentTable" class="layui-table layui-hide"
|
||||
data-auth-index="{:auth('test.goods/index')}"
|
||||
data-auth-add="{:auth('test.goods/add')}"
|
||||
data-auth-edit="{:auth('test.goods/edit')}"
|
||||
data-auth-delete="{:auth('test.goods/delete')}"
|
||||
data-auth-export="{:auth('test.goods/export')}"
|
||||
data-auth-modify="{:auth('test.goods/modify')}"
|
||||
lay-filter="currentTable">
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,26 +0,0 @@
|
||||
$(function(){
|
||||
ua.table.render({
|
||||
init: init,
|
||||
cols: [[
|
||||
{type: 'checkbox'},
|
||||
{field: 'id', title: 'id'},
|
||||
{field: 'cate_id', title: '分类ID'},
|
||||
{field: 'title', title: '商品名称'},
|
||||
{field: 'logo', title: '商品logo', templet: ua.table.image},
|
||||
{field: 'total_stock', title: '总库存'},
|
||||
{field: 'sort', title: '排序', edit: 'text'},
|
||||
{field: 'status', search: 'select', selectList: ua.getDataBrage('select_list_status'), title: '状态', templet: ua.table.switch},
|
||||
{field: 'cert_file', title: '合格证', templet: ua.table.url},
|
||||
{field: 'remark', title: '备注说明', templet: ua.table.text},
|
||||
{field: 'create_time', title: 'create_time'},
|
||||
{field: 'publish_time', title: '发布日期'},
|
||||
{field: 'sale_time', title: '售卖日期'},
|
||||
{field: 'intro', title: '简介'},
|
||||
{field: 'time_status', search: 'select', selectList: ua.getDataBrage('select_list_time_status'), title: '秒杀状态'},
|
||||
{field: 'is_recommend', search: 'select', selectList: ua.getDataBrage('select_list_is_recommend'), title: '是否推荐'},
|
||||
{field: 'shop_type', search: 'select', selectList: ua.getDataBrage('select_list_shop_type'), title: '商品类型'},
|
||||
{field: 'from_area', title: '产地'},
|
||||
{field: 'store_city', title: '仓库'},
|
||||
{field: 'tag_input', title: '商品标签 (输入)'},
|
||||
{field: 'uid', title: '唯一id'},
|
||||
{field: 'price', title: '价格'},
|
||||
@@ -1,295 +0,0 @@
|
||||
<div class="layuimini-container detail-container">
|
||||
<div class="layuimini-main">
|
||||
<div class="layui-card detail-card">
|
||||
<div class="layui-card-header detail-header">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-md9">
|
||||
<h2 class="detail-title">#{$row.id} {$title}</h2>
|
||||
<div class="detail-id">ID: {$row.id}</div>
|
||||
</div>
|
||||
<div class="layui-col-md3 text-right detail-actions">
|
||||
<button class="layui-btn layui-btn-primary" layuimini-content-href="{$Request.param.backTagId}" data-back="1">返回</button>
|
||||
<button class="layui-btn" onclick="location.href='{:url("edit", ["id" => $row.id])}'">编辑</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card-body detail-content">
|
||||
<div class="layui-row layui-col-space12">
|
||||
<!-- 左侧主体内容 -->
|
||||
<div class="layui-col-md8 detail-main">
|
||||
<div class="detail-field-group">
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">分类ID</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.cate_id"}
|
||||
{$row.cate_id}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">商品名称</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.title"}
|
||||
{$row.title}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">商品logo</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.logo"}
|
||||
<img src="{$row.logo}" class="detail-image" style="max-width: 300px; max-height: 300px; border-radius: 4px; cursor: pointer;" onclick="layer.photos({photos: {data: [{src: this.src}]}, anim: 5})">
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无图片</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">商品图片</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.images_list"}
|
||||
{volist name="row.images_list" id="img"}
|
||||
<img src="{$img}" class="detail-image" style="max-width: 150px; max-height: 150px; margin-right: 10px; margin-bottom: 10px; border-radius: 4px; cursor: pointer;" onclick="layer.photos({photos: {data: {volist name='row.images_list' id='imgItem'}[{src: '{$imgItem}'}{notlast},{/notlast}]{/volist}}, start: {$key}}, anim: 5})">
|
||||
{/volist}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无图片</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item detail-field-full">
|
||||
<div class="detail-field-label">商品描述</div>
|
||||
<div class="detail-field-value detail-editor-content">
|
||||
{notempty name="row.describe"}
|
||||
{$row.describe|raw}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无内容</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">总库存</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.total_stock"}
|
||||
{$row.total_stock}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">合格证</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.cert_file"}
|
||||
<a href="{$row.cert_file}" target="_blank" class="layui-btn layui-btn-xs layui-btn-normal">
|
||||
<i class="layui-icon layui-icon-download-circle"></i> 下载文件
|
||||
</a>
|
||||
<div style="margin-top: 5px; color: #999; font-size: 12px;">{$row.cert_file}</div>
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无文件</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">检测报告</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.verfiy_file_list"}
|
||||
{volist name="row.verfiy_file_list" id="file"}
|
||||
<div style="margin-bottom: 8px;">
|
||||
<a href="{$file}" target="_blank" class="layui-btn layui-btn-xs layui-btn-normal">
|
||||
<i class="layui-icon layui-icon-download-circle"></i> 文件 {$key + 1}
|
||||
</a>
|
||||
<span style="margin-left: 10px; color: #999; font-size: 12px;">{$file}</span>
|
||||
</div>
|
||||
{/volist}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无文件</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">备注说明</div>
|
||||
<div class="detail-field-value" style="white-space: pre-wrap;">
|
||||
{notempty name="row.remark"}
|
||||
{$row.remark|raw}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无内容</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">发布日期</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.publish_time"}
|
||||
{$row.publish_time|date="Y-m-d H:i:s"}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">售卖日期</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.sale_time"}
|
||||
{$row.sale_time|date="Y-m-d H:i:s"}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">简介</div>
|
||||
<div class="detail-field-value" style="white-space: pre-wrap;">
|
||||
{notempty name="row.intro"}
|
||||
{$row.intro|raw}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无内容</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">秒杀状态</div>
|
||||
<div class="detail-field-value">
|
||||
{$select_list_time_status[$row.time_status]|default=''}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">是否推荐</div>
|
||||
<div class="detail-field-value">
|
||||
<span class="layui-badge">{$select_list_is_recommend[$row.is_recommend]|default=''}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">商品类型</div>
|
||||
<div class="detail-field-value">
|
||||
{volist name="row.shop_type_list" id="item"}<span class="layui-badge layui-badge-rim" style="margin-right: 5px;">{$select_list_shop_type[$item]|default=''}</span>{/volist}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">商品标签</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.tag"}
|
||||
{$row.tag}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">商品标签(单选)</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.tag_backup"}
|
||||
{$row.tag_backup}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">产地</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.from_area"}
|
||||
{$row.from_area}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">仓库</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.store_city"}
|
||||
{$row.store_city}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">商品标签 (输入)</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.tag_input"}
|
||||
{$row.tag_input}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">唯一id</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.uid"}
|
||||
{$row.uid}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">价格</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.price"}
|
||||
{$row.price}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">详情</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.detail"}
|
||||
{$row.detail}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- 右侧基础信息 -->
|
||||
<div class="layui-col-md4 detail-side">
|
||||
<h3 class="detail-side-title">基础信息</h3>
|
||||
<div class="detail-field-group">
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">ID</div>
|
||||
<div class="detail-field-value">{$row.id}</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">排序</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.sort"}
|
||||
{$row.sort}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">状态</div>
|
||||
<div class="detail-field-value">
|
||||
<span class="layui-badge">{$select_list_status[$row.status]|default=''}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail-field-item">
|
||||
<div class="detail-field-label">create_time</div>
|
||||
<div class="detail-field-value">
|
||||
{notempty name="row.create_time"}
|
||||
{$row.create_time}
|
||||
{else/}
|
||||
<span class="layui-text-em">暂无数据</span>
|
||||
{/notempty}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,22 +0,0 @@
|
||||
$(function(){
|
||||
// 删除数据
|
||||
window.deleteData = function(id) {
|
||||
layer.confirm('确定要删除这条数据吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
$.post('{{:url("delete")}}', {id: id}, function(res) {
|
||||
if (res.code == 0) {
|
||||
layer.msg('删除成功', {icon: 1}, function() {
|
||||
location.href = '{{:url("index")}}';
|
||||
});
|
||||
} else {
|
||||
layer.msg(res.msg, {icon: 2});
|
||||
}
|
||||
}, 'json');
|
||||
layer.close(index);
|
||||
});
|
||||
};
|
||||
|
||||
ua.listen();
|
||||
})
|
||||
Reference in New Issue
Block a user