hrjy 3 years ago
parent
commit
a54b04bfcf

+ 129 - 2
app/admin/controller/diagnosis/DiagnosisOrder.php

@@ -8,6 +8,10 @@
 namespace app\admin\controller\diagnosis;
 namespace app\admin\controller\diagnosis;
 
 
 use app\admin\controller\AuthController;
 use app\admin\controller\AuthController;
+use app\admin\model\diagnosis\DiagnosisOrderAttr;
+use app\admin\model\user\User;
+use app\admin\model\user\UserBill;
+use crmeb\basic\BaseModel;
 use crmeb\services\{ExpressService,
 use crmeb\services\{ExpressService,
     JsonService,
     JsonService,
     JsonService as Json,
     JsonService as Json,
@@ -32,6 +36,10 @@ class DiagnosisOrder extends AuthController
      */
      */
     public function index()
     public function index()
     {
     {
+        $this->assign([
+            'year' => get_month(),
+
+        ]);
         return $this->fetch();
         return $this->fetch();
     }
     }
 
 
@@ -42,9 +50,10 @@ class DiagnosisOrder extends AuthController
             ['page', 1],
             ['page', 1],
             ['limit', 20],
             ['limit', 20],
             ['name', ''],
             ['name', ''],
-            ['role', ''],
+            ['order_id', ''],
             ['type', ''],
             ['type', ''],
-            ['gc', ''],
+            ['rece', ''],
+            ['data', ''],
         ]);
         ]);
 
 
         return Json::successlayui(model::list($where));
         return Json::successlayui(model::list($where));
@@ -163,6 +172,26 @@ class DiagnosisOrder extends AuthController
 
 
     }
     }
 
 
+    /**
+     * 完成
+     * @param $id
+     * @return void
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+    public function wc($id)
+    {
+        $order = model::find($id);
+        $order['status'] = 2;
+        $res = $order->save();
+        if ($res){
+            return Json::success('成功!');
+        }else{
+            return Json::fail('失败');
+        }
+    }
+
 
 
     /**
     /**
      * 设置单个产品上架|下架
      * 设置单个产品上架|下架
@@ -180,4 +209,102 @@ class DiagnosisOrder extends AuthController
         }
         }
     }
     }
 
 
+    /**
+     * 订单详情
+     * @param $id
+     * @return string
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+    public function info($id)
+    {
+        $order = model::find($id);
+        if ($order['images']){
+            $order['images'] = json_decode($order['images']);
+        }
+        $user = User::where('uid', $order['uid'])->find();//订单用户
+        $re = User::where('uid', $order['order_receiving'])->find();//接单员
+        if ($re){
+            $apply = \app\admin\model\diagnosis\DiagnosisApply::where('uid', $re['uid'])->find();
+            $re['bd_phone'] = $apply['phone'];
+            $re['bd_name'] = $apply['name'];
+            $re['sex'] = $apply['sex'] == 1? '男' : '女';
+        }
+        $attr = DiagnosisOrderAttr::where('oid', $id)->find();
+        $cate = implode(',',\app\admin\model\diagnosis\DiagnosisCate::where('id', 'in', $order['cate_id'])->column('name'));
+        $service = \app\admin\model\diagnosis\DiagnosisService::where('id', 'in', $attr['service_id'])->select();
+        $attr['time'] = date('Y-m-d H:i:s', $attr['time']);
+        $this->assign('order', $order);
+        $this->assign('user', $user);
+        $this->assign('re', $re);
+        $this->assign('attr', $attr);
+        $this->assign('cate', $cate);
+        $this->assign('service', $service);
+
+        return $this->fetch();
+    }
+
+    public function refund($id)
+    {
+        $order = model::find($id);
+        if (!$order) return JsonService::fail('数据不存在');
+        $f = [];
+        $f[] = Form::input('order_id', '退款单号', $order['order_id'])->disabled(1);
+        $f[] = Form::number('refund_price', '退款金额', $order['pay_price'])->precision(2)->min(0.01);
+        $f[] = Form::radio('type', '状态', 1)->options([['label' => '直接退款', 'value' => 1], ['label' => '退款后,返回原状态', 'value' => 2]]);
+        $form = Form::make_post_form('退款处理', $f, Url::buildUrl('updateRefundY', array('id' => $id)), 7);
+        $this->assign(compact('form'));
+        return $this->fetch('public/form-builder');
+    }
+
+    /**
+     * 退款处理
+     * @param $id
+     */
+    public function updateRefundY($id)
+    {
+        $data = Util::postMore([
+            'refund_price',
+            ['type', 1],
+        ]);
+        if (!$id) return $this->failed('数据不存在');
+        $product = model::get($id);
+        if (!$product) return Json::fail('数据不存在!');
+        if ($product['pay_price'] == $product['refund_price']) return Json::fail('已退完支付金额!不能再退款了');
+        if (!$data['refund_price']) return Json::fail('请输入退款金额');
+        $refund_price = $data['refund_price'];
+        $data['refund_price'] = bcadd($data['refund_price'], $product['refund_price'], 2);
+        $bj = bccomp((float)$product['pay_price'], (float)$data['refund_price'], 2);
+        if ($bj < 0) return Json::fail('退款金额大于支付金额,请修改退款金额');
+        $data['refund_status'] = 1;
+        $type = $data['type'];
+        unset($data['type']);
+        $refund_data['pay_price'] = $product['pay_price'];
+        $refund_data['refund_price'] = $refund_price;
+        if ($product['pay_type'] == 2) {
+            try {
+                WechatService::payOrderRefund($product['order_id'], $refund_data);
+            } catch (\Exception $e) {
+                return Json::fail($e->getMessage());
+            }
+        } else if ($product['pay_type'] == 1) {
+            BaseModel::beginTrans();
+            $usermoney = User::where('uid', $product['uid'])->value('now_money');
+            $res1 = User::bcInc($product['uid'], 'now_money', $refund_price, 'uid');
+            $res2 = UserBill::income('退款', $product['uid'], 'now_money', 'pay_product_refund', $refund_price, $product['id'], bcadd($usermoney, $refund_price, 2), '订单退款到余额' . floatval($refund_price) . '元');
+            $res = $res1 && $res2;
+            BaseModel::checkTrans($res);
+            if (!$res) return Json::fail('余额退款失败!');
+        }
+        $resEdit = model::edit($data, $id);
+        $res = true;
+        if ($resEdit) {
+            BaseModel::commitTrans();
+            return Json::success('修改成功!');
+        } else {
+            return Json::fail('修改失败!');
+        }
+    }
+
 }
 }

