xieruidong 2 years ago
parent
commit
397fa10163

+ 11 - 5
application/admin/controller/Goods.php

@@ -106,17 +106,23 @@ class Goods extends Backend
             'describe|描述'=>['require','max:50'],
             'category_id|商品分类'=>['require'],
             'brand|品牌'=>['require'],
-            'amount|售价'=>['require','float','gt:0'],
-            'amount_cost|成本价'=>['require','float','egt:0'],
+            //'amount|售价'=>['require','float','gt:0'],
+            //'amount_cost|成本价'=>['require','float','egt:0'],
             'is_kill'=>['require'],
-            'amount_kill|秒杀价'=>['float','gt:0','requireIf:is_kill,1'],
+            //'amount_kill|秒杀价'=>['float','gt:0','requireIf:is_kill,1'],
             'logo|LOGO'=>['require','array','min:1','max:6'],
         ]);
         foreach ($data['sku'] as $item){
-            $this->validate($item,[
+            $rule=[
                 'name|规格名'=>['require'],
                 'num_stock|规格库存'=>['require','gt:0'],
-            ]);
+                'amount|售价'=>['require','float','gt:0'],
+                'amount_cost|成本价'=>['require','float','egt:0'],
+            ];
+            if($data['is_kill']){
+                $rule['amount_kill|秒杀价']=['float','gt:0','require'];
+            }
+            $this->validate($item,$rule);
         }
         foreach ($data['detail'] as $item){
             $this->validate($item,[

+ 0 - 18
application/admin/view/goods/add.html

@@ -30,18 +30,6 @@
         </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-amount" min="0" class="form-control" step="0.01" name="row[amount]" type="number" data-rule="required" value="{$row.amount|default=''}">
-        </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-amount_cost" min="0" class="form-control" step="0.01" name="row[amount_cost]" type="number" data-rule="required" value="{$row.amount_cost|default=''}">
-        </div>
-    </div>
-    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Is_hot')}:</label>
         <div class="col-xs-12 col-sm-8">
             {:build_radios('row[is_hot]',[0=>'否',1=>'是'],$row['is_hot']??0)}
@@ -60,12 +48,6 @@
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Amount_kill')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-amount_kill" class="form-control" name="row[amount_kill]" type="text" value="{$row.amount_kill|default=''}">
-        </div>
-    </div>
-    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Logo')}:</label>
         <div class="col-xs-12 col-sm-8">
             <div class="input-group">

+ 15 - 3
application/common/model/Goods.php

@@ -2,6 +2,7 @@
 
 namespace app\common\model;
 
+use app\common\validate\KillService;
 use think\Model;
 
 /**
@@ -50,9 +51,12 @@ class Goods Extends Model
     public static function show(){
         return self::where('status',1);
     }
-
-
-
+    public function getAmountAttr($amount,$model){
+        if(KillService::open() && $model['is_kill']){
+            return $model['amount_kill'];
+        }
+        return $amount;
+    }
 
 
 
@@ -131,5 +135,13 @@ class Goods Extends Model
             GoodsInstallLink::where('goods_id',$goods['id'])->delete();
             Favourite::where('fav_id',$goods['id'])->where('fav_type','goods')->delete();
         });
+
+        self::afterUpdate(function (self $goods){
+            $sku=$goods->sku()->find();
+            $goods->update([
+                'amount'=>$sku['amount'],
+                'amount_kill'=>$sku['amount_kill'],
+            ]);
+        });
     }
 }

+ 8 - 0
application/common/validate/KillService.php

@@ -17,4 +17,12 @@ class KillService extends Validate
             'endtime'=>$endtime,
         ];
     }
+
+    public static function open(){
+        static $config;
+        if(!$config){
+            $config=self::getConfig();
+        }
+        return $config['open'];
+    }
 }

+ 2 - 2
public/assets/js/backend/goods.js

@@ -31,8 +31,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'name', title: __('Name')},
                         {field: 'category.name', title: __('分类'),formatter: Table.api.formatter.label,operate: "like"},
                         {field: 'brand', title: __('Brand')},
-                        {field: 'amount', title: __('售价'), operate:'BETWEEN'},
-                        {field: 'amount_kill', title: __('Amount_kill'), operate:'BETWEEN'},
+                        //{field: 'amount', title: __('售价'), operate:'BETWEEN'},
+                        //{field: 'amount_kill', title: __('Amount_kill'), operate:'BETWEEN'},
                         {field: 'is_hot', title: __('Is_hot'),formatter:Table.api.formatter.label,searchList:{0:'否',1:'是'}},
                         {field: 'is_kill', title: __('Is_kill'),formatter:Table.api.formatter.label,searchList:{0:'否',1:'是'}},
                         {field: 'status', title: __('状态'),formatter:Table.api.formatter.label,searchList:goodsStatus},