61 Commits 56393a05d4 ... 3fd2e40d91

Author SHA1 Message Date
  hzd 3fd2e40d91 Merge branch 'master' of http://121.36.46.135:3000/shangshang/jili2 5 months ago
  hzd 854eb577e0 陪护服务费及签名 5 months ago
  hzd 86bda1f106 bug 5 months ago
  hzd 07abc0c57c 配置陪护公众号 5 months ago
  zgg f4d1092da1 修改字段名 5 months ago
  zgg a301edc995 吉利1.0药品运送功能迁移 5 months ago
  zgg 2b8e502f5d bug 5 months ago
  zgg 4edd3b1d99 修改 6 months ago
  hzd a6f5aa3ce6 修改 6 months ago
  zgg 2c378e5d2a 新巡更大屏,需求 6 months ago
  zgg 1a8f2ffc4b Bug 6 months ago
  zgg 5cbd83d91c 重量单位修改 7 months ago
  zgg b5edcb5aa4 医废月统计导出Bug 7 months ago
  zgg a6289d31b7 修改 7 months ago
  zgg b16d058169 巡更大屏2 7 months ago
  zgg eee28a4f61 ios下载跳转 7 months ago
  zgg dd26731372 医废科室月统计 7 months ago
  hzd 40bb9742f7 修改上传目录 7 months ago
  zgg 831ff490b5 大屏Bug2 7 months ago
  zgg 795721b124 大屏Bug 7 months ago
  zgg 450d506959 医废大屏优化 7 months ago
  zgg 4662b6cdd6 Merge branch 'master' of http://121.36.46.135:3000/shangshang/jili2 7 months ago
  zgg c4d9956704 医废大屏 7 months ago
  zgg dcdb757da9 订单、工单导出问题 7 months ago
  zgg 645ebfb7e6 增加运送报表 7 months ago
  ss 4891bf8908 Merge branch 'master' of http://121.36.46.135:3000/shangshang/jili2 7 months ago
  ss 8046fa9993 11 7 months ago
  ss 21904e67b5 1 7 months ago
  ss bb42f4c7d7 大屏医废 7 months ago
  hzd 39b02737a2 盘库完成bug 7 months ago
  ss 8e72a69b26 11 7 months ago
  ss e4209311a6 1 7 months ago
  ss a3c1ac119c 1 7 months ago
  ss 2b0e053343 11 7 months ago
  ss 8d4e22c937 11 7 months ago
  ss f5e0bbc761 11 7 months ago
  ss fbf18d3ce8 11 7 months ago
  ss 7f30b3b2b5 1 7 months ago
  ss 216c75aa06 11 7 months ago
  ss 08f7429d55 11 7 months ago
  ss c03ce7441e 1 7 months ago
  hzd 1887c37f7e 修改医废类型bug 8 months ago
  ss 8af370a941 11 8 months ago
  ss 5b18496cc2 1 8 months ago
  hzd 9dceac4b2d 修改 8 months ago
  hzd 4bdb19c747 订单修改 8 months ago
  hzd 9faccf9996 修改 8 months ago
  hzd ff59a14312 需求修改 8 months ago
  hzd e0e507cab3 bug 8 months ago
  hzd 53c9d5c3a6 需求优化 8 months ago
  hzd 40329e2852 需求修改 8 months ago
  hzd 9d34c0f2d0 修改 8 months ago
  hzd aeca21dd6c Merge branch 'master' of http://121.36.46.135:3000/shangshang/jili2 8 months ago
  hzd 44c1c0806d xg 8 months ago
  hzd 6f0820d9b3 优化 8 months ago
  ss df307a2351 1 8 months ago
  ss 6f85991dad 1 8 months ago
  ss f3cc29ddee 11 8 months ago
  ss b3b95ca725 11 8 months ago
  ss 0cd1469bc7 1 8 months ago
  ss 33d2a96cf2 初始化 8 months ago

+ 12 - 2
application/admin/controller/PhOrders.php

@@ -71,6 +71,7 @@ class PhOrders extends Auth
                 $map[] = ['a.create_time','<=',$e];
             }
             $map[] = ['a.org_id','=',$this->orgId];
+            $map[] = ['a.is_service','=',1];
             $map= empty($map) ? true: $map;
             //数据查询
             $lists = Db::name('ph_orders')
