mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-04-24 18:36:15 +08:00
修改商品管理
This commit is contained in:
parent
f75ba9fe78
commit
7b9055626e
@ -63,13 +63,10 @@ class ShopGoods extends Controller
|
|||||||
*/
|
*/
|
||||||
protected function _page_filter(&$data)
|
protected function _page_filter(&$data)
|
||||||
{
|
{
|
||||||
$query = $this->app->db->name('ShopGoodsCate');
|
$query = $this->app->db->name('ShopGoodsCate')->where(['deleted' => 0, 'status' => 1]);
|
||||||
$query->where(['deleted' => 0, 'status' => 1])->order('sort desc,id desc');
|
$this->clist = DataExtend::arr2table($query->order('sort desc,id desc')->select()->toArray());
|
||||||
$this->clist = DataExtend::arr2table($query->select()->toArray());
|
$clist = $this->app->db->name('ShopGoodsCate')->whereIn('id', array_column($data, 'cate'))->column('pid,name,status', 'id');
|
||||||
foreach ($data as &$vo) {
|
foreach ($data as &$vo) $vo['cate'] = $clist[$vo['cate']] ?? $vo['cate'];
|
||||||
[$vo['list'], $vo['cate']] = [[], []];
|
|
||||||
foreach ($this->clist as $cate) if ($cate['id'] === $vo['cate']) $vo['cate'] = $cate;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -147,21 +144,22 @@ class ShopGoods extends Controller
|
|||||||
$data['code'] = CodeExtend::uniqidNumber(12, 'G');
|
$data['code'] = CodeExtend::uniqidNumber(12, 'G');
|
||||||
}
|
}
|
||||||
if ($this->request->isGet()) {
|
if ($this->request->isGet()) {
|
||||||
// 商品分类数据
|
$this->marks = GoodsService::instance()->getMarkList();
|
||||||
$this->cates = GoodsService::instance()->getCateList('arr2table');
|
$this->cates = GoodsService::instance()->getCateList('arr2table');
|
||||||
// 商品默认规格
|
$data['mark'] = isset($data['mark']) && trim($data['mark'], ',') ? explode(',', trim($data['mark'], ',')) : [];
|
||||||
$fields = 'goods_sku `sku`,goods_code,goods_spec `key`,price_selling `selling`,price_market `market`,number_virtual `virtual`,number_express `express`,status';
|
$fields = 'goods_sku `sku`,goods_code,goods_spec `key`,price_selling `selling`,price_market `market`,number_virtual `virtual`,number_express `express`,status';
|
||||||
$data['data_items'] = json_encode($this->app->db->name('ShopGoodsItem')->where(['goods_code' => $data['code']])->column($fields, 'goods_spec'), JSON_UNESCAPED_UNICODE);
|
$data['data_items'] = json_encode($this->app->db->name('ShopGoodsItem')->where(['goods_code' => $data['code']])->column($fields, 'goods_spec'), JSON_UNESCAPED_UNICODE);
|
||||||
} elseif ($this->request->isPost()) {
|
} elseif ($this->request->isPost()) {
|
||||||
if (empty($data['cover'])) $this->error('商品图片不能为空!');
|
if (empty($data['cover'])) $this->error('商品图片不能为空!');
|
||||||
if (empty($data['slider'])) $this->error('轮播图不能为空!');
|
if (empty($data['slider'])) $this->error('轮播图不能为空!');
|
||||||
// 商品规格保存
|
// 商品规格保存
|
||||||
|
$data['mark'] = ',' . (isset($data['mark']) && is_array($data['mark']) ? join(',', $data['mark']) : '') . ',';
|
||||||
[$count, $items] = [0, json_decode($data['data_items'], true)];
|
[$count, $items] = [0, json_decode($data['data_items'], true)];
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$count += intval($item[0]['status']);
|
$count += intval($item[0]['status']);
|
||||||
if (empty($data['price_market'])) $data['price_market'] = $item[0]['market'];
|
if (empty($data['price_market'])) $data['price_market'] = $item[0]['market'];
|
||||||
}
|
}
|
||||||
if (empty($count)) $this->error('无可用的商品规格!');
|
if (empty($count)) $this->error('无效的的商品价格信息!');
|
||||||
$this->app->db->name('ShopGoodsItem')->where(['goods_code' => $data['code']])->update(['status' => 0]);
|
$this->app->db->name('ShopGoodsItem')->where(['goods_code' => $data['code']])->update(['status' => 0]);
|
||||||
foreach ($items as $item) data_save('ShopGoodsItem', [
|
foreach ($items as $item) data_save('ShopGoodsItem', [
|
||||||
'goods_code' => $data['code'],
|
'goods_code' => $data['code'],
|
||||||
|
@ -70,6 +70,17 @@ class GoodsService extends Service
|
|||||||
return DataExtend::$type($query->withoutField('sort,status,deleted,create_at')->select()->toArray());
|
return DataExtend::$type($query->withoutField('sort,status,deleted,create_at')->select()->toArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取商品标签数据
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getMarkList()
|
||||||
|
{
|
||||||
|
$map = ['status' => 1];
|
||||||
|
$query = $this->app->db->name('ShopGoodsMark');
|
||||||
|
return $query->where($map)->order('sort desc,id desc')->column('name');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 最大分类级别
|
* 最大分类级别
|
||||||
* @return integer
|
* @return integer
|
||||||
|
@ -20,6 +20,17 @@
|
|||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
<div class="layui-form-item relative block">
|
||||||
|
<span class="color-green font-w7 label-required-prev">课程标签</span>
|
||||||
|
<div class="tags-container layui-textarea">
|
||||||
|
{foreach $marks as $mark}{if isset($vo.mark) && is_array($vo.mark) && in_array($mark, $vo.mark)}
|
||||||
|
<label class="think-checkbox notselect"><input checked type="checkbox" name="mark[]" value="{$mark}" lay-ignore> {$mark}</label>
|
||||||
|
{else}
|
||||||
|
<label class="think-checkbox notselect"><input type="checkbox" name="mark[]" value="{$mark}" lay-ignore> {$mark}</label>
|
||||||
|
{/if}{/foreach}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<label class="layui-form-item block relative">
|
<label class="layui-form-item block relative">
|
||||||
<span class="color-green font-w7">商品名称</span>
|
<span class="color-green font-w7">商品名称</span>
|
||||||
<input name="name" required class="layui-input" placeholder="请输入商品名称" value="{$vo.name|default=''}">
|
<input name="name" required class="layui-input" placeholder="请输入商品名称" value="{$vo.name|default=''}">
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
<button data-open='{:url("add")}' class='layui-btn layui-btn-sm layui-btn-primary'>添加商品</button>
|
<button data-open='{:url("add")}' class='layui-btn layui-btn-sm layui-btn-primary'>添加商品</button>
|
||||||
<!--{/if}-->
|
<!--{/if}-->
|
||||||
{if $type eq 'index'}
|
{if $type eq 'index'}
|
||||||
<!--{if auth("state")}-->
|
<!--{if auth("remove")}-->
|
||||||
<button data-action='{:url("state")}' data-rule="code#{key};deleted#1" class='layui-btn layui-btn-sm layui-btn-primary'>删除商品</button>
|
<button data-action='{:url("remove")}' data-rule="code#{key};deleted#1" class='layui-btn layui-btn-sm layui-btn-primary'>删除商品</button>
|
||||||
<!--{/if}-->
|
<!--{/if}-->
|
||||||
{else}
|
{else}
|
||||||
<!--{if auth("state")}-->
|
<!--{if auth("remove")}-->
|
||||||
<button data-action='{:url("state")}' data-rule="code#{key};deleted#0" data-confirm="确定要恢复这些数据吗??" class='layui-btn layui-btn-sm layui-btn-primary'>恢复商品</button>
|
<button data-action='{:url("remove")}' data-rule="code#{key};deleted#0" data-confirm="确定要恢复这些数据吗?" class='layui-btn layui-btn-sm layui-btn-primary'>恢复商品</button>
|
||||||
<!--{/if}-->
|
<!--{/if}-->
|
||||||
{/if}
|
{/if}
|
||||||
{/block}
|
{/block}
|
||||||
@ -23,8 +23,7 @@
|
|||||||
<li data-open="{:url('index')}?type={$k}" class="layui-this">{$v}</li>
|
<li data-open="{:url('index')}?type={$k}" class="layui-this">{$v}</li>
|
||||||
{else}
|
{else}
|
||||||
<li data-open="{:url('index')}?type={$k}">{$v}</li>
|
<li data-open="{:url('index')}?type={$k}">{$v}</li>
|
||||||
{/if}
|
{/if}{/foreach}
|
||||||
{/foreach}
|
|
||||||
</ul>
|
</ul>
|
||||||
<div class="layui-tab-content think-box-shadow table-block">
|
<div class="layui-tab-content think-box-shadow table-block">
|
||||||
{include file='shop_goods/index_search'}
|
{include file='shop_goods/index_search'}
|
||||||
@ -65,7 +64,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class='nowrap'>
|
<td class='nowrap'>
|
||||||
入会礼包:{if empty($vo.vip_mod)}<span class=" color-red">否</span>{else}<span class="color-blue">是</span> [ <span class="color-blue">{$vo.vip_level|default='0'}</span> ]{/if}<br>
|
入会礼包:{if empty($vo.vip_mod)}<span class=" color-red">否</span>{else}<span class="color-blue">是</span> [ <span class="color-blue">{$vo.vip_level|default='0'}</span> ]{/if}<br>
|
||||||
所属分类:{$vo.cate.title|default='--'}<br>
|
所属分类:{$vo.cate.name|default='-'}<br>
|
||||||
</td>
|
</td>
|
||||||
<td class='nowrap'>
|
<td class='nowrap'>
|
||||||
销售状态:{eq name='vo.status' value='0'}<span class="layui-badge">已下架</span>{else}<span class="layui-badge layui-bg-green">销售中</span>{/eq}<br>
|
销售状态:{eq name='vo.status' value='0'}<span class="layui-badge">已下架</span>{else}<span class="layui-badge layui-bg-green">销售中</span>{/eq}<br>
|
||||||
@ -115,7 +114,3 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block name='script'}
|
|
||||||
<script>form.render()</script>
|
|
||||||
{/block}
|
|
@ -38,4 +38,5 @@
|
|||||||
<button class="layui-btn layui-btn-primary"><i class="layui-icon"></i> 搜 索</button>
|
<button class="layui-btn layui-btn-primary"><i class="layui-icon"></i> 搜 索</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
<script>form.render()</script>
|
||||||
</fieldset>
|
</fieldset>
|
Loading…
x
Reference in New Issue
Block a user