+ 5 - 0
app/admin/controller/diagnosis/DiagnosisService.php

@@ -60,6 +60,7 @@ class DiagnosisService extends AuthController
         $f = [];
         $f = [];
         $f[] = Form::input('name', '名称')->required();
         $f[] = Form::input('name', '名称')->required();
         $f[] = Form::input('price', '金额')->required();
         $f[] = Form::input('price', '金额')->required();
+        $f[] = Form::input('reward', '接单奖励')->required();
         $f[] = Form::radio('status', '状态', 1)->options([['value' => 0, 'label' => '禁用'], ['value' => 1, 'label' => '正常']]);
         $f[] = Form::radio('status', '状态', 1)->options([['value' => 0, 'label' => '禁用'], ['value' => 1, 'label' => '正常']]);
         $form = Form::make_post_form('添加', $f, Url::buildUrl('save'));
         $form = Form::make_post_form('添加', $f, Url::buildUrl('save'));
         $this->assign(compact('form'));
         $this->assign(compact('form'));
@@ -76,6 +77,7 @@ class DiagnosisService extends AuthController
             'type',
             'type',
             'price',
             'price',
             'status',
             'status',
+            'reward',
         ]);
         ]);
         $res = $model->save($data);
         $res = $model->save($data);
         if ($res) return Json::successful('添加成功');
         if ($res) return Json::successful('添加成功');
@@ -94,6 +96,7 @@ class DiagnosisService extends AuthController
         $f = [];
         $f = [];
         $f[] = Form::input('name', '分类名称', $data['name'])->required();
         $f[] = Form::input('name', '分类名称', $data['name'])->required();
         $f[] = Form::input('price', '金额', $data['price'])->required();
         $f[] = Form::input('price', '金额', $data['price'])->required();
