xieruidong 2 years ago
parent
commit
325ebadb06

+ 16 - 1
application/admin/controller/user/User.php

@@ -5,6 +5,7 @@ namespace app\admin\controller\user;
 use app\common\controller\Backend;
 use app\common\library\Auth;
 use app\common\model\SysConfig;
+use app\common\service\DiscountService;
 
 /**
  * 会员管理
@@ -108,7 +109,7 @@ class User extends Backend
         if ($this->request->isAjax()) {
            $levels=$this->model::getLevels();;
            $list=[];
-           $config=SysConfig::look('user_level_discount')?:[];
+           $config=DiscountService::getById();
             foreach ($levels as $id=>$level){
                 $list[]=[
                     'id'=>$id,
@@ -122,4 +123,18 @@ class User extends Backend
         }
         return $this->view->fetch();
     }
+    public function level_discount_edit($ids){
+        if($this->request->isGet()){
+            $this->assign('row',DiscountService::getById($ids));
+            $this->assign('id',$ids);
+            return $this->fetch();
+        }else{
+            $data=input('row/a');
+            $this->validate($data,[
+                'discount|折扣'=>['require','gt:0','lt:10'],
+            ]);
+            DiscountService::saveDiscount($ids,$data['discount']);
+            $this->success();
+        }
+    }
 }

+ 23 - 0
application/admin/view/user/user/level_discount_edit.html

@@ -0,0 +1,23 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+    {:token()}
+   <div class="form-group">
+        <label for="c-gender" class="control-label col-xs-12 col-sm-2">{:__('等级')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            {:$levels[$id]}
+        </div>
+    </div>
+    <div class="form-group">
+        <label for="c-discount" class="control-label col-xs-12 col-sm-2">{:__('折扣')}:</label>
+        <div class="col-xs-12 col-sm-4">
+            <input id="c-discount" data-rule="required" class="form-control" value="{$row}" name="row[discount]">
+            例如:9.8折输入9.8
+        </div>
+    </div>
+    <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">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 22 - 0
application/common/service/DiscountService.php

@@ -0,0 +1,22 @@
+<?php
+namespace app\common\service;
+
+use app\common\model\SysConfig;
+
+class DiscountService{
+    public static function getById($id=null){
+        static $discount;
+        if(is_null($discount)) {
+            $discount = SysConfig::look('user_level_discount') ?: [];
+        }
+        if(is_null($id)){
+            return $discount;
+        }
+        return $discount[$id]??null;
+    }
+    public static function saveDiscount($id,$discount){
+        $config=self::getById();
+        $config[$id]=$discount;
+        SysConfig::set('user_level_discount',$config);
+    }
+}

+ 3 - 0
public/assets/js/backend/user/user.js

@@ -87,6 +87,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
             // 为表格绑定事件
             Table.api.bindevent(table);
         },
+        level_discount_edit(){
+            Controller.api.bindevent();
+        },
         api: {
             bindevent: function () {
                 Form.api.bindevent($("form[role=form]"));