Bläddra i källkod

合约查下功能完成

BF-202210271038\Administrator 3 år sedan
förälder
incheckning
1fa85aca2e

+ 1 - 0
app/Http/Controllers/Api/ContractController.php

@@ -13,6 +13,7 @@ use App\Servers\IndentNumServer;
 use App\Servers\MemberServer;
 use App\Servers\RedisDataServer;
 use Illuminate\Support\Facades\Auth;
+use Illuminate\Validation\Rules\In;
 
 class ContractController extends FrontController
 {

+ 14 - 2
app/Http/Controllers/Contract/ContractsController.php

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Contract;
 use App\Http\Controllers\AdminBaseController;
 use App\Http\Requests\ContractCreateRequest;
 use App\Http\Requests\ContractUpdateRequest;
+use App\Models\Contract;
 use App\Repositories\Eloquent\ContractRepositoryEloquent;
 use App\Validators\ContractValidator;
 
@@ -74,9 +75,20 @@ class ContractsController extends AdminBaseController
    /**
      * 数据更新
      */
-    protected function _indexPost($datum)
+    protected function _indexPost($data)
     {
-        return $datum;
+        $status=['','广播中','交易成功','交易失败','公排出局'];
+        foreach ($data as $item){
+            $item->{'status'}=empty($status[$item->{'status'}])?'状态异常':$status[$item->{'status'}];
+        }
+        return $data;
+    }
+
+    function _indexJoin()
+    {
+        return Contract::from('contracts as c')
+            ->leftJoin('members as m','m.id','=','c.m_id')
+            ->select(['c.id','c.m_id','c.status','c.hash','c.money','c.error_msg','c.created_at','c.updated_at','c.is_out','c.contract_sn','m.address']);
     }
 
 }

+ 9 - 5
app/Repositories/Eloquent/ContractRepositoryEloquent.php