+        $f[] = Form::input('reward', '接单奖励', $data['reward'])->required();
         $f[] = Form::radio('status', '状态', (string)$data['status'])->options([['value' => 0, 'label' => '禁用'], ['value' => 1, 'label' => '正常']]);
         $f[] = Form::radio('status', '状态', (string)$data['status'])->options([['value' => 0, 'label' => '禁用'], ['value' => 1, 'label' => '正常']]);
         $f[] = Form::hidden('id', $id);
         $f[] = Form::hidden('id', $id);
         $form = Form::make_post_form('修改', $f, Url::buildUrl('update'));
         $form = Form::make_post_form('修改', $f, Url::buildUrl('update'));
@@ -117,6 +120,7 @@ class DiagnosisService extends AuthController
             'type',
             'type',
             'price',
             'price',
             'status',
             'status',
+            'reward',
             'id'
             'id'
         ]);
         ]);
         $details = $model->find($data['id']);
         $details = $model->find($data['id']);
@@ -124,6 +128,7 @@ class DiagnosisService extends AuthController
         $details['type'] = $data['type'];
         $details['type'] = $data['type'];
         $details['price'] = $data['price'];
         $details['price'] = $data['price'];
         $details['status'] = $data['status'];
         $details['status'] = $data['status'];
+        $details['reward'] = $data['reward'];
         $res = $details->save();
         $res = $details->save();
         if ($res) return Json::successful('修改成功');
         if ($res) return Json::successful('修改成功');
         return Json::fail('修改失败');
         return Json::fail('修改失败');

+ 46 - 2
app/admin/model/diagnosis/DiagnosisOrder.php

@@ -13,6 +13,7 @@ use app\admin\model\system\SystemAdmin;
 use app\models\article\ArticleContent;
 use app\models\article\ArticleContent;
 use crmeb\traits\ModelTrait;
 use crmeb\traits\ModelTrait;
 use crmeb\basic\BaseModel;
 use crmeb\basic\BaseModel;
+use think\model\concern\SoftDelete;
 
 
 /**
 /**
  * 图文管理 Model
  * 图文管理 Model
@@ -29,20 +30,63 @@ class DiagnosisOrder extends BaseModel
     protected $name = 'diagnosis_order';
     protected $name = 'diagnosis_order';
 
 
     protected $autoWriteTimestamp = true;
     protected $autoWriteTimestamp = true;
+    use SoftDelete;
+    protected $deleteTime = 'delete_time';
 
 
     public static function list($where)
     public static function list($where)
     {
     {
-        $model = self::field('*')->order('id DESC');
+        $model = self::alias('a')
+            ->field('a.*,b.nickname,c.nickname as re_nickname')
+            ->leftJoin('user b', 'a.uid = b.uid')
+            ->leftJoin('user c', 'a.order_receiving = c.uid')
+            ->order('a.id DESC');
 
 
-        if ($where['name'])$model->where('name' , 'like', '%'.$where['name'].'%');
+        if ($where['name'])$model->where('a.uid|b.nickname' , 'like', '%'.$where['name'].'%');
+        if ($where['order_id'])$model->where('a.order_id' , 'like', '%'.$where['order_id'].'%');
+        if ($where['rece'])$model->where('a.order_receiving|c.nickname' , 'like', '%'.$where['rece'].'%');
         if ($where['type'])$model->where('type' , $where['type']);
         if ($where['type'])$model->where('type' , $where['type']);
+        if (isset($where['data']) && $where['data'] !== '') {
+            $model = self::getModelTime($where, $model,   'create_time');
+        }
         $data['count'] = $model->count();
         $data['count'] = $model->count();
         if ($where['page'] && $where['limit']){
         if ($where['page'] && $where['limit']){
             $model->page($where['page'], $where['limit']);
             $model->page($where['page'], $where['limit']);
         }else{
         }else{
             $model->page(20, 1);
             $model->page(20, 1);
         }
         }
+
+
         $list = $model->select()->toArray();
         $list = $model->select()->toArray();
+        foreach ($list as &$item)
+        {
+            if ($item['paid'] == 0) $item['paid'] = '未支付';
+            if ($item['paid'] == 1) $item['paid'] = '已支付';
+            if ($item['pay_type'] == 1) $item['pay_type'] = '余额';
+            if ($item['pay_type'] == 2) $item['pay_type'] = '微信';
+            if ($item['pay_type'] == 3) $item['pay_type'] = '支付宝';
+            $item['cate'] = implode(',',DiagnosisCate::where('id', 'in', $item['cate_id'])->column('name'));
+            if ($item['status'] == 0){
+                $item['status'] = '待接单';
+            }elseif ($item['status'] == 1){
+                $item['status'] = '已接单';
+            }elseif ($item['status'] == 2){
+                $item['status'] = '已完成';
+            }elseif ($item['status'] == -1){
+                $item['status'] = '已过期';
+            }elseif ($item['status'] == -2){
+                if ($item['refund_status'] == 0){
+                    $item['status'] = '待退款';
+                }elseif ($item['refund_status'] == 1){
+                    $item['status'] = '已退款';
+                }
+
+            }
+            if ($item['type'] == 1){
+                $item['type'] = '陪诊';
+            }elseif ($item['type'] == 2){
+                $item['type'] = '代办';
+            }
+        }
         $data['data'] = $list;
         $data['data'] = $list;
         return $data;
         return $data;
 
 

+ 33 - 0
app/admin/model/diagnosis/DiagnosisOrderAttr.php

@@ -0,0 +1,33 @@
+<?php
+
+/**
+ *
+ * @author: xaboy<365615158@qq.com>
+ * @day: 2017/11/02
+ */
+
+namespace app\admin\model\diagnosis;
+
+use app\admin\model\store\StoreProduct;
+use app\admin\model\system\SystemAdmin;
+use app\models\article\ArticleContent;
+use crmeb\traits\ModelTrait;
+use crmeb\basic\BaseModel;
+
+/**
+ * 图文管理 Model
+ * Class WechatNews
+ * @package app\admin\model\wechat
+ */
+class DiagnosisOrderAttr extends BaseModel
+{
+
+    use ModelTrait;
+
+    protected $pk = 'id';
+
+    protected $name = 'diagnosis_order_attr';
+
+    protected $autoWriteTimestamp = true;
+
+}

