xieruidong il y a 2 ans
Parent
commit
a42041d32c

+ 33 - 3
application/admin/controller/Coupon.php

@@ -3,6 +3,7 @@
 namespace app\admin\controller;
 
 use app\common\controller\Backend;
+use think\Db;
 
 /**
  * 
@@ -11,7 +12,7 @@ use app\common\controller\Backend;
  */
 class Coupon extends Backend
 {
-    
+
     /**
      * Coupon模型对象
      * @var \app\admin\model\Coupon
@@ -60,8 +61,6 @@ class Coupon extends Backend
                     ->paginate($limit);
 
             foreach ($list as $row) {
-                $row->visible(['id','type','amount','mount_full','num','num_send','time_start','time_end']);
-                
             }
 
             $result = array("total" => $list->total(), "rows" => $list->items());
@@ -71,4 +70,35 @@ class Coupon extends Backend
         return $this->view->fetch();
     }
 
+    public function add()
+    {
+        if($this->request->isGet()){
+            return $this->fetch();
+        }else{
+            $data=input('row/a');
+            $this->validate($data,[
+                'amount|金额'=>['require'],
+                'amount_full|满减金额'=>['require','requireIf:type,1','egt:'.input('row.amount')],
+                'num|数量'=>['require','gt:0'],
+                'time_start|开始时间'=>['require','gt:0'],
+                'time_end|结束时间'=>['require','gt:0'],
+            ]);
+            Db::startTrans();
+            $coupon=new \app\admin\model\Coupon();
+            $coupon->allowField(true)->data($data)->save();
+            $goods_id=array_filter(explode(',',$data['goods_id']));
+            $arr=[];
+            foreach ($goods_id as $id){
+                $new['goods_id']=$id;
+                $arr[]=$new;
+            }
+            $coupon->bindGoods()->saveAll($arr);
+            Db::commit();
+            $this->success();
+        }
+    }
+    public function edit($ids = null)
+    {
+        $this->error('');
+    }
 }

+ 5 - 13
application/admin/validate/Coupon.php

@@ -10,18 +10,10 @@ class Coupon extends Validate
      * 验证规则
      */
     protected $rule = [
+        'amount|金额'=>['require'],
+        'amount_full|满减金额'=>['require','requireIf:type,1'],
+        'num|数量'=>['require','gt:0'],
+        'time_start|开始时间'=>['require','gt:0'],
+        'time_end|结束时间'=>['require','gt:0'],
     ];
-    /**
-     * 提示消息
-     */
-    protected $message = [
-    ];
-    /**
-     * 验证场景
-     */
-    protected $scene = [
-        'add'  => [],
-        'edit' => [],
-    ];
-    
 }

+ 26 - 16
application/admin/view/coupon/add.html

@@ -1,45 +1,55 @@
 <form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
 
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-type" data-rule="required" min="0" class="form-control" name="row[type]" type="number" value="1">
+        <label class="control-label col-xs-12 col-sm-2">{:__('类型')}:</label>
+        <div class="col-xs-12 col-sm-8 couponType">
+            {:build_radios('row[type]',$types,1)}
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Amount')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('金额')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-amount" data-rule="required" min="0" class="form-control" step="0.01" name="row[amount]" type="number">
+            <input id="c-amount" data-rule="required" min="0" class="form-control" step="0.01" name="row[amount]" type="number" data-rule="required">
         </div>
     </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Mount_full')}:</label>
+    <div class="form-group amountFull">
+        <label class="control-label col-xs-12 col-sm-2">{:__('满多少可用')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-mount_full" min="0" class="form-control" step="0.01" name="row[mount_full]" type="number" value="0.00">
+            <input id="c-amount_full" min="0" class="form-control" step="0.01" name="row[amount_full]" type="number" value="" data-rule="required">
         </div>
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Num')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-num" min="0" class="form-control" name="row[num]" type="number" value="0">
+            <input id="c-num" min="0" class="form-control" name="row[num]" type="number" value="" data-rule="required">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Num_send')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('开始时间')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-num_send" min="0" class="form-control" name="row[num_send]" type="number">
+            <input id="c-time_start" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[time_start]" type="text" value="">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Time_start')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('结束时间')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-time_start" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[time_start]" type="text" value="{:date('Y-m-d H:i:s')}">
+            <input id="c-time_end" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[time_end]" type="text" value="">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Time_end')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-time_end" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[time_end]" type="text" value="{:date('Y-m-d H:i:s')}">
+        <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='{}'
+                    data-source="goods"
+                    class="form-control selectpage"
+                    name="row[goods_id]"
+                    data-multiple="true"
+                    type="text"
+                    value=""
+            >
         </div>
     </div>
     <div class="form-group layer-footer">

+ 3 - 2
application/admin/view/coupon/index.html

@@ -23,8 +23,9 @@
                         
                     </div>
                     <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
-                           data-operate-edit="{:$auth->check('coupon/edit')}" 
-                           data-operate-del="{:$auth->check('coupon/del')}" 
+                           data-operate-edit1111="{:$auth->check('coupon/edit')}"
+                           data-operate-edit="0"
+                           data-operate-del="{:$auth->check('coupon/del')}"
                            width="100%">
                     </table>
                 </div>

+ 2 - 0
application/common/model/Coupon.php

@@ -7,6 +7,8 @@ use think\Model;
 
 class Coupon extends Model
 {
+    protected $autoWriteTimestamp=true;
+    protected $updateTime=null;
     public static $types=[
         1=>'满减券',
         2=>'无门槛券'

+ 10 - 1
public/assets/js/backend/coupon.js

@@ -28,7 +28,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'id', title: __('Id')},
                         {field: 'type', title: __('Type'),searchList:types,formatter: Table.api.formatter.label},
                         {field: 'amount', title: __('金额'), operate:'BETWEEN'},
-                        {field: 'mount_full', title: __('满减金额'), operate:'BETWEEN'},
+                        {field: 'amount_full', title: __('满减金额'), operate:'BETWEEN'},
                         {field: 'num', title: __('Num')},
                         {field: 'num_send', title: __('Num_send')},
                         {field: 'time_start', title: __('开始时间'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
@@ -41,9 +41,18 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
 
             // 为表格绑定事件
             Table.api.bindevent(table);
+            $('.btn-add').data('area',["100%","100%"])
         },
         add: function () {
             Controller.api.bindevent();
+            //$('.couponType').find('input').eq(0).trigger('click')
+            $('.couponType').find('input[type="radio"]').change(function (){
+                if(this.value==1){
+                    $('.amountFull').show()
+                }else{
+                    $('.amountFull').hide()
+                }
+            })
         },
         edit: function () {
             Controller.api.bindevent();