xieruidong 2 年之前
父节点
当前提交
e86ee6c143

+ 12 - 19
application/admin/controller/Goods.php

@@ -3,6 +3,7 @@
 namespace app\admin\controller;
 
 use app\common\controller\Backend;
+use app\common\model\GoodsBind;
 use app\common\model\GoodsSku;
 use think\Db;
 
@@ -189,25 +190,17 @@ class Goods extends Backend
             $this->assign('row',$goods);
             return $this->fetch();
         }else{
-            $e=input('e');
-            $skuId=input('sku_id');
-            $goodsId=input('goods_id');
-            if($e=='get'){
-                $goods=$this->model->find($goodsId);
-                $bindId=$goods->binds()->where('goods_sku_id',$skuId)->column('bind_goods_id');
-                $this->success('','',$bindId);
-            }
-            $goods=$this->model->find($ids);
-            $skuId=input('row.sku_id');
-            $bindGoods=input('row.goods_id');
-            $sku=GoodsSku::find($skuId);
-            $goodsIds=array_filter(explode(',',$bindGoods));
-            $goods->binds()->where('goods_sku_id',$skuId)->delete();
-            foreach ($goodsIds as $_id){
-                $goods->binds()->save([
-                    'goods_sku_id'=>$sku['id'],
-                    'bind_goods_id'=>$_id,
-                ]);
+            $data=input('row/a');
+            foreach ($data as $goods_sku_id=>$info){
+                $goodsIds=array_filter(explode(',',$info['goods_id']));
+                $sku=GoodsSku::find($goods_sku_id);
+                $arr=[];
+                foreach ($goodsIds as $goodsId){
+                    $arr[$goodsId]=[
+                        'goods_id'=>$ids,
+                    ];
+                }
+                $sku->bindGoods()->sync($arr);
             }
             $this->success();
         }

+ 15 - 5
application/admin/view/goods/bind_goods.html

@@ -1,20 +1,30 @@
 <form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+    {foreach name="row.sku" item='a'}
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('规格')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">规格:</label>
         <div class="col-xs-12 col-sm-8">
             <div class="radio skuItem">
-                {foreach name="row.sku" item='a'}
-                <label><input class="{:$key==0?'firstSku':''}" name="row[sku_id]" type="radio" value="{$a.id}"> {$a.name}</label>
-                {/foreach}
+                {$a.name}
             </div>
         </div>
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('已绑定商品')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-name" data-rule="" data-params='{"custom[id]":["neq",{$row.id}]}' data-source="goods" class="form-control selectpage" name="row[goods_id]" data-multiple="true" type="text" value="">
+            <input
+                    id="c-name"
+                    data-rule=""
+                    data-params='{"custom[id]":["neq",{$row.id}]}'
+                    data-source="goods"
+                    class="form-control selectpage"
+                    name="row[{$a.id}][goods_id]"
+                    data-multiple="true"
+                    type="text"
+                    value="{:implode(',',$a->bindGoods()->column('id'))}"
+            >
         </div>
     </div>
+    {/foreach}
     <div class="form-group layer-footer">
         <label class="control-label col-xs-12 col-sm-2"></label>
         <div class="col-xs-12 col-sm-8">

+ 8 - 1
application/api/controller/mall/Index.php

@@ -28,7 +28,7 @@ class Index extends Api
      * @ApiReturnParams (name=endtime,description=截止时间)
      * @ApiReturnParams (name=goods,description=秒杀商品列表)
      */
-    public function kill(){
+    public function kill_goods(){
         $config=KillService::getConfig();
         if($config['open']){
             $goods=\app\common\model\Goods::where('is_kill',1)->order('kill_at','desc')->limit(3)->select();
@@ -36,4 +36,11 @@ class Index extends Api
         }
         $this->success('',$config);
     }
+    /**
+     * 热销爆款
+     */
+    public function hot_goods(){
+        $info['goods']=\app\common\model\Goods::where('is_hot',1)->order('hot_at','desc')->limit(3)->select();
+        $this->success('',$info);
+    }
 }

文件差异内容过多而无法显示
+ 278 - 162
public/api.html


部分文件因为文件数量过多而无法显示