+ 231 - 15
app/admin/view/diagnosis/diagnosis_order/index.php

@@ -38,18 +38,59 @@
                                 <div class="layui-col-lg12">
                                 <div class="layui-col-lg12">
                                     <label class="layui-form-label" style="top: -5.5px;">搜索条件</label>
                                     <label class="layui-form-label" style="top: -5.5px;">搜索条件</label>
                                     <div class="layui-input-inline">
                                     <div class="layui-input-inline">
-                                        <input type="text" id="name" name="name" class="layui-input" placeholder="请输入名称">
+                                        <input type="text" id="name" name="name" class="layui-input" placeholder="请输入用户昵称,uid">
+                                    </div>
+                                    <div class="layui-input-inline">
+                                        <input type="text" id="rece" name="rece" class="layui-input" placeholder="请输入接单员昵称,uid">
+                                    </div>
+                                    <div class="layui-input-inline">
+                                        <input type="text" id="order_id" name="order_id" class="layui-input" placeholder="订单号">
                                     </div>
                                     </div>
                                     <div class="layui-inline">
                                     <div class="layui-inline">
                                         <label class="layui-form-label" style="top: -4.5px">类型</label>
                                         <label class="layui-form-label" style="top: -4.5px">类型</label>
                                         <div class="layui-input-block">
                                         <div class="layui-input-block">
-                                            <select name="type">
+                                            <select name="type" id="type">
                                                 <option value="">全部</option>
                                                 <option value="">全部</option>
                                                 <option value="1">陪诊</option>
                                                 <option value="1">陪诊</option>
                                                 <option value="2">代办</option>
                                                 <option value="2">代办</option>
                                             </select>
                                             </select>
                                         </div>
                                         </div>
                                     </div>
                                     </div>