@@ -193,6 +194,9 @@ class PhOrders extends Auth
         if(!$info){
             $this->error('订单不存在');
         }
+        $serviceMoney = model("Config")->getConfig("web_service_money",$this->orgId);
+        $serviceMoney = floatval($serviceMoney) > 0? floatval($serviceMoney) : 0;
+        $this->assign('service_money',$serviceMoney);
         $this->assign('info',$info);
         return $this->fetch();
     }
@@ -221,22 +225,28 @@ class PhOrders extends Auth
     /**
      * 预收金
      */
-    public function payOrder($id = 0){
+    public function payOrder($id = 0,$busType=0){
         if(request()->isPost()){
             $remark = input('remark','','trim');
             $money = input('money/f',0);
+            $busType = input('busType/d',0);
             if($money <= 0){
                 HelpHander::error('输入金额错误');
             }
 
-            $res = model('PhOrderPay')->addSaveDispatch($this->orgId,$id,$money,$remark);
+            $res = model('PhOrderPay')->addSaveDispatch($this->orgId,$id,$money,$remark,$busType);
             if($res){
                 $this->success('操作成功',url('index'));
             }else{
                 $this->error(model('PhOrderPay')->getError());
             }
         }else{
+            $serviceMoney = model("Config")->getConfig("web_service_money",$this->orgId);
+            $serviceMoney = floatval($serviceMoney) > 0? floatval($serviceMoney) : 0;
+
+            $this->assign('service_money',$serviceMoney);
             $this->assign('id',$id);
+            $this->assign('busType',$busType);
             return $this->fetch();
         }
     }

+ 61 - 0
application/admin/controller/PhProtocol.php

@@ -0,0 +1,61 @@
+<?php
+namespace app\admin\controller;
+
+class PhProtocol extends Auth
+{
+
+    public function index(){
+        if(request()->isAjax()){
+            //分页参数
+            $length = input('rows',10,'intval');   //每页条数
+            $page = input('page',1,'intval');      //第几页
+            $start = ($page - 1) * $length;     //分页开始位置
+            //排序
+            $sortRow = input('sidx','id','trim');      //排序列
+            $sort = input('sord','desc','trim');        //排序方式
+            $order = $sortRow.' '.$sort;
+            $map[] = ['org_id','=',$this->orgId];
+            $map= empty($map) ? true: $map;
+            //数据查询
+            $lists = db('ph_protocol')->limit($start,$length)->where($map)->order($order)->select();
+
+            //数据返回
+            $totalCount = db('ph_protocol')->where($map)->count();
+            $totalPage = ceil($totalCount/$length);
+            $result['page'] = $page;
+            $result['total'] = $totalPage;
+            $result['records'] = $totalCount;
+            $result['rows'] = $lists;
+            return json($result);
+        }else{
+            return $this->fetch();
+        }
+
+    }
+
+    /**
+     * 新增/编辑
+     */
+    public function add($id=0){
+
+        if(request()->isPost()){
+            $res = model('PhProtocol')->updates();
+            if($res){
+                $this->success('操作成功',url('index'));
+            }else{
+                $this->error(model('PhProtocol')->getError());
+            }
+        }else{
+            $title = '新增';
+            if($id){
+                $title = '编辑';
+                $info = db('ph_protocol')->where('id',$id)->find();
+                $this->assign('info',$info);
+            }
+
+            $this->assign('title',$title);
+            return $this->fetch();
+        }
+    }
+
+}

+ 53 - 1
application/admin/view/ph_orders/detail.html

@@ -88,12 +88,25 @@
                         </td>
                     </tr>
                     <tr>
+                        <td class="table-left">服务费</td>
+                        <td>{$info.service_money}</td>
+                        <td class="table-left">签名图片</td>
+                        <td>
+                            {if condition="$info['sign']"}
+                            <img src="{$info['sign']}" onclick="open_img(this)" style="width: 80px;height: auto" alt="">
+                            {/if}
+                        </td>
+                    </tr>
+                    <tr>
                         <td class="table-left">操作</td>
                         <td colspan="3">
                             {if condition="$info['status'] eq 0 or $info['status'] eq 1"}
                             <a href="javascript:;" url="{:url('PhOrders/send',['id'=>$info['id']])}" data-title="派单" onclick="layer_open(this,2)" class="btn btn-sm btn-success">派单</a>
-                            <a href="javascript:;" url="{:url('PhOrders/payOrder',['id'=>$info['id']])}" data-title="预收金" onclick="layer_open(this,2)" class="btn btn-sm btn-primary">预收金</a>
+                            <a href="javascript:;" url="{:url('PhOrders/payOrder',['id'=>$info['id'],'busType'=>0])}" data-title="预收金" onclick="layer_open(this,2)" class="btn btn-sm btn-primary">预收金</a>
                             <a href="{:url('PhOrders/edit',['id'=>$info['id']])}" class="btn btn-sm btn-warning">编辑</a>
+                            {if !$info['pays2'] && $info['form'] == 0 && $service_money > 0}
+                            <a href="javascript:;" url="{:url('PhOrders/payOrder',['id'=>$info['id'],'busType'=>1])}" data-title="服务费" onclick="layer_open(this,2)" class="btn btn-sm btn-primary">服务费</a>
+                            {/if}
                             {if $info['is_zf'] == 0}
                             <a href="javascript:;" url="{:url('PhOrders/cancel',['id'=>$info['id']])}" data-title="作废" onclick="layer_open(this,2)" class="btn btn-sm btn-danger">作废</a>
                             {/if}
@@ -147,6 +160,45 @@
                 </table>
 
                 <p><br></p>
+                <h3>服务费记录</h3>
+                <table class="table table-bordered table-striped">
+                    <tr>
+                        <th>支付单号</th>
+                        <th>金额</th>
+                        <th>退款金额</th>
+                        <th>支付类型</th>
+                        <th>支付时间</th>
+                        <th>备注</th>
+                        {if condition="$info['status'] eq 0 or $info['status'] eq 1"}
+                        <th>操作</th>
+                        {/if}
+                    </tr>
+                    {volist name="info['pays2']" id="v"}
+                    <tr>
+                        <td>{$v.sn}</td>
+                        <td>{$v.money}</td>
+                        <td>{$v.money2}</td>
+                        <td>
+                            {eq name="v['type']" value="1"}<span>线下</span>{/eq}
+                            {eq name="v['type']" value="2"}<span>线上</span>{/eq}
+                        </td>
+                        <td>{$v.pay_time}</td>
+                        <td>{$v.remark}</td>
+                        {if condition="$info['status'] eq 0 or $info['status'] eq 1"}
+                        <td>
+                            <a href="javascript:;" url="{:url('PhOrders/refund',['id'=>$v['id']])}" data-title="退款" onclick="layer_open(this,2)" class="btn btn-xs btn-danger">退款</a>
+                        </td>
+                        {/if}
+                    </tr>
+                    {/volist}
+                    {empty name="info['pays2']"}
+                    <tr>
+                        <td colspan="7" class="text-center">暂无数据</td>
+                    </tr>
+                    {/empty}
+                </table>
+
+                <p><br></p>
                 <h3>预收金记录</h3>
                 <table class="table table-bordered table-striped">
                     <tr>

+ 6 - 0
application/admin/view/ph_orders/pay_order.html

@@ -6,11 +6,17 @@
             <div class="ibox-content">
                 <form method="post" action="{:url('payOrder')}" class="form-horizontal">
                     <input type="hidden" name="id" value="{$id}">
+                    <input type="hidden" name="busType" value="{$busType}">
 
                     <div class="form-group">
                         <label class="col-sm-2 control-label">金额 <span style="color: red;">*</span></label>
                         <div class="col-sm-6">
+                            {if condition="$busType eq 0"}
                             <input type="text" class="form-control" name="money" value="">
+                            {/if}
+                            {if condition="$busType eq 1"}
+                            <input type="text" class="form-control" readonly name="money" value="{$service_money}">
+                            {/if}
                         </div>
                     </div>
 

+ 5 - 0
application/admin/view/ph_orders/refund.html

@@ -17,7 +17,12 @@
                     <div class="form-group">
                         <label class="col-sm-2 control-label">退款金额 <span style="color: red;">*</span></label>
                         <div class="col-sm-6">
+                            {if condition="$pay['bus_type'] eq 0"}
                             <input type="text" class="form-control" name="money" value="">
+                            {/if}
+                            {if condition="$pay['bus_type'] eq 1"}
+                            <input type="text" class="form-control" readonly name="money" value="{$money}">
+                            {/if}
                         </div>
                     </div>
 

+ 49 - 0
application/admin/view/ph_protocol/add.html

@@ -0,0 +1,49 @@
+{extend name="common/common2" /}
+{block name="main"}
+<div class="row">
+    <div class="col-sm-12">
+        <div class="ibox float-e-margins">
+            <!--<div class="ibox-title">-->
+                <!--<h5>编辑</h5>-->
+                <!--<div class="ibox-tools">-->
+                    <!--<a class="toback" href="{:url('index')}">-->
+                        <!--返回上一页-->
+                    <!--</a>-->
+                <!--</div>-->
+            <!--</div>-->
+            <div class="ibox-content">
+                <form method="post" action="{:url('add')}" class="form-horizontal">
+                    <input type="hidden" name="id" value="{$info['id']|default=''}">
+
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label">名称</label>
+                        <div class="col-sm-6">
+                            <input type="text" class="form-control" name="title" value="{$info.title|default=''}">
+                        </div>
+                    </div>
+
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label">内容</label>
+                        <div class="col-sm-6">
+                            {:widget_view('common/ueditor',['name'=>'content','height'=>300,'val'=>isset($info)?$info['content']:''])}
+                        </div>
+                    </div>
+
+                    <div class="hr-line-dashed"></div>
+                    <div class="form-group">
+                        <div class="col-sm-6 col-sm-offset-2">
+                            <button class="btn btn-primary ajax-post"  data-layer_c="1" target-form="form-horizontal" type="submit">确 定</button>
+                            <button class="btn cancel-btn btn-default" type="button">取 消</button>
+                        </div>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>
+{/block}
+{block name="script"}
+<script>
+
+</script>
+{/block}

+ 66 - 0
application/admin/view/ph_protocol/index.html

@@ -0,0 +1,66 @@
+{extend name="common/common2" /}
+{block name="main"}
+
+<div class="ibox">
+    <div class="ibox-content">
+        <div class="row">
+            <div class="col-xs-3">
+                <a href="javascript:;" url="{:url('add')}" data-title="新增" onclick="layer_open(this,1)" class="btn btn-sm btn-primary">新增</a>
+            </div>
+        </div>
+
+    </div>
+    <div class="ibox-content">
+        <div class="jqGrid_wrapper">
+            <table id="table" style="border-collapse: collapse"></table>
+            <div id="pager"></div>
+        </div>
+    </div>
+</div>
+{/block}
+{block name="script"}
+<script>
+    $(function () {
+
+        $(window).bind("resize",function(){
+            var width=$(".jqGrid_wrapper").width();
+            $("#table").setGridWidth(width);
+        });
+
+        $.jgrid.defaults.styleUI="Bootstrap";
+        $("#table").jqGrid({
+            url:"{:url('index')}",
+            datatype: "json",
+            colModel:[
+                {label:'标题',name:'title',index:'title', width:60,sortable: false},
+                {label:'更新日期',name:'update_time',index:'update_time', width:80,sortable: false},
+                {label:'操作',width:50,sortable: false,formatter: function (a, b, c) {
+                        var editurl = "{:url('add',[],'')}/id/"+c.id;
+                       // var btn = '<a href="'+editurl+'"><span class="label label-info" title="编辑">编辑</span></a>&nbsp;';
+                        var btn = '<a url="'+editurl+'" href="javascript:;" data-title="编辑" onclick="layer_open(this,1)"><span class="label label-primary" title="编辑">编辑</span></a>&nbsp;';
+
+                        return btn;
+                    }},
+            ],
+            rowNum:10,
+            rowList:[10,20,30,50,100],
+            pager: '#pager',
+            sortname: 'id',
+            viewrecords: true,
+            autowidth:true,
+            mtype: 'post',
+            height: 'auto',
+            emptyrecords: "暂无数据",
+            sortorder: "desc",
+            caption:"陪护协议列表",
+            loadComplete: function (xhr) {
+                if(xhr.code==0){
+                    layer.msg(xhr.msg);
+                    return false;
+                }
+            },
+        });
+    });
+
+</script>
+{/block}

+ 8 - 0
application/api/controller/h5/Common.php

@@ -36,4 +36,12 @@ class Common extends Base {
         $wyval = (new Config())->getConfig($name, $this->orgId);
         HelpHander::success(['val' => $wyval]);
     }
+
+    public function phprotocol() {
+        $info = Db::name("ph_protocol")->where('org_id',$this->orgId)->find();
+        if (!$info) {
+            HelpHander::success(['content'=>""]);
+        }
+        HelpHander::success(['content' => $info['content']]);
+    }
 }

