xieruidong il y a 2 ans
Parent
commit
3dfb56bc65

+ 2 - 6
application/admin/controller/Transaction.php

@@ -22,6 +22,7 @@ class Transaction extends Backend
     {
         parent::_initialize();
         $this->model = new \app\admin\model\Transaction;
+        $this->assign('types',$this->model::getTypes());
 
     }
 
@@ -54,16 +55,11 @@ class Transaction extends Backend
             list($where, $sort, $order, $offset, $limit) = $this->buildparams();
 
             $list = $this->model
-                    
+                    ->with(['user'])
                     ->where($where)
                     ->order($sort, $order)
                     ->paginate($limit);
 
-            foreach ($list as $row) {
-                $row->visible(['id','type','amount','create_time']);
-                
-            }
-
             $result = array("total" => $list->total(), "rows" => $list->items());
 
             return json($result);

+ 1 - 39
application/admin/model/Transaction.php

@@ -5,44 +5,6 @@ namespace app\admin\model;
 use think\Model;
 
 
-class Transaction extends Model
+class Transaction extends \app\common\model\Transaction
 {
-
-    
-
-    
-
-    // 表名
-    protected $table = 'transaction';
-    
-    // 自动写入时间戳字段
-    protected $autoWriteTimestamp = false;
-
-    // 定义时间戳字段名
-    protected $createTime = false;
-    protected $updateTime = false;
-    protected $deleteTime = false;
-
-    // 追加属性
-    protected $append = [
-        'create_time_text'
-    ];
-    
-
-    
-
-
-
-    public function getCreateTimeTextAttr($value, $data)
-    {
-        $value = $value ? $value : (isset($data['create_time']) ? $data['create_time'] : '');
-        return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
-    }
-
-    protected function setCreateTimeAttr($value)
-    {
-        return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
-    }
-
-
 }

+ 0 - 46
application/admin/view/transaction/add.html

@@ -1,46 +0,0 @@
-<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">{:__('Trans_type')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-trans_type" data-rule="required" class="form-control" name="row[trans_type]" type="text">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Trans_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-trans_id" data-rule="required" min="0" data-source="trans/index" class="form-control selectpage" name="row[trans_id]" type="text" value="">
-        </div>
-    </div>
-    <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">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Amount')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-amount" data-rule="required" class="form-control" step="0.01" name="row[amount]" type="number">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_time" data-rule="required" min="0" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:date('Y-m-d H:i:s')}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-remark" class="form-control" name="row[remark]" type="text">
-        </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-success btn-embossed disabled">{:__('OK')}</button>
-            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
-        </div>
-    </div>
-</form>

+ 0 - 46
application/admin/view/transaction/edit.html

@@ -1,46 +0,0 @@
-<form id="edit-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">{:__('Trans_type')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-trans_type" data-rule="required" class="form-control" name="row[trans_type]" type="text" value="{$row.trans_type|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Trans_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-trans_id" data-rule="required" min="0" data-source="trans/index" class="form-control selectpage" name="row[trans_id]" type="text" value="{$row.trans_id|htmlentities}">
-        </div>
-    </div>
-    <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="{$row.type|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Amount')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-amount" data-rule="required" class="form-control" step="0.01" name="row[amount]" type="number" value="{$row.amount|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_time" data-rule="required" min="0" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:$row.create_time?datetime($row.create_time):''}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-remark" class="form-control" name="row[remark]" type="text" value="{$row.remark|htmlentities}">
-        </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-success btn-embossed disabled">{:__('OK')}</button>
-            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
-        </div>
-    </div>
-</form>

+ 5 - 13
application/admin/view/transaction/index.html

@@ -7,24 +7,13 @@
                 <div class="widget-body no-padding">
                     <div id="toolbar" class="toolbar">
                         <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
-                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('transaction/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
-                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('transaction/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
-                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('transaction/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
-                        <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('transaction/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a>
-
-                        <div class="dropdown btn-group {:$auth->check('transaction/multi')?'':'hide'}">
-                            <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
-                            <ul class="dropdown-menu text-left" role="menu">
-                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
-                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
-                            </ul>
                         </div>
 
                         
                     </div>
                     <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
-                           data-operate-edit="{:$auth->check('transaction/edit')}" 
-                           data-operate-del="{:$auth->check('transaction/del')}" 
+                           data-operate-edit="0"
+                           data-operate-del="0"
                            width="100%">
                     </table>
                 </div>
@@ -33,3 +22,6 @@
         </div>
     </div>
 </div>
+<script>
+    let types={:json_encode($types)};
+</script>

+ 12 - 0
application/common/model/Transaction.php

@@ -16,6 +16,13 @@ class Transaction extends Model
         self::TYPE_REFUND=>'订单退款',
     ];
 
+    /**
+     * @return string[]
+     */
+    public static function getTypes(): array
+    {
+        return self::$types;
+    }
     public function trans(){
         return $this->morphTo('trans',[
             Orders::class=>'orders',
@@ -23,10 +30,15 @@ class Transaction extends Model
         ]);
     }
 
+    public function user(){
+        return $this->belongsTo(User::class)->setEagerlyType(0);
+    }
+
     public static function addTransaction(Model $model){
         $trans=new self;
         $trans['trans_type']=$model->getTable();
         $trans['trans_id']=$model[$model->getPk()];
+        $trans['user_id']=$model['user_id'];
         $trans['amount']=0;
         if($model instanceof Orders){
             $trans['amount']=$model->amount_pay;

+ 4 - 3
public/assets/js/backend/transaction.js

@@ -24,11 +24,12 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 sortName: 'id',
                 columns: [
                     [
-                        {checkbox: true},
+                        //{checkbox: true},
                         {field: 'id', title: __('Id')},
-                        {field: 'type', title: __('Type')},
+                        {field: 'user.nickname', title: __('用户名'),operate: 'like'},
+                        {field: 'trans_type', title: __('Type'),searchList:types,formatter: Table.api.formatter.label},
                         {field: 'amount', title: __('Amount'), operate:'BETWEEN'},
-                        {field: 'create_time', title: __('Create_time')},
+                        {field: 'create_time', title: __('Create_time'),addClass:'datetimerange',formatter: Table.api.formatter.datetime},
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                 ]