+<!--                                    <div class="layui-inline">-->
+<!--                                        <label class="layui-form-label" style="top: -4.5px">支付方式</label>-->
+<!--                                        <div class="layui-input-block">-->
+<!--                                            <select name="pay_type">-->
+<!--                                                <option value="">全部</option>-->
+<!--                                                <option value="1">余额</option>-->
+<!--                                                <option value="2">微信</option>-->
+<!--                                                <option value="3">支付宝</option>-->
+<!--                                            </select>-->
+<!--                                        </div>-->
+<!--                                    </div>-->
+                                </div>
+                                <div class="layui-col-lg12" id="app1">
+                                    <div class="layui-col-lg12">
+                                        <label class="layui-form-label">创建时间:</label>
+                                        <div class="layui-input-block" data-type="data" v-cloak="">
+                                            <button class="layui-btn layui-btn-sm" type="button" v-for="item in dataList"
+                                                    @click="setData(item)"
+                                                    :class="{'layui-btn-primary':where.data!=item.value}">{{item.name}}
+                                            </button>
+                                            <button class="layui-btn layui-btn-sm" type="button" ref="time"
+                                                    @click="setData({value:'zd',is_zd:true})"
+                                                    :class="{'layui-btn-primary':where.data!='zd'}">自定义
+                                            </button>
+                                            <button type="button" class="layui-btn layui-btn-sm layui-btn-primary"
+                                                    v-show="showtime==true" ref="date_time">{$year.0} - {$year.1}
+                                            </button>
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                    <button @click="excel" type="button"
+                                            class="layui-btn layui-btn-warm layui-btn-sm export" type="button">
+                                        <i class="fa fa-floppy-o" style="margin-right: 3px;"></i>导出
+                                    </button>
+                                    </div>
                                 </div>
                                 </div>
                                 <div class="layui-inline">
                                 <div class="layui-inline">
                                     <div class="layui-input-inline">
                                     <div class="layui-input-inline">
@@ -57,6 +98,7 @@
                                             <i class="layui-icon layui-icon-search"></i>搜索</button>
                                             <i class="layui-icon layui-icon-search"></i>搜索</button>
                                     </div>
                                     </div>
                                 </div>
                                 </div>
+
                             </div>
                             </div>
                         </form>
                         </form>
                     </div>
                     </div>
@@ -83,15 +125,38 @@
                     </div>
                     </div>
                     <table class="layui-hide" id="List" lay-filter="List"></table>
                     <table class="layui-hide" id="List" lay-filter="List"></table>
 
 
-                    <script type="text/html" id="is_show">
-                        <input type='checkbox' name='id' lay-skin='switch' value="{{d.id}}" lay-filter='is_show' lay-text='开启|关闭'  {{ d.status == 1 ? 'checked' : '' }}>
+                    <script type="text/html" id="nickname">
+                        {{d.nickname}}/{{d.uid}}
+
+                    </script>
+                    <script type="text/html" id="re">
+                        {{d.nickname}}/{{d.uid}}
+
                     </script>
                     </script>
                     <script type="text/html" id="act">
                     <script type="text/html" id="act">
