修改商品分类管理

This commit is contained in:
Anyon 2020-09-15 16:23:01 +08:00
parent 368dedbc30
commit 194bd33cdc
4 changed files with 25 additions and 10 deletions

View File

@ -5,7 +5,6 @@ namespace app\data\controller;
use app\data\service\GoodsService;
use think\admin\Controller;
use think\admin\extend\CodeExtend;
use think\admin\extend\DataExtend;
/**
* 商品数据管理
@ -20,6 +19,20 @@ class ShopGoods extends Controller
*/
private $table = 'ShopGoods';
/**
* 最大分类级别
* @var integer
*/
protected $cateLevel;
/**
* 控制器初始化
*/
protected function initialize()
{
$this->cateLevel = GoodsService::instance()->getCateLevel();
}
/**
* 商品数据管理
* @auth true
@ -65,8 +78,7 @@ class ShopGoods extends Controller
protected function _page_filter(&$data)
{
$this->marks = GoodsService::instance()->getMarkList();
$query = $this->app->db->name('ShopGoodsCate')->where(['deleted' => 0, 'status' => 1]);
$this->clist = DataExtend::arr2table($query->order('sort desc,id desc')->select()->toArray());
$this->clist = GoodsService::instance()->getCateList('arr2table');
$clist = $this->app->db->name('ShopGoodsCate')->whereIn('id', array_column($data, 'cate'))->column('pid,name,status', 'id');
foreach ($data as &$vo) {
$vo['cate'] = $clist[$vo['cate']] ?? $vo['cate'];

View File

@ -67,7 +67,11 @@ class GoodsService extends Service
{
$map = ['deleted' => 0, 'status' => 1];
$query = $this->app->db->name('ShopGoodsCate')->where($map)->order('sort desc,id desc');
return DataExtend::$type($query->withoutField('sort,status,deleted,create_at')->select()->toArray());
$cates = DataExtend::$type($query->withoutField('sort,status,deleted,create_at')->select()->toArray());
if ($type === 'arr2table') foreach ($cates as &$vo) {
$vo['sat'] = $vo['spt'] !== $this->getCateLevel() - 1 ? 'disabled' : '';
}
return $cates;
}
/**

View File

@ -19,11 +19,10 @@
<span class="color-green font-w7 label-required-prev">所属分类</span>
<span class="color-desc margin-left-5">Category Name</span>
<select class="layui-select" name="cate" lay-search>
{foreach $cates as $cate}
{if isset($vo.cate) and $vo.cate eq $cate.id}
<option selected value="{$cate.id}">{$cate.spl}{$cate.name|default=''}</option>
{foreach $cates as $cate}{if isset($vo.cate) and $vo.cate eq $cate.id}
<option {$cate.sat} disabled selected value="{$cate.id}">{$cate.spl}{$cate.name|default=''}</option>
{else}
<option value="{$cate.id}">{$cate.spl}{$cate.name|default=''}</option>
<option {$cate.sat} disabled value="{$cate.id}">{$cate.spl}{$cate.name|default=''}</option>
{/if}{/foreach}
</select>
</label>

View File

@ -32,9 +32,9 @@
<select class="layui-select" name="cate" lay-search>
<option value="">-- 全部分类 --</option>
{foreach $clist as $cate}{if input('cate','') eq $cate.id}
<option selected value="{$cate.id}">{$cate.spl}{$cate.name}</option>
<option {$cate.sat} selected value="{$cate.id}">{$cate.spl}{$cate.name|default=''}</option>
{else}
<option value="{$cate.id}">{$cate.spl}{$cate.name}</option>
<option {$cate.sat} value="{$cate.id}">{$cate.spl}{$cate.name|default=''}</option>
{/if}{/foreach}
</select>
</div>