mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-04-06 03:58:04 +08:00
修改商品模板
This commit is contained in:
parent
c4637971bd
commit
d17af7c3d1
@ -154,31 +154,37 @@ class ShopGoods extends Controller
|
||||
}
|
||||
if ($this->request->isGet()) {
|
||||
$data['mark'] = str2arr($data['mark'] ?? '');
|
||||
[$this->marks, $this->cates] = [GoodsService::instance()->getMarkList(), GoodsService::instance()->getCateList('arr2table')];
|
||||
$this->marks = GoodsService::instance()->getMarkList();
|
||||
$this->cates = GoodsService::instance()->getCateList('arr2table');
|
||||
$this->levels = $this->app->db->name('DataUserLevel')->where(['status' => 1])->order('number asc,id desc')->select()->toArray();
|
||||
$this->discounts = $this->app->db->name('DataUserDiscount')->where(['status' => 1, 'deleted' => 0])->order('sort desc,id desc')->select()->toArray();
|
||||
$this->truckitems = $this->app->db->name('ShopTruckTemplate')->where(['status' => 1, 'deleted' => 0])->order('sort desc,id desc')->column('code,name');
|
||||
// 商品规格处理
|
||||
$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['truck_items'] = $this->app->db->name('ShopTruckTemplate')->where(['status' => 1, 'deleted' => 0])->order('sort desc,id desc')->column('code,name');
|
||||
} elseif ($this->request->isPost()) {
|
||||
if (empty($data['cover'])) $this->error('商品图片不能为空!');
|
||||
if (empty($data['slider'])) $this->error('轮播图不能为空!');
|
||||
// 商品规格保存
|
||||
$data['mark'] = arr2str($data['mark'] ?? []);
|
||||
[$count, $items] = [0, array_column(json_decode($data['data_items'], true), 0)];
|
||||
foreach ($items as $item) $count += intval($item['status']);
|
||||
if (empty($count)) $this->error('无效的的商品价格信息!');
|
||||
$data['mark'] = arr2str($data['mark'] ?? []);
|
||||
if (empty($data['price_market'])) $data['price_market'] = min(array_column($items, 'market'));
|
||||
if (empty($data['price_selling'])) $data['price_selling'] = min(array_column($items, 'selling'));
|
||||
$this->app->db->name('ShopGoodsItem')->where(['goods_code' => $data['code']])->update(['status' => 0]);
|
||||
foreach ($items as $item) data_save('ShopGoodsItem', [
|
||||
'goods_code' => $data['code'],
|
||||
'goods_sku' => $item['sku'],
|
||||
'goods_spec' => $item['key'],
|
||||
'goods_code' => $data['code'],
|
||||
'price_market' => $item['market'],
|
||||
'price_selling' => $item['selling'],
|
||||
'number_virtual' => $item['virtual'],
|
||||
'number_express' => $item['express'],
|
||||
'status' => $item['status'] ? 1 : 0,
|
||||
], 'goods_spec', ['goods_code' => $data['code']]);
|
||||
], 'goods_spec', [
|
||||
'goods_code' => $data['code'],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -38,18 +38,20 @@
|
||||
<input name="name" required class="layui-input" placeholder="请输入商品名称" value="{$vo.name|default=''}">
|
||||
</label>
|
||||
|
||||
{notempty name='truckitems'}
|
||||
<label class="layui-form-item block relative">
|
||||
<span class="color-green font-w7 label-required-prev">邮费模板</span>
|
||||
<span class="color-desc margin-left-5">Truck Template</span>
|
||||
<select class="layui-select" name="truck_tcode" lay-search>
|
||||
<option value="">--- 包 邮 ---</option>
|
||||
{foreach $vo.truck_items as $truck}{if isset($vo.truck_tcode) and $vo.truck_tcode eq $truck.code}
|
||||
{foreach $truckitems as $truck}{if isset($vo.truck_tcode) and $vo.truck_tcode eq $truck.code}
|
||||
<option selected value="{$truck.code}">{$truck.code} - {$truck.name|default=''}</option>
|
||||
{else}
|
||||
<option value="{$truck.code}">{$truck.code} - {$truck.name|default=''}</option>
|
||||
{/if}{/foreach}
|
||||
</select>
|
||||
</label>
|
||||
{/notempty}
|
||||
|
||||
<div class="layui-form-item">
|
||||
<span class="color-green font-w7 label-required-prev">商品图片及轮播展示图片</span>
|
||||
@ -77,8 +79,10 @@
|
||||
<span class="color-green font-w7 label-required-prev">商品规格及商品SKU绑定<span class="color-red font-s12">(规格填写后不允许再次修改)</span></span>
|
||||
<div ng-repeat="x in specs track by $index" style="display:none" class="margin-bottom-10" ng-class="{true:'layui-show'}[mode==='add'&&specs.length>0]">
|
||||
<div class="goods-spec-box padding-10 margin-0 relative" style="background:#ddd">
|
||||
<span class="text-center goods-spec-title">分组</span>
|
||||
<label class="label-required-null inline-block"><input ng-blur="x.name=trimSpace(x.name)" ng-model="x.name" required placeholder="请输入分组名称"></label>
|
||||
<span class="text-center goods-spec-name">分组</span>
|
||||
<label class="label-required-null inline-block">
|
||||
<input ng-blur="x.name=trimSpace(x.name)" ng-model="x.name" required placeholder="请输入分组名称">
|
||||
</label>
|
||||
<div class="pull-right">
|
||||
<a class="layui-btn layui-btn-sm layui-btn-primary goods-spec-btn" ng-click="addSpecVal(x.list)">增加</a>
|
||||
<a class="layui-btn layui-btn-sm layui-btn-primary goods-spec-btn" ng-class="{false:'layui-bg-gray'}[$index>0]" ng-click="upSpecRow(specs,$index)">上移</a>
|
||||
|
@ -20,7 +20,7 @@
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.goods-spec-title {
|
||||
.goods-spec-name {
|
||||
z-index: 2;
|
||||
width: 40px;
|
||||
color: #fff;
|
||||
|
@ -50,9 +50,9 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>form.render()</script>
|
||||
</form>
|
||||
|
||||
<script>layui.form.render()</script>
|
||||
<style>
|
||||
.think-level-box tr input {
|
||||
width: 90%;
|
||||
|
@ -6,23 +6,24 @@
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("sync")}-->
|
||||
<button data-queue="{:url('sync')}" data-confirm="确定要刷新用户数据数据吗?" class='layui-btn layui-btn-sm layui-btn-primary'>刷新用户数据</button>
|
||||
<button data-queue="{:url('sync')}" data-confirm="确定要刷新用户数据吗?" class='layui-btn layui-btn-sm layui-btn-primary'>刷新用户数据</button>
|
||||
<!--{/if}-->
|
||||
{/block}
|
||||
|
||||
{block name='content'}
|
||||
<div class="layui-badge think-bg-red text-left padding-10 border-radius-5 padding-left-20 font-s15 block shadow">
|
||||
注意,用户级别配置不能随意修改或删除,会影响系统结算与用户升级!
|
||||
<div class="layui-badge think-bg-red text-left notselect block shadow padding-10 padding-left-20 border-radius-5 font-s15 ">
|
||||
注意,用户等级配置不能随意修改或删除,会影响系统结算与用户升级!
|
||||
</div>
|
||||
|
||||
<div class="think-box-shadow margin-top-10">
|
||||
<table class="layui-table" lay-skin="line">
|
||||
{notempty name='list'}
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='list-table-check-td think-checkbox'>
|
||||
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'/></label>
|
||||
<label><input data-auto-none data-check-target='.list-check-box' type='checkbox'></label>
|
||||
</th>
|
||||
<th class="text-left nowrap">用户级别</th>
|
||||
<th class="text-left nowrap">用户等级</th>
|
||||
<th class="text-left nowrap">升级规则</th>
|
||||
<th class="text-center nowrap">入会礼包</th>
|
||||
<th class="text-center nowrap">团队总数</th>
|
||||
@ -39,7 +40,7 @@
|
||||
{foreach $list as $key=>$vo}
|
||||
<tr>
|
||||
<td class='list-table-check-td think-checkbox'>
|
||||
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'/></label>
|
||||
<label><input class="list-check-box" value='{$vo.id}' type='checkbox'></label>
|
||||
</td>
|
||||
<td class="text-left nowrap"> [ <span class="color-blue">{$vo.number}</span> ] {$vo.name|default=''}</td>
|
||||
<td class="text-left nowrap">{if $vo.upgrade_type eq 1}<span class="color-green">全部完成</span>{else}<span class="color-blue">任何条件</span>{/if}</td>
|
||||
@ -48,27 +49,21 @@
|
||||
<td class="text-center nowrap">{if $vo.teams_direct_status>0} <b class="color-green">{$vo.teams_direct_number}</b> 人 {else} - {/if}</td>
|
||||
<td class="text-center nowrap">{if $vo.teams_indirect_status>0} <b class="color-green">{$vo.teams_indirect_number}</b> 人 {else} - {/if}</td>
|
||||
<td class="text-center nowrap">{if $vo.order_amount_status>0} <b class="color-green">{$vo.order_amount_number+0}</b> 元 {else} - {/if}</td>
|
||||
<td class="text-left">
|
||||
{foreach $vo.rebate_rule as $v}
|
||||
<span class="nowrap margin-right-5">{$v}</span>
|
||||
{/foreach}
|
||||
</td>
|
||||
<td class='text-left nowrap'>
|
||||
{if $vo.status eq 0}<span class="color-red">已禁用</span>{elseif $vo.status eq 1}<span class="color-green">使用中</span>{/if}
|
||||
</td>
|
||||
<td class="text-left">{foreach $vo.rebate_rule as $v}<span class="nowrap margin-right-5">{$v}</span>{/foreach}</td>
|
||||
<td class='text-left nowrap'>{if $vo.status eq 0}<span class="color-red">已禁用</span>{elseif $vo.status eq 1}<span class="color-green">使用中</span>{/if}</td>
|
||||
<td class='text-left nowrap'>
|
||||
<!--{if auth("edit")}-->
|
||||
<a class="layui-btn layui-btn-sm" data-modal='{:url("edit")}?id={$vo.id}' data-title="编辑用户级别">编 辑</a>
|
||||
<a class="layui-btn layui-btn-sm" data-modal='{:url("edit")}?id={$vo.id}' data-title="编辑用户等级">编 辑</a>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("state") and $vo.status eq 1}-->
|
||||
<a class="layui-btn layui-btn-sm layui-btn-warm" data-action="{:url('state')}" data-value="id#{$vo.id};status#0" data-csrf="{:systoken('state')}">禁 用</a>
|
||||
<a class="layui-btn layui-btn-sm layui-btn-warm" data-action="{:url('state')}" data-value="id#{$vo.id};status#0">禁 用</a>
|
||||
<!--{elseif auth("state") and $vo.status eq 0}-->
|
||||
<a class="layui-btn layui-btn-sm layui-btn-warm" data-action="{:url('state')}" data-value="id#{$vo.id};status#1" data-csrf="{:systoken('state')}">启 用</a>
|
||||
<a class="layui-btn layui-btn-sm layui-btn-warm" data-action="{:url('state')}" data-value="id#{$vo.id};status#1">启 用</a>
|
||||
<!--{/if}-->
|
||||
|
||||
<!--{if auth("remove")}-->
|
||||
<a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="确定要删除用户级别吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}" data-csrf="{:systoken('remove')}">删 除</a>
|
||||
<a class="layui-btn layui-btn-sm layui-btn-danger" data-confirm="确定要删除用户等级吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}" data-csrf="{:systoken('remove')}">删 除</a>
|
||||
<!--{/if}-->
|
||||
</td>
|
||||
</tr>
|
||||
|
Loading…
x
Reference in New Issue
Block a user