+ 6 - 2
application/api/controller/h5/PhOrders.php

@@ -45,7 +45,7 @@ class PhOrders extends Base
         if(!$payId){
             HelpHander::error(model('PhOrderPay')->getError());
         }
-        HelpHander::success(['pay_id' => $payId],'操作成功');
+        HelpHander::success(['pay_id' => $payId>0?$payId:0],'操作成功');
     }
 
     // 根据支付id获取支付参数
@@ -60,8 +60,12 @@ class PhOrders extends Base
         try{
             $openid = Db::name('wxuser')->where('id',$this->userId)->where('type',1)->value('openid');
             $app = Factory::payment($config);
+            $title = "预付款";
+            if($info['bus_type'] == 1){
+                $title = "服务费";
+            }
             $result = $app->order->unify([
-                'body' => '预付款',
+                'body' => $title,
                 'out_trade_no' => $info['sn'],
                 'total_fee' => $info['money']*100,
                 'notify_url' => $notify, // 支付结果通知网址,如果不设置则会使用配置里的默认地址

+ 11 - 1
application/api/controller/h5/Worker.php

@@ -32,7 +32,7 @@ class Worker extends Base
         if(!$res){
             HelpHander::error($model->getError());
         }
-        HelpHander::success($res,'操作成功');
+        HelpHander::success(['payId'=>$res],'操作成功');
     }
 
     public function userInfo(){
@@ -41,4 +41,14 @@ class Worker extends Base
             ->find();
         HelpHander::success($info);
     }
+
+    // 护工列表
+    public function cates(){
+        $lists = Db::name('cate')->where('org_id',$this->orgId)->where('enable',1)->where('del',0)->select();
+        $lists = $lists?$lists:[];
+        foreach ($lists as $k=>$v){
+            $lists[$k]['title'] = $v['title']."[单价:".$v['price']."]";
+        }
+        HelpHander::success($lists,'操作成功');
+    }
 }

+ 50 - 19
application/common/model/PhOrderPay.php

@@ -12,7 +12,7 @@ class PhOrderPay extends Base
 {
 
     // 用户生成支付单
-    public function addSave($userId,$orgId,$orderId,$money){
+    public function addSave($userId,$orgId,$orderId,$money,$busType=0){
         $data = [
             'sn' => get_unique_id('PH'),
             'order_id' => $orderId,
@@ -22,12 +22,18 @@ class PhOrderPay extends Base
             'status' => 0,
             'create_time' => date('Y-m-d H:i:s')
         ];
+
+        $map[] = ['id','=',$orderId];
+        $map[] = ['form','=',1];
+        $map[] = ['user_id','=',$userId];
+        $map[] = ['org_id','=',$orgId];
+        if($busType == 1){
+            $map[] = ['status','=',0];
+        }else{
+            $map[] = ['status','in',[0,1]];
+        }
         $order = Db::name('ph_orders')
-            ->where('id',$orderId)
-            ->where('status','in',[0,1])
-            ->where('form',1)
-            ->where('user_id',$userId)
-            ->where('org_id',$orgId)
+            ->where($map)
             ->find();
         if(!$order){
             HelpHander::error('订单不存在');
@@ -68,11 +74,21 @@ class PhOrderPay extends Base
                 \exception('操作失败');
             }
 
-            $ret = Db::name('ph_orders')->where('id',$pay['order_id'])->update([
-                'pre_money' => $order['pre_money'] + $pay['money']
-            ]);
-            if(!$ret){
-                \exception('操作失败');
+            if($pay['bus_type'] == 0){
+                $ret = Db::name('ph_orders')->where('id',$pay['order_id'])->update([
+                    'pre_money' => $order['pre_money'] + $pay['money']
+                ]);
+                if(!$ret){
+                    \exception('操作失败');
+                }
+            }else{
+                $ret = Db::name('ph_orders')->where('id',$pay['order_id'])->update([
+                    'is_service' => 1,
+                    'update_time' => date("Y-m-d H:i:s")
+                ]);
+                if(!$ret){
+                    \exception('操作失败');
+                }
             }
 
             Db::commit();
@@ -85,7 +101,7 @@ class PhOrderPay extends Base
     }
 
     // 调度生成支付单
-    public function addSaveDispatch($orgId,$orderId,$money,$remark=''){
+    public function addSaveDispatch($orgId,$orderId,$money,$remark='',$busType=0){
         $data = [
             'sn' => get_unique_id('PH'),
             'order_id' => $orderId,
@@ -95,7 +111,8 @@ class PhOrderPay extends Base
             'status' => 1,
             'create_time' => date('Y-m-d H:i:s'),
             'pay_time' => date('Y-m-d H:i:s'),
-            'remark' => $remark
+            'remark' => $remark,
+            'bus_type' => $busType
         ];
 
         Db::startTrans();
@@ -115,9 +132,16 @@ class PhOrderPay extends Base
                 \exception('操作失败');
             }
 
-            $ret = Db::name('ph_orders')->where('id',$orderId)->update([
-                'pre_money' => $order['pre_money'] + $money
-            ]);
+            if($busType == 1){
+                $ret = Db::name('ph_orders')->where('id',$orderId)->update([
+                    'service_money' => $order['service_money'] + $money
+                ]);
+            }else{
+                $ret = Db::name('ph_orders')->where('id',$orderId)->update([
+                    'pre_money' => $order['pre_money'] + $money
+                ]);
+            }
+
             if(!$ret){
                 \exception('操作失败');
             }
@@ -186,9 +210,16 @@ class PhOrderPay extends Base
                 \exception('订单不存在');
             }
 
-            $ret = Db::name('ph_orders')->where('id',$pay['order_id'])->update([
-                'pre_money' => $order['pre_money'] - $data['money']
-            ]);
+            if($pay['bus_type'] == 1){
+                $ret = Db::name('ph_orders')->where('id',$pay['order_id'])->update([
+                    'service_money' => $order['service_money'] - $data['money']
+                ]);
+            }else{
+                $ret = Db::name('ph_orders')->where('id',$pay['order_id'])->update([
+                    'pre_money' => $order['pre_money'] - $data['money']
+                ]);
+            }
+
             if(!$ret){
                 \exception('操作失败');
             }

+ 57 - 4
application/common/model/PhOrders.php

@@ -36,8 +36,31 @@ class PhOrders extends Base
             'dep_id' => input('depId/d',0),
             'sn' => get_unique_id(),
             'form' => 1,
+            'cate_id' => input('cateId/d','','trim'),
+            'is_service' => 0,
         ];
 
+        $serviceMoney = model("Config")->getConfig("web_service_money",$data['org_id']);
+        $serviceMoney = floatval($serviceMoney) > 0? floatval($serviceMoney) : 0;
+        if($serviceMoney <= 0){
+            $data['is_service'] = 1;
+        }
+        $data['service_money'] = $serviceMoney;
+
+        $sign = input('sign','','trim');
+        if(!$sign){
+            $this->error = "未上传签名图";
+            return false;
+        }
+        // 上传签名
+        $file = $this->base64File($sign);
+        if ($file) {
+            $data['sign'] = $file;
+        } else {
+            $this->error = "签名图上传失败";
+            return false;
+        }
+
         $validate = new \app\common\validate\PhOrders();
         $result = $validate->scene('book')->check($data,[]);
         if(true !== $result){
@@ -45,6 +68,9 @@ class PhOrders extends Base
             return false;
         }
 
+        $cate = Db::name('cate')->where('id',$data['cate_id'])->find();
+        $data['price'] = $cate?$cate['price']:0;
+
         Db::startTrans();
         try{
             $data['status'] = 0;
@@ -53,6 +79,10 @@ class PhOrders extends Base
             if(!$orderId){
                 \exception('创建订单失败');
             }
+            $payId = -1;
+            if($serviceMoney > 0){ // 服务费
+                $payId = model("PhOrderPay")->addSave($data['user_id'],$data['org_id'],$orderId,$serviceMoney,1);
+            }
 
             Db::commit();
 
@@ -64,9 +94,26 @@ class PhOrders extends Base
             return false;
         }
 
-        $this->sendSmsDispatch($data['name'],$data['phone'],$data['org_id'],$orderId);
+        if($data['is_service'] == 1){
+            $this->sendSmsDispatch($data['name'],$data['phone'],$data['org_id'],$orderId);
+        }
 
-        return true;
+        return $payId;
+    }
+
+    // Base64字符串转文件
+    public function base64File($base64_image_content)
+    {
+        if (preg_match('/^data:image\/(\w+);base64,/', $base64_image_content, $result)) {
+            $type = $result[1]; // 图片类型
+            $filename = md5(time()."|".$base64_image_content.'|'.mt_rand(1000,9999));
+            $new_file = "uploads/phsign/".$filename."." . $type;
+            if (file_put_contents($new_file, base64_decode(str_replace($result[0], '', $base64_image_content)))) {
+//                return new \think\File($new_file, md5_file($new_file) . '.' . $type);
+                return config("app.app_host").'/'.$new_file;
+            }
+        }
+        return false;
     }
 
     // 给调度短信发消息
@@ -621,11 +668,16 @@ class PhOrders extends Base
             }
             $info['todo'] = $todos;
 
-            // 获取缴费记录
-            $pays = Db::name('ph_order_pay')->where('status',1)->where('order_id',$id)->select();
+            // 获取缴费记录-预收款
+            $pays = Db::name('ph_order_pay')->where('status',1)->where('bus_type',0)->where('order_id',$id)->select();
             $pays = $pays?$pays:[];
             $info['pays'] = $pays;
 
+            // 获取缴费记录-服务费
+            $pays = Db::name('ph_order_pay')->where('status',1)->where('bus_type',1)->where('order_id',$id)->select();
+            $pays = $pays?$pays:[];
+            $info['pays2'] = $pays;
+
             // 获取退款记录
             $refunds = Db::name('ph_order_refund')->where('order_id',$id)->select();
             $refunds = $refunds?$refunds:[];
@@ -742,6 +794,7 @@ class PhOrders extends Base
             $map[] = ['form','=',1];
         }
         $map[] = ['org_id', '=', $orgId];