-                        <button type="button" class="layui-btn layui-btn-xs layui-btn-normal" onclick="$eb.createModalFrame('编辑','{:Url('edit')}?id={{d.id}}',{h:500,w:500})">
-                            编辑
-                        </button>
-                        <button type="button" class="layui-btn layui-btn-xs layui-btn-danger" lay-event='delete' id="">
-                            删除
+                        <button type="button" class="layui-btn layui-btn-xs" onclick="dropdown(this)">操作 <span
+                                    class="caret"></span></button>
+                        <ul class="layui-nav-child layui-anim layui-anim-upbit">
+                            <li>
+                                <a href="javascript:void(0);" lay-event='wc'>
+                                    <i class="fa fa-file-text"></i> 完成
+                                </a>
+                            </li>
+                            <li>
+                                <a href="javascript:void(0);" lay-event='delete'>
+                                    <i class="fa fa-edit"></i> 删除
+                                </a>
+                            </li>
+                            {{# if(d.status == '待退款' && d.refund_status == 0){ }}
+                            <li>
+                                <a href="javascript:void(0);" onclick="$eb.createModalFrame('编辑','{:Url('refund')}?id={{d.id}}',{h:950,w:800})">
+                                    <i class="fa fa-edit"></i> 退款
+                                </a>
+                            </li>
+                            {{# } ;}}
+                        </ul>
+                        <button type="button" class="layui-btn layui-btn-xs layui-btn-normal" onclick="$eb.createModalFrame('编辑','{:Url('info')}?id={{d.id}}',{h:950,w:800})">
+                            详情
                         </button>
                         </button>
 
 
                     </script>
                     </script>
@@ -110,11 +175,17 @@
         return [
         return [
             {type: 'checkbox'},
             {type: 'checkbox'},
             {field: 'id', title: 'ID', sort: true, event: 'id', width: '5%', templet: '#id'},
             {field: 'id', title: 'ID', sort: true, event: 'id', width: '5%', templet: '#id'},
-            {field: 'name', title: '名称', templet: '#name',  align: 'center'},
-            {field: 'type', title: '类型', templet: '#name',  align: 'center'},
-            {field: 'price', title: '金额',  align: 'center'},
-            {field: 'reward', title: '接单奖励',  align: 'center'},
-            {field: 'status', title: '状态', templet: '#is_show',  align: 'center'},
+            {field: 'nickname', title: '用户', templet: '#nickname',  align: 'center'},
+            {field: 'order_id', title: '订单号', align: 'center'},
+            {field: 'cate', title: '服务',  align: 'center'},
+            {field: 'type', title: '类型',  align: 'center'},
+            {field: 'ot_price', title: '订单金额',  align: 'center'},
+            {field: 'pay_price', title: '实际支付',  align: 'center'},
+            {field: 'commission', title: '佣金',  align: 'center'},
+            {field: 'paid', title: '支付状态',  align: 'center'},
+            {field: 'pay_type', title: '支付方式',   align: 'center'},
+            {field: 're_nickname', title: '接单员', templet: '#re', align: 'center'},
+            {field: 'status', title: '状态',  align: 'center'},
             {field: 'create_time', title: '时间', align: 'center', width: '8%'},
             {field: 'create_time', title: '时间', align: 'center', width: '8%'},
             {field: 'right', title: '操作', align: 'center', toolbar: '#act',width: '15%'},
             {field: 'right', title: '操作', align: 'center', toolbar: '#act',width: '15%'},
         ];
         ];
@@ -141,7 +212,7 @@
     layList.tool(function (event,data,obj) {
     layList.tool(function (event,data,obj) {
         switch (event) {
         switch (event) {
             case 'delete':
             case 'delete':
-                var url=layList.U({c:'water.water_cate',a:'delete',q:{id:data.id}});
+                var url=layList.U({c:'diagnosis.diagnosis_order',a:'delete',q:{id:data.id}});
                 var code = {title:"操作提示",text:"确定将该商品移入回收站吗?",type:'info',confirm:'是的,移入回收站'};
                 var code = {title:"操作提示",text:"确定将该商品移入回收站吗?",type:'info',confirm:'是的,移入回收站'};
                 $eb.$swal('delete',function(){
                 $eb.$swal('delete',function(){
                     $eb.axios.get(url).then(function(res){
                     $eb.axios.get(url).then(function(res){
@@ -156,6 +227,21 @@
                     });
                     });
                 },code)
                 },code)
                 break;
                 break;
+            case 'wc':
+                var url=layList.U({c:'diagnosis.diagnosis_order',a:'wc',q:{id:data.id}});
+                var code = {title:"操作提示",text:"确定完成吗?",type:'info',confirm:'是的'};
+                $eb.$swal('delete',function(){
+                    $eb.axios.get(url).then(function(res){
+                        if(res.status == 200 && res.data.code == 200) {
+                            $eb.$swal('success',res.data.msg);
+                            location.reload();
+                        }else
+                            return Promise.reject(res.data.msg || '失败')
+                    }).catch(function(err){
+                        $eb.$swal('error',err);
+                    });
+                },code)
+                break;
             case 'open_image':
             case 'open_image':
                 $eb.openImage(data.image);
                 $eb.openImage(data.image);
                 break;
                 break;
@@ -165,6 +251,34 @@
         }
         }
     })
     })
 
 
+    function dropdown(that) {
+        var oEvent = arguments.callee.caller.arguments[0] || event;
+        oEvent.stopPropagation();
+        var offset = $(that).offset();
+        var top = offset.top - $(window).scrollTop();
+        var index = $(that).parents('tr').data('index');
+        $('.layui-nav-child').each(function (key) {
+            if (key != index) {
+                $(this).hide();
+            }
+        })
+        if ($(document).height() < top + $(that).next('ul').height()) {
+            $(that).next('ul').css({
+                'padding': 10,
+                'top': -($(that).parents('td').height() / 2 + $(that).height() + $(that).next('ul').height() / 2),
+                'min-width': 'inherit',
+                'position': 'absolute'
+            }).toggle();
+        } else {
+            $(that).next('ul').css({
+                'padding': 10,
+                'top': $(that).parents('td').height() / 2 + $(that).height(),
+                'min-width': 'inherit',
+                'position': 'absolute'
+            }).toggle();
+        }
+    }
+
 
 
     //改状态
     //改状态
     layList.switch('status',function (odj,value) {
     layList.switch('status',function (odj,value) {
@@ -182,5 +296,107 @@
             });
             });
         }
         }
     });
     });
