Browse Source

预约单开单,在线开单

lizhen_gitee 1 year ago
parent
commit
2f138624d2

+ 51 - 1
application/admin/controller/Order.php

@@ -3,7 +3,7 @@
 namespace app\admin\controller;
 
 use app\common\controller\Backend;
-
+use think\Db;
 /**
  * 用户订单
  *
@@ -80,4 +80,54 @@ class Order extends Backend
         return $this->view->fetch();
     }
 
+    /**
+     * 在线开单
+     */
+    public function submitordernew(){
+        if(!$this->request->post()){
+            $this->assign('staff_id',$this->auth->staff_id);
+            return $this->view->fetch();
+        }
+
+        $data = request_post_hub([
+            'user_name','user_car_number','user_mobile','user_address',
+            'servicetype_id','server_time','server_info','server_images','pay_fee'
+        ]);
+
+        Db::startTrans();
+
+
+        $data['pre_order_id'] = 0;
+
+        //检查用户
+        $user_info = Db::name('user')->where('mobile',$data['user_mobile'])->find();
+        if(empty($user_info)){
+            Db::rollback();
+            $this->error('不存在的用户,请先让客户扫店铺码注册');
+        }
+        $data['user_id'] = $user_info['id'];
+
+        //检索car_id,没必要了
+
+        //准备数据
+        $data['orderno']    = createUniqueNo('O',$user_info['id']);
+        $data['ordertype']    = 2;  //类型:1=预约下单,2=在线下单,3=套餐订单
+        $data['company_id'] = $this->auth->company_id;
+        $data['staff_id'] = $this->auth->staff_id;
+        $data['total_fee'] = $data['pay_fee'];
+
+        $data['status'] = 2; //2=已支付,待处理
+        $data['createtime'] = time();
+
+        $order_id = Db::name('order')->insertGetId($data);
+        if(!$order_id){
+            Db::rollback();
+            $this->error('下单失败');
+        }
+
+
+        Db::commit();
+        $this->success('下单完成',$order_id);
+    }
+
 }

+ 5 - 2
application/admin/controller/Preorder.php

@@ -105,7 +105,7 @@ class Preorder extends Backend
     }
 
     /**
-     * 开单
+     * 预约开单
      */
     public function submitorder(){
         $pre_order_id = input('id',0); //预约单id
@@ -114,6 +114,7 @@ class Preorder extends Backend
         if(!$this->request->post()){
             $this->assign('id',$pre_order_id);
             $this->assign('row',$pre_order);
+            $this->assign('staff_id',$this->auth->staff_id);
             return $this->view->fetch();
         }
 
@@ -154,7 +155,7 @@ class Preorder extends Backend
         $data['orderno']    = createUniqueNo('O',$pre_order_id);
         $data['ordertype']    = 1;  //类型:1=预约下单,2=在线下单,3=套餐订单
         $data['company_id'] = $pre_order['company_id'];
-        $data['staff_id']   = $this->auth->id;
+        $data['staff_id']   = $this->auth->staff_id;
         $data['total_fee']  = $data['pay_fee'];
 
         $data['status'] = 2; //2=已支付,待处理
@@ -180,4 +181,6 @@ class Preorder extends Backend
         $this->success('下单完成',$order_id);
     }
 
+
+
 }

+ 1 - 0
application/admin/view/order/index.html

@@ -17,6 +17,7 @@
                 <div class="widget-body no-padding">
                     <div id="toolbar" class="toolbar">
                         <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
