Browse Source

可以用试课预约,第一部分

lizhen_gitee 4 months ago
parent
commit
95c27cff9c

+ 39 - 0
application/admin/controller/Trylessonorder.php

@@ -16,6 +16,7 @@ use think\exception\ValidateException;
 class Trylessonorder extends Backend
 {
 
+    protected $noNeedRight = ['selectpagenew'];
     /**
      * Trylessonorder模型对象
      * @var \app\admin\model\Trylessonorder
@@ -128,4 +129,42 @@ class Trylessonorder extends Backend
 
         $this->success('下单成功');
     }
+
+    public function selectpagenew()
+    {
+        $user_id = input('user_id',0);
+        $slot_id = input('slot_id',0);
+        $number  = input('number',1,'intval');
+
+        //试课只能约一人
+        if($number != 1){
+            return json(['list' => [], 'total' => 0]);
+        }
+
+        $info = Db::name('lesson_slot')->where('id',$slot_id)->find();
+
+        //可用试课
+        $try_map = [
+            'o.user_id' =>$user_id,
+            'o.endtime' => ['gt',time()],
+            'o.order_status' => 10,
+        ];
+        $tryorder_list = Db::name('trylesson_order')->alias('o')
+            ->join('trylesson','o.trylesson_id = trylesson.id','LEFT')
+            ->field('o.id,o.starttime,o.endtime,trylesson.name,trylesson.name_en')
+            ->where($try_map)
+            ->where('find_in_set(:lesson_ids,o.lesson_ids)', ['lesson_ids' => $info['lesson_id']])
+            ->order('o.endtime asc')->select();
+
+        if(!empty($tryorder_list)){
+            foreach($tryorder_list as $key => &$val){
+
+                $val['time_text'] = date('M d,Y',$val['starttime']).'-'.date('M d,Y',$val['endtime']);
+
+                $val['name'] = $val['id'].'['.$val['name'].']--'.$val['time_text'];
+            }
+        }
+
+        return json(['list' => $tryorder_list, 'total' => 0]);
+    }
 }

+ 2 - 0
application/admin/lang/zh-cn/lessonslot.php

@@ -42,5 +42,7 @@ return [
     'choose the number of participants'      => '选择预约人数',
     'select user package'      => '选择用户配套',
     'participants information notes'      => '预约备注',
+    'Paytype'      => '支付方式',
+    'select user trail'      => '选择用户试课',
 
 ];

+ 25 - 2
application/admin/view/lessonslot/booking.html

@@ -31,9 +31,32 @@
     </div>
 
     <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('select user package')}:</label>
+        <label class="control-label col-xs-12 col-sm-2">{:__('Paytype')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-packageorder_id" data-rule="required" data-source="packageorder/selectpagenew" data-field="name"  class="form-control selectpage" name="packageorder_id" type="text" value="">
+
+            <div class="radio">
+                <label for="paytype-1"><input id="paytype-1" name="row[paytype]" type="radio" value="1"  /> 配套</label>
+                <label for="paytype-4"><input id="paytype-4" name="row[paytype]" type="radio" value="4"  /> 试课</label>
+            </div>
+
+            <div data-favisible="paytype=1">
+                <div class="form-group">
+                    <label class="control-label col-xs-12 col-sm-2">{:__('select user package')}:</label>
+                    <div class="col-xs-12 col-sm-8">
+                        <input id="c-packageorder_id" data-rule="required" data-source="packageorder/selectpagenew" data-field="name"  class="form-control selectpage" name="packageorder_id" type="text" value="">
+                    </div>
+                </div>
+            </div>
+
+            <div data-favisible="paytype=4">
+                <div class="form-group">
+                    <label class="control-label col-xs-12 col-sm-2">{:__('select user trail')}:</label>
+                    <div class="col-xs-12 col-sm-8">
+                        <input id="c-trylessonorder_id" data-rule="required" data-source="trylessonorder/selectpagenew" data-field="name"  class="form-control selectpage" name="trylessonorder_id" type="text" value="">
+                    </div>
+                </div>
+            </div>
+
         </div>
     </div>
 

+ 7 - 0
public/assets/js/backend/lessonslot.js

@@ -122,9 +122,16 @@ $("#c-packageorder_id").data("params", function (obj) {
         user_id: $("#c-user_id").val(), number: $("#c-number").val(), slot_id: $("#c-slot_id").val()
     };
 });
+$("#c-trylessonorder_id").data("params", function (obj) {
+    return {
+        user_id: $("#c-user_id").val(), number: $("#c-number").val(), slot_id: $("#c-slot_id").val()
+    };
+});
 $(document).on("change","#c-user_id",function(){
     $("#c-packageorder_id").selectPageClear();
+    $("#c-trylessonorder_id").selectPageClear();
 })
 $(document).on("change","#c-number",function(){
     $("#c-packageorder_id").selectPageClear();
+    $("#c-trylessonorder_id").selectPageClear();
 })