+
+    require(['vue'], function (Vue) {
+        new Vue({
+            el: "#app1",
+            data: {
+                badge: [],
+                dataList: [
+                    {name: '全部', value: ''},
+                    {name: '今天', value: 'today'},
+                    {name: '昨天', value: 'yesterday'},
+                    {name: '最近7天', value: 'lately7'},
+                    {name: '最近30天', value: 'lately30'},
+                    {name: '本月', value: 'month'},
+                    {name: '本年', value: 'year'},
+                ],
+                where: {
+                    data: '',
+                    status: status,
+                    type: '',
+                    pay_type: '',
+                    excel: 0,
+                },
+                showtime: false,
+            },
+            watch: {
+                'where.status': function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                },
+                'where.data': function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                },
+                'where.type': function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                },
+                'where.pay_type': function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                }
+            },
+            methods: {
+                setData: function (item) {
+                    var that = this;
+                    if (item.is_zd == true) {
+                        that.showtime = true;
+                        this.where.data = this.$refs.date_time.innerText;
+                    } else {
+                        this.showtime = false;
+                        this.where.data = item.value;
+                    }
+                },
+                getBadge: function () {
+                    var that = this;
+                    layList.basePost(layList.Url({c: 'order.store_order', a: 'getBadge'}), this.where, function (rem) {
+                        that.badge = rem.data;
+                    });
+                },
+                search: function () {
+                    this.where.excel = 0;
+                    this.getBadge();
+                    layList.reload(this.where, true);
+                },
+                refresh: function () {
+                    layList.reload();
+                    this.getBadge();
+                },
+                excel: function () {
+                    var name = $('#name').val();
+                    var order_id = $('#order_id').val();
+                    var rece = $('#rece').val();
+                    var type = $('#type').val();
+                    this.where['name'] = name;
+                    this.where['order_id'] = order_id;
+                    this.where['rece'] = rece;
+                    this.where['type'] = type;
+                    this.where.excel = 1;
+                    location.href = layList.Url({c: 'diagnosis.diagnosis_order', a: 'list', q: this.where});
+                    this.where.excel = 0;
+                }
+            },
+            mounted: function () {
+                var that = this;
+                that.getBadge();
+                window.formReload = this.search;
+                layList.laydate.render({
+                    elem: this.$refs.date_time,
+                    trigger: 'click',
+                    eventElem: this.$refs.time,
+                    range: true,
+                    change: function (value) {
+                        that.where.data = value;
+                    }
+                });
+            }
+        })
+    });
 </script>
 </script>
 {/block}
 {/block}

+ 129 - 0
app/admin/view/diagnosis/diagnosis_order/info.php

