diff --git a/app/data/controller/ShopGoods.php b/app/data/controller/ShopGoods.php index 896fc4af9..8ac72f545 100644 --- a/app/data/controller/ShopGoods.php +++ b/app/data/controller/ShopGoods.php @@ -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'], + ]); } } diff --git a/app/data/view/shop_goods/form.html b/app/data/view/shop_goods/form.html index ed79540e6..7d3aba0f7 100644 --- a/app/data/view/shop_goods/form.html +++ b/app/data/view/shop_goods/form.html @@ -38,18 +38,20 @@ + {notempty name='truckitems'} + {/notempty}
商品图片及轮播展示图片 @@ -77,8 +79,10 @@ 商品规格及商品SKU绑定(规格填写后不允许再次修改)