Kirin 3 年之前
父節點
當前提交
de608e3285

+ 7 - 5
app/admin/controller/user/User.php

@@ -8,6 +8,7 @@
 namespace app\admin\controller\user;
 
 use app\admin\controller\AuthController;
+use app\models\trade\CashTradeOrder;
 use app\models\user\UserMoney;
 use app\models\vote\UserVote;
 use crmeb\repositories\UserRepository;
@@ -118,8 +119,8 @@ class User extends AuthController
         $user = UserModel::get($uid);
         if (!$user) return Json::fail('数据不存在!');
         $f = array();
-        $f[] = Form::radio('money_status', '修改余额', 1)->options([['value' => 1, 'label' => '增加'], ['value' => 2, 'label' => '减少']]);
-        $f[] = Form::number('money', '余额')->min(0);
+//        $f[] = Form::radio('money_status', '修改余额', 1)->options([['value' => 1, 'label' => '增加'], ['value' => 2, 'label' => '减少']]);
+//        $f[] = Form::number('money', '余额')->min(0);
         $money_type = init_money_type();
         foreach ($money_type as $k => $v) {
             $f[] = Form::radio($k . '_status', '修改' . $v, 1)->options([['value' => 1, 'label' => '增加'], ['value' => 2, 'label' => '减少']]);
@@ -203,11 +204,11 @@ class User extends AuthController
         foreach ($money_type as $k => $v) {
             if ($other_money[$k . '_status'] && $other_money[$k]) {//积分增加或者减少
                 if ($other_money[$k . '_status'] == 1) {//增加
-                    $res_other = $res_other && UserMoney::incomeMoney($user['uid'], $k, $other_money[$k], 'system_add', '系统增加了' . floatval($other_money[$k]) . $v);
+                    $res_other = $res_other && UserMoney::incomeMoney($user['uid'], $k, $other_money[$k], 'system_add', '系统增加', '系统增加了' . floatval($other_money[$k]) . $v);
                 } else if ($other_money[$k . '_status'] == 2) {//减少
                     if (UserMoney::initialUserMoney($user['uid'], $k)['money'] < $other_money[$k])
                         $other_money[$k] = UserMoney::initialUserMoney($user['uid'], $k)['money'];
-                    $res_other = $res_other && UserMoney::expendMoney($user['uid'], $k, $other_money[$k], 'system_sub', '系统扣除了' . floatval($other_money[$k]) . $v);
+                    $res_other = $res_other && UserMoney::expendMoney($user['uid'], $k, $other_money[$k], 'system_sub', '系统扣除', '系统扣除了' . floatval($other_money[$k]) . $v);
                 }
             }
         }
@@ -783,7 +784,8 @@ class User extends AuthController
      */
     public function getOneorderList($uid, $page = 1, $limit = 20)
     {
-        return Json::successful(UserVote::getOneUserList(compact('uid', 'page', 'limit')));
+//        return Json::successful(UserVote::getOneUserList(compact('uid', 'page', 'limit')));
+        return Json::successful(CashTradeOrder::getOneUserList(compact('uid', 'page', 'limit')));
     }
 
     /**

+ 2 - 1
app/admin/model/user/User.php

@@ -715,7 +715,8 @@ class User extends BaseModel
 //            ['name' => '生日', 'value' => ''],
 //            ['name' => '积分', 'value' => $UserInfo['integral']],
             ['name' => '上级推广人', 'value' => $UserInfo['spread_uid'] ? self::where('uid', $UserInfo['spread_uid'])->value('nickname') : ''],
-            ['name' => '账户余额', 'value' => $UserInfo['now_money']],
+//            ['name' => '账户余额', 'value' => $UserInfo['now_money']],
+            ['name' => '推荐比例', 'value' => $UserInfo['return_uper']],
             ['name' => '佣金总收入', 'value' => UserBill::where('category', 'now_money')->where('type', 'brokerage')->where('uid', $uid)->sum('number')],
             ['name' => '提现总金额', 'value' => UserExtract::where('uid', $uid)->where('status', 1)->sum('extract_price')]
         ], $info);

+ 11 - 7
app/admin/view/login/index.php

@@ -3,10 +3,10 @@
 <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="robots" content="noindex,nofollow" />
-    <title>登录BTEX管理系统</title>
-    <meta name="generator" content="CRMEB! v2.5" />
-    <meta name="author" content="CRMEB! Team and CRMEB UI Team" />
+    <meta name="robots" content="noindex,nofollow"/>
+    <title>登录尤交易所管理系统</title>
+    <meta name="generator" content="CRMEB! v2.5"/>
+    <meta name="author" content="CRMEB! Team and CRMEB UI Team"/>
     <link href="{__FRAME_PATH}css/bootstrap.min.css?v=3.4.0" rel="stylesheet">
     <link href="{__PLUG_PATH}layui/css/layui.css" rel="stylesheet">
     <link href="{__FRAME_PATH}css/font-awesome.min.css?v=4.3.0" rel="stylesheet">
@@ -21,12 +21,15 @@
 <div class="middle-box text-center loginscreen  animated fadeInDown">
     <div class="login-group">
         <h3 class="login-logo">
-            <img src="{__ADMIN_PATH}images/logo.png">
+            <!--            <img src="{__ADMIN_PATH}images/logo.png">-->
+            <p>尤交易所</p>
+            <br/>
         </h3>
         <form role="form" action="{:url('verify')}" method="post" id="form" onsubmit="return false">
             <div class="form-group">
                 <div class="input-group m-b"><span class="input-group-addon"><i class="fa fa-user"></i> </span>
-                    <input type="text" id="account" name="account" placeholder="用户名" placeholder="用户名" class="form-control">
+                    <input type="text" id="account" name="account" placeholder="用户名" placeholder="用户名"
+                           class="form-control">
                 </div>
             </div>
             <div class="form-group">
@@ -39,7 +42,8 @@
                 <div class="input-group">
                     <input type="text" class="form-control" id="verify" name="verify" placeholder="验证码" required="">
                     <span class="input-group-btn" style="padding: 0;margin: 0;">
-                        <img id="verify_img" src="{:Url('captcha')}" alt="验证码" style="padding: 0;height: 34px;margin: 0;">
+                        <img id="verify_img" src="{:Url('captcha')}" alt="验证码"
+                             style="padding: 0;height: 34px;margin: 0;">
                     </span>
                 </div>
             </div>

+ 13 - 13
app/admin/view/user/user/index.php

@@ -110,14 +110,14 @@
 <!--                                </select>-->
 <!--                            </div>-->
 <!--                        </div>-->
-                        <div class="layui-inline">
-                            <label class="layui-form-label">会员等级:</label>
-                            <div class="layui-input-inline">
-                                <select name="level" lay-verify="level" lay-filter='level' id="level">
-                                    <option value="" id="level-top">全部</option>
-                                </select>
-                            </div>
-                        </div>
+<!--                        <div class="layui-inline">-->
+<!--                            <label class="layui-form-label">会员等级:</label>-->
+<!--                            <div class="layui-input-inline">-->
+<!--                                <select name="level" lay-verify="level" lay-filter='level' id="level">-->
+<!--                                    <option value="" id="level-top">全部</option>-->
+<!--                                </select>-->
+<!--                            </div>-->
+<!--                        </div>-->
 <!--                        <div class="layui-inline">-->
 <!--                            <label class="layui-form-label">会员分组:</label>-->
 <!--                            <div class="layui-input-inline">-->
@@ -238,10 +238,10 @@
                                 <a href="javascript:void(0);" lay-event="see">
                                     <i class="layui-icon layui-icon-edit"></i> 会员详情</a>
                             </li>
-                            <li>
-                                <a href="javascript:void(0);" lay-event="give_level">
-                                    <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 修改会员等级</a>
-                            </li>
+<!--                            <li>-->
+<!--                                <a href="javascript:void(0);" lay-event="give_level">-->
+<!--                                    <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 修改会员等级</a>-->
+<!--                            </li>-->
 <!--                            <li>-->
 <!--                                <a href="javascript:void(0);" lay-event="set_group">-->
 <!--                                    <i class="layui-icon layui-icon-star-fill" aria-hidden="true"></i> 设置分组</a>-->
@@ -310,7 +310,7 @@
             {field: 'nickname', title: '姓名',templet:'#nickname',align:'center'},
             {field: 'phone', title: '手机号',align:'center',width:'8%'},
             {field: 'email', title: '邮箱',align:'center',width:'12%'},
-            {field: 'now_money', title: '余额',width:'6%',sort:true,event:'now_money',align:'center'},
+            // {field: 'now_money', title: '余额',width:'6%',sort:true,event:'now_money',align:'center'},
             // {field: 'pay_count', title: '购买次数',align:'center',width:'6%'},
             // {field: 'extract_count_price', title: '累计提现',align:'center',width:'6%'},
             // {field: 'integral', title: '积分',width:'6%',sort:true,event:'integral',align:'center'},

+ 294 - 259
app/admin/view/user/user/see.php

@@ -1,7 +1,7 @@
 {extend name="public/container"}
 {block name="content"}
 <style>
-    .backlog-body{
+    .backlog-body {
         padding: 10px 15px;
         background-color: #f8f8f8;
         color: #999;
@@ -11,23 +11,28 @@
         overflow: hidden;
         max-height: 84px;
     }
-    .backlog-body h3{
+
+    .backlog-body h3 {
         margin-bottom: 10px;
     }
-    .right-icon{
+
+    .right-icon {
         position: absolute;
         right: 10px;
     }
+
     .backlog-body p cite {
         font-style: normal;
         font-size: 17px;
         font-weight: 300;
         color: #009688;
     }
+
     .layuiadmin-badge, .layuiadmin-btn-group, .layuiadmin-span-color {
         position: absolute;
         right: 15px;
     }
+
     .layuiadmin-badge {
         top: 50%;
         margin-top: -9px;
@@ -42,212 +47,235 @@
                 <div class="layui-card-body">
                     <ul class="layui-row layui-col-space10 layui-this">
                         {volist name='userinfo' id='vo'}
-                            {if trim($vo.value)}
-                            <li class="layui-col-xs<?=isset($vo['col']) ? $vo['col'] :4?>">
-                                <div class="backlog-body">
-                                    <h3>{$vo.name}</h3>
-                                    <p><cite {if isset($vo['color'])} style="color: {$vo['color']}" {/if}>{$vo.value}</cite></p>
-                                </div>
-                            </li>
-                            {/if}
+                        {if trim($vo.value)}
+                        <li class="layui-col-xs<?= isset($vo['col']) ? $vo['col'] : 4 ?>">
+                            <div class="backlog-body">
+                                <h3>{$vo.name}</h3>
+                                <p><cite {if isset($vo['color'])} style="color: {$vo['color']}" {/if}>{$vo.value}</cite>
+                                </p>
+                            </div>
+                        </li>
+                        {/if}
                         {/volist}
                     </ul>
                 </div>
             </div>
         </div>
-        <div class="layui-col-md12 layui-col-sm12 layui-col-lg12">
-            <div class="layui-card">
-                <div class="layui-card-header">其他详情</div>
-                <div class="layui-card-body">
-                    <div class="layui-row layui-col-space15">
-                    {volist name='headerList' id='vo'}
-                    <div class="layui-col-xs3" style="margin-bottom: 10px ">
-                        <div class="layui-card">
-                            <div class="layui-card-header">
-                                {$vo.title}
-                                <span class="layui-badge layuiadmin-badge {if isset($vo.class) && $vo.class}{$vo.class}{else}layui-bg-blue{/if}">{$vo.key}</span>
-                            </div>
-                            <div class="layui-card-body">
-                                <p class="layuiadmin-big-font">{$vo.value}</p>
-                            </div>
-                        </div>
-                    </div>
-                    {/volist}
-                    </div>
-                </div>
-            </div>
-        </div>
+        <!--        <div class="layui-col-md12 layui-col-sm12 layui-col-lg12">-->
+        <!--            <div class="layui-card">-->
+        <!--                <div class="layui-card-header">其他详情</div>-->
+        <!--                <div class="layui-card-body">-->
+        <!--                    <div class="layui-row layui-col-space15">-->
+        <!--                    {volist name='headerList' id='vo'}-->
+        <!--                    <div class="layui-col-xs3" style="margin-bottom: 10px ">-->
+        <!--                        <div class="layui-card">-->
+        <!--                            <div class="layui-card-header">-->
+        <!--                                {$vo.title}-->
+        <!--                                <span class="layui-badge layuiadmin-badge {if isset($vo.class) && $vo.class}{$vo.class}{else}layui-bg-blue{/if}">{$vo.key}</span>-->
+        <!--                            </div>-->
+        <!--                            <div class="layui-card-body">-->
+        <!--                                <p class="layuiadmin-big-font">{$vo.value}</p>-->
+        <!--                            </div>-->
+        <!--                        </div>-->
+        <!--                    </div>-->
+        <!--                    {/volist}-->
+        <!--                    </div>-->
+        <!--                </div>-->
+        <!--            </div>-->
+        <!--        </div>-->
         <div class="layui-col-md12 layui-col-sm12 layui-col-lg12">
             <div class="layui-card">
                 <div class="layui-card-header">其他记录</div>
                 <div class="layui-card-body">
                     <div class="layui-tab layui-tab-card">
                         <ul class="layui-tab-title">
-                            <li class="layui-this">投票记录</li>
-<!--                            <li>积分明细</li>-->
-<!--                            <li>签到记录</li>-->
-<!--                            <li>持有优惠劵</li>-->
-<!--                            <li>余额变动记录</li>-->
+                            <li class="layui-this">交易记录</li>
+                            <!--                            <li>积分明细</li>-->
+                            <!--                            <li>签到记录</li>-->
+                            <!--                            <li>持有优惠劵</li>-->
+                            <!--                            <li>余额变动记录</li>-->
                             <li>推广下线明细</li>
                         </ul>
                         <div class="layui-tab-content" id="content">
                             <div class="layui-tab-item layui-show">
                                 <table class="layui-table" lay-skin="line" v-cloak="">
                                     <thead>
-                                        <tr>
-                                            <th>投票期号</th>
-                                            <th>投票额</th>
-<!--                                            <th>状态</th>-->
-                                            <th>投票时间</th>
-<!--                                            <th>实付金额</th>-->
-<!--                                            <th>交易完成时间</th>-->
-                                        </tr>
+                                    <tr>
+                                        <th>交易单号</th>
+                                        <th>发起人</th>
+                                        <th>交易人</th>
+                                        <th>交易额</th>
+                                        <th>单价</th>
+                                        <!--                                            <th>总价</th>-->
+                                        <th>交易类型</th>
+                                        <th>状态</th>
+                                        <th>转账凭证</th>
+                                        <!--                                            <th>发起时间</th>-->
+                                        <!--                                            <th>自动结束时间</th>-->
+                                        <!--                                            <th>实际交易时间</th>-->
+                                        <!--                                            <th>实付金额</th>-->
+                                        <!--                                            <th>交易完成时间</th>-->
+                                    </tr>
                                     </thead>
                                     <tbody>
-                                        <tr v-for="item in orderList">
-                                            <td class="text-center">
-                                                {{item.vote.vote_sub_name}}
-<!--                                                <p>-->
-<!--                                                    <span class="layui-badge" :class="{'layui-bg-green':item.paid==1}" v-text="item.paid==1 ? '已支付': '未支付' ">正在加载</span>-->
-<!--                                                    <span class="layui-badge" :class="{'layui-bg-cyan':item.pay_type=='yue','layui-bg-blue':item.pay_type=='weixin'}" v-text="item.pay_type=='weixin' ? '微信支付': '余额支付' ">正在加载</span>-->
-<!--                                                    <span class="layui-badge layui-bg-black" v-show="item.pink_id!=0">拼团</span>-->
-<!--                                                    <span class="layui-badge layui-bg-blue" v-show="item.seckill_id!=0">秒杀</span>-->
-<!--                                                    <span class="layui-badge layui-bg-gray" v-show="item.bargain_id!=0">砍价</span>-->
-<!--                                                </p>-->
-                                            </td>
-                                            <td>{{item.vote_num}}</td>
-<!--                                            <td>{{item.total_num}}</td>-->
-<!--                                            <td>{{item.total_price}}</td>-->
-<!--                                            <td>{{item.pay_price}}</td>-->
-                                            <td>{{item._add_time}}</td>
-                                        </tr>
-                                        <tr v-show="orderList.length<=0" style="text-align: center">
-                                            <td colspan="6">暂无数据</td>
-                                        </tr>
+                                    <tr v-for="item in orderList">
+                                        <td class="text-center">
+                                            {{item.order_id}}
+                                            <!--                                                {{item.vote.vote_sub_name}}-->
+                                            <!--                                                <p>-->
+                                            <!--                                                    <span class="layui-badge" :class="{'layui-bg-green':item.paid==1}" v-text="item.paid==1 ? '已支付': '未支付' ">正在加载</span>-->
+                                            <!--                                                    <span class="layui-badge" :class="{'layui-bg-cyan':item.pay_type=='yue','layui-bg-blue':item.pay_type=='weixin'}" v-text="item.pay_type=='weixin' ? '微信支付': '余额支付' ">正在加载</span>-->
+                                            <!--                                                    <span class="layui-badge layui-bg-black" v-show="item.pink_id!=0">拼团</span>-->
+                                            <!--                                                    <span class="layui-badge layui-bg-blue" v-show="item.seckill_id!=0">秒杀</span>-->
+                                            <!--                                                    <span class="layui-badge layui-bg-gray" v-show="item.bargain_id!=0">砍价</span>-->
+                                            <!--                                                </p>-->
+                                        </td>
+                                        <td>{{item._user}}</td>
+                                        <td>{{item._trade_user}}</td>
+                                        <td>{{item.money_num}}{{item._money_type}}</td>
+                                        <td>{{item.price}}</td>
+                                        <!--                                            <td>{{item.all_price}}</td>-->
+                                        <td>{{item._trade_type}}</td>
+                                        <td>{{item._status}}</td>
+                                        <td>
+                                            <button @click="open_image(item.proof)" class="btn"></button>
+                                        </td>
+                                        <!--                                            <td>{{item._add_time}}</td>-->
+                                        <!--                                            <td>{{item._end_time}}</td>-->
+                                        <!--                                            <td>{{item._trade_time}}</td>-->
+                                        <!--                                            <td>{{item.total_num}}</td>-->
+                                        <!--                                            <td>{{item.total_price}}</td>-->
+                                        <!--                                            <td>{{item.pay_price}}</td>-->
+                                        <!--                                            <td>{{item._add_time}}</td>-->
+                                    </tr>
+                                    <tr v-show="orderList.length<=0" style="text-align: center">
+                                        <td colspan="13">暂无数据</td>
+                                    </tr>
                                     </tbody>
                                 </table>
-                                <div ref="page_order" v-show="count.order_count > limit" style="text-align: right;"></div>
+                                <div ref="page_order" v-show="count.order_count > limit"
+                                     style="text-align: right;"></div>
                             </div>
-<!--                            <div class="layui-tab-item">-->
-<!--                                <table class="layui-table" lay-skin="line" v-cloak="">-->
-<!--                                    <thead>-->
-<!--                                    <tr>-->
-<!--                                        <th>来源/用途</th>-->
-<!--                                        <th>积分变化</th>-->
-<!--                                        <th>变化后积分</th>-->
-<!--                                        <th>日期</th>-->
-<!--                                        <th>备注</th>-->
-<!--                                    </tr>-->
-<!--                                    </thead>-->
-<!--                                    <tbody>-->
-<!--                                        <tr v-for="item in integralList">-->
-<!--                                            <td>{{item.title}}</td>-->
-<!--                                            <td>{{item.number}}</td>-->
-<!--                                            <td>{{item.balance}}</td>-->
-<!--                                            <td>{{item.add_time}}</td>-->
-<!--                                            <td>{{item.mark}}</td>-->
-<!--                                        </tr>-->
-<!--                                        <tr v-show="integralList.length<=0" style="text-align: center">-->
-<!--                                            <td colspan="5">暂无数据</td>-->
-<!--                                        </tr>-->
-<!--                                    </tbody>-->
-<!--                                </table>-->
-<!--                                <div ref="integral_page" v-show="count.integral_count > limit" style="text-align: right;"></div>-->
-<!--                            </div>-->
-<!--                            <div class="layui-tab-item">-->
-<!--                                <table class="layui-table" lay-skin="line" v-cloak="">-->
-<!--                                    <thead>-->
-<!--                                    <tr>-->
-<!--                                        <th>动作</th>-->
-<!--                                        <th>获得积分</th>-->
-<!--                                        <th>签到时间</th>-->
-<!--                                        <th>备注</th>-->
-<!--                                    </tr>-->
-<!--                                    </thead>-->
-<!--                                    <tbody>-->
-<!--                                        <tr v-for="item in SignList">-->
-<!--                                            <td>{{item.title}}</td>-->
-<!--                                            <td>{{item.number}}</td>-->
-<!--                                            <td>{{item.add_time}}</td>-->
-<!--                                            <td>{{item.mark}}</td>-->
-<!--                                        </tr>-->
-<!--                                        <tr v-show="SignList.length<=0" style="text-align: center">-->
-<!--                                            <td colspan="4">暂无数据</td>-->
-<!--                                        </tr>-->
-<!--                                    </tbody>-->
-<!--                                </table>-->
-<!--                                <div ref="Sign_page" v-show="count.sign_count > limit" style="text-align: right;"></div>-->
-<!--                            </div>-->
-<!--                            <div class="layui-tab-item">-->
-<!--                                <table class="layui-table" v-cloak="">-->
-<!--                                    <thead>-->
-<!--                                    <tr>-->
-<!--                                        <th>优惠券名称</th>-->
-<!--                                        <th>面值</th>-->
-<!--                                        <th>有效期</th>-->
-<!--                                        <th>所需积分</th>-->
-<!--                                        <th>兑换时间</th>-->
-<!--                                    </tr>-->
-<!--                                    </thead>-->
-<!--                                    <tbody>-->
-<!--                                        <tr v-for="item in CouponsList">-->
-<!--                                            <td>{{item.coupon_title}}-->
-<!--                                                <p>-->
-<!--                                                    <span class="layui-badge" :class="{'layui-bg-green':item._type>=1}" v-text="item._type>=1 ? '可使用': '已过期' ">正在加载</span>-->
-<!--                                                </p>-->
-<!--                                            </td>-->
-<!--                                            <td>{{item.coupon_price}}</td>-->
-<!--                                            <td>{{item._add_time}}-{{item._end_time}}</td>-->
-<!--                                            <td>{{item.integral}}</td>-->
-<!--                                            <td>{{item._add_time}}</td>-->
-<!--                                        </tr>-->
-<!--                                        <tr v-show="CouponsList.length<=0" style="text-align: center">-->
-<!--                                            <td colspan="5">暂无数据</td>-->
-<!--                                        </tr>-->
-<!--                                    </tbody>-->
-<!--                                </table>-->
-<!--                                <div ref="copons_page" v-show="count.coupon_count > limit" style="text-align: right;"></div>-->
-<!--                            </div>-->
-<!--                            <div class="layui-tab-item">-->
-<!--                                <table class="layui-table" v-cloak="">-->
-<!--                                    <thead>-->
-<!--                                    <tr>-->
-<!--                                        <th>变动金额</th>-->
-<!--                                        <th>变动后</th>-->
-<!--                                        <th>类型</th>-->
-<!--                                        <th>创建时间</th>-->
-<!--                                        <th>备注</th>-->
-<!--                                    </tr>-->
-<!--                                    </thead>-->
-<!--                                    <tbody>-->
-<!--                                        <tr v-for="item in balanceChangList">-->
-<!--                                            <td>{{item.number}}-->
-<!--                                                <p v-show="item.pm==1">-->
-<!--                                                    <span class="layui-badge layui-bg-green" v-show="item.status==1">有效</span>-->
-<!--                                                    <span class="layui-badge layui-bg-orange" v-show="item.status==0">带确定</span>-->
-<!--                                                    <span class="layui-badge layui-bg-gray" v-show="item.status==-1">无效</span>-->
-<!--                                                </p>-->
-<!--                                            </td>-->
-<!--                                            <td>{{item.balance}}</td>-->
-<!--                                            <td>{{item._type}}</td>-->
-<!--                                            <td>{{item.add_time}}</td>-->
-<!--                                            <td>{{item.mark}}</td>-->
-<!--                                        </tr>-->
-<!--                                        <tr v-show="balanceChangList.length<=0" style="text-align: center">-->
-<!--                                            <td colspan="5">暂无数据</td>-->
-<!--                                        </tr>-->
-<!--                                    </tbody>-->
-<!--                                </table>-->
-<!--                                <div ref="balancechang_page" v-show="count.balanceChang_count > limit" style="text-align: right;"></div>-->
-<!--                            </div>-->
+                            <!--                            <div class="layui-tab-item">-->
+                            <!--                                <table class="layui-table" lay-skin="line" v-cloak="">-->
+                            <!--                                    <thead>-->
+                            <!--                                    <tr>-->
+                            <!--                                        <th>来源/用途</th>-->
+                            <!--                                        <th>积分变化</th>-->
+                            <!--                                        <th>变化后积分</th>-->
+                            <!--                                        <th>日期</th>-->
+                            <!--                                        <th>备注</th>-->
+                            <!--                                    </tr>-->
+                            <!--                                    </thead>-->
+                            <!--                                    <tbody>-->
+                            <!--                                        <tr v-for="item in integralList">-->
+                            <!--                                            <td>{{item.title}}</td>-->
+                            <!--                                            <td>{{item.number}}</td>-->
+                            <!--                                            <td>{{item.balance}}</td>-->
+                            <!--                                            <td>{{item.add_time}}</td>-->
+                            <!--                                            <td>{{item.mark}}</td>-->
+                            <!--                                        </tr>-->
+                            <!--                                        <tr v-show="integralList.length<=0" style="text-align: center">-->
+                            <!--                                            <td colspan="5">暂无数据</td>-->
+                            <!--                                        </tr>-->
+                            <!--                                    </tbody>-->
+                            <!--                                </table>-->
+                            <!--                                <div ref="integral_page" v-show="count.integral_count > limit" style="text-align: right;"></div>-->
+                            <!--                            </div>-->
+                            <!--                            <div class="layui-tab-item">-->
+                            <!--                                <table class="layui-table" lay-skin="line" v-cloak="">-->
+                            <!--                                    <thead>-->
+                            <!--                                    <tr>-->
+                            <!--                                        <th>动作</th>-->
+                            <!--                                        <th>获得积分</th>-->
+                            <!--                                        <th>签到时间</th>-->
+                            <!--                                        <th>备注</th>-->
+                            <!--                                    </tr>-->
+                            <!--                                    </thead>-->
+                            <!--                                    <tbody>-->
+                            <!--                                        <tr v-for="item in SignList">-->
+                            <!--                                            <td>{{item.title}}</td>-->
+                            <!--                                            <td>{{item.number}}</td>-->
+                            <!--                                            <td>{{item.add_time}}</td>-->
+                            <!--                                            <td>{{item.mark}}</td>-->
+                            <!--                                        </tr>-->
+                            <!--                                        <tr v-show="SignList.length<=0" style="text-align: center">-->
+                            <!--                                            <td colspan="4">暂无数据</td>-->
+                            <!--                                        </tr>-->
+                            <!--                                    </tbody>-->
+                            <!--                                </table>-->
+                            <!--                                <div ref="Sign_page" v-show="count.sign_count > limit" style="text-align: right;"></div>-->
+                            <!--                            </div>-->
+                            <!--                            <div class="layui-tab-item">-->
+                            <!--                                <table class="layui-table" v-cloak="">-->
+                            <!--                                    <thead>-->
+                            <!--                                    <tr>-->
+                            <!--                                        <th>优惠券名称</th>-->
+                            <!--                                        <th>面值</th>-->
+                            <!--                                        <th>有效期</th>-->
+                            <!--                                        <th>所需积分</th>-->
+                            <!--                                        <th>兑换时间</th>-->
+                            <!--                                    </tr>-->
+                            <!--                                    </thead>-->
+                            <!--                                    <tbody>-->
+                            <!--                                        <tr v-for="item in CouponsList">-->
+                            <!--                                            <td>{{item.coupon_title}}-->
+                            <!--                                                <p>-->
+                            <!--                                                    <span class="layui-badge" :class="{'layui-bg-green':item._type>=1}" v-text="item._type>=1 ? '可使用': '已过期' ">正在加载</span>-->
+                            <!--                                                </p>-->
+                            <!--                                            </td>-->
+                            <!--                                            <td>{{item.coupon_price}}</td>-->
+                            <!--                                            <td>{{item._add_time}}-{{item._end_time}}</td>-->
+                            <!--                                            <td>{{item.integral}}</td>-->
+                            <!--                                            <td>{{item._add_time}}</td>-->
+                            <!--                                        </tr>-->
+                            <!--                                        <tr v-show="CouponsList.length<=0" style="text-align: center">-->
+                            <!--                                            <td colspan="5">暂无数据</td>-->
+                            <!--                                        </tr>-->
+                            <!--                                    </tbody>-->
+                            <!--                                </table>-->
+                            <!--                                <div ref="copons_page" v-show="count.coupon_count > limit" style="text-align: right;"></div>-->
+                            <!--                            </div>-->
+                            <!--                            <div class="layui-tab-item">-->
+                            <!--                                <table class="layui-table" v-cloak="">-->
+                            <!--                                    <thead>-->
+                            <!--                                    <tr>-->
+                            <!--                                        <th>变动金额</th>-->
+                            <!--                                        <th>变动后</th>-->
+                            <!--                                        <th>类型</th>-->
+                            <!--                                        <th>创建时间</th>-->
+                            <!--                                        <th>备注</th>-->
+                            <!--                                    </tr>-->
+                            <!--                                    </thead>-->
+                            <!--                                    <tbody>-->
+                            <!--                                        <tr v-for="item in balanceChangList">-->
+                            <!--                                            <td>{{item.number}}-->
+                            <!--                                                <p v-show="item.pm==1">-->
+                            <!--                                                    <span class="layui-badge layui-bg-green" v-show="item.status==1">有效</span>-->
+                            <!--                                                    <span class="layui-badge layui-bg-orange" v-show="item.status==0">带确定</span>-->
+                            <!--                                                    <span class="layui-badge layui-bg-gray" v-show="item.status==-1">无效</span>-->
+                            <!--                                                </p>-->
+                            <!--                                            </td>-->
+                            <!--                                            <td>{{item.balance}}</td>-->
+                            <!--                                            <td>{{item._type}}</td>-->
+                            <!--                                            <td>{{item.add_time}}</td>-->
+                            <!--                                            <td>{{item.mark}}</td>-->
+                            <!--                                        </tr>-->
+                            <!--                                        <tr v-show="balanceChangList.length<=0" style="text-align: center">-->
+                            <!--                                            <td colspan="5">暂无数据</td>-->
+                            <!--                                        </tr>-->
+                            <!--                                    </tbody>-->
+                            <!--                                </table>-->
+                            <!--                                <div ref="balancechang_page" v-show="count.balanceChang_count > limit" style="text-align: right;"></div>-->
+                            <!--                            </div>-->
                             <!--推广人-->
                             <div class="layui-tab-item">
                                 <table class="layui-table" v-cloak="">
                                     <thead>
                                     <tr>
                                         <th>昵称</th>
-                                        <th>余额</th>
-<!--                                        <th>积分</th>-->
+                                        <!--                                        <th>余额</th>-->
+                                        <!--                                        <th>积分</th>-->
                                         <th>加入时间</th>
                                     </tr>
                                     </thead>
@@ -259,8 +287,8 @@
                                                 <span class="layui-badge layui-bg-orange" v-text="item.vip_name"></span>
                                             </p>
                                         </td>
-                                        <td>{{item.now_money}}</td>
-<!--                                        <td>{{item.integral}}</td>-->
+                                        <!--                                        <td>{{item.now_money}}</td>-->
+                                        <!--                                        <td>{{item.integral}}</td>-->
                                         <td>{{item.add_time}}</td>
                                     </tr>
                                     <tr v-show="balanceChangList.length<=0" style="text-align: center">
@@ -268,7 +296,8 @@
                                     </tr>
                                     </tbody>
                                 </table>
-                                <div ref="spread_page" v-show="count.spread_count > limit" style="text-align: right;"></div>
+                                <div ref="spread_page" v-show="count.spread_count > limit"
+                                     style="text-align: right;"></div>
                             </div>
                             <!--end-->
                         </div>
@@ -280,137 +309,143 @@
 </div>
 <script src="{__ADMIN_PATH}js/layuiList.js"></script>
 <script>
-    var count=<?=json_encode($count)?>,
-        $uid=<?=$uid?>;
-    require(['vue'],function(Vue) {
+    var count = <?=json_encode($count)?>,
+        $uid = <?=$uid?>;
+    require(['vue'], function (Vue) {
         new Vue({
             el: "#content",
             data: {
-                limit:10,
-                uid:$uid,
-                orderList:[],
-                integralList:[],
-                SignList:[],
-                CouponsList:[],
-                balanceChangList:[],
-                SpreadList:[],
-                count:count,
-                page:{
-                    order_page:1,
-                    integral_page:1,
-                    sign_page:1,
-                    copons_page:1,
-                    balancechang_page:1,
-                    spread_page:1,
+                limit: 10,
+                uid: $uid,
+                orderList: [],
+                integralList: [],
+                SignList: [],
+                CouponsList: [],
+                balanceChangList: [],
+                SpreadList: [],
+                count: count,
+                page: {
+                    order_page: 1,
+                    integral_page: 1,
+                    sign_page: 1,
+                    copons_page: 1,
+                    balancechang_page: 1,
+                    spread_page: 1,
                 },
             },
-            watch:{
-                'page.order_page':function () {
+            watch: {
+                'page.order_page': function () {
                     this.getOneorderList();
                 },
-                'page.integral_page':function () {
+                'page.integral_page': function () {
                     this.getOneIntegralList();
                 },
-                'page.sign_page':function () {
+                'page.sign_page': function () {
                     this.getOneSignList();
                 },
-                'page.copons_page':function () {
+                'page.copons_page': function () {
                     this.getOneCouponsList();
                 },
-                'page.balancechang_page':function () {
+                'page.balancechang_page': function () {
                     this.getOneBalanceChangList();
                 },
-                'page.spread_page':function () {
+                'page.spread_page': function () {
                     this.getSpreadList();
                 }
             },
-            methods:{
-                getSpreadList:function(){
-                    this.request('getSpreadList',this.page.spread_page,'SpreadList');
+            methods: {
+                getSpreadList: function () {
+                    this.request('getSpreadList', this.page.spread_page, 'SpreadList');
                 },
-                getOneorderList:function () {
-                    this.request('getOneorderList',this.page.order_page,'orderList');
+                getOneorderList: function () {
+                    this.request('getOneorderList', this.page.order_page, 'orderList');
                 },
-                getOneIntegralList:function () {
-                    this.request('getOneIntegralList',this.page.integral_page,'integralList');
+                getOneIntegralList: function () {
+                    this.request('getOneIntegralList', this.page.integral_page, 'integralList');
                 },
-                getOneSignList:function () {
-                    this.request('getOneSignList',this.page.sign_page,'SignList');
+                getOneSignList: function () {
+                    this.request('getOneSignList', this.page.sign_page, 'SignList');
                 },
-                getOneCouponsList:function () {
-                    this.request('getOneCouponsList',this.page.copons_page,'CouponsList');
+                getOneCouponsList: function () {
+                    this.request('getOneCouponsList', this.page.copons_page, 'CouponsList');
                 },
-                getOneBalanceChangList:function () {
-                    this.request('getOneBalanceChangList',this.page.balancechang_page,'balanceChangList');
+                getOneBalanceChangList: function () {
+                    this.request('getOneBalanceChangList', this.page.balancechang_page, 'balanceChangList');
                 },
-                request:function (action,page,name) {
-                    var that=this;
-                    layList.baseGet(layList.U({a:action,p:{page:page,limit:this.limit,uid:this.uid}}),function (res) {
-                        that.$set(that,name,res.data)
+                request: function (action, page, name) {
+                    var that = this;
+                    layList.baseGet(layList.U({
+                        a: action,
+                        p: {page: page, limit: this.limit, uid: this.uid}
+                    }), function (res) {
+                        that.$set(that, name, res.data)
                     });
+                },
+                open_image: function (src) {
+                    console.log(src);
                 }
             },
-            mounted:function () {
+            mounted: function () {
                 this.getOneorderList();
                 this.getOneIntegralList();
                 this.getOneSignList();
                 this.getOneCouponsList();
                 this.getOneBalanceChangList();
                 this.getSpreadList();
-                var that=this;
+                var that = this;
                 layList.laypage.render({
                     elem: that.$refs.page_order
-                    ,count:that.count.order_count
-                    ,limit:that.limit
-                    ,theme: '#1E9FFF',
-                    jump:function(obj){
-                        that.page.order_page=obj.curr;
+                    , count: that.count.order_count
+                    , limit: that.limit
+                    , theme: '#1E9FFF',
+                    jump: function (obj) {
+                        that.page.order_page = obj.curr;
                     }
                 });
                 layList.laypage.render({
                     elem: that.$refs.integral_page
-                    ,count:that.count.integral_count
-                    ,limit:that.limit
-                    ,theme: '#1E9FFF',
-                    jump:function(obj){
-                        that.page.integral_page=obj.curr;
+                    , count: that.count.integral_count
+                    , limit: that.limit
+                    , theme: '#1E9FFF',
+                    jump: function (obj) {
+                        that.page.integral_page = obj.curr;
                     }
                 });
                 layList.laypage.render({
                     elem: that.$refs.Sign_page
-                    ,count:that.count.sign_count
-                    ,limit:that.limit
-                    ,theme: '#1E9FFF',
-                    jump:function(obj){
-                        that.page.sign_page=obj.curr;
+                    , count: that.count.sign_count
+                    , limit: that.limit
+                    , theme: '#1E9FFF',
+                    jump: function (obj) {
+                        that.page.sign_page = obj.curr;
                     }
                 });
                 layList.laypage.render({
                     elem: that.$refs.copons_page
-                    ,count:that.count.coupon_count
-                    ,limit:that.limit
-                    ,theme: '#1E9FFF',
-                    jump:function(obj){
-                        that.page.copons_page=obj.curr;
+                    , count: that.count.coupon_count
+                    , limit: that.limit
+                    , theme: '#1E9FFF',
+                    jump: function (obj) {
+                        that.page.copons_page = obj.curr;
                     }
                 });
                 layList.laypage.render({
                     elem: that.$refs.balancechang_page
-                    ,count:that.count.balanceChang_count
-                    ,limit:that.limit
-                    ,theme: '#1E9FFF',
-                    jump:function(obj){
-                        that.page.balancechang_page=obj.curr;
+                    , count: that.count.balanceChang_count
+                    , limit: that.limit
+                    , theme: '#1E9FFF',
+                    jump: function (obj) {
+                        that.page.balancechang_page = obj.curr;
                     }
                 });
 
                 layList.laypage.render({
                     elem: that.$refs.spread_page
-                    ,count:that.count.spread_count
-                    ,limit:that.limit
-                    ,theme: '#1E9FFF',
-                    jump:function(obj){
-                        that.page.spread_page=obj.curr;
+                    , count: that.count.spread_count
+                    , limit: that.limit
+                    , theme: '#1E9FFF',
+                    jump: function (obj) {
+                        that.page.spread_page = obj.curr;
                     }
                 });
             }

+ 2 - 2
app/api/controller/trade/CashTradeController.php

@@ -351,7 +351,7 @@ class CashTradeController
         $order = CashTradeOrder::get($id);
         $proof = $request->post('proof', '');
         if (!not_empty_check($proof)) return app('json')->fail('请上传凭证');
-        if ($order['close_time'] < time()) return app('json')->fail('订单已关闭');
+        if ($order['close_time'] && $order['close_time'] < time()) return app('json')->fail('订单已关闭');
         switch ($order['trade_type']) {
             case 1:
                 if ($order['trade_uid'] != $request->uid()) return app('json')->fail('订单交易方错误');
@@ -376,7 +376,7 @@ class CashTradeController
     public function cancel($id, Request $request)
     {
         $order = CashTradeOrder::get($id);
-        if ($order['close_time'] < time()) return app('json')->fail('订单已关闭');
+        if ($order['close_time'] && $order['close_time'] < time()) return app('json')->fail('订单已关闭');
         if ($order['status'] > 0) return app('json')->fail('订单不可撤销');
         BaseModel::beginTrans();
         $res = true;

+ 28 - 0
app/api/controller/user/UserRechargeController.php

@@ -108,6 +108,34 @@ class UserRechargeController
         }
     }
 
+    public function moneyRecharge(Request $request)
+    {
+        list($num, $money_type) = UtilService::postMore([
+            ['num', 0], ['money_type', 0]
+        ], $request, true);
+        if (!$num || $num <= 0) return app('json')->fail('参数错误');
+
+        $rechargeOrder = UserRecharge::addRecharge($request->uid(), $num, $money_type);
+        if (!$rechargeOrder) return app('json')->fail('充值订单生成失败!');
+        return app('json')->successful('充值订单已生成,请前往充值');
+    }
+
+    public function uploadProof($id, Request $request)
+    {
+        list($proof) = UtilService::postMore([
+            ['proof', '']
+        ], $request, true);
+        if (!$proof || $proof == "") return app('json')->fail('参数错误');
+        $rechargeOrder = UserRecharge::get($id);
+        if (!$rechargeOrder || $rechargeOrder['uid'] != $request->uid()) return app('json')->fail('订单异常');
+        if ($rechargeOrder['paid'] != 0) return app('json')->fail('订单状态异常');
+        $rechargeOrder->paid = 2;
+        $rechargeOrder->proof = $proof;
+        $res = $rechargeOrder->save();
+        if (!$res) return app('json')->fail('凭证上传失败!');
+        return app('json')->successful('凭证上传成功');
+    }
+
     /**
      * 充值额度选择
      * @return mixed

+ 66 - 0
app/models/trade/CashTradeOrder.php

@@ -120,9 +120,71 @@ class CashTradeOrder extends BaseModel
         return compact('count', 'list');
     }
 
+    public static function getOneUserList($where)
+    {
+        $model = self::setStatus($where);
+        $model = $model->where('uid|trade_uid', $where['uid']);
+//        if (isset($where['trade_type']) && $where['trade_type'] != '') {
+//            if (isset($where['uid']) && $where['uid']) {
+//                $model = $model->where(function ($query) use ($where) {
+//                    $query->where('trade_uid', $where['uid'])
+//                        ->where('trade_type', $where['trade_type']);
+//                })->whereOr(function ($query) use ($where) {
+//                    $query->where('uid', $where['uid'])
+//                        ->where('trade_type', '<>', $where['trade_type']);
+//                });
+//            } else {
+//                $model = $model->where('trade_type', $where['trade_type']);
+//            }
+//        }
+//        if (isset($where['money_type']) && $where['money_type'] != '') {
+//            $model = $model->where('money_type', $where['money_type']);
+//        }
+//        $count = $model->count();
+//        var_dump(self::getLastSql());
+        $list = $model->page((int)$where['page'], (int)$where['limit'])->select()
+//        var_dump(self::getLastSql());
+            ->each(function ($item) use ($where) {
+                $money_type = init_money_type();
+                $item['_user'] = User::getUserInfo($item['uid'])['nickname'] . '/' . $item['uid'];
+                $item['_trade_user'] = $item['trade_uid'] ? User::getUserInfo($item['trade_uid'])['nickname'] . '/' . $item['trade_uid'] : '--';
+                $item['_add_time'] = time_format($item['add_time']);
+                $item['_end_time'] = $item['_end_time'] ? time_format($item['end_time']) : '--';
+                $item['_trade_time'] = $item['trade_time'] ? time_format($item['trade_time']) : '--';
+                $item['_money_type'] = $money_type[$item['money_type']];
+                $item['_trade_type'] = $item['trade_type'] == 2 ? '挂买' : '挂卖';
+                $item['_proof'] = $item['proof'] ? "<img src='" . $item['proof'] . "'>" : '--';
+                switch ($item['status']) {
+                    case -1:
+                        $item['_status'] = '未支付';
+                        break;
+                    case 0:
+                        $item['_status'] = '未完成';
+                        break;
+                    case 1:
+                        $item['_status'] = '已完成';
+                        break;
+                    case 2:
+                        $item['_status'] = '已收回';
+                        break;
+                    case 3:
+                        $item['_status'] = '交易中【‘已提交交易凭证’】';
+                        break;
+                    default:
+                        $item['_status'] = '未知';
+                        break;
+                }
+            });
+        return $list;
+    }
+
 
     public static function hangSale($uid, $money_type, $money_num, $price, $hang_time)
     {
+        $user = User::getUserInfo($uid);
+        if (!$user['bank_code'] && !$user['alipay_code'] && !$user['alipay_account'] && !$user['wechat_code'] && !$user['wechat_account']) {
+            return self::setErrorInfo('请先设置收款方式!');
+        }
         $money = UserMoney::initialUserMoney($uid, $money_type);
         if ($money['money'] < $money_num) return self::setErrorInfo('账户不足!');
         $sum = bcmul($money_num, $price, 2);
@@ -237,6 +299,10 @@ class CashTradeOrder extends BaseModel
         if (!$order) {
             return self::setErrorInfo('订单不存在或已结束挂出');
         }
+        $user = User::getUserInfo($uid);
+        if (!$user['bank_code'] && !$user['alipay_code'] && !$user['alipay_account'] && !$user['wechat_code'] && !$user['wechat_account']) {
+            return self::setErrorInfo('请先设置收款方式!');
+        }
         $money = UserMoney::initialUserMoney($uid, $order['money_type']);
         if ($money['money'] < $order['money_num']) return self::setErrorInfo('账户不足!');
         BaseModel::beginTrans();