Browse Source

给用户下单配套

lizhen_gitee 8 months ago
parent
commit
a62d2cebed

+ 5 - 3
application/admin/controller/Packageorder.php

@@ -145,6 +145,8 @@ class Packageorder extends Backend
     public function add()
     {
         if (false === $this->request->isPost()) {
+            $package_id = input('package_id',0);
+            $this->assign('package_id',$package_id);
             return $this->view->fetch();
         }
         $params = $this->request->post('row/a');
@@ -192,9 +194,9 @@ class Packageorder extends Backend
             $result = $this->model->allowField(true)->save($params);
             Db::commit();
         } catch (ValidateException|PDOException|Exception $e) {
-        Db::rollback();
-        $this->error($e->getMessage());
-    }
+            Db::rollback();
+            $this->error($e->getMessage());
+        }
         if ($result === false) {
             $this->error(__('No rows were inserted'));
         }

+ 1 - 1
application/admin/view/packageorder/add.html

@@ -15,7 +15,7 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('select package')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-package_id" data-rule="required" data-source="lessonpackage/index" class="form-control selectpage" name="row[package_id]" type="text" value="">
+            <input id="c-package_id" data-rule="required" data-source="lessonpackage/index" class="form-control selectpage" name="row[package_id]" type="text" value="{$package_id}">
         </div>
     </div>
     <!--<div class="form-group">

+ 2 - 2
application/admin/view/packageorder/index.html

@@ -16,8 +16,8 @@
                 <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('packageorder/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('packageorder/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
+                        <!--<a href="javascript:;" class="btn btn-success btn-add {:$auth->check('packageorder/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('packageorder/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('packageorder/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
                         
 

+ 8 - 0
application/api/controller/Lesson.php

@@ -719,6 +719,14 @@ class Lesson extends Api
             }
         }
 
+        //排除新旧会员群体
+        if($this->auth->oldstatus == 0 && $package_info['newuser'] != 1 ){ //新会员
+            $this->error('您不能购买改配套,请刷新并重试');
+        }
+        if($this->auth->oldstatus == 1 && $package_info['olduser'] != 1 ){ //旧会员
+            $this->error('您不能购买改配套,请刷新并重试');
+        }
+
         //套餐订单
         $data = [
             'order_no'    => createUniqueNo('P',$this->auth->id),

+ 14 - 1
public/assets/js/backend/lessonpackage.js

@@ -51,7 +51,20 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'lessonb.name', title: __('Lessonb.name'),operate:false},
                         {field: 'lessonb.name_en', title: __('Lessonb.name_en'),operate:false},
                         {field: 'gift_sessions', title: __('Gift_sessions'),operate:false},
-                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                        {field: 'operate', title: __('Operate'), table: table,
+                            buttons:[
+                                {
+                                    name:'packageorder_add',
+                                    text:__('用户下单'),
+                                    title:__('用户下单'),
+                                    icon:'fa fa-exclamation-circle',
+                                    classname:'btn btn-xs btn-info btn-dialog',
+                                    url:'packageorder/add/package_id/{ids}?dialog=1',
+                                    target:'_self',
+                                },
+
+                            ],
+                            events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                 ]
             });

+ 5 - 5
public/assets/js/backend/packageorder.js

@@ -26,7 +26,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 fixedRightNumber: 1,
                 columns: [
                     [
-                        {checkbox: true},
+//                        {checkbox: true},
                         {field: 'id', title: __('Id')},
                         {field: 'order_no', title: __('Order_no'), operate: 'LIKE'},
                         {field: 'use_status', title: __('Use_status'), searchList: {"0":__('Use_status 0'),"1":__('Use_status 1')}, formatter: Table.api.formatter.status},
@@ -38,19 +38,19 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'package.name_en', title: __('Package.name_en'), operate: 'LIKE'},
 //                        {field: 'lesson_ids', title: __('Lesson_ids'), operate: false},
                         {field: 'sessions', title: __('Sessions')},
+                        {field: 'remain', title: __('Remain'), operate:false},
                         {field: 'starttime', title: __('Starttime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'days', title: __('Days')},
                         {field: 'endtime', title: __('Endtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'price', title: __('Price'), operate:false},
-                        {field: 'remain', title: __('Remain'), operate:false},
                         {field: 'order_status', title: __('Order_status'), searchList: {"0":__('Order_status 0'),"1":__('Order_status 1'),"10":__('Order_status 10')}, formatter: Table.api.formatter.status},
                         {field: 'pay_type', title: __('Pay_type'), searchList: {"1":__('Pay_type 1'),"2":__('Pay_type 2')}, formatter: Table.api.formatter.normal},
+                        {field: 'remark', title: __('Remark'), operate: false},
                         {field: 'paytime', title: __('Paytime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-                        {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+//                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+//                        {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'is_gift', title: __('Is_gift'), searchList: {"0":__('Is_gift 0'),"1":__('Is_gift 1')}, formatter: Table.api.formatter.normal},
 //                        {field: 'notice_status', title: __('Notice_status'), searchList: {"0":__('Notice_status 0'),"1":__('Notice_status 1'),"2":__('Notice_status 2'),"3":__('Notice_status 3')}, formatter: Table.api.formatter.status},
-                        {field: 'remark', title: __('Remark'), operate: false},
 //                        {field: 'buy_notice_status', title: __('Buy_notice_status'), searchList: {"0":__('Buy_notice_status 0'),"1":__('Buy_notice_status 1')}, formatter: Table.api.formatter.status},