+        $map[] = ['is_service', '=', 1];
 
         $list = $this->where($map)
             ->limit($start,$size)

+ 38 - 0
application/common/model/PhProtocol.php

@@ -0,0 +1,38 @@
+<?php
+namespace app\common\model;
+use think\Db;
+
+class PhProtocol extends Base {
+
+    public function updates(){
+        $data = request()->post();
+        $data['org_id'] =cur_org_id();
+        $result = validate('PhProtocol')->check($data,[],'');
+        if(true !== $result){
+            $this->error = validate('PhProtocol')->getError();
+            return false;
+        }
+        $id = $data['id'];
+        unset($data['id']);
+        if($id > 0){
+            $data['update_time'] = date("Y-m-d H:i:s");
+            $ret = $this->allowField(true)->save($data,['id'=>$id]);
+        }else{
+            // 查询该组织是否已创建协议
+            $info = Db::name("ph_protocol")->where('org_id',$data['org_id'])->find();
+            if($info){
+                $this->error = "已创建协议请编辑修改";
+                return false;
+            }
+            $data['create_time'] = date("Y-m-d H:i:s");
+            $data['update_time'] = date("Y-m-d H:i:s");
+            $ret = $this->allowField(true)->save($data);
+        }
+        if(!$ret){
+            $this->error = '操作失败';
+            return false;
+        }
+        return true;
+    }
+
+}

+ 1 - 1
application/common/validate/PhOrders.php

@@ -43,7 +43,7 @@ class PhOrders extends Validate{
     protected $scene = [
         'add' => ['contact','phone','start','dep_id','cate_id'],
         'edit' => ['id','contact','phone'],
-        'book' => ['contact','phone','name','age','bed','ill','start'],
+        'book' => ['contact','phone','name','age','bed','ill','start','cate_id'],
         'qadd' => ['contact','phone','name','age','bed','ill','start','cate_id','price']
     ];
 

+ 15 - 0
application/common/validate/PhProtocol.php

@@ -0,0 +1,15 @@
+<?php
+namespace app\common\validate;
+
+use think\Validate;
+
+class PhProtocol extends Validate{
+
+    protected $rule = [
+        'title|标题'  =>  'require',
+        'content|内容'  =>  'require',
+    ];
+
+
+}
+