@@ -21,7 +21,11 @@ class ContractRepositoryEloquent extends BaseRepository implements ContractRepos
      * @return string
      */
     protected $fieldSearchable = [
-        'id'                => '=',
+        'id' => '=',
+        'contract_sn' => '=',
+        'address' => '=',
+        'hash' => '=',
+        'c.status' => '=',
     ];
 
     /**
@@ -35,10 +39,10 @@ class ContractRepositoryEloquent extends BaseRepository implements ContractRepos
     }
 
     /**
-    * Specify Validator class name
-    *
-    * @return mixed
-    */
+     * Specify Validator class name
+     *
+     * @return mixed
+     */
     public function validator()
     {
 

+ 65 - 59
resources/views/admins/contracts/index.blade.php

@@ -5,8 +5,7 @@
 @section('crumbs')
     <ol class="breadcrumb crumbs">
         <li><a href="{{ route('admin.index') }}#">后台导航</a></li>
-        <li><a href="{{ route('admin.contract.index') }}">后台Contract首页</a></li>
-        <li class="active">Contract列表</li>
+        <li class="active">报单列表</li>
     </ol>
 @endsection
 
@@ -14,10 +13,27 @@
     <form id="searchForm" class="form-inline">
         <div class="">
             <div class="form-group">
-                <label for="name" class="label-css"> ID:</label>
-                <input class="form-control" type="text" name="id">
+                <label for="name" class="label-css"> 合约编号:</label>
+                <input class="form-control" type="text" name="contract_sn">
+            </div>
+            <div class="form-group">
+                <label for="name" class="label-css"> 用户地址:</label>
+                <input class="form-control" type="text" name="address">
+            </div>
+            <div class="form-group">
+                <label for="name" class="label-css"> 交易哈希:</label>
+                <input class="form-control" type="text" name="hash">
+            </div>
+            <div class="form-group">
+                <label for="is_sys_add" class="label-css"> 状态:</label>
+                <select class="form-control" name="c.status" style="margin-top: -8px;">
+                    <option value="">全部</option>
+                    <option value="1">广播中</option>
+                    <option value="2">交易成功</option>
+                    <option value="3">交易失败</option>
+                    <option value="4">公排出局</option>
+                </select>
             </div>
-            &ensp;&ensp;
             <button type="button" class="btn btn-primary">查询</button>
         </div>
     </form>
@@ -25,16 +41,7 @@
     <div>
         <div id="toolbar">
             <div class="columns columns-left btn-group pull-left">
-                <a class="createForm" data-url="{{ route('admin.contract.store') }}" data-title="create">
-                    <button class="btn btn-default" type="button">
-                        <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>&ensp;新增Contract
-                    </button>
-                </a>
-                <a>
-                    <button id="deleteAll" data-url="{{ route('admin.contract.destroys',['is_del'=>1]) }}" class="btn btn-default" type="button">
-                        <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>&ensp;删除
-                    </button>
-                </a>
+
             </div>
         </div>
         <table id="ContentTable"></table>
@@ -51,8 +58,8 @@
 
 @section('scripts')
     <script>
-        $(function(){
-            BootStrapInit.init('tableContract','ContentTable',{
+        $(function () {
+            BootStrapInit.init('tableContract', 'ContentTable', {
                 searchForm: 'searchForm',   // 表单搜索id 省略默认 'searchForm'
                 url: "{{ route('admin.contract.ajax.index') }}",
                 method: 'post',
@@ -70,47 +77,54 @@
                         title: 'ID',
                         align: 'center',
                         valign: 'middle',
-                        sortable: true
                     },
                     {
-                        field: 'image',
-                        title: 'Image',
+                        field: 'address',
+                        title: '用户地址',
+                        align: 'center',
+                        valign: 'middle',
+                        formatter:aHttpAddress,
+                    },
+                    {
+                        field: 'contract_sn',
+                        title: '合约编号',
+                        align: 'center',
+                        valign: 'middle',
+                    },
+                    {
+                        field: 'money',
+                        title: '报单金额',
                         align: 'center',
                         valign: 'middle',
-                        formatter:thumbFormatter
                     },
-                    // {
-                    //     field: 'link',
-                    //     title: '链接',
-                    //     align: 'center',
-                    //     valign: 'middle'
-                    // },
+                    {
+                        field: 'hash',
+                        title: '交易哈希',
+                        align: 'center',
+                        valign: 'middle',
+                        formatter:aHttpHash,
+                    },
                     {
                         field: 'status',
-                        title: '显示',
+                        title: '状态',
                         align: 'center',
                         valign: 'middle',
-                        sortable: true,
-                        formatter:yesOrNo,
-                        bool_data:{
-                            'class' : 'cursor',
-//                            'url'   : 'javascript:;',
-                            'table' : 'contracts'
-//                            'pk' : 'id'   // 主键名称不写默认id主键
-                        }
                     },
                     {
-                        field: 'sort',
-                        title: '排序',
+                        field: 'error_msg',
+                        title: '错误描述',
                         align: 'center',
                         valign: 'middle',
-                        sortable: true,
-                        formatter:inputData,
-                        input_data: {
-//                        'class' : 'cursor',     // 当前样式
-//                        'url'   : 'javascript', // url存在 及请求指定地址修改数据
-                            'table' : 'contracts'   // url为空时采用,
-//                        'pk'    : 'id'          // 默认修改主键名称 不写 默认id为主键
+                    },
+                    {
+                        field: 'is_out',
+                        title: '公排统计',
+                        align: 'center',
+                        valign: 'middle',
+                        formatter:yesOrNoTwo,
+                        bool_data:{
+                            'class' : 'cursor',
+                            'table' : 'members'
                         }
                     },
                     {
@@ -118,14 +132,12 @@
                         title: '创建时间',
                         align: 'center',
                         valign: 'middle',
-                        sortable: true
                     },
                     {
                         field: 'updated_at',
                         title: '更新时间',
                         align: 'center',
                         valign: 'middle',
-                        sortable: true
                     },
                     {
                         pkId: 'id',         // 当前主键id 兼容排序 field='id' 默认值id
@@ -133,20 +145,14 @@
                         align: 'center',
                         valign: 'middle',
                         width: '185px',
-                        formatter:operateFormatter,
-                        btn_group:[
+                        formatter: operateFormatter,
+                        btn_group: [
                             {
-                                'name'  : '编辑',
-                                'class' : 'btn-primary createForm',
-                                'url'   : 'javascript:;',
-                                'confirm_url': '{{ route('admin.contract.edit', ['id'=>'-val-'])}}'
+                                'name': '清分记录',
+                                'class': 'btn-primary',
+                                'url': '{{ route('admin.contractDistribution.index', ['contractId'=>'-val-'])}}'
                             },
-                            {
-                                'name'  : '删除',
-                                'class' : 'btn-danger deleteBtn', // class标签 deleteBtn删除 layer弹出框
-                                'url'   : 'javascript:;',
-                                'confirm_url': '{{ route('admin.contract.destroy', ['id'=>'-val-','is_del'=>1])}}'   // 选择按钮
-                            }
+
                         ]
                     }
                 ]