@@ -0,0 +1,129 @@
+{extend name="public/container"}
+{block name="content"}
+<div class="ibox-content order-info">
+
+    <div class="row">
+        <div class="col-sm-12">
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    订单信息
+                </div>
+                <div class="panel-body">
+                    {if $order.type == 1}
+                    <div class="row show-grid">
+                        <div class="col-xs-6" >用户昵称:{$user.nickname}</div>
+                        <div class="col-xs-6" >姓名:{$attr.name}</div>
+                        <div class="col-xs-6" >预约时间:{$attr.time}</div>
+                        <div class="col-xs-6" >预约服务:{$cate}</div>
+                        <div class="col-xs-6" >性别:{$attr.sex}</div>
+                        <div class="col-xs-6" >年龄:{$attr.age}</div>
+                        <div class="col-xs-6">联系电话: {$attr.phone}</div>
+                        <div class="col-xs-6">紧急联系人: {$attr.urgent_phone}</div>
+                        <div class="col-xs-6">接送地址: {$attr.transfer_address}</div>
+                        <div class="col-xs-6">医院: {$attr.hospital}</div>
+                    </div>
+                    {else}
+                    <div class="row show-grid">
+                        <div class="col-xs-6" >用户昵称:{$user.nickname}</div>
+                        <div class="col-xs-6" >姓名:{$attr.name}</div>
+                        <div class="col-xs-6" >预约时间:{$attr.time}</div>
+                        <div class="col-xs-6" >预约服务:{$cate}</div>
+                        <div class="col-xs-6">联系电话: {$attr.phone}</div>
+                        <div class="col-xs-6">医院: {$attr.hospital}</div>
+                    </div>
+                    {/if}
+                </div>
+            </div>
+        </div>
+        {if $order.type == 1}
+        <div class="col-sm-12">
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    陪诊服务
+                </div>
+                <div class="panel-body">
+                    {if $service}
+                    <div class="row show-grid">
+                        {foreach ($service as  $k => $v)}
+                        <div class="col-xs-12" >陪诊服务:{$v.name}</div>
+                        {/foreach}
+
+                    </div>
+                    {/if}
+                </div>
+            </div>
+        </div>
+        {/if}
+        <div class="col-sm-12">
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    接单员信息
+                </div>
+                <div class="panel-body">
+                    {if $re}
+                    <div class="row show-grid">
+                        <div class="col-xs-6" >接单员呢称:{$re.nickname}</div>
+                        <div class="col-xs-6" >接单员姓名:{$re.bd_name}</div>
+                        <div class="col-xs-6" >接单员联系方式:{$re.bd_phone}</div>
+                        <div class="col-xs-6" >接单员性别:{$re.sex}</div>
+                    </div>
+                    {else}
+                    <div class="row show-grid">
+                        <div class="col-xs-12" >暂无接单员接单</div>
+                    </div>
+                    {/if}
+                </div>
+            </div>
+        </div>
+        {if $order.status == 2}
+        <div class="col-sm-12">
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    完成凭证
+                </div>
+                <div class="panel-body">
+                    <div class="row show-grid">
+                        {foreach ($order.images as  $k => $v)}
+                        <div class="col-xs-12" ><img src="{$v}" width="520px" height="320px"></div>
+                        {/foreach}
+
+                    </div>
+                </div>
+            </div>
+        </div>
+        {/if}
+        {if $order.status == -2 && $order.refund_status == 1}
+        <div class="col-sm-12">
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    退款
+                </div>
+                <div class="panel-body">
+                    <div class="row show-grid">
+                        <div class="col-xs-6" >退款:{$order.refund_price}</div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        {/if}
+        <div class="col-sm-12">
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    备注信息
+                </div>
+                <div class="panel-body">
+                    <div class="row show-grid">
+                        <div class="col-xs-6" >{if $attr.remarks}{$attr.remarks}{else}暂无备注信息{/if}</div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+
+<script src="{__FRAME_PATH}js/content.min.js?v=1.0.0"></script>
+{/block}
+{block name="script"}
+
+{/block}

+ 1 - 0
app/admin/view/diagnosis/diagnosis_service/index.php

@@ -112,6 +112,7 @@
             {field: 'id', title: 'ID', sort: true, event: 'id', width: '5%', templet: '#id'},
             {field: 'id', title: 'ID', sort: true, event: 'id', width: '5%', templet: '#id'},
             {field: 'name', title: '名称', templet: '#name',  align: 'center'},
             {field: 'name', title: '名称', templet: '#name',  align: 'center'},
             {field: 'price', title: '金额',  align: 'center'},
             {field: 'price', title: '金额',  align: 'center'},
+            {field: 'reward', title: '接单奖励',  align: 'center'},
             {field: 'status', title: '状态', templet: '#is_show',  align: 'center'},
             {field: 'status', title: '状态', templet: '#is_show',  align: 'center'},
             {field: 'create_time', title: '时间', align: 'center', width: '8%'},
             {field: 'create_time', title: '时间', align: 'center', width: '8%'},
             {field: 'right', title: '操作', align: 'center', toolbar: '#act',width: '15%'},
             {field: 'right', title: '操作', align: 'center', toolbar: '#act',width: '15%'},