+                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('order/submitordernew')?'':'hide'}" title="在线开单" >在线开单</a>
                         <!--<a href="javascript:;" class="btn btn-success btn-add {:$auth->check('order/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
                         <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('order/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
                         <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('order/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>

+ 81 - 0
application/admin/view/order/submitordernew.html

@@ -0,0 +1,81 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Mobile')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-mobile" data-rule="required" class="form-control" name="user_mobile" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" data-rule="required" class="form-control" name="user_name" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Car_number')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-car_number" data-rule="required" class="form-control" name="user_car_number" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Address')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-address" class="form-control" name="user_address" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Servicetype_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-servicetype_id" data-rule="required" name="servicetype_id" data-source="servicetype/index" data-field="title" class="form-control selectpage" type="text" value="">
+        </div>
+    </div>
+
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">服务时间:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-server_time" class="form-control datetimepicker" name="server_time" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">服务内容:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-server_info" class="form-control" name="server_info" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">服务图片:</label>
+        <div class="col-xs-12 col-sm-8">
+            <div class="input-group">
+                <input id="c-server_images" class="form-control" size="50" name="server_images" type="text">
+                <div class="input-group-addon no-border no-padding">
+                    <span><button type="button" id="faupload-server_images" class="btn btn-danger faupload" data-input-id="c-server_images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-server_images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-server_images" class="btn btn-primary fachoose" data-input-id="c-server_images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                </div>
+                <span class="msg-box n-right" for="c-server_images"></span>
+            </div>
+            <ul class="row list-inline faupload-preview" id="p-server_images"></ul>
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">收款金额:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-pay_fee" class="form-control" step="0.01" name="pay_fee" type="number" value="0.00">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">操作店员:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-staff_id" data-rule="required" disabled data-source="company_staff/index" data-field="truename" class="form-control selectpage" type="text" value="{$staff_id|htmlentities}">
+        </div>
+    </div>
+
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
+        </div>
+    </div>
+</form>

+ 15 - 15
application/admin/view/preorder/submitorder.html

@@ -5,52 +5,52 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Mobile')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-mobile" data-rule="required" class="form-control"  type="text" value="{$row.mobile|htmlentities}">
+            <input id="c-mobile" data-rule="required" class="form-control" disabled name="user_mobile" type="text" value="{$row.mobile|htmlentities}">
         </div>
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-name" data-rule="required" class="form-control"  type="text" value="{$row.name|htmlentities}">
+            <input id="c-name"  class="form-control" disabled name="user_name" type="text" value="{$row.name|htmlentities}">
         </div>
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Car_number')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-car_number" data-rule="required" class="form-control"  type="text" value="{$row.car_number|htmlentities}">
+            <input id="c-car_number"  class="form-control" disabled name="user_car_number" type="text" value="{$row.car_number|htmlentities}">
         </div>
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Address')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-address" data-rule="required" class="form-control"  type="text" value="{$row.address|htmlentities}">
+            <input id="c-address"  class="form-control" disabled name="user_address" type="text" value="{$row.address|htmlentities}">
         </div>
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Servicetype_id')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-servicetype_id" data-rule="required" data-source="servicetype/index" data-field="title" class="form-control selectpage" name="row[servicetype_id]" type="text" value="{$row.servicetype_id|htmlentities}">
+            <input id="c-servicetype_id" data-rule="required" disabled name="servicetype_id" data-source="servicetype/index" data-field="title" class="form-control selectpage" type="text" value="{$row.servicetype_id|htmlentities}">
         </div>
     </div>
 
 
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Server_time')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">服务时间:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-server_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[server_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+            <input id="c-server_time" class="form-control datetimepicker" name="server_time" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" type="text" value="{:date('Y-m-d H:i:s')}">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Server_info')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">服务内容:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-server_info" class="form-control" name="row[server_info]" type="text" value="">
+            <input id="c-server_info" class="form-control" name="server_info" type="text" value="">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Server_images')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">服务图片:</label>
         <div class="col-xs-12 col-sm-8">
             <div class="input-group">
-                <input id="c-server_images" class="form-control" size="50" name="row[server_images]" type="text">
+                <input id="c-server_images" class="form-control" size="50" name="server_images" type="text">
                 <div class="input-group-addon no-border no-padding">
                     <span><button type="button" id="faupload-server_images" class="btn btn-danger faupload" data-input-id="c-server_images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-server_images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
                     <span><button type="button" id="fachoose-server_images" class="btn btn-primary fachoose" data-input-id="c-server_images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
@@ -61,15 +61,15 @@
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Pay_fee')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">收款金额:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-pay_fee" class="form-control" step="0.01" name="row[pay_fee]" type="number" value="0.00">
+            <input id="c-pay_fee" class="form-control" step="0.01" name="pay_fee" type="number" value="0.00">
         </div>
     </div>
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Staff_id')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">操作店员:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-staff_id" data-rule="required" data-source="staff/index" class="form-control selectpage" name="row[staff_id]" type="text" value="">
+            <input id="c-staff_id" data-rule="required" disabled data-source="company_staff/index" data-field="truename" class="form-control selectpage" type="text" value="{$staff_id|htmlentities}">
         </div>
     </div>
 

+ 5 - 1
public/assets/js/backend/order.js

@@ -6,7 +6,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
             Table.api.init({
                 extend: {
                     index_url: 'order/index' + location.search,
-                    add_url: 'order/add',
+                    add_url: 'order/submitordernew',
 //                    edit_url: 'order/edit',
 //                    del_url: 'order/del',
                     multi_url: 'order/multi',
@@ -78,6 +78,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                                     target:'_self',
                                     extend: 'data-area=["90%","90%"]',
                                 },
+
                             ],
                             events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
@@ -93,6 +94,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         edit: function () {
             Controller.api.bindevent();
         },
+        submitordernew: function () {
+            Controller.api.bindevent();
+        },
         api: {
             bindevent: function () {
                 Form.api.bindevent($("form[role=form]"));