diff --git a/application/admin/controller/school/classes/Cate.php b/application/admin/controller/school/classes/Cate.php
new file mode 100644
index 0000000..2c7e1f1
--- /dev/null
+++ b/application/admin/controller/school/classes/Cate.php
@@ -0,0 +1,37 @@
+model = new \app\admin\model\school\classes\Cate;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+}
diff --git a/application/admin/controller/school/classes/ClassesLib.php b/application/admin/controller/school/classes/ClassesLib.php
new file mode 100644
index 0000000..d6f8f03
--- /dev/null
+++ b/application/admin/controller/school/classes/ClassesLib.php
@@ -0,0 +1,82 @@
+model = new \app\admin\model\school\classes\ClassesLib;
+ $this->view->assign("addTypeList", $this->model->getAddTypeList());
+ $this->view->assign("typeList", $this->model->getTypeList());
+ $this->view->assign("addressTypeList", $this->model->getAddressTypeList());
+ $this->view->assign("statusList", $this->model->getStatusList());
+ $this->view->assign("authStatusList", $this->model->getAuthStatusList());
+ $this->view->assign("recommendList", $this->model->getRecommendList());
+ $this->view->assign("hotList", $this->model->getHotList());
+ $this->view->assign("newList", $this->model->getNewList());
+ $this->view->assign("selfhotList", $this->model->getSelfhotList());
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['manystore','shop','user','admin'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('manystore')->visible(['nickname']);
+ $row->getRelation('shop')->visible(['name','image','address_city','province','city','district','address','address_detail']);
+ $row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
+ $row->getRelation('admin')->visible(['nickname']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/admin/controller/school/classes/ClassesSpec.php b/application/admin/controller/school/classes/ClassesSpec.php
new file mode 100644
index 0000000..8140743
--- /dev/null
+++ b/application/admin/controller/school/classes/ClassesSpec.php
@@ -0,0 +1,71 @@
+model = new \app\admin\model\school\classes\ClassesSpec;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['lib'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('lib')->visible(['title','headimage']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/admin/controller/school/classes/Collect.php b/application/admin/controller/school/classes/Collect.php
new file mode 100644
index 0000000..3d66aa1
--- /dev/null
+++ b/application/admin/controller/school/classes/Collect.php
@@ -0,0 +1,72 @@
+model = new \app\admin\model\school\classes\Collect;
+
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['user','lib'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
+ $row->getRelation('lib')->visible(['title','headimage']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/admin/controller/school/classes/Label.php b/application/admin/controller/school/classes/Label.php
new file mode 100644
index 0000000..7f120b6
--- /dev/null
+++ b/application/admin/controller/school/classes/Label.php
@@ -0,0 +1,37 @@
+model = new \app\admin\model\school\classes\Label;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+}
diff --git a/application/admin/controller/school/classes/Teacher.php b/application/admin/controller/school/classes/Teacher.php
new file mode 100644
index 0000000..9de468e
--- /dev/null
+++ b/application/admin/controller/school/classes/Teacher.php
@@ -0,0 +1,73 @@
+model = new \app\admin\model\school\classes\Teacher;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['user','manystore','shop'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('user')->visible(['nickname','realname','avatar']);
+ $row->getRelation('manystore')->visible(['nickname']);
+ $row->getRelation('shop')->visible(['name','logo','image','address_city','province','city','district','address','address_detail']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/admin/controller/school/classes/Verification.php b/application/admin/controller/school/classes/Verification.php
new file mode 100644
index 0000000..4dc78bd
--- /dev/null
+++ b/application/admin/controller/school/classes/Verification.php
@@ -0,0 +1,73 @@
+model = new \app\admin\model\school\classes\Verification;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['manystore','shop','user'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('manystore')->visible(['nickname','avatar']);
+ $row->getRelation('shop')->visible(['name','image','address_city','province','city','district','address','address_detail']);
+ $row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/admin/controller/school/classes/VirtualHead.php b/application/admin/controller/school/classes/VirtualHead.php
new file mode 100644
index 0000000..9620d55
--- /dev/null
+++ b/application/admin/controller/school/classes/VirtualHead.php
@@ -0,0 +1,37 @@
+model = new \app\admin\model\school\classes\VirtualHead;
+
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+}
diff --git a/application/admin/controller/school/classes/VirtualUser.php b/application/admin/controller/school/classes/VirtualUser.php
new file mode 100644
index 0000000..e99bd8f
--- /dev/null
+++ b/application/admin/controller/school/classes/VirtualUser.php
@@ -0,0 +1,71 @@
+model = new \app\admin\model\school\classes\VirtualUser;
+
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['lib'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('lib')->visible(['title','headimage']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/admin/controller/school/classes/hourorder/Order.php b/application/admin/controller/school/classes/hourorder/Order.php
new file mode 100644
index 0000000..b705ab9
--- /dev/null
+++ b/application/admin/controller/school/classes/hourorder/Order.php
@@ -0,0 +1,75 @@
+model = new \app\admin\model\school\classes\hourorder\Order;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['order','spec','user','detail','lib'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('order')->visible(['order_no']);
+ $row->getRelation('spec')->visible(['name']);
+ $row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
+ $row->getRelation('detail')->visible(['title','headimage']);
+ $row->getRelation('lib')->visible(['title']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/admin/controller/school/classes/hourorder/OrderLog.php b/application/admin/controller/school/classes/hourorder/OrderLog.php
new file mode 100644
index 0000000..18a415e
--- /dev/null
+++ b/application/admin/controller/school/classes/hourorder/OrderLog.php
@@ -0,0 +1,71 @@
+model = new \app\admin\model\school\classes\hourorder\OrderLog;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['order'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('order')->visible(['order_no']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/admin/controller/school/classes/order/Order.php b/application/admin/controller/school/classes/order/Order.php
new file mode 100644
index 0000000..c40c9fd
--- /dev/null
+++ b/application/admin/controller/school/classes/order/Order.php
@@ -0,0 +1,80 @@
+model = new \app\admin\model\school\classes\order\Order;
+ $this->view->assign("payTypeList", $this->model->getPayTypeList());
+ $this->view->assign("statusList", $this->model->getStatusList());
+ $this->view->assign("beforeStatusList", $this->model->getBeforeStatusList());
+ $this->view->assign("serverStatusList", $this->model->getServerStatusList());
+ $this->view->assign("resultStatusList", $this->model->getResultStatusList());
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['manystore','user','shop','lib','detail','admin'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('manystore')->visible(['nickname','avatar']);
+ $row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
+ $row->getRelation('shop')->visible(['name','image','address_city','province','city','district','address','address_detail']);
+ $row->getRelation('lib')->visible(['title','headimage']);
+ $row->getRelation('detail')->visible(['title','headimage']);
+ $row->getRelation('admin')->visible(['nickname','avatar']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/admin/controller/school/classes/order/OrderDetail.php b/application/admin/controller/school/classes/order/OrderDetail.php
new file mode 100644
index 0000000..bcd985f
--- /dev/null
+++ b/application/admin/controller/school/classes/order/OrderDetail.php
@@ -0,0 +1,76 @@
+model = new \app\admin\model\school\classes\order\OrderDetail;
+ $this->view->assign("addTypeList", $this->model->getAddTypeList());
+ $this->view->assign("typeList", $this->model->getTypeList());
+ $this->view->assign("addressTypeList", $this->model->getAddressTypeList());
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['order','manystore','shop','user'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('order')->visible(['order_no']);
+ $row->getRelation('manystore')->visible(['nickname','avatar']);
+ $row->getRelation('shop')->visible(['name','image','address_city','province','city','district','address','address_detail']);
+ $row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/admin/controller/school/classes/order/OrderLog.php b/application/admin/controller/school/classes/order/OrderLog.php
new file mode 100644
index 0000000..a55cf22
--- /dev/null
+++ b/application/admin/controller/school/classes/order/OrderLog.php
@@ -0,0 +1,74 @@
+model = new \app\admin\model\school\classes\order\OrderLog;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ $this->view->assign("beforeStatusList", $this->model->getBeforeStatusList());
+ $this->view->assign("serverStatusList", $this->model->getServerStatusList());
+ $this->view->assign("resultStatusList", $this->model->getResultStatusList());
+ }
+
+
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['order'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('order')->visible(['order_no']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/admin/lang/zh-cn/school/classes/cate.php b/application/admin/lang/zh-cn/school/classes/cate.php
new file mode 100644
index 0000000..29e7fc8
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/cate.php
@@ -0,0 +1,14 @@
+ '分类名',
+ 'Status' => '状态',
+ 'Status 1' => '上架',
+ 'Set status to 1'=> '设为上架',
+ 'Status 2' => '下架',
+ 'Set status to 2'=> '设为下架',
+ 'Weigh' => '权重',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/classes_lib.php b/application/admin/lang/zh-cn/school/classes/classes_lib.php
new file mode 100644
index 0000000..e94ca9f
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/classes_lib.php
@@ -0,0 +1,85 @@
+ '机构账号id',
+ 'Shop_id' => '机构店铺id',
+ 'User_id' => '主讲师用户id',
+ 'Classes_cate_ids' => '平台课程分类ids',
+ 'Classes_label_ids' => '平台课程类型ids',
+ 'Self_label_tag' => '机构特色标签',
+ 'Add_type' => '添加人类型',
+ 'Add_type 1' => '机构',
+ 'Add_type 2' => '总后台',
+ 'Add_id' => '添加人id',
+ 'Title' => '标题',
+ 'Headimage' => '头图',
+ 'Images' => '轮播图',
+ 'Type' => '地点类型',
+ 'Type out' => '户外',
+ 'Type in' => '室内',
+ 'Classes_num' => '课时数',
+ 'Address_type' => '地址类型',
+ 'Address_type 1' => '按机构',
+ 'Address_type 2' => '独立位置',
+ 'Address_city' => '城市选择',
+ 'Province' => '省编号',
+ 'City' => '市编号',
+ 'District' => '县区编号',
+ 'Address' => '店铺地址',
+ 'Address_detail' => '店铺详细地址',
+ 'Longitude' => '经度',
+ 'Latitude' => '纬度',
+ 'Classes_date_text' => '上课日期',
+ 'Classes_time_text' => '上课时间',
+ 'Content' => '课程详情',
+ 'Notice' => '课程须知',
+ 'Virtual_num' => '虚拟报名人数',
+ 'Sale' => '总销量',
+ 'Price' => '售价',
+ 'Underline_price' => '划线价',
+ 'Virtual_collect' => '虚拟收藏量',
+ 'Status' => '状态',
+ 'Status 1' => '上架',
+ 'Set status to 1' => '设为上架',
+ 'Status 2' => '下架',
+ 'Set status to 2' => '设为下架',
+ 'Status 3' => '平台下架',
+ 'Set status to 3' => '设为平台下架',
+ 'Auth_status' => '审核状态',
+ 'Auth_status 0' => '待审核',
+ 'Auth_status 1' => '审核通过',
+ 'Auth_status 2' => '审核失败',
+ 'Reason' => '审核不通过原因',
+ 'Auth_time' => '审核时间',
+ 'Admin_id' => '审核管理员id',
+ 'Weigh' => '权重',
+ 'Recommend' => '平台推荐',
+ 'Recommend 0' => '否',
+ 'Recommend 1' => '是',
+ 'Hot' => '平台热门',
+ 'Hot 0' => '否',
+ 'Hot 1' => '是',
+ 'New' => '平台最新',
+ 'New 0' => '否',
+ 'New 1' => '是',
+ 'Selfhot' => '机构热门',
+ 'Selfhot 0' => '否',
+ 'Selfhot 1' => '是',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间',
+ 'Manystore.nickname' => '昵称',
+ 'Shop.name' => '店铺名称',
+ 'Shop.image' => '封面图',
+ 'Shop.address_city' => '城市选择',
+ 'Shop.province' => '省编号',
+ 'Shop.city' => '市编号',
+ 'Shop.district' => '县区编号',
+ 'Shop.address' => '店铺地址',
+ 'Shop.address_detail' => '店铺详细地址',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.mobile' => '手机号',
+ 'User.avatar' => '头像',
+ 'Admin.nickname' => '昵称'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/classes_spec.php b/application/admin/lang/zh-cn/school/classes/classes_spec.php
new file mode 100644
index 0000000..52a67ea
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/classes_spec.php
@@ -0,0 +1,22 @@
+ '课程id',
+ 'Name' => '规格名',
+ 'Start_time' => '开始时间',
+ 'End_time' => '结束时间',
+ 'Limit_num' => '本课时限定人数(0不限制)',
+ 'Sign_num' => '已报名人数',
+ 'Verification_num' => '已核销人数',
+ 'Status' => '状态',
+ 'Status 1' => '上架',
+ 'Set status to 1' => '设为上架',
+ 'Status 2' => '下架',
+ 'Set status to 2' => '设为下架',
+ 'Weigh' => '权重',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间',
+ 'Lib.title' => '标题',
+ 'Lib.headimage' => '头图'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/collect.php b/application/admin/lang/zh-cn/school/classes/collect.php
new file mode 100644
index 0000000..ba6f3cc
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/collect.php
@@ -0,0 +1,14 @@
+ '用户id',
+ 'Classes_lib_id' => '课程id',
+ 'Weigh' => '权重',
+ 'Createtime' => '创建时间',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.mobile' => '手机号',
+ 'User.avatar' => '头像',
+ 'Lib.title' => '标题',
+ 'Lib.headimage' => '头图'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/hourorder/order.php b/application/admin/lang/zh-cn/school/classes/hourorder/order.php
new file mode 100644
index 0000000..d005421
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/hourorder/order.php
@@ -0,0 +1,39 @@
+ '订单号',
+ 'Classes_order_id' => '课程订单id',
+ 'Classes_lib_spec_id' => '课时id',
+ 'User_id' => '下单人id',
+ 'Classes_order_detail_id' => '订单课程id',
+ 'Classes_lib_id' => '课程id',
+ 'Name' => '课程规格名',
+ 'Start_time' => '开始时间',
+ 'End_time' => '结束时间',
+ 'Limit_num' => '本课时限定人数(0不限制)',
+ 'Sign_num' => '下单时已报名人数',
+ 'Verification_num' => '下单时已核销人数',
+ 'Status' => '订单状态',
+ 'Status -3' => '已取消',
+ 'Set status to -3' => '设为已取消',
+ 'Status 0' => '已预约',
+ 'Set status to 0' => '设为已预约',
+ 'Status 3' => '已完成',
+ 'Set status to 3' => '设为已完成',
+ 'Verification_user_id' => '核销人用户id',
+ 'Reservation_time' => '预约时间',
+ 'Finish_time' => '完成时间',
+ 'Cancel_time' => '取消时间',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间',
+ 'Order.order_no' => '订单号',
+ 'Spec.name' => '规格名',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.mobile' => '手机号',
+ 'User.avatar' => '头像',
+ 'Detail.title' => '标题',
+ 'Detail.headimage' => '头图',
+ 'Lib.title' => '标题'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/hourorder/order_log.php b/application/admin/lang/zh-cn/school/classes/hourorder/order_log.php
new file mode 100644
index 0000000..6ba3615
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/hourorder/order_log.php
@@ -0,0 +1,15 @@
+ '课时订单id',
+ 'Status' => '订单状态',
+ 'Status -3' => '已取消',
+ 'Set status to -3' => '设为已取消',
+ 'Status 0' => '已预约',
+ 'Set status to 0' => '设为已预约',
+ 'Status 3' => '已完成',
+ 'Set status to 3' => '设为已完成',
+ 'Log_text' => '记录内容',
+ 'Createtime' => '创建时间',
+ 'Order.order_no' => '订单号'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/label.php b/application/admin/lang/zh-cn/school/classes/label.php
new file mode 100644
index 0000000..7914ab2
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/label.php
@@ -0,0 +1,14 @@
+ '类型标签名',
+ 'Status' => '状态',
+ 'Status 1' => '上架',
+ 'Set status to 1'=> '设为上架',
+ 'Status 2' => '下架',
+ 'Set status to 2'=> '设为下架',
+ 'Weigh' => '权重',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/order/order.php b/application/admin/lang/zh-cn/school/classes/order/order.php
new file mode 100644
index 0000000..e9bd221
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/order/order.php
@@ -0,0 +1,82 @@
+ '订单号',
+ 'Pay_no' => '微信支付单号',
+ 'User_id' => '下单人id',
+ 'Manystore_id' => '机构账号id',
+ 'Shop_id' => '机构店铺id',
+ 'Code' => '核销码',
+ 'Codeimage' => '核销二维码图片',
+ 'Codeoneimage' => '核销一维码图片',
+ 'Classes_lib_id' => '课程id',
+ 'Classes_order_detail_id' => '订单课程id',
+ 'Beforeprice' => '订单优惠前金额',
+ 'Totalprice' => '订单应付金额',
+ 'Payprice' => '订单实付金额',
+ 'Pay_type' => '支付方式',
+ 'Pay_type yue' => '余额',
+ 'Pay_type wechat' => '微信',
+ 'Status' => '订单状态',
+ 'Status -3' => '已取消',
+ 'Set status to -3' => '设为已取消',
+ 'Status 0' => '待支付',
+ 'Set status to 0' => '设为待支付',
+ 'Status 3' => '使用中',
+ 'Set status to 3' => '设为使用中',
+ 'Status 6' => '已退款',
+ 'Set status to 6' => '设为已退款',
+ 'Status 9' => '已完成',
+ 'Set status to 9' => '设为已完成',
+ 'Before_status' => '售后前状态',
+ 'Before_status -3' => '已取消',
+ 'Before_status 0' => '未售后',
+ 'Before_status 3' => '使用中',
+ 'Before_status 6' => '已退款',
+ 'Before_status 9' => '已完成',
+ 'Server_status' => '售后订单状态',
+ 'Server_status 0' => '正常',
+ 'Server_status 3' => '售后中',
+ 'Server_status 6' => '售后完成',
+ 'Reason' => '售后申请原因',
+ 'Auth_manystore_id' => '机构审核人id',
+ 'Auth_opinion' => '机构审核意见',
+ 'Auth_file' => '机构审核附件',
+ 'Admin_id' => '平台审核人id',
+ 'Result_status' => '售后处理结果',
+ 'Result_status 0' => '未售后',
+ 'Result_status 3' => '退款',
+ 'Result_status 6' => '驳回',
+ 'Result_text' => '售后处理结果说明',
+ 'Result_file' => '售后处理结果说明附件',
+ 'Canceltime' => '取消时间',
+ 'Paytime' => '支付时间',
+ 'Finishtime' => '完成时间',
+ 'Refundtime' => '退款时间',
+ 'Total_refundprice' => '应退款金额',
+ 'Real_refundprice' => '实际退款金额',
+ 'Sub_refundprice' => '剩余未退金额',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间',
+ 'Manystore.nickname' => '昵称',
+ 'Manystore.avatar' => '头像',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.mobile' => '手机号',
+ 'User.avatar' => '头像',
+ 'Shop.name' => '店铺名称',
+ 'Shop.image' => '封面图',
+ 'Shop.address_city' => '城市选择',
+ 'Shop.province' => '省编号',
+ 'Shop.city' => '市编号',
+ 'Shop.district' => '县区编号',
+ 'Shop.address' => '店铺地址',
+ 'Shop.address_detail' => '店铺详细地址',
+ 'Lib.title' => '标题',
+ 'Lib.headimage' => '头图',
+ 'Detail.title' => '标题',
+ 'Detail.headimage' => '头图',
+ 'Admin.nickname' => '昵称',
+ 'Admin.avatar' => '头像'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/order/order_detail.php b/application/admin/lang/zh-cn/school/classes/order/order_detail.php
new file mode 100644
index 0000000..954cb2a
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/order/order_detail.php
@@ -0,0 +1,64 @@
+ '课程订单id',
+ 'Manystore_id' => '机构账号id',
+ 'Shop_id' => '机构店铺id',
+ 'User_id' => '主讲师用户id',
+ 'Classes_cate_ids' => '平台课程分类ids',
+ 'Classes_label_ids' => '平台课程类型ids',
+ 'Self_label_tag' => '机构特色标签',
+ 'Add_type' => '添加人类型',
+ 'Add_type 1' => '机构',
+ 'Add_type 2' => '总后台',
+ 'Add_id' => '添加人id',
+ 'Title' => '标题',
+ 'Headimage' => '头图',
+ 'Images' => '轮播图',
+ 'Type' => '地点类型',
+ 'Type out' => '户外',
+ 'Type in' => '室内',
+ 'Classes_num' => '课时数',
+ 'Address_type' => '地址类型',
+ 'Address_type 1' => '按机构',
+ 'Address_type 2' => '独立位置',
+ 'Address_city' => '城市选择',
+ 'Province' => '省编号',
+ 'City' => '市编号',
+ 'District' => '县区编号',
+ 'Address' => '店铺地址',
+ 'Address_detail' => '店铺详细地址',
+ 'Longitude' => '经度',
+ 'Latitude' => '纬度',
+ 'Classes_date_text' => '上课日期',
+ 'Classes_time_text' => '上课时间',
+ 'Content' => '课程详情',
+ 'Notice' => '课程须知',
+ 'Virtual_num' => '虚拟报名人数',
+ 'Sale' => '总销量',
+ 'Price' => '售价',
+ 'Underline_price' => '划线价',
+ 'Virtual_collect' => '虚拟收藏量',
+ 'Use_num' => '已使用课时',
+ 'Sub_num' => '剩余课时',
+ 'Unit_price' => '计算单次单价',
+ 'Used_price' => '计算的已使用金额',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间',
+ 'Order.order_no' => '订单号',
+ 'Manystore.nickname' => '昵称',
+ 'Manystore.avatar' => '头像',
+ 'Shop.name' => '店铺名称',
+ 'Shop.image' => '封面图',
+ 'Shop.address_city' => '城市选择',
+ 'Shop.province' => '省编号',
+ 'Shop.city' => '市编号',
+ 'Shop.district' => '县区编号',
+ 'Shop.address' => '店铺地址',
+ 'Shop.address_detail' => '店铺详细地址',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.mobile' => '手机号',
+ 'User.avatar' => '头像'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/order/order_log.php b/application/admin/lang/zh-cn/school/classes/order/order_log.php
new file mode 100644
index 0000000..47870e1
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/order/order_log.php
@@ -0,0 +1,33 @@
+ '课程订单id',
+ 'Status' => '订单状态',
+ 'Status -3' => '已取消',
+ 'Set status to -3' => '设为已取消',
+ 'Status 0' => '待支付',
+ 'Set status to 0' => '设为待支付',
+ 'Status 3' => '使用中',
+ 'Set status to 3' => '设为使用中',
+ 'Status 6' => '已退款',
+ 'Set status to 6' => '设为已退款',
+ 'Status 9' => '已完成',
+ 'Set status to 9' => '设为已完成',
+ 'Before_status' => '售后前状态',
+ 'Before_status -3' => '已取消',
+ 'Before_status 0' => '未售后',
+ 'Before_status 3' => '使用中',
+ 'Before_status 6' => '已退款',
+ 'Before_status 9' => '已完成',
+ 'Server_status' => '售后订单状态',
+ 'Server_status 0' => '正常',
+ 'Server_status 3' => '售后中',
+ 'Server_status 6' => '售后完成',
+ 'Result_status' => '售后处理结果',
+ 'Result_status 0' => '未售后',
+ 'Result_status 3' => '退款',
+ 'Result_status 6' => '驳回',
+ 'Log_text' => '记录内容',
+ 'Createtime' => '创建时间',
+ 'Order.order_no' => '订单号'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/teacher.php b/application/admin/lang/zh-cn/school/classes/teacher.php
new file mode 100644
index 0000000..e058b9f
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/teacher.php
@@ -0,0 +1,34 @@
+ '机构账号id',
+ 'Shop_id' => '机构店铺id',
+ 'User_id' => '教师前台用户id',
+ 'Name' => '教师名',
+ 'Head_image' => '教师头像',
+ 'Content' => '教师简介',
+ 'Status' => '机构展示专家信息',
+ 'Status 1' => '上架',
+ 'Set status to 1' => '设为上架',
+ 'Status 2' => '下架',
+ 'Set status to 2' => '设为下架',
+ 'Expert_image' => '专家头像',
+ 'Expert_content' => '专家介绍',
+ 'Weigh' => '权重',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.avatar' => '头像',
+ 'Manystore.nickname' => '昵称',
+ 'Shop.name' => '店铺名称',
+ 'Shop.logo' => '品牌LOGO',
+ 'Shop.image' => '封面图',
+ 'Shop.address_city' => '城市选择',
+ 'Shop.province' => '省编号',
+ 'Shop.city' => '市编号',
+ 'Shop.district' => '县区编号',
+ 'Shop.address' => '店铺地址',
+ 'Shop.address_detail' => '店铺详细地址'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/verification.php b/application/admin/lang/zh-cn/school/classes/verification.php
new file mode 100644
index 0000000..1b58141
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/verification.php
@@ -0,0 +1,29 @@
+ '机构账号id',
+ 'Shop_id' => '机构店铺id',
+ 'User_id' => '用户id',
+ 'Classes_lib_ids' => '平台可核销的课程ids',
+ 'Status' => '状态',
+ 'Status 1' => '开启',
+ 'Set status to 1' => '设为开启',
+ 'Status 2' => '关闭',
+ 'Set status to 2' => '设为关闭',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Manystore.nickname' => '昵称',
+ 'Manystore.avatar' => '头像',
+ 'Shop.name' => '店铺名称',
+ 'Shop.image' => '封面图',
+ 'Shop.address_city' => '城市选择',
+ 'Shop.province' => '省编号',
+ 'Shop.city' => '市编号',
+ 'Shop.district' => '县区编号',
+ 'Shop.address' => '店铺地址',
+ 'Shop.address_detail' => '店铺详细地址',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.mobile' => '手机号',
+ 'User.avatar' => '头像'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/virtual_head.php b/application/admin/lang/zh-cn/school/classes/virtual_head.php
new file mode 100644
index 0000000..309c02c
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/virtual_head.php
@@ -0,0 +1,6 @@
+ '头像',
+ 'Weigh' => '权重'
+];
diff --git a/application/admin/lang/zh-cn/school/classes/virtual_user.php b/application/admin/lang/zh-cn/school/classes/virtual_user.php
new file mode 100644
index 0000000..1c87a80
--- /dev/null
+++ b/application/admin/lang/zh-cn/school/classes/virtual_user.php
@@ -0,0 +1,10 @@
+ '昵称',
+ 'Head_image' => '头像',
+ 'Classes_lib_id' => '课程id',
+ 'Time' => '虚拟下单时间',
+ 'Lib.title' => '标题',
+ 'Lib.headimage' => '头图'
+];
diff --git a/application/admin/model/school/classes/Cate.php b/application/admin/model/school/classes/Cate.php
new file mode 100644
index 0000000..550c25e
--- /dev/null
+++ b/application/admin/model/school/classes/Cate.php
@@ -0,0 +1,59 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ }
+ });
+ }
+
+
+ public function getStatusList()
+ {
+ return ['1' => __('Status 1'), '2' => __('Status 2')];
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+}
diff --git a/application/admin/model/school/classes/ClassesLib.php b/application/admin/model/school/classes/ClassesLib.php
new file mode 100644
index 0000000..2d5e784
--- /dev/null
+++ b/application/admin/model/school/classes/ClassesLib.php
@@ -0,0 +1,204 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ }
+ });
+ }
+
+
+ public function getAddTypeList()
+ {
+ return ['1' => __('Add_type 1'), '2' => __('Add_type 2')];
+ }
+
+ public function getTypeList()
+ {
+ return ['out' => __('Type out'), 'in' => __('Type in')];
+ }
+
+ public function getAddressTypeList()
+ {
+ return ['1' => __('Address_type 1'), '2' => __('Address_type 2')];
+ }
+
+ public function getStatusList()
+ {
+ return ['1' => __('Status 1'), '2' => __('Status 2'), '3' => __('Status 3')];
+ }
+
+ public function getAuthStatusList()
+ {
+ return ['0' => __('Auth_status 0'), '1' => __('Auth_status 1'), '2' => __('Auth_status 2')];
+ }
+
+ public function getRecommendList()
+ {
+ return ['0' => __('Recommend 0'), '1' => __('Recommend 1')];
+ }
+
+ public function getHotList()
+ {
+ return ['0' => __('Hot 0'), '1' => __('Hot 1')];
+ }
+
+ public function getNewList()
+ {
+ return ['0' => __('New 0'), '1' => __('New 1')];
+ }
+
+ public function getSelfhotList()
+ {
+ return ['0' => __('Selfhot 0'), '1' => __('Selfhot 1')];
+ }
+
+
+ public function getAddTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['add_type']) ? $data['add_type'] : '');
+ $list = $this->getAddTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['type']) ? $data['type'] : '');
+ $list = $this->getTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getAddressTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['address_type']) ? $data['address_type'] : '');
+ $list = $this->getAddressTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getAuthStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['auth_status']) ? $data['auth_status'] : '');
+ $list = $this->getAuthStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getAuthTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['auth_time']) ? $data['auth_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getRecommendTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['recommend']) ? $data['recommend'] : '');
+ $list = $this->getRecommendList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getHotTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['hot']) ? $data['hot'] : '');
+ $list = $this->getHotList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getNewTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['new']) ? $data['new'] : '');
+ $list = $this->getNewList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getSelfhotTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['selfhot']) ? $data['selfhot'] : '');
+ $list = $this->getSelfhotList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+ protected function setAuthTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+
+ public function manystore()
+ {
+ return $this->belongsTo('app\admin\model\Manystore', 'manystore_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function shop()
+ {
+ return $this->belongsTo('app\admin\model\manystore\Shop', 'shop_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\admin\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function admin()
+ {
+ return $this->belongsTo('app\admin\model\Admin', 'admin_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/admin/model/school/classes/ClassesSpec.php b/application/admin/model/school/classes/ClassesSpec.php
new file mode 100644
index 0000000..c049492
--- /dev/null
+++ b/application/admin/model/school/classes/ClassesSpec.php
@@ -0,0 +1,87 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ }
+ });
+ }
+
+
+ public function getStatusList()
+ {
+ return ['1' => __('Status 1'), '2' => __('Status 2')];
+ }
+
+
+ public function getStartTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['start_time']) ? $data['start_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getEndTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['end_time']) ? $data['end_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+ protected function setStartTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setEndTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+
+ public function lib()
+ {
+ return $this->belongsTo('Lib', 'classes_lib_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/admin/model/school/classes/Collect.php b/application/admin/model/school/classes/Collect.php
new file mode 100644
index 0000000..3698e57
--- /dev/null
+++ b/application/admin/model/school/classes/Collect.php
@@ -0,0 +1,60 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ }
+ });
+ }
+
+
+
+
+
+
+
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\admin\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function lib()
+ {
+ return $this->belongsTo('Lib', 'classes_lib_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/admin/model/school/classes/Label.php b/application/admin/model/school/classes/Label.php
new file mode 100644
index 0000000..3400c9d
--- /dev/null
+++ b/application/admin/model/school/classes/Label.php
@@ -0,0 +1,59 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ }
+ });
+ }
+
+
+ public function getStatusList()
+ {
+ return ['1' => __('Status 1'), '2' => __('Status 2')];
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+}
diff --git a/application/admin/model/school/classes/Lib.php b/application/admin/model/school/classes/Lib.php
new file mode 100644
index 0000000..b1fa986
--- /dev/null
+++ b/application/admin/model/school/classes/Lib.php
@@ -0,0 +1,12 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ }
+ });
+ }
+
+
+ public function getStatusList()
+ {
+ return ['1' => __('Status 1'), '2' => __('Status 2')];
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\admin\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function manystore()
+ {
+ return $this->belongsTo('app\admin\model\Manystore', 'manystore_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function shop()
+ {
+ return $this->belongsTo('app\admin\model\manystore\Shop', 'shop_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/admin/model/school/classes/Verification.php b/application/admin/model/school/classes/Verification.php
new file mode 100644
index 0000000..18bcc47
--- /dev/null
+++ b/application/admin/model/school/classes/Verification.php
@@ -0,0 +1,65 @@
+ __('Status 1'), '2' => __('Status 2')];
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+ public function manystore()
+ {
+ return $this->belongsTo('app\admin\model\Manystore', 'manystore_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function shop()
+ {
+ return $this->belongsTo('app\admin\model\manystore\Shop', 'shop_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\admin\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/admin/model/school/classes/VirtualHead.php b/application/admin/model/school/classes/VirtualHead.php
new file mode 100644
index 0000000..6bf61c1
--- /dev/null
+++ b/application/admin/model/school/classes/VirtualHead.php
@@ -0,0 +1,50 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ }
+ });
+ }
+
+
+
+
+
+
+
+
+
+}
diff --git a/application/admin/model/school/classes/VirtualUser.php b/application/admin/model/school/classes/VirtualUser.php
new file mode 100644
index 0000000..bc167f1
--- /dev/null
+++ b/application/admin/model/school/classes/VirtualUser.php
@@ -0,0 +1,52 @@
+belongsTo('Lib', 'classes_lib_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/admin/model/school/classes/hour/Order.php b/application/admin/model/school/classes/hour/Order.php
new file mode 100644
index 0000000..d7624c5
--- /dev/null
+++ b/application/admin/model/school/classes/hour/Order.php
@@ -0,0 +1,12 @@
+ __('Status -3'), '0' => __('Status 0'), '3' => __('Status 3')];
+ }
+
+
+ public function getStartTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['start_time']) ? $data['start_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getEndTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['end_time']) ? $data['end_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getReservationTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['reservation_time']) ? $data['reservation_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getFinishTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['finish_time']) ? $data['finish_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getCancelTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['cancel_time']) ? $data['cancel_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+ protected function setStartTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setEndTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setReservationTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setFinishTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setCancelTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+
+ public function order()
+ {
+ return $this->belongsTo('app\admin\model\school\classes\Order', 'classes_order_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function spec()
+ {
+ return $this->belongsTo('app\admin\model\school\classes\lib\Spec', 'classes_lib_spec_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\admin\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function detail()
+ {
+ return $this->belongsTo('app\admin\model\school\classes\order\Detail', 'classes_order_detail_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function lib()
+ {
+ return $this->belongsTo('app\admin\model\school\classes\Lib', 'classes_lib_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/admin/model/school/classes/hourorder/OrderLog.php b/application/admin/model/school/classes/hourorder/OrderLog.php
new file mode 100644
index 0000000..da7afa2
--- /dev/null
+++ b/application/admin/model/school/classes/hourorder/OrderLog.php
@@ -0,0 +1,53 @@
+ __('Status -3'), '0' => __('Status 0'), '3' => __('Status 3')];
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+ public function order()
+ {
+ return $this->belongsTo('app\admin\model\school\classes\hour\Order', 'classes_hour_order_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/admin/model/school/classes/lib/Spec.php b/application/admin/model/school/classes/lib/Spec.php
new file mode 100644
index 0000000..157be30
--- /dev/null
+++ b/application/admin/model/school/classes/lib/Spec.php
@@ -0,0 +1,12 @@
+ __('Pay_type yue'), 'wechat' => __('Pay_type wechat')];
+ }
+
+ public function getStatusList()
+ {
+ return ['-3' => __('Status -3'), '0' => __('Status 0'), '3' => __('Status 3'), '6' => __('Status 6'), '9' => __('Status 9')];
+ }
+
+ public function getBeforeStatusList()
+ {
+ return ['-3' => __('Before_status -3'), '0' => __('Before_status 0'), '3' => __('Before_status 3'), '6' => __('Before_status 6'), '9' => __('Before_status 9')];
+ }
+
+ public function getServerStatusList()
+ {
+ return ['0' => __('Server_status 0'), '3' => __('Server_status 3'), '6' => __('Server_status 6')];
+ }
+
+ public function getResultStatusList()
+ {
+ return ['0' => __('Result_status 0'), '3' => __('Result_status 3'), '6' => __('Result_status 6')];
+ }
+
+
+ public function getPayTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['pay_type']) ? $data['pay_type'] : '');
+ $list = $this->getPayTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getBeforeStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['before_status']) ? $data['before_status'] : '');
+ $list = $this->getBeforeStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getServerStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['server_status']) ? $data['server_status'] : '');
+ $list = $this->getServerStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getResultStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['result_status']) ? $data['result_status'] : '');
+ $list = $this->getResultStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getCanceltimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['canceltime']) ? $data['canceltime'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getPaytimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['paytime']) ? $data['paytime'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getFinishtimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['finishtime']) ? $data['finishtime'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getRefundtimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['refundtime']) ? $data['refundtime'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+ protected function setCanceltimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setPaytimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setFinishtimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setRefundtimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+
+ public function manystore()
+ {
+ return $this->belongsTo('app\admin\model\Manystore', 'manystore_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\admin\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function shop()
+ {
+ return $this->belongsTo('app\admin\model\manystore\Shop', 'shop_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function lib()
+ {
+ return $this->belongsTo('app\admin\model\school\classes\Lib', 'classes_lib_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function detail()
+ {
+ return $this->belongsTo('Detail', 'classes_order_detail_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function admin()
+ {
+ return $this->belongsTo('app\admin\model\Admin', 'admin_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/admin/model/school/classes/order/OrderDetail.php b/application/admin/model/school/classes/order/OrderDetail.php
new file mode 100644
index 0000000..268917f
--- /dev/null
+++ b/application/admin/model/school/classes/order/OrderDetail.php
@@ -0,0 +1,99 @@
+ __('Add_type 1'), '2' => __('Add_type 2')];
+ }
+
+ public function getTypeList()
+ {
+ return ['out' => __('Type out'), 'in' => __('Type in')];
+ }
+
+ public function getAddressTypeList()
+ {
+ return ['1' => __('Address_type 1'), '2' => __('Address_type 2')];
+ }
+
+
+ public function getAddTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['add_type']) ? $data['add_type'] : '');
+ $list = $this->getAddTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['type']) ? $data['type'] : '');
+ $list = $this->getTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getAddressTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['address_type']) ? $data['address_type'] : '');
+ $list = $this->getAddressTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+ public function order()
+ {
+ return $this->belongsTo('app\admin\model\school\classes\Order', 'classes_order_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function manystore()
+ {
+ return $this->belongsTo('app\admin\model\Manystore', 'manystore_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function shop()
+ {
+ return $this->belongsTo('app\admin\model\manystore\Shop', 'shop_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\admin\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/admin/model/school/classes/order/OrderLog.php b/application/admin/model/school/classes/order/OrderLog.php
new file mode 100644
index 0000000..ba4251c
--- /dev/null
+++ b/application/admin/model/school/classes/order/OrderLog.php
@@ -0,0 +1,95 @@
+ __('Status -3'), '0' => __('Status 0'), '3' => __('Status 3'), '6' => __('Status 6'), '9' => __('Status 9')];
+ }
+
+ public function getBeforeStatusList()
+ {
+ return ['-3' => __('Before_status -3'), '0' => __('Before_status 0'), '3' => __('Before_status 3'), '6' => __('Before_status 6'), '9' => __('Before_status 9')];
+ }
+
+ public function getServerStatusList()
+ {
+ return ['0' => __('Server_status 0'), '3' => __('Server_status 3'), '6' => __('Server_status 6')];
+ }
+
+ public function getResultStatusList()
+ {
+ return ['0' => __('Result_status 0'), '3' => __('Result_status 3'), '6' => __('Result_status 6')];
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getBeforeStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['before_status']) ? $data['before_status'] : '');
+ $list = $this->getBeforeStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getServerStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['server_status']) ? $data['server_status'] : '');
+ $list = $this->getServerStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getResultStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['result_status']) ? $data['result_status'] : '');
+ $list = $this->getResultStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+ public function order()
+ {
+ return $this->belongsTo('app\admin\model\school\classes\Order', 'classes_order_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/admin/validate/school/classes/Cate.php b/application/admin/validate/school/classes/Cate.php
new file mode 100644
index 0000000..240bf1c
--- /dev/null
+++ b/application/admin/validate/school/classes/Cate.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/ClassesLib.php b/application/admin/validate/school/classes/ClassesLib.php
new file mode 100644
index 0000000..1110853
--- /dev/null
+++ b/application/admin/validate/school/classes/ClassesLib.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/ClassesSpec.php b/application/admin/validate/school/classes/ClassesSpec.php
new file mode 100644
index 0000000..e65144a
--- /dev/null
+++ b/application/admin/validate/school/classes/ClassesSpec.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/Collect.php b/application/admin/validate/school/classes/Collect.php
new file mode 100644
index 0000000..8cd618b
--- /dev/null
+++ b/application/admin/validate/school/classes/Collect.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/Label.php b/application/admin/validate/school/classes/Label.php
new file mode 100644
index 0000000..24fe15b
--- /dev/null
+++ b/application/admin/validate/school/classes/Label.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/Teacher.php b/application/admin/validate/school/classes/Teacher.php
new file mode 100644
index 0000000..4bc60e0
--- /dev/null
+++ b/application/admin/validate/school/classes/Teacher.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/Verification.php b/application/admin/validate/school/classes/Verification.php
new file mode 100644
index 0000000..c3e2342
--- /dev/null
+++ b/application/admin/validate/school/classes/Verification.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/VirtualHead.php b/application/admin/validate/school/classes/VirtualHead.php
new file mode 100644
index 0000000..0fddf78
--- /dev/null
+++ b/application/admin/validate/school/classes/VirtualHead.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/VirtualUser.php b/application/admin/validate/school/classes/VirtualUser.php
new file mode 100644
index 0000000..4b069bd
--- /dev/null
+++ b/application/admin/validate/school/classes/VirtualUser.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/hourorder/Order.php b/application/admin/validate/school/classes/hourorder/Order.php
new file mode 100644
index 0000000..9cd9f1a
--- /dev/null
+++ b/application/admin/validate/school/classes/hourorder/Order.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/hourorder/OrderLog.php b/application/admin/validate/school/classes/hourorder/OrderLog.php
new file mode 100644
index 0000000..a7b497b
--- /dev/null
+++ b/application/admin/validate/school/classes/hourorder/OrderLog.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/order/Order.php b/application/admin/validate/school/classes/order/Order.php
new file mode 100644
index 0000000..2b2292e
--- /dev/null
+++ b/application/admin/validate/school/classes/order/Order.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/order/OrderDetail.php b/application/admin/validate/school/classes/order/OrderDetail.php
new file mode 100644
index 0000000..a80e488
--- /dev/null
+++ b/application/admin/validate/school/classes/order/OrderDetail.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/validate/school/classes/order/OrderLog.php b/application/admin/validate/school/classes/order/OrderLog.php
new file mode 100644
index 0000000..6b2710a
--- /dev/null
+++ b/application/admin/validate/school/classes/order/OrderLog.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/admin/view/school/classes/cate/add.html b/application/admin/view/school/classes/cate/add.html
new file mode 100644
index 0000000..6d8c4f6
--- /dev/null
+++ b/application/admin/view/school/classes/cate/add.html
@@ -0,0 +1,33 @@
+
diff --git a/application/admin/view/school/classes/cate/edit.html b/application/admin/view/school/classes/cate/edit.html
new file mode 100644
index 0000000..9abb38c
--- /dev/null
+++ b/application/admin/view/school/classes/cate/edit.html
@@ -0,0 +1,33 @@
+
diff --git a/application/admin/view/school/classes/cate/index.html b/application/admin/view/school/classes/cate/index.html
new file mode 100644
index 0000000..f33028e
--- /dev/null
+++ b/application/admin/view/school/classes/cate/index.html
@@ -0,0 +1,46 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/admin/view/school/classes/cate/recyclebin.html b/application/admin/view/school/classes/cate/recyclebin.html
new file mode 100644
index 0000000..6d70920
--- /dev/null
+++ b/application/admin/view/school/classes/cate/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/admin/view/school/classes/classes_lib/add.html b/application/admin/view/school/classes/classes_lib/add.html
new file mode 100644
index 0000000..839759e
--- /dev/null
+++ b/application/admin/view/school/classes/classes_lib/add.html
@@ -0,0 +1,319 @@
+
diff --git a/application/admin/view/school/classes/classes_lib/edit.html b/application/admin/view/school/classes/classes_lib/edit.html
new file mode 100644
index 0000000..6130526
--- /dev/null
+++ b/application/admin/view/school/classes/classes_lib/edit.html
@@ -0,0 +1,319 @@
+
diff --git a/application/admin/view/school/classes/classes_lib/index.html b/application/admin/view/school/classes/classes_lib/index.html
new file mode 100644
index 0000000..f7a8351
--- /dev/null
+++ b/application/admin/view/school/classes/classes_lib/index.html
@@ -0,0 +1,46 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/admin/view/school/classes/classes_lib/recyclebin.html b/application/admin/view/school/classes/classes_lib/recyclebin.html
new file mode 100644
index 0000000..7102d42
--- /dev/null
+++ b/application/admin/view/school/classes/classes_lib/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/admin/view/school/classes/classes_spec/add.html b/application/admin/view/school/classes/classes_spec/add.html
new file mode 100644
index 0000000..b45fa91
--- /dev/null
+++ b/application/admin/view/school/classes/classes_spec/add.html
@@ -0,0 +1,69 @@
+
diff --git a/application/admin/view/school/classes/classes_spec/edit.html b/application/admin/view/school/classes/classes_spec/edit.html
new file mode 100644
index 0000000..08fa766
--- /dev/null
+++ b/application/admin/view/school/classes/classes_spec/edit.html
@@ -0,0 +1,69 @@
+
diff --git a/application/admin/view/school/classes/classes_spec/index.html b/application/admin/view/school/classes/classes_spec/index.html
new file mode 100644
index 0000000..ff3ba40
--- /dev/null
+++ b/application/admin/view/school/classes/classes_spec/index.html
@@ -0,0 +1,46 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/admin/view/school/classes/classes_spec/recyclebin.html b/application/admin/view/school/classes/classes_spec/recyclebin.html
new file mode 100644
index 0000000..3367b9e
--- /dev/null
+++ b/application/admin/view/school/classes/classes_spec/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/admin/view/school/classes/collect/add.html b/application/admin/view/school/classes/collect/add.html
new file mode 100644
index 0000000..bb5b644
--- /dev/null
+++ b/application/admin/view/school/classes/collect/add.html
@@ -0,0 +1,27 @@
+
diff --git a/application/admin/view/school/classes/collect/edit.html b/application/admin/view/school/classes/collect/edit.html
new file mode 100644
index 0000000..c69cf50
--- /dev/null
+++ b/application/admin/view/school/classes/collect/edit.html
@@ -0,0 +1,27 @@
+
diff --git a/application/admin/view/school/classes/collect/index.html b/application/admin/view/school/classes/collect/index.html
new file mode 100644
index 0000000..8cc2c5a
--- /dev/null
+++ b/application/admin/view/school/classes/collect/index.html
@@ -0,0 +1,29 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/admin/view/school/classes/hourorder/order/add.html b/application/admin/view/school/classes/hourorder/order/add.html
new file mode 100644
index 0000000..ffe329c
--- /dev/null
+++ b/application/admin/view/school/classes/hourorder/order/add.html
@@ -0,0 +1,117 @@
+
diff --git a/application/admin/view/school/classes/hourorder/order/edit.html b/application/admin/view/school/classes/hourorder/order/edit.html
new file mode 100644
index 0000000..b75517f
--- /dev/null
+++ b/application/admin/view/school/classes/hourorder/order/edit.html
@@ -0,0 +1,117 @@
+
diff --git a/application/admin/view/school/classes/hourorder/order/index.html b/application/admin/view/school/classes/hourorder/order/index.html
new file mode 100644
index 0000000..7ba6a37
--- /dev/null
+++ b/application/admin/view/school/classes/hourorder/order/index.html
@@ -0,0 +1,46 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/admin/view/school/classes/hourorder/order/recyclebin.html b/application/admin/view/school/classes/hourorder/order/recyclebin.html
new file mode 100644
index 0000000..2f20961
--- /dev/null
+++ b/application/admin/view/school/classes/hourorder/order/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/admin/view/school/classes/hourorder/order_log/add.html b/application/admin/view/school/classes/hourorder/order_log/add.html
new file mode 100644
index 0000000..80618cc
--- /dev/null
+++ b/application/admin/view/school/classes/hourorder/order_log/add.html
@@ -0,0 +1,33 @@
+
diff --git a/application/admin/view/school/classes/hourorder/order_log/edit.html b/application/admin/view/school/classes/hourorder/order_log/edit.html
new file mode 100644
index 0000000..209c548
--- /dev/null
+++ b/application/admin/view/school/classes/hourorder/order_log/edit.html
@@ -0,0 +1,33 @@
+
diff --git a/application/admin/view/school/classes/hourorder/order_log/index.html b/application/admin/view/school/classes/hourorder/order_log/index.html
new file mode 100644
index 0000000..723e4e0
--- /dev/null
+++ b/application/admin/view/school/classes/hourorder/order_log/index.html
@@ -0,0 +1,46 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/admin/view/school/classes/label/add.html b/application/admin/view/school/classes/label/add.html
new file mode 100644
index 0000000..6d8c4f6
--- /dev/null
+++ b/application/admin/view/school/classes/label/add.html
@@ -0,0 +1,33 @@
+
diff --git a/application/admin/view/school/classes/label/edit.html b/application/admin/view/school/classes/label/edit.html
new file mode 100644
index 0000000..9abb38c
--- /dev/null
+++ b/application/admin/view/school/classes/label/edit.html
@@ -0,0 +1,33 @@
+
diff --git a/application/admin/view/school/classes/label/index.html b/application/admin/view/school/classes/label/index.html
new file mode 100644
index 0000000..1e544ae
--- /dev/null
+++ b/application/admin/view/school/classes/label/index.html
@@ -0,0 +1,46 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/admin/view/school/classes/label/recyclebin.html b/application/admin/view/school/classes/label/recyclebin.html
new file mode 100644
index 0000000..ea5f76f
--- /dev/null
+++ b/application/admin/view/school/classes/label/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/admin/view/school/classes/order/order/add.html b/application/admin/view/school/classes/order/order/add.html
new file mode 100644
index 0000000..12062cb
--- /dev/null
+++ b/application/admin/view/school/classes/order/order/add.html
@@ -0,0 +1,257 @@
+
diff --git a/application/admin/view/school/classes/order/order/edit.html b/application/admin/view/school/classes/order/order/edit.html
new file mode 100644
index 0000000..a2303d8
--- /dev/null
+++ b/application/admin/view/school/classes/order/order/edit.html
@@ -0,0 +1,257 @@
+
diff --git a/application/admin/view/school/classes/order/order/index.html b/application/admin/view/school/classes/order/order/index.html
new file mode 100644
index 0000000..66368ad
--- /dev/null
+++ b/application/admin/view/school/classes/order/order/index.html
@@ -0,0 +1,46 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/admin/view/school/classes/order/order/recyclebin.html b/application/admin/view/school/classes/order/order/recyclebin.html
new file mode 100644
index 0000000..0893aa4
--- /dev/null
+++ b/application/admin/view/school/classes/order/order/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/admin/view/school/classes/order/order_detail/add.html b/application/admin/view/school/classes/order/order_detail/add.html
new file mode 100644
index 0000000..e90a675
--- /dev/null
+++ b/application/admin/view/school/classes/order/order_detail/add.html
@@ -0,0 +1,259 @@
+
diff --git a/application/admin/view/school/classes/order/order_detail/edit.html b/application/admin/view/school/classes/order/order_detail/edit.html
new file mode 100644
index 0000000..967567d
--- /dev/null
+++ b/application/admin/view/school/classes/order/order_detail/edit.html
@@ -0,0 +1,259 @@
+
diff --git a/application/admin/view/school/classes/order/order_detail/index.html b/application/admin/view/school/classes/order/order_detail/index.html
new file mode 100644
index 0000000..9b0c19e
--- /dev/null
+++ b/application/admin/view/school/classes/order/order_detail/index.html
@@ -0,0 +1,29 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/admin/view/school/classes/order/order_detail/recyclebin.html b/application/admin/view/school/classes/order/order_detail/recyclebin.html
new file mode 100644
index 0000000..b423598
--- /dev/null
+++ b/application/admin/view/school/classes/order/order_detail/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/admin/view/school/classes/order/order_log/add.html b/application/admin/view/school/classes/order/order_log/add.html
new file mode 100644
index 0000000..70a5f5b
--- /dev/null
+++ b/application/admin/view/school/classes/order/order_log/add.html
@@ -0,0 +1,69 @@
+
diff --git a/application/admin/view/school/classes/order/order_log/edit.html b/application/admin/view/school/classes/order/order_log/edit.html
new file mode 100644
index 0000000..c767693
--- /dev/null
+++ b/application/admin/view/school/classes/order/order_log/edit.html
@@ -0,0 +1,69 @@
+
diff --git a/application/admin/view/school/classes/order/order_log/index.html b/application/admin/view/school/classes/order/order_log/index.html
new file mode 100644
index 0000000..b50b562
--- /dev/null
+++ b/application/admin/view/school/classes/order/order_log/index.html
@@ -0,0 +1,46 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/admin/view/school/classes/teacher/add.html b/application/admin/view/school/classes/teacher/add.html
new file mode 100644
index 0000000..41508d2
--- /dev/null
+++ b/application/admin/view/school/classes/teacher/add.html
@@ -0,0 +1,91 @@
+
diff --git a/application/admin/view/school/classes/teacher/edit.html b/application/admin/view/school/classes/teacher/edit.html
new file mode 100644
index 0000000..7892ae5
--- /dev/null
+++ b/application/admin/view/school/classes/teacher/edit.html
@@ -0,0 +1,91 @@
+
diff --git a/application/admin/view/school/classes/teacher/index.html b/application/admin/view/school/classes/teacher/index.html
new file mode 100644
index 0000000..c5c5a16
--- /dev/null
+++ b/application/admin/view/school/classes/teacher/index.html
@@ -0,0 +1,46 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/admin/view/school/classes/teacher/recyclebin.html b/application/admin/view/school/classes/teacher/recyclebin.html
new file mode 100644
index 0000000..fa14fd7
--- /dev/null
+++ b/application/admin/view/school/classes/teacher/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/admin/view/school/classes/verification/add.html b/application/admin/view/school/classes/verification/add.html
new file mode 100644
index 0000000..aa2f6dd
--- /dev/null
+++ b/application/admin/view/school/classes/verification/add.html
@@ -0,0 +1,45 @@
+
diff --git a/application/admin/view/school/classes/verification/edit.html b/application/admin/view/school/classes/verification/edit.html
new file mode 100644
index 0000000..f86075e
--- /dev/null
+++ b/application/admin/view/school/classes/verification/edit.html
@@ -0,0 +1,45 @@
+
diff --git a/application/admin/view/school/classes/verification/index.html b/application/admin/view/school/classes/verification/index.html
new file mode 100644
index 0000000..f774930
--- /dev/null
+++ b/application/admin/view/school/classes/verification/index.html
@@ -0,0 +1,46 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/admin/view/school/classes/virtual_head/add.html b/application/admin/view/school/classes/virtual_head/add.html
new file mode 100644
index 0000000..2f22338
--- /dev/null
+++ b/application/admin/view/school/classes/virtual_head/add.html
@@ -0,0 +1,29 @@
+
diff --git a/application/admin/view/school/classes/virtual_head/edit.html b/application/admin/view/school/classes/virtual_head/edit.html
new file mode 100644
index 0000000..cdce796
--- /dev/null
+++ b/application/admin/view/school/classes/virtual_head/edit.html
@@ -0,0 +1,29 @@
+
diff --git a/application/admin/view/school/classes/virtual_head/index.html b/application/admin/view/school/classes/virtual_head/index.html
new file mode 100644
index 0000000..23f7f07
--- /dev/null
+++ b/application/admin/view/school/classes/virtual_head/index.html
@@ -0,0 +1,29 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/admin/view/school/classes/virtual_user/add.html b/application/admin/view/school/classes/virtual_user/add.html
new file mode 100644
index 0000000..03025ec
--- /dev/null
+++ b/application/admin/view/school/classes/virtual_user/add.html
@@ -0,0 +1,41 @@
+
diff --git a/application/admin/view/school/classes/virtual_user/edit.html b/application/admin/view/school/classes/virtual_user/edit.html
new file mode 100644
index 0000000..45f816a
--- /dev/null
+++ b/application/admin/view/school/classes/virtual_user/edit.html
@@ -0,0 +1,41 @@
+
diff --git a/application/admin/view/school/classes/virtual_user/index.html b/application/admin/view/school/classes/virtual_user/index.html
new file mode 100644
index 0000000..367b88f
--- /dev/null
+++ b/application/admin/view/school/classes/virtual_user/index.html
@@ -0,0 +1,29 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/manystore/controller/Index.php b/application/manystore/controller/Index.php
index 114db92..ec53730 100644
--- a/application/manystore/controller/Index.php
+++ b/application/manystore/controller/Index.php
@@ -84,11 +84,14 @@ class Index extends ManystoreBase
'password' => $password,
'__token__' => $token,
];
- if (Config::get('fastadmin.login_captcha')) {
- $rule['captcha'] = 'require|captcha';
- $data['captcha'] = $this->request->post('captcha');
- }
- $validate = new Validate($rule, [], ['username' => __('Username'), 'password' => __('Password'), 'captcha' => __('Captcha')]);
+// if (Config::get('fastadmin.login_captcha')) {
+// $rule['captcha'] = 'require|captcha';
+// $data['captcha'] = $this->request->post('captcha');
+// }
+
+// $validate = new Validate($rule, [], ['username' => __('Username'), 'password' => __('Password'), 'captcha' => __('Captcha')]);
+ $validate = new Validate($rule, [], ['username' => __('Username'), 'password' => __('Password')]);
+
$result = $validate->check($data);
if (!$result) {
$this->error($validate->getError(), $url, ['token' => $this->request->token()]);
diff --git a/application/manystore/controller/school/classes/Cate.php b/application/manystore/controller/school/classes/Cate.php
new file mode 100644
index 0000000..23bd959
--- /dev/null
+++ b/application/manystore/controller/school/classes/Cate.php
@@ -0,0 +1,40 @@
+model = new \app\manystore\model\school\classes\Cate;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+}
diff --git a/application/manystore/controller/school/classes/ClassesLib.php b/application/manystore/controller/school/classes/ClassesLib.php
new file mode 100644
index 0000000..65e9122
--- /dev/null
+++ b/application/manystore/controller/school/classes/ClassesLib.php
@@ -0,0 +1,85 @@
+model = new \app\manystore\model\school\classes\ClassesLib;
+ $this->view->assign("addTypeList", $this->model->getAddTypeList());
+ $this->view->assign("typeList", $this->model->getTypeList());
+ $this->view->assign("addressTypeList", $this->model->getAddressTypeList());
+ $this->view->assign("statusList", $this->model->getStatusList());
+ $this->view->assign("authStatusList", $this->model->getAuthStatusList());
+ $this->view->assign("recommendList", $this->model->getRecommendList());
+ $this->view->assign("hotList", $this->model->getHotList());
+ $this->view->assign("newList", $this->model->getNewList());
+ $this->view->assign("selfhotList", $this->model->getSelfhotList());
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['manystore','manystoreshop','user','admin'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('manystore')->visible(['nickname']);
+ $row->getRelation('manystoreshop')->visible(['name','image','address_city','province','city','district','address','address_detail']);
+ $row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
+ $row->getRelation('admin')->visible(['nickname','avatar']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/manystore/controller/school/classes/ClassesSpec.php b/application/manystore/controller/school/classes/ClassesSpec.php
new file mode 100644
index 0000000..cec6dc6
--- /dev/null
+++ b/application/manystore/controller/school/classes/ClassesSpec.php
@@ -0,0 +1,74 @@
+model = new \app\manystore\model\school\classes\ClassesSpec;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['schoolclasseslib'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('schoolclasseslib')->visible(['title','headimage']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/manystore/controller/school/classes/Collect.php b/application/manystore/controller/school/classes/Collect.php
new file mode 100644
index 0000000..ae5cca5
--- /dev/null
+++ b/application/manystore/controller/school/classes/Collect.php
@@ -0,0 +1,75 @@
+model = new \app\manystore\model\school\classes\Collect;
+
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['user','schoolclasseslib'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
+ $row->getRelation('schoolclasseslib')->visible(['title','headimage']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/manystore/controller/school/classes/Label.php b/application/manystore/controller/school/classes/Label.php
new file mode 100644
index 0000000..67bfbce
--- /dev/null
+++ b/application/manystore/controller/school/classes/Label.php
@@ -0,0 +1,40 @@
+model = new \app\manystore\model\school\classes\Label;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+}
diff --git a/application/manystore/controller/school/classes/Teacher.php b/application/manystore/controller/school/classes/Teacher.php
new file mode 100644
index 0000000..74aa362
--- /dev/null
+++ b/application/manystore/controller/school/classes/Teacher.php
@@ -0,0 +1,76 @@
+model = new \app\manystore\model\school\classes\Teacher;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['user','manystore','manystoreshop'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('user')->visible(['nickname','realname','avatar']);
+ $row->getRelation('manystore')->visible(['nickname']);
+ $row->getRelation('manystoreshop')->visible(['name','image','address_city','province','city','district','address','address_detail']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/manystore/controller/school/classes/Verification.php b/application/manystore/controller/school/classes/Verification.php
new file mode 100644
index 0000000..33889dd
--- /dev/null
+++ b/application/manystore/controller/school/classes/Verification.php
@@ -0,0 +1,76 @@
+model = new \app\manystore\model\school\classes\Verification;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['manystore','manystoreshop','user'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('manystore')->visible(['nickname','avatar']);
+ $row->getRelation('manystoreshop')->visible(['name','image','address_city','province','city','district','address','address_detail']);
+ $row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/manystore/controller/school/classes/VirtualHead.php b/application/manystore/controller/school/classes/VirtualHead.php
new file mode 100644
index 0000000..c1c66f4
--- /dev/null
+++ b/application/manystore/controller/school/classes/VirtualHead.php
@@ -0,0 +1,40 @@
+model = new \app\manystore\model\school\classes\VirtualHead;
+
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+}
diff --git a/application/manystore/controller/school/classes/VirtualUser.php b/application/manystore/controller/school/classes/VirtualUser.php
new file mode 100644
index 0000000..591e9e7
--- /dev/null
+++ b/application/manystore/controller/school/classes/VirtualUser.php
@@ -0,0 +1,74 @@
+model = new \app\manystore\model\school\classes\VirtualUser;
+
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['schoolclasseslib'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('schoolclasseslib')->visible(['title','headimage']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/manystore/controller/school/classes/hourorder/Order.php b/application/manystore/controller/school/classes/hourorder/Order.php
new file mode 100644
index 0000000..b21f1a2
--- /dev/null
+++ b/application/manystore/controller/school/classes/hourorder/Order.php
@@ -0,0 +1,78 @@
+model = new \app\manystore\model\school\classes\hourorder\Order;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['schoolclassesorder','schoolclasseslibspec','user','schoolclassesorderdetail','schoolclasseslib'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('schoolclassesorder')->visible(['order_no']);
+ $row->getRelation('schoolclasseslibspec')->visible(['name']);
+ $row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
+ $row->getRelation('schoolclassesorderdetail')->visible(['title','headimage']);
+ $row->getRelation('schoolclasseslib')->visible(['title']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/manystore/controller/school/classes/hourorder/OrderLog.php b/application/manystore/controller/school/classes/hourorder/OrderLog.php
new file mode 100644
index 0000000..7e9fe3d
--- /dev/null
+++ b/application/manystore/controller/school/classes/hourorder/OrderLog.php
@@ -0,0 +1,74 @@
+model = new \app\manystore\model\school\classes\hourorder\OrderLog;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['schoolclasseshourorder'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('schoolclasseshourorder')->visible(['order_no']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/manystore/controller/school/classes/order/Order.php b/application/manystore/controller/school/classes/order/Order.php
new file mode 100644
index 0000000..b47fde2
--- /dev/null
+++ b/application/manystore/controller/school/classes/order/Order.php
@@ -0,0 +1,83 @@
+model = new \app\manystore\model\school\classes\order\Order;
+ $this->view->assign("payTypeList", $this->model->getPayTypeList());
+ $this->view->assign("statusList", $this->model->getStatusList());
+ $this->view->assign("beforeStatusList", $this->model->getBeforeStatusList());
+ $this->view->assign("serverStatusList", $this->model->getServerStatusList());
+ $this->view->assign("resultStatusList", $this->model->getResultStatusList());
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['manystore','user','manystoreshop','schoolclasseslib','schoolclassesorderdetail','admin'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('manystore')->visible(['nickname','avatar']);
+ $row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
+ $row->getRelation('manystoreshop')->visible(['name','image','address_city','province','city','district','address','address_detail']);
+ $row->getRelation('schoolclasseslib')->visible(['title','headimage']);
+ $row->getRelation('schoolclassesorderdetail')->visible(['title','headimage']);
+ $row->getRelation('admin')->visible(['nickname','avatar']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/manystore/controller/school/classes/order/OrderDetail.php b/application/manystore/controller/school/classes/order/OrderDetail.php
new file mode 100644
index 0000000..63cfa6a
--- /dev/null
+++ b/application/manystore/controller/school/classes/order/OrderDetail.php
@@ -0,0 +1,79 @@
+model = new \app\manystore\model\school\classes\order\OrderDetail;
+ $this->view->assign("addTypeList", $this->model->getAddTypeList());
+ $this->view->assign("typeList", $this->model->getTypeList());
+ $this->view->assign("addressTypeList", $this->model->getAddressTypeList());
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['schoolclassesorder','manystore','manystoreshop','user'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('schoolclassesorder')->visible(['order_no']);
+ $row->getRelation('manystore')->visible(['nickname','avatar']);
+ $row->getRelation('manystoreshop')->visible(['name','image','address_city','province','city','district','address','address_detail']);
+ $row->getRelation('user')->visible(['nickname','realname','mobile','avatar']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/manystore/controller/school/classes/order/OrderLog.php b/application/manystore/controller/school/classes/order/OrderLog.php
new file mode 100644
index 0000000..0b78b63
--- /dev/null
+++ b/application/manystore/controller/school/classes/order/OrderLog.php
@@ -0,0 +1,77 @@
+model = new \app\manystore\model\school\classes\order\OrderLog;
+ $this->view->assign("statusList", $this->model->getStatusList());
+ $this->view->assign("beforeStatusList", $this->model->getBeforeStatusList());
+ $this->view->assign("serverStatusList", $this->model->getServerStatusList());
+ $this->view->assign("resultStatusList", $this->model->getResultStatusList());
+ }
+
+ public function import()
+ {
+ parent::import();
+ }
+
+ /**
+ * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+ * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+ * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+ */
+
+
+ /**
+ * 查看
+ */
+ public function index()
+ {
+ //当前是否为关联查询
+ $this->relationSearch = true;
+ //设置过滤方法
+ $this->request->filter(['strip_tags', 'trim']);
+ if ($this->request->isAjax()) {
+ //如果发送的来源是Selectpage,则转发到Selectpage
+ if ($this->request->request('keyField')) {
+ return $this->selectpage();
+ }
+ list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+ $list = $this->model
+ ->with(['schoolclassesorder'])
+ ->where($where)
+ ->order($sort, $order)
+ ->paginate($limit);
+
+ foreach ($list as $row) {
+
+ $row->getRelation('schoolclassesorder')->visible(['order_no']);
+ }
+
+ $result = array("total" => $list->total(), "rows" => $list->items());
+
+ return json($result);
+ }
+ return $this->view->fetch();
+ }
+
+}
diff --git a/application/manystore/lang/zh-cn/school/classes/cate.php b/application/manystore/lang/zh-cn/school/classes/cate.php
new file mode 100644
index 0000000..ea24c0a
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/cate.php
@@ -0,0 +1,12 @@
+ '分类名',
+ 'Status' => '状态',
+ 'Status 1' => '上架',
+ 'Status 2' => '下架',
+ 'Weigh' => '权重',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/classes_lib.php b/application/manystore/lang/zh-cn/school/classes/classes_lib.php
new file mode 100644
index 0000000..7c2789e
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/classes_lib.php
@@ -0,0 +1,83 @@
+ '机构账号id',
+ 'Shop_id' => '机构店铺id',
+ 'User_id' => '主讲师用户id',
+ 'Classes_cate_ids' => '平台课程分类ids',
+ 'Classes_label_ids' => '平台课程类型ids',
+ 'Self_label_tag' => '机构特色标签',
+ 'Add_type' => '添加人类型',
+ 'Add_type 1' => '机构',
+ 'Add_type 2' => '总后台',
+ 'Add_id' => '添加人id',
+ 'Title' => '标题',
+ 'Headimage' => '头图',
+ 'Images' => '轮播图',
+ 'Type' => '地点类型',
+ 'Type out' => '户外',
+ 'Type in' => '室内',
+ 'Classes_num' => '课时数',
+ 'Address_type' => '地址类型',
+ 'Address_type 1' => '按机构',
+ 'Address_type 2' => '独立位置',
+ 'Address_city' => '城市选择',
+ 'Province' => '省编号',
+ 'City' => '市编号',
+ 'District' => '县区编号',
+ 'Address' => '店铺地址',
+ 'Address_detail' => '店铺详细地址',
+ 'Longitude' => '经度',
+ 'Latitude' => '纬度',
+ 'Classes_date_text' => '上课日期',
+ 'Classes_time_text' => '上课时间',
+ 'Content' => '课程详情',
+ 'Notice' => '课程须知',
+ 'Virtual_num' => '虚拟报名人数',
+ 'Sale' => '总销量',
+ 'Price' => '售价',
+ 'Underline_price' => '划线价',
+ 'Virtual_collect' => '虚拟收藏量',
+ 'Status' => '状态',
+ 'Status 1' => '上架',
+ 'Status 2' => '下架',
+ 'Status 3' => '平台下架',
+ 'Auth_status' => '审核状态',
+ 'Auth_status 0' => '待审核',
+ 'Auth_status 1' => '审核通过',
+ 'Auth_status 2' => '审核失败',
+ 'Reason' => '审核不通过原因',
+ 'Auth_time' => '审核时间',
+ 'Admin_id' => '审核管理员id',
+ 'Weigh' => '权重',
+ 'Recommend' => '平台推荐',
+ 'Recommend 0' => '否',
+ 'Recommend 1' => '是',
+ 'Hot' => '平台热门',
+ 'Hot 0' => '否',
+ 'Hot 1' => '是',
+ 'New' => '平台最新',
+ 'New 0' => '否',
+ 'New 1' => '是',
+ 'Selfhot' => '机构热门',
+ 'Selfhot 0' => '否',
+ 'Selfhot 1' => '是',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间',
+ 'Manystore.nickname' => '昵称',
+ 'Manystoreshop.name' => '店铺名称',
+ 'Manystoreshop.image' => '封面图',
+ 'Manystoreshop.address_city' => '城市选择',
+ 'Manystoreshop.province' => '省编号',
+ 'Manystoreshop.city' => '市编号',
+ 'Manystoreshop.district' => '县区编号',
+ 'Manystoreshop.address' => '店铺地址',
+ 'Manystoreshop.address_detail' => '店铺详细地址',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.mobile' => '手机号',
+ 'User.avatar' => '头像',
+ 'Admin.nickname' => '昵称',
+ 'Admin.avatar' => '头像'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/classes_spec.php b/application/manystore/lang/zh-cn/school/classes/classes_spec.php
new file mode 100644
index 0000000..2d3e0a3
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/classes_spec.php
@@ -0,0 +1,20 @@
+ '课程id',
+ 'Name' => '规格名',
+ 'Start_time' => '开始时间',
+ 'End_time' => '结束时间',
+ 'Limit_num' => '本课时限定人数(0不限制)',
+ 'Sign_num' => '已报名人数',
+ 'Verification_num' => '已核销人数',
+ 'Status' => '状态',
+ 'Status 1' => '上架',
+ 'Status 2' => '下架',
+ 'Weigh' => '权重',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间',
+ 'Schoolclasseslib.title' => '标题',
+ 'Schoolclasseslib.headimage' => '头图'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/collect.php b/application/manystore/lang/zh-cn/school/classes/collect.php
new file mode 100644
index 0000000..94436f1
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/collect.php
@@ -0,0 +1,14 @@
+ '用户id',
+ 'Classes_lib_id' => '课程id',
+ 'Weigh' => '权重',
+ 'Createtime' => '创建时间',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.mobile' => '手机号',
+ 'User.avatar' => '头像',
+ 'Schoolclasseslib.title' => '标题',
+ 'Schoolclasseslib.headimage' => '头图'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/hourorder/order.php b/application/manystore/lang/zh-cn/school/classes/hourorder/order.php
new file mode 100644
index 0000000..27ca6a5
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/hourorder/order.php
@@ -0,0 +1,36 @@
+ '订单号',
+ 'Classes_order_id' => '课程订单id',
+ 'Classes_lib_spec_id' => '课时id',
+ 'User_id' => '下单人id',
+ 'Classes_order_detail_id' => '订单课程id',
+ 'Classes_lib_id' => '课程id',
+ 'Name' => '课程规格名',
+ 'Start_time' => '开始时间',
+ 'End_time' => '结束时间',
+ 'Limit_num' => '本课时限定人数(0不限制)',
+ 'Sign_num' => '下单时已报名人数',
+ 'Verification_num' => '下单时已核销人数',
+ 'Status' => '订单状态',
+ 'Status -3' => '已取消',
+ 'Status 0' => '已预约',
+ 'Status 3' => '已完成',
+ 'Verification_user_id' => '核销人用户id',
+ 'Reservation_time' => '预约时间',
+ 'Finish_time' => '完成时间',
+ 'Cancel_time' => '取消时间',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间',
+ 'Schoolclassesorder.order_no' => '订单号',
+ 'Schoolclasseslibspec.name' => '规格名',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.mobile' => '手机号',
+ 'User.avatar' => '头像',
+ 'Schoolclassesorderdetail.title' => '标题',
+ 'Schoolclassesorderdetail.headimage' => '头图',
+ 'Schoolclasseslib.title' => '标题'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/hourorder/order_log.php b/application/manystore/lang/zh-cn/school/classes/hourorder/order_log.php
new file mode 100644
index 0000000..7caf33c
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/hourorder/order_log.php
@@ -0,0 +1,12 @@
+ '课时订单id',
+ 'Status' => '订单状态',
+ 'Status -3' => '已取消',
+ 'Status 0' => '已预约',
+ 'Status 3' => '已完成',
+ 'Log_text' => '记录内容',
+ 'Createtime' => '创建时间',
+ 'Schoolclasseshourorder.order_no' => '订单号'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/label.php b/application/manystore/lang/zh-cn/school/classes/label.php
new file mode 100644
index 0000000..84e4fb5
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/label.php
@@ -0,0 +1,12 @@
+ '类型标签名',
+ 'Status' => '状态',
+ 'Status 1' => '上架',
+ 'Status 2' => '下架',
+ 'Weigh' => '权重',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/order/order.php b/application/manystore/lang/zh-cn/school/classes/order/order.php
new file mode 100644
index 0000000..934399c
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/order/order.php
@@ -0,0 +1,77 @@
+ '订单号',
+ 'Pay_no' => '微信支付单号',
+ 'User_id' => '下单人id',
+ 'Manystore_id' => '机构账号id',
+ 'Shop_id' => '机构店铺id',
+ 'Code' => '核销码',
+ 'Codeimage' => '核销二维码图片',
+ 'Codeoneimage' => '核销一维码图片',
+ 'Classes_lib_id' => '课程id',
+ 'Classes_order_detail_id' => '订单课程id',
+ 'Beforeprice' => '订单优惠前金额',
+ 'Totalprice' => '订单应付金额',
+ 'Payprice' => '订单实付金额',
+ 'Pay_type' => '支付方式',
+ 'Pay_type yue' => '余额',
+ 'Pay_type wechat' => '微信',
+ 'Status' => '订单状态',
+ 'Status -3' => '已取消',
+ 'Status 0' => '待支付',
+ 'Status 3' => '使用中',
+ 'Status 6' => '已退款',
+ 'Status 9' => '已完成',
+ 'Before_status' => '售后前状态',
+ 'Before_status -3' => '已取消',
+ 'Before_status 0' => '未售后',
+ 'Before_status 3' => '使用中',
+ 'Before_status 6' => '已退款',
+ 'Before_status 9' => '已完成',
+ 'Server_status' => '售后订单状态',
+ 'Server_status 0' => '正常',
+ 'Server_status 3' => '售后中',
+ 'Server_status 6' => '售后完成',
+ 'Reason' => '售后申请原因',
+ 'Auth_manystore_id' => '机构审核人id',
+ 'Auth_opinion' => '机构审核意见',
+ 'Auth_file' => '机构审核附件',
+ 'Admin_id' => '平台审核人id',
+ 'Result_status' => '售后处理结果',
+ 'Result_status 0' => '未售后',
+ 'Result_status 3' => '退款',
+ 'Result_status 6' => '驳回',
+ 'Result_text' => '售后处理结果说明',
+ 'Result_file' => '售后处理结果说明附件',
+ 'Canceltime' => '取消时间',
+ 'Paytime' => '支付时间',
+ 'Finishtime' => '完成时间',
+ 'Refundtime' => '退款时间',
+ 'Total_refundprice' => '应退款金额',
+ 'Real_refundprice' => '实际退款金额',
+ 'Sub_refundprice' => '剩余未退金额',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间',
+ 'Manystore.nickname' => '昵称',
+ 'Manystore.avatar' => '头像',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.mobile' => '手机号',
+ 'User.avatar' => '头像',
+ 'Manystoreshop.name' => '店铺名称',
+ 'Manystoreshop.image' => '封面图',
+ 'Manystoreshop.address_city' => '城市选择',
+ 'Manystoreshop.province' => '省编号',
+ 'Manystoreshop.city' => '市编号',
+ 'Manystoreshop.district' => '县区编号',
+ 'Manystoreshop.address' => '店铺地址',
+ 'Manystoreshop.address_detail' => '店铺详细地址',
+ 'Schoolclasseslib.title' => '标题',
+ 'Schoolclasseslib.headimage' => '头图',
+ 'Schoolclassesorderdetail.title' => '标题',
+ 'Schoolclassesorderdetail.headimage' => '头图',
+ 'Admin.nickname' => '昵称',
+ 'Admin.avatar' => '头像'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/order/order_detail.php b/application/manystore/lang/zh-cn/school/classes/order/order_detail.php
new file mode 100644
index 0000000..2680915
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/order/order_detail.php
@@ -0,0 +1,64 @@
+ '课程订单id',
+ 'Manystore_id' => '机构账号id',
+ 'Shop_id' => '机构店铺id',
+ 'User_id' => '主讲师用户id',
+ 'Classes_cate_ids' => '平台课程分类ids',
+ 'Classes_label_ids' => '平台课程类型ids',
+ 'Self_label_tag' => '机构特色标签',
+ 'Add_type' => '添加人类型',
+ 'Add_type 1' => '机构',
+ 'Add_type 2' => '总后台',
+ 'Add_id' => '添加人id',
+ 'Title' => '标题',
+ 'Headimage' => '头图',
+ 'Images' => '轮播图',
+ 'Type' => '地点类型',
+ 'Type out' => '户外',
+ 'Type in' => '室内',
+ 'Classes_num' => '课时数',
+ 'Address_type' => '地址类型',
+ 'Address_type 1' => '按机构',
+ 'Address_type 2' => '独立位置',
+ 'Address_city' => '城市选择',
+ 'Province' => '省编号',
+ 'City' => '市编号',
+ 'District' => '县区编号',
+ 'Address' => '店铺地址',
+ 'Address_detail' => '店铺详细地址',
+ 'Longitude' => '经度',
+ 'Latitude' => '纬度',
+ 'Classes_date_text' => '上课日期',
+ 'Classes_time_text' => '上课时间',
+ 'Content' => '课程详情',
+ 'Notice' => '课程须知',
+ 'Virtual_num' => '虚拟报名人数',
+ 'Sale' => '总销量',
+ 'Price' => '售价',
+ 'Underline_price' => '划线价',
+ 'Virtual_collect' => '虚拟收藏量',
+ 'Use_num' => '已使用课时',
+ 'Sub_num' => '剩余课时',
+ 'Unit_price' => '计算单次单价',
+ 'Used_price' => '计算的已使用金额',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间',
+ 'Schoolclassesorder.order_no' => '订单号',
+ 'Manystore.nickname' => '昵称',
+ 'Manystore.avatar' => '头像',
+ 'Manystoreshop.name' => '店铺名称',
+ 'Manystoreshop.image' => '封面图',
+ 'Manystoreshop.address_city' => '城市选择',
+ 'Manystoreshop.province' => '省编号',
+ 'Manystoreshop.city' => '市编号',
+ 'Manystoreshop.district' => '县区编号',
+ 'Manystoreshop.address' => '店铺地址',
+ 'Manystoreshop.address_detail' => '店铺详细地址',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.mobile' => '手机号',
+ 'User.avatar' => '头像'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/order/order_log.php b/application/manystore/lang/zh-cn/school/classes/order/order_log.php
new file mode 100644
index 0000000..a7212cf
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/order/order_log.php
@@ -0,0 +1,28 @@
+ '课程订单id',
+ 'Status' => '订单状态',
+ 'Status -3' => '已取消',
+ 'Status 0' => '待支付',
+ 'Status 3' => '使用中',
+ 'Status 6' => '已退款',
+ 'Status 9' => '已完成',
+ 'Before_status' => '售后前状态',
+ 'Before_status -3' => '已取消',
+ 'Before_status 0' => '未售后',
+ 'Before_status 3' => '使用中',
+ 'Before_status 6' => '已退款',
+ 'Before_status 9' => '已完成',
+ 'Server_status' => '售后订单状态',
+ 'Server_status 0' => '正常',
+ 'Server_status 3' => '售后中',
+ 'Server_status 6' => '售后完成',
+ 'Result_status' => '售后处理结果',
+ 'Result_status 0' => '未售后',
+ 'Result_status 3' => '退款',
+ 'Result_status 6' => '驳回',
+ 'Log_text' => '记录内容',
+ 'Createtime' => '创建时间',
+ 'Schoolclassesorder.order_no' => '订单号'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/teacher.php b/application/manystore/lang/zh-cn/school/classes/teacher.php
new file mode 100644
index 0000000..4a2c073
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/teacher.php
@@ -0,0 +1,31 @@
+ '机构账号id',
+ 'Shop_id' => '机构店铺id',
+ 'User_id' => '教师前台用户id',
+ 'Name' => '教师名',
+ 'Head_image' => '教师头像',
+ 'Content' => '教师简介',
+ 'Status' => '机构展示专家信息',
+ 'Status 1' => '上架',
+ 'Status 2' => '下架',
+ 'Expert_image' => '专家头像',
+ 'Expert_content' => '专家介绍',
+ 'Weigh' => '权重',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Deletetime' => '删除时间',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.avatar' => '头像',
+ 'Manystore.nickname' => '昵称',
+ 'Manystoreshop.name' => '店铺名称',
+ 'Manystoreshop.image' => '封面图',
+ 'Manystoreshop.address_city' => '城市选择',
+ 'Manystoreshop.province' => '省编号',
+ 'Manystoreshop.city' => '市编号',
+ 'Manystoreshop.district' => '县区编号',
+ 'Manystoreshop.address' => '店铺地址',
+ 'Manystoreshop.address_detail' => '店铺详细地址'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/verification.php b/application/manystore/lang/zh-cn/school/classes/verification.php
new file mode 100644
index 0000000..dbc805c
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/verification.php
@@ -0,0 +1,27 @@
+ '机构账号id',
+ 'Shop_id' => '机构店铺id',
+ 'User_id' => '用户id',
+ 'Classes_lib_ids' => '平台可核销的课程ids',
+ 'Status' => '状态',
+ 'Status 1' => '开启',
+ 'Status 2' => '关闭',
+ 'Createtime' => '创建时间',
+ 'Updatetime' => '修改时间',
+ 'Manystore.nickname' => '昵称',
+ 'Manystore.avatar' => '头像',
+ 'Manystoreshop.name' => '店铺名称',
+ 'Manystoreshop.image' => '封面图',
+ 'Manystoreshop.address_city' => '城市选择',
+ 'Manystoreshop.province' => '省编号',
+ 'Manystoreshop.city' => '市编号',
+ 'Manystoreshop.district' => '县区编号',
+ 'Manystoreshop.address' => '店铺地址',
+ 'Manystoreshop.address_detail' => '店铺详细地址',
+ 'User.nickname' => '昵称',
+ 'User.realname' => '真实姓名',
+ 'User.mobile' => '手机号',
+ 'User.avatar' => '头像'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/virtual_head.php b/application/manystore/lang/zh-cn/school/classes/virtual_head.php
new file mode 100644
index 0000000..309c02c
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/virtual_head.php
@@ -0,0 +1,6 @@
+ '头像',
+ 'Weigh' => '权重'
+];
diff --git a/application/manystore/lang/zh-cn/school/classes/virtual_user.php b/application/manystore/lang/zh-cn/school/classes/virtual_user.php
new file mode 100644
index 0000000..0b01b75
--- /dev/null
+++ b/application/manystore/lang/zh-cn/school/classes/virtual_user.php
@@ -0,0 +1,10 @@
+ '昵称',
+ 'Head_image' => '头像',
+ 'Classes_lib_id' => '课程id',
+ 'Time' => '虚拟下单时间',
+ 'Schoolclasseslib.title' => '标题',
+ 'Schoolclasseslib.headimage' => '头图'
+];
diff --git a/application/manystore/model/school/classes/Cate.php b/application/manystore/model/school/classes/Cate.php
new file mode 100644
index 0000000..e4473c6
--- /dev/null
+++ b/application/manystore/model/school/classes/Cate.php
@@ -0,0 +1,57 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ });
+ }
+
+
+ public function getStatusList()
+ {
+ return ['1' => __('Status 1'), '2' => __('Status 2')];
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+}
diff --git a/application/manystore/model/school/classes/ClassesLib.php b/application/manystore/model/school/classes/ClassesLib.php
new file mode 100644
index 0000000..f91808e
--- /dev/null
+++ b/application/manystore/model/school/classes/ClassesLib.php
@@ -0,0 +1,202 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ });
+ }
+
+
+ public function getAddTypeList()
+ {
+ return ['1' => __('Add_type 1'), '2' => __('Add_type 2')];
+ }
+
+ public function getTypeList()
+ {
+ return ['out' => __('Type out'), 'in' => __('Type in')];
+ }
+
+ public function getAddressTypeList()
+ {
+ return ['1' => __('Address_type 1'), '2' => __('Address_type 2')];
+ }
+
+ public function getStatusList()
+ {
+ return ['1' => __('Status 1'), '2' => __('Status 2'), '3' => __('Status 3')];
+ }
+
+ public function getAuthStatusList()
+ {
+ return ['0' => __('Auth_status 0'), '1' => __('Auth_status 1'), '2' => __('Auth_status 2')];
+ }
+
+ public function getRecommendList()
+ {
+ return ['0' => __('Recommend 0'), '1' => __('Recommend 1')];
+ }
+
+ public function getHotList()
+ {
+ return ['0' => __('Hot 0'), '1' => __('Hot 1')];
+ }
+
+ public function getNewList()
+ {
+ return ['0' => __('New 0'), '1' => __('New 1')];
+ }
+
+ public function getSelfhotList()
+ {
+ return ['0' => __('Selfhot 0'), '1' => __('Selfhot 1')];
+ }
+
+
+ public function getAddTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['add_type']) ? $data['add_type'] : '');
+ $list = $this->getAddTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['type']) ? $data['type'] : '');
+ $list = $this->getTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getAddressTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['address_type']) ? $data['address_type'] : '');
+ $list = $this->getAddressTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getAuthStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['auth_status']) ? $data['auth_status'] : '');
+ $list = $this->getAuthStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getAuthTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['auth_time']) ? $data['auth_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getRecommendTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['recommend']) ? $data['recommend'] : '');
+ $list = $this->getRecommendList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getHotTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['hot']) ? $data['hot'] : '');
+ $list = $this->getHotList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getNewTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['new']) ? $data['new'] : '');
+ $list = $this->getNewList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getSelfhotTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['selfhot']) ? $data['selfhot'] : '');
+ $list = $this->getSelfhotList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+ protected function setAuthTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+
+ public function manystore()
+ {
+ return $this->belongsTo('app\manystore\model\Manystore', 'manystore_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function manystoreshop()
+ {
+ return $this->belongsTo('app\manystore\model\ManystoreShop', 'shop_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\manystore\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function admin()
+ {
+ return $this->belongsTo('app\manystore\model\Admin', 'admin_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/manystore/model/school/classes/ClassesSpec.php b/application/manystore/model/school/classes/ClassesSpec.php
new file mode 100644
index 0000000..f8e4504
--- /dev/null
+++ b/application/manystore/model/school/classes/ClassesSpec.php
@@ -0,0 +1,85 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ });
+ }
+
+
+ public function getStatusList()
+ {
+ return ['1' => __('Status 1'), '2' => __('Status 2')];
+ }
+
+
+ public function getStartTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['start_time']) ? $data['start_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getEndTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['end_time']) ? $data['end_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+ protected function setStartTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setEndTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+
+ public function schoolclasseslib()
+ {
+ return $this->belongsTo('app\manystore\model\SchoolClassesLib', 'classes_lib_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/manystore/model/school/classes/Collect.php b/application/manystore/model/school/classes/Collect.php
new file mode 100644
index 0000000..44cf22b
--- /dev/null
+++ b/application/manystore/model/school/classes/Collect.php
@@ -0,0 +1,58 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ });
+ }
+
+
+
+
+
+
+
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\manystore\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function schoolclasseslib()
+ {
+ return $this->belongsTo('app\manystore\model\SchoolClassesLib', 'classes_lib_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/manystore/model/school/classes/Label.php b/application/manystore/model/school/classes/Label.php
new file mode 100644
index 0000000..59f8189
--- /dev/null
+++ b/application/manystore/model/school/classes/Label.php
@@ -0,0 +1,57 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ });
+ }
+
+
+ public function getStatusList()
+ {
+ return ['1' => __('Status 1'), '2' => __('Status 2')];
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+}
diff --git a/application/manystore/model/school/classes/Teacher.php b/application/manystore/model/school/classes/Teacher.php
new file mode 100644
index 0000000..0d72366
--- /dev/null
+++ b/application/manystore/model/school/classes/Teacher.php
@@ -0,0 +1,73 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ });
+ }
+
+
+ public function getStatusList()
+ {
+ return ['1' => __('Status 1'), '2' => __('Status 2')];
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\manystore\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function manystore()
+ {
+ return $this->belongsTo('app\manystore\model\Manystore', 'manystore_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function manystoreshop()
+ {
+ return $this->belongsTo('app\manystore\model\ManystoreShop', 'shop_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/manystore/model/school/classes/Verification.php b/application/manystore/model/school/classes/Verification.php
new file mode 100644
index 0000000..7e36c1a
--- /dev/null
+++ b/application/manystore/model/school/classes/Verification.php
@@ -0,0 +1,65 @@
+ __('Status 1'), '2' => __('Status 2')];
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+ public function manystore()
+ {
+ return $this->belongsTo('app\manystore\model\Manystore', 'manystore_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function manystoreshop()
+ {
+ return $this->belongsTo('app\manystore\model\ManystoreShop', 'shop_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\manystore\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/manystore/model/school/classes/VirtualHead.php b/application/manystore/model/school/classes/VirtualHead.php
new file mode 100644
index 0000000..a8e998f
--- /dev/null
+++ b/application/manystore/model/school/classes/VirtualHead.php
@@ -0,0 +1,48 @@
+getPk();
+ $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+ });
+ }
+
+
+
+
+
+
+
+
+
+}
diff --git a/application/manystore/model/school/classes/VirtualUser.php b/application/manystore/model/school/classes/VirtualUser.php
new file mode 100644
index 0000000..952283f
--- /dev/null
+++ b/application/manystore/model/school/classes/VirtualUser.php
@@ -0,0 +1,52 @@
+belongsTo('app\manystore\model\SchoolClassesLib', 'classes_lib_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/manystore/model/school/classes/hourorder/Order.php b/application/manystore/model/school/classes/hourorder/Order.php
new file mode 100644
index 0000000..48d5149
--- /dev/null
+++ b/application/manystore/model/school/classes/hourorder/Order.php
@@ -0,0 +1,140 @@
+ __('Status -3'), '0' => __('Status 0'), '3' => __('Status 3')];
+ }
+
+
+ public function getStartTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['start_time']) ? $data['start_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getEndTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['end_time']) ? $data['end_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getReservationTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['reservation_time']) ? $data['reservation_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getFinishTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['finish_time']) ? $data['finish_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getCancelTimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['cancel_time']) ? $data['cancel_time'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+ protected function setStartTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setEndTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setReservationTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setFinishTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setCancelTimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+
+ public function schoolclassesorder()
+ {
+ return $this->belongsTo('app\manystore\model\SchoolClassesOrder', 'classes_order_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function schoolclasseslibspec()
+ {
+ return $this->belongsTo('app\manystore\model\SchoolClassesLibSpec', 'classes_lib_spec_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\manystore\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function schoolclassesorderdetail()
+ {
+ return $this->belongsTo('app\manystore\model\SchoolClassesOrderDetail', 'classes_order_detail_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function schoolclasseslib()
+ {
+ return $this->belongsTo('app\manystore\model\SchoolClassesLib', 'classes_lib_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/manystore/model/school/classes/hourorder/OrderLog.php b/application/manystore/model/school/classes/hourorder/OrderLog.php
new file mode 100644
index 0000000..4ede8d6
--- /dev/null
+++ b/application/manystore/model/school/classes/hourorder/OrderLog.php
@@ -0,0 +1,53 @@
+ __('Status -3'), '0' => __('Status 0'), '3' => __('Status 3')];
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+ public function schoolclasseshourorder()
+ {
+ return $this->belongsTo('app\manystore\model\SchoolClassesHourOrder', 'classes_hour_order_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/manystore/model/school/classes/order/Order.php b/application/manystore/model/school/classes/order/Order.php
new file mode 100644
index 0000000..b721545
--- /dev/null
+++ b/application/manystore/model/school/classes/order/Order.php
@@ -0,0 +1,189 @@
+ __('Pay_type yue'), 'wechat' => __('Pay_type wechat')];
+ }
+
+ public function getStatusList()
+ {
+ return ['-3' => __('Status -3'), '0' => __('Status 0'), '3' => __('Status 3'), '6' => __('Status 6'), '9' => __('Status 9')];
+ }
+
+ public function getBeforeStatusList()
+ {
+ return ['-3' => __('Before_status -3'), '0' => __('Before_status 0'), '3' => __('Before_status 3'), '6' => __('Before_status 6'), '9' => __('Before_status 9')];
+ }
+
+ public function getServerStatusList()
+ {
+ return ['0' => __('Server_status 0'), '3' => __('Server_status 3'), '6' => __('Server_status 6')];
+ }
+
+ public function getResultStatusList()
+ {
+ return ['0' => __('Result_status 0'), '3' => __('Result_status 3'), '6' => __('Result_status 6')];
+ }
+
+
+ public function getPayTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['pay_type']) ? $data['pay_type'] : '');
+ $list = $this->getPayTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getBeforeStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['before_status']) ? $data['before_status'] : '');
+ $list = $this->getBeforeStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getServerStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['server_status']) ? $data['server_status'] : '');
+ $list = $this->getServerStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getResultStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['result_status']) ? $data['result_status'] : '');
+ $list = $this->getResultStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getCanceltimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['canceltime']) ? $data['canceltime'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getPaytimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['paytime']) ? $data['paytime'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getFinishtimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['finishtime']) ? $data['finishtime'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+
+ public function getRefundtimeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['refundtime']) ? $data['refundtime'] : '');
+ return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
+ }
+
+ protected function setCanceltimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setPaytimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setFinishtimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+ protected function setRefundtimeAttr($value)
+ {
+ return $value === '' ? null : ($value && !is_numeric($value) ? strtotime($value) : $value);
+ }
+
+
+ public function manystore()
+ {
+ return $this->belongsTo('app\manystore\model\Manystore', 'manystore_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\manystore\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function manystoreshop()
+ {
+ return $this->belongsTo('app\manystore\model\ManystoreShop', 'shop_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function schoolclasseslib()
+ {
+ return $this->belongsTo('app\manystore\model\SchoolClassesLib', 'classes_lib_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function schoolclassesorderdetail()
+ {
+ return $this->belongsTo('app\manystore\model\SchoolClassesOrderDetail', 'classes_order_detail_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function admin()
+ {
+ return $this->belongsTo('app\manystore\model\Admin', 'admin_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/manystore/model/school/classes/order/OrderDetail.php b/application/manystore/model/school/classes/order/OrderDetail.php
new file mode 100644
index 0000000..8f89923
--- /dev/null
+++ b/application/manystore/model/school/classes/order/OrderDetail.php
@@ -0,0 +1,99 @@
+ __('Add_type 1'), '2' => __('Add_type 2')];
+ }
+
+ public function getTypeList()
+ {
+ return ['out' => __('Type out'), 'in' => __('Type in')];
+ }
+
+ public function getAddressTypeList()
+ {
+ return ['1' => __('Address_type 1'), '2' => __('Address_type 2')];
+ }
+
+
+ public function getAddTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['add_type']) ? $data['add_type'] : '');
+ $list = $this->getAddTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['type']) ? $data['type'] : '');
+ $list = $this->getTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getAddressTypeTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['address_type']) ? $data['address_type'] : '');
+ $list = $this->getAddressTypeList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+ public function schoolclassesorder()
+ {
+ return $this->belongsTo('app\manystore\model\SchoolClassesOrder', 'classes_order_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function manystore()
+ {
+ return $this->belongsTo('app\manystore\model\Manystore', 'manystore_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function manystoreshop()
+ {
+ return $this->belongsTo('app\manystore\model\ManystoreShop', 'shop_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+
+
+ public function user()
+ {
+ return $this->belongsTo('app\manystore\model\User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/manystore/model/school/classes/order/OrderLog.php b/application/manystore/model/school/classes/order/OrderLog.php
new file mode 100644
index 0000000..209dc97
--- /dev/null
+++ b/application/manystore/model/school/classes/order/OrderLog.php
@@ -0,0 +1,95 @@
+ __('Status -3'), '0' => __('Status 0'), '3' => __('Status 3'), '6' => __('Status 6'), '9' => __('Status 9')];
+ }
+
+ public function getBeforeStatusList()
+ {
+ return ['-3' => __('Before_status -3'), '0' => __('Before_status 0'), '3' => __('Before_status 3'), '6' => __('Before_status 6'), '9' => __('Before_status 9')];
+ }
+
+ public function getServerStatusList()
+ {
+ return ['0' => __('Server_status 0'), '3' => __('Server_status 3'), '6' => __('Server_status 6')];
+ }
+
+ public function getResultStatusList()
+ {
+ return ['0' => __('Result_status 0'), '3' => __('Result_status 3'), '6' => __('Result_status 6')];
+ }
+
+
+ public function getStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
+ $list = $this->getStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getBeforeStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['before_status']) ? $data['before_status'] : '');
+ $list = $this->getBeforeStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getServerStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['server_status']) ? $data['server_status'] : '');
+ $list = $this->getServerStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+ public function getResultStatusTextAttr($value, $data)
+ {
+ $value = $value ? $value : (isset($data['result_status']) ? $data['result_status'] : '');
+ $list = $this->getResultStatusList();
+ return isset($list[$value]) ? $list[$value] : '';
+ }
+
+
+
+
+ public function schoolclassesorder()
+ {
+ return $this->belongsTo('app\manystore\model\SchoolClassesOrder', 'classes_order_id', 'id', [], 'LEFT')->setEagerlyType(0);
+ }
+}
diff --git a/application/manystore/validate/school/classes/Cate.php b/application/manystore/validate/school/classes/Cate.php
new file mode 100644
index 0000000..9b0c1c7
--- /dev/null
+++ b/application/manystore/validate/school/classes/Cate.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/ClassesLib.php b/application/manystore/validate/school/classes/ClassesLib.php
new file mode 100644
index 0000000..4c90f54
--- /dev/null
+++ b/application/manystore/validate/school/classes/ClassesLib.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/ClassesSpec.php b/application/manystore/validate/school/classes/ClassesSpec.php
new file mode 100644
index 0000000..30934b6
--- /dev/null
+++ b/application/manystore/validate/school/classes/ClassesSpec.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/Collect.php b/application/manystore/validate/school/classes/Collect.php
new file mode 100644
index 0000000..4f6a3df
--- /dev/null
+++ b/application/manystore/validate/school/classes/Collect.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/Label.php b/application/manystore/validate/school/classes/Label.php
new file mode 100644
index 0000000..e21f18d
--- /dev/null
+++ b/application/manystore/validate/school/classes/Label.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/Teacher.php b/application/manystore/validate/school/classes/Teacher.php
new file mode 100644
index 0000000..a1d106b
--- /dev/null
+++ b/application/manystore/validate/school/classes/Teacher.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/Verification.php b/application/manystore/validate/school/classes/Verification.php
new file mode 100644
index 0000000..58a1aa5
--- /dev/null
+++ b/application/manystore/validate/school/classes/Verification.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/VirtualHead.php b/application/manystore/validate/school/classes/VirtualHead.php
new file mode 100644
index 0000000..1cb4e33
--- /dev/null
+++ b/application/manystore/validate/school/classes/VirtualHead.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/VirtualUser.php b/application/manystore/validate/school/classes/VirtualUser.php
new file mode 100644
index 0000000..ec6db8a
--- /dev/null
+++ b/application/manystore/validate/school/classes/VirtualUser.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/hourorder/Order.php b/application/manystore/validate/school/classes/hourorder/Order.php
new file mode 100644
index 0000000..fba1a7f
--- /dev/null
+++ b/application/manystore/validate/school/classes/hourorder/Order.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/hourorder/OrderLog.php b/application/manystore/validate/school/classes/hourorder/OrderLog.php
new file mode 100644
index 0000000..901b5c2
--- /dev/null
+++ b/application/manystore/validate/school/classes/hourorder/OrderLog.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/order/Order.php b/application/manystore/validate/school/classes/order/Order.php
new file mode 100644
index 0000000..a760726
--- /dev/null
+++ b/application/manystore/validate/school/classes/order/Order.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/order/OrderDetail.php b/application/manystore/validate/school/classes/order/OrderDetail.php
new file mode 100644
index 0000000..e0dbe65
--- /dev/null
+++ b/application/manystore/validate/school/classes/order/OrderDetail.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/validate/school/classes/order/OrderLog.php b/application/manystore/validate/school/classes/order/OrderLog.php
new file mode 100644
index 0000000..943a0ca
--- /dev/null
+++ b/application/manystore/validate/school/classes/order/OrderLog.php
@@ -0,0 +1,27 @@
+ [],
+ 'edit' => [],
+ ];
+
+}
diff --git a/application/manystore/view/common/header.html b/application/manystore/view/common/header.html
index 1c25bd6..1a97897 100644
--- a/application/manystore/view/common/header.html
+++ b/application/manystore/view/common/header.html
@@ -3,7 +3,7 @@
{$site.name|mb_substr=0,4,'utf-8'|mb_strtoupper='utf-8'|htmlentities}
- {$site.name|htmlentities}
+ 多样青春机构管理
diff --git a/application/manystore/view/index/login.html b/application/manystore/view/index/login.html
index db34f8d..af0ffcb 100644
--- a/application/manystore/view/index/login.html
+++ b/application/manystore/view/index/login.html
@@ -13,6 +13,9 @@
a {
color: #444;
}
+ .container{
+ margin-right: inherit;
+ }
.login-screen {
@@ -80,7 +83,8 @@
{if $background}
{/if}
diff --git a/application/manystore/view/school/classes/cate/add.html b/application/manystore/view/school/classes/cate/add.html
new file mode 100644
index 0000000..ec83dd3
--- /dev/null
+++ b/application/manystore/view/school/classes/cate/add.html
@@ -0,0 +1,34 @@
+
diff --git a/application/manystore/view/school/classes/cate/edit.html b/application/manystore/view/school/classes/cate/edit.html
new file mode 100644
index 0000000..9afcae5
--- /dev/null
+++ b/application/manystore/view/school/classes/cate/edit.html
@@ -0,0 +1,34 @@
+
diff --git a/application/manystore/view/school/classes/cate/index.html b/application/manystore/view/school/classes/cate/index.html
new file mode 100644
index 0000000..6aaae40
--- /dev/null
+++ b/application/manystore/view/school/classes/cate/index.html
@@ -0,0 +1,44 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/manystore/view/school/classes/cate/recyclebin.html b/application/manystore/view/school/classes/cate/recyclebin.html
new file mode 100644
index 0000000..6d70920
--- /dev/null
+++ b/application/manystore/view/school/classes/cate/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/manystore/view/school/classes/classes_lib/add.html b/application/manystore/view/school/classes/classes_lib/add.html
new file mode 100644
index 0000000..25f5f37
--- /dev/null
+++ b/application/manystore/view/school/classes/classes_lib/add.html
@@ -0,0 +1,320 @@
+
diff --git a/application/manystore/view/school/classes/classes_lib/edit.html b/application/manystore/view/school/classes/classes_lib/edit.html
new file mode 100644
index 0000000..77bdd48
--- /dev/null
+++ b/application/manystore/view/school/classes/classes_lib/edit.html
@@ -0,0 +1,320 @@
+
diff --git a/application/manystore/view/school/classes/classes_lib/index.html b/application/manystore/view/school/classes/classes_lib/index.html
new file mode 100644
index 0000000..5dd9ed6
--- /dev/null
+++ b/application/manystore/view/school/classes/classes_lib/index.html
@@ -0,0 +1,44 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/manystore/view/school/classes/classes_lib/recyclebin.html b/application/manystore/view/school/classes/classes_lib/recyclebin.html
new file mode 100644
index 0000000..7102d42
--- /dev/null
+++ b/application/manystore/view/school/classes/classes_lib/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/manystore/view/school/classes/classes_spec/add.html b/application/manystore/view/school/classes/classes_spec/add.html
new file mode 100644
index 0000000..e4730ee
--- /dev/null
+++ b/application/manystore/view/school/classes/classes_spec/add.html
@@ -0,0 +1,70 @@
+
diff --git a/application/manystore/view/school/classes/classes_spec/edit.html b/application/manystore/view/school/classes/classes_spec/edit.html
new file mode 100644
index 0000000..f246645
--- /dev/null
+++ b/application/manystore/view/school/classes/classes_spec/edit.html
@@ -0,0 +1,70 @@
+
diff --git a/application/manystore/view/school/classes/classes_spec/index.html b/application/manystore/view/school/classes/classes_spec/index.html
new file mode 100644
index 0000000..ee52306
--- /dev/null
+++ b/application/manystore/view/school/classes/classes_spec/index.html
@@ -0,0 +1,44 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/manystore/view/school/classes/classes_spec/recyclebin.html b/application/manystore/view/school/classes/classes_spec/recyclebin.html
new file mode 100644
index 0000000..3367b9e
--- /dev/null
+++ b/application/manystore/view/school/classes/classes_spec/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/manystore/view/school/classes/collect/add.html b/application/manystore/view/school/classes/collect/add.html
new file mode 100644
index 0000000..ceabae9
--- /dev/null
+++ b/application/manystore/view/school/classes/collect/add.html
@@ -0,0 +1,28 @@
+
diff --git a/application/manystore/view/school/classes/collect/edit.html b/application/manystore/view/school/classes/collect/edit.html
new file mode 100644
index 0000000..d7f2e0b
--- /dev/null
+++ b/application/manystore/view/school/classes/collect/edit.html
@@ -0,0 +1,28 @@
+
diff --git a/application/manystore/view/school/classes/collect/index.html b/application/manystore/view/school/classes/collect/index.html
new file mode 100644
index 0000000..88cdb89
--- /dev/null
+++ b/application/manystore/view/school/classes/collect/index.html
@@ -0,0 +1,34 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/manystore/view/school/classes/hourorder/order/add.html b/application/manystore/view/school/classes/hourorder/order/add.html
new file mode 100644
index 0000000..70ccf03
--- /dev/null
+++ b/application/manystore/view/school/classes/hourorder/order/add.html
@@ -0,0 +1,118 @@
+
diff --git a/application/manystore/view/school/classes/hourorder/order/edit.html b/application/manystore/view/school/classes/hourorder/order/edit.html
new file mode 100644
index 0000000..acbbb98
--- /dev/null
+++ b/application/manystore/view/school/classes/hourorder/order/edit.html
@@ -0,0 +1,118 @@
+
diff --git a/application/manystore/view/school/classes/hourorder/order/index.html b/application/manystore/view/school/classes/hourorder/order/index.html
new file mode 100644
index 0000000..eb0c1e4
--- /dev/null
+++ b/application/manystore/view/school/classes/hourorder/order/index.html
@@ -0,0 +1,44 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/manystore/view/school/classes/hourorder/order/recyclebin.html b/application/manystore/view/school/classes/hourorder/order/recyclebin.html
new file mode 100644
index 0000000..2f20961
--- /dev/null
+++ b/application/manystore/view/school/classes/hourorder/order/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/manystore/view/school/classes/hourorder/order_log/add.html b/application/manystore/view/school/classes/hourorder/order_log/add.html
new file mode 100644
index 0000000..647bdd5
--- /dev/null
+++ b/application/manystore/view/school/classes/hourorder/order_log/add.html
@@ -0,0 +1,34 @@
+
diff --git a/application/manystore/view/school/classes/hourorder/order_log/edit.html b/application/manystore/view/school/classes/hourorder/order_log/edit.html
new file mode 100644
index 0000000..0538e93
--- /dev/null
+++ b/application/manystore/view/school/classes/hourorder/order_log/edit.html
@@ -0,0 +1,34 @@
+
diff --git a/application/manystore/view/school/classes/hourorder/order_log/index.html b/application/manystore/view/school/classes/hourorder/order_log/index.html
new file mode 100644
index 0000000..a7be660
--- /dev/null
+++ b/application/manystore/view/school/classes/hourorder/order_log/index.html
@@ -0,0 +1,44 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/manystore/view/school/classes/label/add.html b/application/manystore/view/school/classes/label/add.html
new file mode 100644
index 0000000..ec83dd3
--- /dev/null
+++ b/application/manystore/view/school/classes/label/add.html
@@ -0,0 +1,34 @@
+
diff --git a/application/manystore/view/school/classes/label/edit.html b/application/manystore/view/school/classes/label/edit.html
new file mode 100644
index 0000000..9afcae5
--- /dev/null
+++ b/application/manystore/view/school/classes/label/edit.html
@@ -0,0 +1,34 @@
+
diff --git a/application/manystore/view/school/classes/label/index.html b/application/manystore/view/school/classes/label/index.html
new file mode 100644
index 0000000..09742e7
--- /dev/null
+++ b/application/manystore/view/school/classes/label/index.html
@@ -0,0 +1,44 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/manystore/view/school/classes/label/recyclebin.html b/application/manystore/view/school/classes/label/recyclebin.html
new file mode 100644
index 0000000..ea5f76f
--- /dev/null
+++ b/application/manystore/view/school/classes/label/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/manystore/view/school/classes/order/order/add.html b/application/manystore/view/school/classes/order/order/add.html
new file mode 100644
index 0000000..161f72b
--- /dev/null
+++ b/application/manystore/view/school/classes/order/order/add.html
@@ -0,0 +1,258 @@
+
diff --git a/application/manystore/view/school/classes/order/order/edit.html b/application/manystore/view/school/classes/order/order/edit.html
new file mode 100644
index 0000000..190fe24
--- /dev/null
+++ b/application/manystore/view/school/classes/order/order/edit.html
@@ -0,0 +1,258 @@
+
diff --git a/application/manystore/view/school/classes/order/order/index.html b/application/manystore/view/school/classes/order/order/index.html
new file mode 100644
index 0000000..406574a
--- /dev/null
+++ b/application/manystore/view/school/classes/order/order/index.html
@@ -0,0 +1,44 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/manystore/view/school/classes/order/order/recyclebin.html b/application/manystore/view/school/classes/order/order/recyclebin.html
new file mode 100644
index 0000000..0893aa4
--- /dev/null
+++ b/application/manystore/view/school/classes/order/order/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/manystore/view/school/classes/order/order_detail/add.html b/application/manystore/view/school/classes/order/order_detail/add.html
new file mode 100644
index 0000000..3a9f55d
--- /dev/null
+++ b/application/manystore/view/school/classes/order/order_detail/add.html
@@ -0,0 +1,254 @@
+
diff --git a/application/manystore/view/school/classes/order/order_detail/edit.html b/application/manystore/view/school/classes/order/order_detail/edit.html
new file mode 100644
index 0000000..afcd51d
--- /dev/null
+++ b/application/manystore/view/school/classes/order/order_detail/edit.html
@@ -0,0 +1,254 @@
+
diff --git a/application/manystore/view/school/classes/order/order_detail/index.html b/application/manystore/view/school/classes/order/order_detail/index.html
new file mode 100644
index 0000000..a7fce2c
--- /dev/null
+++ b/application/manystore/view/school/classes/order/order_detail/index.html
@@ -0,0 +1,34 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/manystore/view/school/classes/order/order_detail/recyclebin.html b/application/manystore/view/school/classes/order/order_detail/recyclebin.html
new file mode 100644
index 0000000..b423598
--- /dev/null
+++ b/application/manystore/view/school/classes/order/order_detail/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/manystore/view/school/classes/order/order_log/add.html b/application/manystore/view/school/classes/order/order_log/add.html
new file mode 100644
index 0000000..c130706
--- /dev/null
+++ b/application/manystore/view/school/classes/order/order_log/add.html
@@ -0,0 +1,70 @@
+
diff --git a/application/manystore/view/school/classes/order/order_log/edit.html b/application/manystore/view/school/classes/order/order_log/edit.html
new file mode 100644
index 0000000..6542b18
--- /dev/null
+++ b/application/manystore/view/school/classes/order/order_log/edit.html
@@ -0,0 +1,70 @@
+
diff --git a/application/manystore/view/school/classes/order/order_log/index.html b/application/manystore/view/school/classes/order/order_log/index.html
new file mode 100644
index 0000000..a10fa4f
--- /dev/null
+++ b/application/manystore/view/school/classes/order/order_log/index.html
@@ -0,0 +1,44 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/manystore/view/school/classes/teacher/add.html b/application/manystore/view/school/classes/teacher/add.html
new file mode 100644
index 0000000..4770de0
--- /dev/null
+++ b/application/manystore/view/school/classes/teacher/add.html
@@ -0,0 +1,86 @@
+
diff --git a/application/manystore/view/school/classes/teacher/edit.html b/application/manystore/view/school/classes/teacher/edit.html
new file mode 100644
index 0000000..3a06c6f
--- /dev/null
+++ b/application/manystore/view/school/classes/teacher/edit.html
@@ -0,0 +1,86 @@
+
diff --git a/application/manystore/view/school/classes/teacher/index.html b/application/manystore/view/school/classes/teacher/index.html
new file mode 100644
index 0000000..9d21ff3
--- /dev/null
+++ b/application/manystore/view/school/classes/teacher/index.html
@@ -0,0 +1,44 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/manystore/view/school/classes/teacher/recyclebin.html b/application/manystore/view/school/classes/teacher/recyclebin.html
new file mode 100644
index 0000000..fa14fd7
--- /dev/null
+++ b/application/manystore/view/school/classes/teacher/recyclebin.html
@@ -0,0 +1,25 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/manystore/view/school/classes/verification/add.html b/application/manystore/view/school/classes/verification/add.html
new file mode 100644
index 0000000..590a5da
--- /dev/null
+++ b/application/manystore/view/school/classes/verification/add.html
@@ -0,0 +1,40 @@
+
diff --git a/application/manystore/view/school/classes/verification/edit.html b/application/manystore/view/school/classes/verification/edit.html
new file mode 100644
index 0000000..84fab95
--- /dev/null
+++ b/application/manystore/view/school/classes/verification/edit.html
@@ -0,0 +1,40 @@
+
diff --git a/application/manystore/view/school/classes/verification/index.html b/application/manystore/view/school/classes/verification/index.html
new file mode 100644
index 0000000..f0e69e6
--- /dev/null
+++ b/application/manystore/view/school/classes/verification/index.html
@@ -0,0 +1,44 @@
+
+
+
+ {:build_heading(null,FALSE)}
+
+
+
+
+
+
diff --git a/application/manystore/view/school/classes/virtual_head/add.html b/application/manystore/view/school/classes/virtual_head/add.html
new file mode 100644
index 0000000..4dabf57
--- /dev/null
+++ b/application/manystore/view/school/classes/virtual_head/add.html
@@ -0,0 +1,30 @@
+
diff --git a/application/manystore/view/school/classes/virtual_head/edit.html b/application/manystore/view/school/classes/virtual_head/edit.html
new file mode 100644
index 0000000..fffb424
--- /dev/null
+++ b/application/manystore/view/school/classes/virtual_head/edit.html
@@ -0,0 +1,30 @@
+
diff --git a/application/manystore/view/school/classes/virtual_head/index.html b/application/manystore/view/school/classes/virtual_head/index.html
new file mode 100644
index 0000000..26f6096
--- /dev/null
+++ b/application/manystore/view/school/classes/virtual_head/index.html
@@ -0,0 +1,34 @@
+
+ {:build_heading()}
+
+
+
diff --git a/application/manystore/view/school/classes/virtual_user/add.html b/application/manystore/view/school/classes/virtual_user/add.html
new file mode 100644
index 0000000..11d838c
--- /dev/null
+++ b/application/manystore/view/school/classes/virtual_user/add.html
@@ -0,0 +1,42 @@
+
diff --git a/application/manystore/view/school/classes/virtual_user/edit.html b/application/manystore/view/school/classes/virtual_user/edit.html
new file mode 100644
index 0000000..3b3aaee
--- /dev/null
+++ b/application/manystore/view/school/classes/virtual_user/edit.html
@@ -0,0 +1,42 @@
+
diff --git a/application/manystore/view/school/classes/virtual_user/index.html b/application/manystore/view/school/classes/virtual_user/index.html
new file mode 100644
index 0000000..911f4d7
--- /dev/null
+++ b/application/manystore/view/school/classes/virtual_user/index.html
@@ -0,0 +1,34 @@
+
+ {:build_heading()}
+
+
+
diff --git a/public/assets/js/backend/school/classes/cate.js b/public/assets/js/backend/school/classes/cate.js
new file mode 100644
index 0000000..2c55a13
--- /dev/null
+++ b/public/assets/js/backend/school/classes/cate.js
@@ -0,0 +1,116 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/cate/index' + location.search,
+ add_url: 'school/classes/cate/add',
+ edit_url: 'school/classes/cate/edit',
+ del_url: 'school/classes/cate/del',
+ multi_url: 'school/classes/cate/multi',
+ import_url: 'school/classes/cate/import',
+ table: 'school_classes_cate',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {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: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/cate/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '140px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/cate/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/cate/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/classes_lib.js b/public/assets/js/backend/school/classes/classes_lib.js
new file mode 100644
index 0000000..15465be
--- /dev/null
+++ b/public/assets/js/backend/school/classes/classes_lib.js
@@ -0,0 +1,168 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/classes_lib/index' + location.search,
+ add_url: 'school/classes/classes_lib/add',
+ edit_url: 'school/classes/classes_lib/edit',
+ del_url: 'school/classes/classes_lib/del',
+ multi_url: 'school/classes/classes_lib/multi',
+ import_url: 'school/classes/classes_lib/import',
+ table: 'school_classes_lib',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ fixedColumns: true,
+ fixedRightNumber: 1,
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'manystore_id', title: __('Manystore_id')},
+ {field: 'shop_id', title: __('Shop_id')},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'classes_cate_ids', title: __('Classes_cate_ids'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'classes_label_ids', title: __('Classes_label_ids'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'self_label_tag', title: __('Self_label_tag'), operate: 'LIKE', formatter: Table.api.formatter.flag},
+ {field: 'add_type', title: __('Add_type'), searchList: {"1":__('Add_type 1'),"2":__('Add_type 2')}, formatter: Table.api.formatter.normal},
+ {field: 'add_id', title: __('Add_id')},
+ {field: 'title', title: __('Title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'headimage', title: __('Headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'images', title: __('Images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
+ {field: 'type', title: __('Type'), searchList: {"out":__('Type out'),"in":__('Type in')}, formatter: Table.api.formatter.normal},
+ {field: 'classes_num', title: __('Classes_num')},
+ {field: 'address_type', title: __('Address_type'), searchList: {"1":__('Address_type 1'),"2":__('Address_type 2')}, formatter: Table.api.formatter.normal},
+ {field: 'address_city', title: __('Address_city'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'province', title: __('Province')},
+ {field: 'city', title: __('City')},
+ {field: 'district', title: __('District')},
+ {field: 'address', title: __('Address'), operate: 'LIKE'},
+ {field: 'address_detail', title: __('Address_detail'), operate: 'LIKE'},
+ {field: 'longitude', title: __('Longitude'), operate: 'LIKE'},
+ {field: 'latitude', title: __('Latitude'), operate: 'LIKE'},
+ {field: 'classes_date_text', title: __('Classes_date_text'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'classes_time_text', title: __('Classes_time_text'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'virtual_num', title: __('Virtual_num')},
+ {field: 'sale', title: __('Sale')},
+ {field: 'price', title: __('Price'), operate:'BETWEEN'},
+ {field: 'underline_price', title: __('Underline_price'), operate:'BETWEEN'},
+ {field: 'virtual_collect', title: __('Virtual_collect')},
+ {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2'),"3":__('Status 3')}, formatter: Table.api.formatter.status},
+ {field: 'auth_status', title: __('Auth_status'), searchList: {"0":__('Auth_status 0'),"1":__('Auth_status 1'),"2":__('Auth_status 2')}, formatter: Table.api.formatter.status},
+ {field: 'reason', title: __('Reason'), operate: 'LIKE'},
+ {field: 'auth_time', title: __('Auth_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'admin_id', title: __('Admin_id')},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {field: 'recommend', title: __('Recommend'), searchList: {"0":__('Recommend 0'),"1":__('Recommend 1')}, formatter: Table.api.formatter.normal},
+ {field: 'hot', title: __('Hot'), searchList: {"0":__('Hot 0'),"1":__('Hot 1')}, formatter: Table.api.formatter.normal},
+ {field: 'new', title: __('New'), searchList: {"0":__('New 0'),"1":__('New 1')}, formatter: Table.api.formatter.normal},
+ {field: 'selfhot', title: __('Selfhot'), searchList: {"0":__('Selfhot 0'),"1":__('Selfhot 1')}, formatter: Table.api.formatter.normal},
+ {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: 'manystore.nickname', title: __('Manystore.nickname'), operate: 'LIKE'},
+ {field: 'shop.name', title: __('Shop.name'), operate: 'LIKE'},
+ {field: 'shop.image', title: __('Shop.image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'shop.address_city', title: __('Shop.address_city'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'shop.province', title: __('Shop.province')},
+ {field: 'shop.city', title: __('Shop.city')},
+ {field: 'shop.district', title: __('Shop.district')},
+ {field: 'shop.address', title: __('Shop.address'), operate: 'LIKE'},
+ {field: 'shop.address_detail', title: __('Shop.address_detail'), operate: 'LIKE'},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'admin.nickname', title: __('Admin.nickname'), operate: 'LIKE'},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/classes_lib/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'title', title: __('Title'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '140px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/classes_lib/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/classes_lib/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/classes_spec.js b/public/assets/js/backend/school/classes/classes_spec.js
new file mode 100644
index 0000000..7f714a4
--- /dev/null
+++ b/public/assets/js/backend/school/classes/classes_spec.js
@@ -0,0 +1,126 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/classes_spec/index' + location.search,
+ add_url: 'school/classes/classes_spec/add',
+ edit_url: 'school/classes/classes_spec/edit',
+ del_url: 'school/classes/classes_spec/del',
+ multi_url: 'school/classes/classes_spec/multi',
+ import_url: 'school/classes/classes_spec/import',
+ table: 'school_classes_lib_spec',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ fixedColumns: true,
+ fixedRightNumber: 1,
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'classes_lib_id', title: __('Classes_lib_id')},
+ {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'start_time', title: __('Start_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'end_time', title: __('End_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'limit_num', title: __('Limit_num')},
+ {field: 'sign_num', title: __('Sign_num')},
+ {field: 'verification_num', title: __('Verification_num')},
+ {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {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: 'lib.title', title: __('Lib.title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'lib.headimage', title: __('Lib.headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/classes_spec/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '140px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/classes_spec/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/classes_spec/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/collect.js b/public/assets/js/backend/school/classes/collect.js
new file mode 100644
index 0000000..d20996f
--- /dev/null
+++ b/public/assets/js/backend/school/classes/collect.js
@@ -0,0 +1,60 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/collect/index' + location.search,
+ add_url: 'school/classes/collect/add',
+ edit_url: 'school/classes/collect/edit',
+ del_url: 'school/classes/collect/del',
+ multi_url: 'school/classes/collect/multi',
+ import_url: 'school/classes/collect/import',
+ table: 'school_classes_collect',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'classes_lib_id', title: __('Classes_lib_id')},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'lib.title', title: __('Lib.title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'lib.headimage', title: __('Lib.headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/hourorder/order.js b/public/assets/js/backend/school/classes/hourorder/order.js
new file mode 100644
index 0000000..1ea6d72
--- /dev/null
+++ b/public/assets/js/backend/school/classes/hourorder/order.js
@@ -0,0 +1,141 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/hourorder/order/index' + location.search,
+ add_url: 'school/classes/hourorder/order/add',
+ edit_url: 'school/classes/hourorder/order/edit',
+ del_url: 'school/classes/hourorder/order/del',
+ multi_url: 'school/classes/hourorder/order/multi',
+ import_url: 'school/classes/hourorder/order/import',
+ table: 'school_classes_hour_order',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ fixedColumns: true,
+ fixedRightNumber: 1,
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'order_no', title: __('Order_no'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'classes_order_id', title: __('Classes_order_id')},
+ {field: 'classes_lib_spec_id', title: __('Classes_lib_spec_id')},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'classes_order_detail_id', title: __('Classes_order_detail_id')},
+ {field: 'classes_lib_id', title: __('Classes_lib_id')},
+ {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'start_time', title: __('Start_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'end_time', title: __('End_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'limit_num', title: __('Limit_num')},
+ {field: 'sign_num', title: __('Sign_num')},
+ {field: 'verification_num', title: __('Verification_num')},
+ {field: 'status', title: __('Status'), searchList: {"-3":__('Status -3'),"0":__('Status 0'),"3":__('Status 3')}, formatter: Table.api.formatter.status},
+ {field: 'verification_user_id', title: __('Verification_user_id')},
+ {field: 'reservation_time', title: __('Reservation_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'finish_time', title: __('Finish_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'cancel_time', title: __('Cancel_time'), 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: 'order.order_no', title: __('Order.order_no'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'spec.name', title: __('Spec.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'detail.title', title: __('Detail.title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'detail.headimage', title: __('Detail.headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'lib.title', title: __('Lib.title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/hourorder/order/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '140px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/hourorder/order/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/hourorder/order/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/hourorder/order_log.js b/public/assets/js/backend/school/classes/hourorder/order_log.js
new file mode 100644
index 0000000..0d0ea39
--- /dev/null
+++ b/public/assets/js/backend/school/classes/hourorder/order_log.js
@@ -0,0 +1,55 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/hourorder/order_log/index' + location.search,
+ add_url: 'school/classes/hourorder/order_log/add',
+ edit_url: 'school/classes/hourorder/order_log/edit',
+ del_url: 'school/classes/hourorder/order_log/del',
+ multi_url: 'school/classes/hourorder/order_log/multi',
+ import_url: 'school/classes/hourorder/order_log/import',
+ table: 'school_classes_hour_order_log',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'classes_hour_order_id', title: __('Classes_hour_order_id')},
+ {field: 'status', title: __('Status'), searchList: {"-3":__('Status -3'),"0":__('Status 0'),"3":__('Status 3')}, formatter: Table.api.formatter.status},
+ {field: 'log_text', title: __('Log_text'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'order.order_no', title: __('Order.order_no'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/label.js b/public/assets/js/backend/school/classes/label.js
new file mode 100644
index 0000000..8bfa25c
--- /dev/null
+++ b/public/assets/js/backend/school/classes/label.js
@@ -0,0 +1,116 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/label/index' + location.search,
+ add_url: 'school/classes/label/add',
+ edit_url: 'school/classes/label/edit',
+ del_url: 'school/classes/label/del',
+ multi_url: 'school/classes/label/multi',
+ import_url: 'school/classes/label/import',
+ table: 'school_classes_label',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {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: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/label/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '140px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/label/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/label/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/order/order.js b/public/assets/js/backend/school/classes/order/order.js
new file mode 100644
index 0000000..03d426e
--- /dev/null
+++ b/public/assets/js/backend/school/classes/order/order.js
@@ -0,0 +1,166 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/order/order/index' + location.search,
+ add_url: 'school/classes/order/order/add',
+ edit_url: 'school/classes/order/order/edit',
+ del_url: 'school/classes/order/order/del',
+ multi_url: 'school/classes/order/order/multi',
+ import_url: 'school/classes/order/order/import',
+ table: 'school_classes_order',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ fixedColumns: true,
+ fixedRightNumber: 1,
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'order_no', title: __('Order_no'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'pay_no', title: __('Pay_no'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'manystore_id', title: __('Manystore_id')},
+ {field: 'shop_id', title: __('Shop_id')},
+ {field: 'code', title: __('Code'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'codeimage', title: __('Codeimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'codeoneimage', title: __('Codeoneimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'classes_lib_id', title: __('Classes_lib_id')},
+ {field: 'classes_order_detail_id', title: __('Classes_order_detail_id')},
+ {field: 'beforeprice', title: __('Beforeprice'), operate:'BETWEEN'},
+ {field: 'totalprice', title: __('Totalprice'), operate:'BETWEEN'},
+ {field: 'payprice', title: __('Payprice'), operate:'BETWEEN'},
+ {field: 'pay_type', title: __('Pay_type'), searchList: {"yue":__('Pay_type yue'),"wechat":__('Pay_type wechat')}, formatter: Table.api.formatter.normal},
+ {field: 'status', title: __('Status'), searchList: {"-3":__('Status -3'),"0":__('Status 0'),"3":__('Status 3'),"6":__('Status 6'),"9":__('Status 9')}, formatter: Table.api.formatter.status},
+ {field: 'before_status', title: __('Before_status'), searchList: {"-3":__('Before_status -3'),"0":__('Before_status 0'),"3":__('Before_status 3'),"6":__('Before_status 6'),"9":__('Before_status 9')}, formatter: Table.api.formatter.status},
+ {field: 'server_status', title: __('Server_status'), searchList: {"0":__('Server_status 0'),"3":__('Server_status 3'),"6":__('Server_status 6')}, formatter: Table.api.formatter.status},
+ {field: 'reason', title: __('Reason'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'auth_manystore_id', title: __('Auth_manystore_id')},
+ {field: 'auth_opinion', title: __('Auth_opinion'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'auth_file', title: __('Auth_file'), operate: false, formatter: Table.api.formatter.file},
+ {field: 'admin_id', title: __('Admin_id')},
+ {field: 'result_status', title: __('Result_status'), searchList: {"0":__('Result_status 0'),"3":__('Result_status 3'),"6":__('Result_status 6')}, formatter: Table.api.formatter.status},
+ {field: 'result_text', title: __('Result_text'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'result_file', title: __('Result_file'), operate: false, formatter: Table.api.formatter.file},
+ {field: 'canceltime', title: __('Canceltime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'paytime', title: __('Paytime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'finishtime', title: __('Finishtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'refundtime', title: __('Refundtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'total_refundprice', title: __('Total_refundprice'), operate:'BETWEEN'},
+ {field: 'real_refundprice', title: __('Real_refundprice'), operate:'BETWEEN'},
+ {field: 'sub_refundprice', title: __('Sub_refundprice'), operate:'BETWEEN'},
+ {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: 'manystore.nickname', title: __('Manystore.nickname'), operate: 'LIKE'},
+ {field: 'manystore.avatar', title: __('Manystore.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'shop.name', title: __('Shop.name'), operate: 'LIKE'},
+ {field: 'shop.image', title: __('Shop.image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'shop.address_city', title: __('Shop.address_city'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'shop.province', title: __('Shop.province')},
+ {field: 'shop.city', title: __('Shop.city')},
+ {field: 'shop.district', title: __('Shop.district')},
+ {field: 'shop.address', title: __('Shop.address'), operate: 'LIKE'},
+ {field: 'shop.address_detail', title: __('Shop.address_detail'), operate: 'LIKE'},
+ {field: 'lib.title', title: __('Lib.title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'lib.headimage', title: __('Lib.headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'detail.title', title: __('Detail.title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'detail.headimage', title: __('Detail.headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'admin.nickname', title: __('Admin.nickname'), operate: 'LIKE'},
+ {field: 'admin.avatar', title: __('Admin.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/order/order/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '140px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/order/order/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/order/order/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/order/order_detail.js b/public/assets/js/backend/school/classes/order/order_detail.js
new file mode 100644
index 0000000..01ef682
--- /dev/null
+++ b/public/assets/js/backend/school/classes/order/order_detail.js
@@ -0,0 +1,164 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/order/order_detail/index' + location.search,
+ add_url: 'school/classes/order/order_detail/add',
+ edit_url: 'school/classes/order/order_detail/edit',
+ del_url: 'school/classes/order/order_detail/del',
+ multi_url: 'school/classes/order/order_detail/multi',
+ import_url: 'school/classes/order/order_detail/import',
+ table: 'school_classes_order_detail',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ fixedColumns: true,
+ fixedRightNumber: 1,
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'classes_order_id', title: __('Classes_order_id')},
+ {field: 'manystore_id', title: __('Manystore_id')},
+ {field: 'shop_id', title: __('Shop_id')},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'classes_cate_ids', title: __('Classes_cate_ids'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'classes_label_ids', title: __('Classes_label_ids'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'self_label_tag', title: __('Self_label_tag'), operate: 'LIKE', formatter: Table.api.formatter.flag},
+ {field: 'add_type', title: __('Add_type'), searchList: {"1":__('Add_type 1'),"2":__('Add_type 2')}, formatter: Table.api.formatter.normal},
+ {field: 'add_id', title: __('Add_id')},
+ {field: 'title', title: __('Title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'headimage', title: __('Headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'images', title: __('Images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
+ {field: 'type', title: __('Type'), searchList: {"out":__('Type out'),"in":__('Type in')}, formatter: Table.api.formatter.normal},
+ {field: 'classes_num', title: __('Classes_num')},
+ {field: 'address_type', title: __('Address_type'), searchList: {"1":__('Address_type 1'),"2":__('Address_type 2')}, formatter: Table.api.formatter.normal},
+ {field: 'address_city', title: __('Address_city'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'province', title: __('Province')},
+ {field: 'city', title: __('City')},
+ {field: 'district', title: __('District')},
+ {field: 'address', title: __('Address'), operate: 'LIKE'},
+ {field: 'address_detail', title: __('Address_detail'), operate: 'LIKE'},
+ {field: 'longitude', title: __('Longitude'), operate: 'LIKE'},
+ {field: 'latitude', title: __('Latitude'), operate: 'LIKE'},
+ {field: 'classes_date_text', title: __('Classes_date_text'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'classes_time_text', title: __('Classes_time_text'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'virtual_num', title: __('Virtual_num')},
+ {field: 'sale', title: __('Sale')},
+ {field: 'price', title: __('Price'), operate:'BETWEEN'},
+ {field: 'underline_price', title: __('Underline_price'), operate:'BETWEEN'},
+ {field: 'virtual_collect', title: __('Virtual_collect')},
+ {field: 'use_num', title: __('Use_num')},
+ {field: 'sub_num', title: __('Sub_num')},
+ {field: 'unit_price', title: __('Unit_price'), operate:'BETWEEN'},
+ {field: 'used_price', title: __('Used_price'), operate:'BETWEEN'},
+ {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: 'order.order_no', title: __('Order.order_no'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'manystore.nickname', title: __('Manystore.nickname'), operate: 'LIKE'},
+ {field: 'manystore.avatar', title: __('Manystore.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'shop.name', title: __('Shop.name'), operate: 'LIKE'},
+ {field: 'shop.image', title: __('Shop.image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'shop.address_city', title: __('Shop.address_city'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'shop.province', title: __('Shop.province')},
+ {field: 'shop.city', title: __('Shop.city')},
+ {field: 'shop.district', title: __('Shop.district')},
+ {field: 'shop.address', title: __('Shop.address'), operate: 'LIKE'},
+ {field: 'shop.address_detail', title: __('Shop.address_detail'), operate: 'LIKE'},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/order/order_detail/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'title', title: __('Title'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '140px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/order/order_detail/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/order/order_detail/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/order/order_log.js b/public/assets/js/backend/school/classes/order/order_log.js
new file mode 100644
index 0000000..e6fefab
--- /dev/null
+++ b/public/assets/js/backend/school/classes/order/order_log.js
@@ -0,0 +1,58 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/order/order_log/index' + location.search,
+ add_url: 'school/classes/order/order_log/add',
+ edit_url: 'school/classes/order/order_log/edit',
+ del_url: 'school/classes/order/order_log/del',
+ multi_url: 'school/classes/order/order_log/multi',
+ import_url: 'school/classes/order/order_log/import',
+ table: 'school_classes_order_log',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'classes_order_id', title: __('Classes_order_id')},
+ {field: 'status', title: __('Status'), searchList: {"-3":__('Status -3'),"0":__('Status 0'),"3":__('Status 3'),"6":__('Status 6'),"9":__('Status 9')}, formatter: Table.api.formatter.status},
+ {field: 'before_status', title: __('Before_status'), searchList: {"-3":__('Before_status -3'),"0":__('Before_status 0'),"3":__('Before_status 3'),"6":__('Before_status 6'),"9":__('Before_status 9')}, formatter: Table.api.formatter.status},
+ {field: 'server_status', title: __('Server_status'), searchList: {"0":__('Server_status 0'),"3":__('Server_status 3'),"6":__('Server_status 6')}, formatter: Table.api.formatter.status},
+ {field: 'result_status', title: __('Result_status'), searchList: {"0":__('Result_status 0'),"3":__('Result_status 3'),"6":__('Result_status 6')}, formatter: Table.api.formatter.status},
+ {field: 'log_text', title: __('Log_text'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'order.order_no', title: __('Order.order_no'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/teacher.js b/public/assets/js/backend/school/classes/teacher.js
new file mode 100644
index 0000000..f6264f6
--- /dev/null
+++ b/public/assets/js/backend/school/classes/teacher.js
@@ -0,0 +1,136 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/teacher/index' + location.search,
+ add_url: 'school/classes/teacher/add',
+ edit_url: 'school/classes/teacher/edit',
+ del_url: 'school/classes/teacher/del',
+ multi_url: 'school/classes/teacher/multi',
+ import_url: 'school/classes/teacher/import',
+ table: 'school_teacher',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ fixedColumns: true,
+ fixedRightNumber: 1,
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'manystore_id', title: __('Manystore_id')},
+ {field: 'shop_id', title: __('Shop_id')},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'head_image', title: __('Head_image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
+ {field: 'expert_image', title: __('Expert_image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {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: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'manystore.nickname', title: __('Manystore.nickname'), operate: 'LIKE'},
+ {field: 'shop.name', title: __('Shop.name'), operate: 'LIKE'},
+ {field: 'shop.logo', title: __('Shop.logo'), operate: 'LIKE'},
+ {field: 'shop.image', title: __('Shop.image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'shop.address_city', title: __('Shop.address_city'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'shop.province', title: __('Shop.province')},
+ {field: 'shop.city', title: __('Shop.city')},
+ {field: 'shop.district', title: __('Shop.district')},
+ {field: 'shop.address', title: __('Shop.address'), operate: 'LIKE'},
+ {field: 'shop.address_detail', title: __('Shop.address_detail'), operate: 'LIKE'},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/teacher/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '140px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/teacher/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/teacher/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/verification.js b/public/assets/js/backend/school/classes/verification.js
new file mode 100644
index 0000000..5228a72
--- /dev/null
+++ b/public/assets/js/backend/school/classes/verification.js
@@ -0,0 +1,71 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/verification/index' + location.search,
+ add_url: 'school/classes/verification/add',
+ edit_url: 'school/classes/verification/edit',
+ del_url: 'school/classes/verification/del',
+ multi_url: 'school/classes/verification/multi',
+ import_url: 'school/classes/verification/import',
+ table: 'school_verification',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'manystore_id', title: __('Manystore_id')},
+ {field: 'shop_id', title: __('Shop_id')},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'classes_lib_ids', title: __('Classes_lib_ids'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
+ {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: 'manystore.nickname', title: __('Manystore.nickname'), operate: 'LIKE'},
+ {field: 'manystore.avatar', title: __('Manystore.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'shop.name', title: __('Shop.name'), operate: 'LIKE'},
+ {field: 'shop.image', title: __('Shop.image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'shop.address_city', title: __('Shop.address_city'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'shop.province', title: __('Shop.province')},
+ {field: 'shop.city', title: __('Shop.city')},
+ {field: 'shop.district', title: __('Shop.district')},
+ {field: 'shop.address', title: __('Shop.address'), operate: 'LIKE'},
+ {field: 'shop.address_detail', title: __('Shop.address_detail'), operate: 'LIKE'},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/virtual_head.js b/public/assets/js/backend/school/classes/virtual_head.js
new file mode 100644
index 0000000..267c581
--- /dev/null
+++ b/public/assets/js/backend/school/classes/virtual_head.js
@@ -0,0 +1,52 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/virtual_head/index' + location.search,
+ add_url: 'school/classes/virtual_head/add',
+ edit_url: 'school/classes/virtual_head/edit',
+ del_url: 'school/classes/virtual_head/del',
+ multi_url: 'school/classes/virtual_head/multi',
+ import_url: 'school/classes/virtual_head/import',
+ table: 'school_virtual_head',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'head_image', title: __('Head_image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/backend/school/classes/virtual_user.js b/public/assets/js/backend/school/classes/virtual_user.js
new file mode 100644
index 0000000..d9803e1
--- /dev/null
+++ b/public/assets/js/backend/school/classes/virtual_user.js
@@ -0,0 +1,56 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/virtual_user/index' + location.search,
+ add_url: 'school/classes/virtual_user/add',
+ edit_url: 'school/classes/virtual_user/edit',
+ del_url: 'school/classes/virtual_user/del',
+ multi_url: 'school/classes/virtual_user/multi',
+ import_url: 'school/classes/virtual_user/import',
+ table: 'school_virtual_user',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'nickname', title: __('Nickname'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'head_image', title: __('Head_image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'classes_lib_id', title: __('Classes_lib_id')},
+ {field: 'time', title: __('Time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'lib.title', title: __('Lib.title'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+ {field: 'lib.headimage', title: __('Lib.headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
diff --git a/public/assets/js/manystore/school/classes/cate.js b/public/assets/js/manystore/school/classes/cate.js
new file mode 100644
index 0000000..52d7ff0
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/cate.js
@@ -0,0 +1,115 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/cate/index' + location.search,
+ add_url: 'school/classes/cate/add',
+ edit_url: 'school/classes/cate/edit',
+ del_url: 'school/classes/cate/del',
+ multi_url: 'school/classes/cate/multi',
+ import_url: 'school/classes/cate/import',
+ table: 'school_classes_cate',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), operate: 'LIKE'},
+ {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {field: 'createtime', title: __('Createtime')},
+ {field: 'updatetime', title: __('Updatetime')},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/cate/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '130px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/cate/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/cate/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/classes_lib.js b/public/assets/js/manystore/school/classes/classes_lib.js
new file mode 100644
index 0000000..c0db9f8
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/classes_lib.js
@@ -0,0 +1,166 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/classes_lib/index' + location.search,
+ add_url: 'school/classes/classes_lib/add',
+ edit_url: 'school/classes/classes_lib/edit',
+ del_url: 'school/classes/classes_lib/del',
+ multi_url: 'school/classes/classes_lib/multi',
+ import_url: 'school/classes/classes_lib/import',
+ table: 'school_classes_lib',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'manystore_id', title: __('Manystore_id')},
+ {field: 'shop_id', title: __('Shop_id')},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'classes_cate_ids', title: __('Classes_cate_ids'), operate: 'LIKE'},
+ {field: 'classes_label_ids', title: __('Classes_label_ids'), operate: 'LIKE'},
+ {field: 'self_label_tag', title: __('Self_label_tag'), operate: 'LIKE'},
+ {field: 'add_type', title: __('Add_type'), searchList: {"1":__('Add_type 1'),"2":__('Add_type 2')}, formatter: Table.api.formatter.normal},
+ {field: 'add_id', title: __('Add_id')},
+ {field: 'title', title: __('Title'), operate: 'LIKE'},
+ {field: 'headimage', title: __('Headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'images', title: __('Images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
+ {field: 'type', title: __('Type'), searchList: {"out":__('Type out'),"in":__('Type in')}, formatter: Table.api.formatter.normal},
+ {field: 'classes_num', title: __('Classes_num')},
+ {field: 'address_type', title: __('Address_type'), searchList: {"1":__('Address_type 1'),"2":__('Address_type 2')}, formatter: Table.api.formatter.normal},
+ {field: 'address_city', title: __('Address_city'), operate: 'LIKE'},
+ {field: 'province', title: __('Province')},
+ {field: 'city', title: __('City')},
+ {field: 'district', title: __('District')},
+ {field: 'address', title: __('Address'), operate: 'LIKE'},
+ {field: 'address_detail', title: __('Address_detail'), operate: 'LIKE'},
+ {field: 'longitude', title: __('Longitude'), operate: 'LIKE'},
+ {field: 'latitude', title: __('Latitude'), operate: 'LIKE'},
+ {field: 'classes_date_text', title: __('Classes_date_text'), operate: 'LIKE'},
+ {field: 'classes_time_text', title: __('Classes_time_text'), operate: 'LIKE'},
+ {field: 'virtual_num', title: __('Virtual_num')},
+ {field: 'sale', title: __('Sale')},
+ {field: 'price', title: __('Price'), operate:'BETWEEN'},
+ {field: 'underline_price', title: __('Underline_price'), operate:'BETWEEN'},
+ {field: 'virtual_collect', title: __('Virtual_collect')},
+ {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2'),"3":__('Status 3')}, formatter: Table.api.formatter.status},
+ {field: 'auth_status', title: __('Auth_status'), searchList: {"0":__('Auth_status 0'),"1":__('Auth_status 1'),"2":__('Auth_status 2')}, formatter: Table.api.formatter.status},
+ {field: 'reason', title: __('Reason'), operate: 'LIKE'},
+ {field: 'auth_time', title: __('Auth_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+ {field: 'admin_id', title: __('Admin_id')},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {field: 'recommend', title: __('Recommend'), searchList: {"0":__('Recommend 0'),"1":__('Recommend 1')}, formatter: Table.api.formatter.normal},
+ {field: 'hot', title: __('Hot'), searchList: {"0":__('Hot 0'),"1":__('Hot 1')}, formatter: Table.api.formatter.normal},
+ {field: 'new', title: __('New'), searchList: {"0":__('New 0'),"1":__('New 1')}, formatter: Table.api.formatter.normal},
+ {field: 'selfhot', title: __('Selfhot'), searchList: {"0":__('Selfhot 0'),"1":__('Selfhot 1')}, formatter: Table.api.formatter.normal},
+ {field: 'createtime', title: __('Createtime')},
+ {field: 'updatetime', title: __('Updatetime')},
+ {field: 'manystore.nickname', title: __('Manystore.nickname'), operate: 'LIKE'},
+ {field: 'manystoreshop.name', title: __('Manystoreshop.name'), operate: 'LIKE'},
+ {field: 'manystoreshop.image', title: __('Manystoreshop.image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'manystoreshop.address_city', title: __('Manystoreshop.address_city'), operate: 'LIKE'},
+ {field: 'manystoreshop.province', title: __('Manystoreshop.province')},
+ {field: 'manystoreshop.city', title: __('Manystoreshop.city')},
+ {field: 'manystoreshop.district', title: __('Manystoreshop.district')},
+ {field: 'manystoreshop.address', title: __('Manystoreshop.address'), operate: 'LIKE'},
+ {field: 'manystoreshop.address_detail', title: __('Manystoreshop.address_detail'), operate: 'LIKE'},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'admin.nickname', title: __('Admin.nickname'), operate: 'LIKE'},
+ {field: 'admin.avatar', title: __('Admin.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/classes_lib/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'title', title: __('Title'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '130px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/classes_lib/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/classes_lib/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/classes_spec.js b/public/assets/js/manystore/school/classes/classes_spec.js
new file mode 100644
index 0000000..6c85210
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/classes_spec.js
@@ -0,0 +1,123 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/classes_spec/index' + location.search,
+ add_url: 'school/classes/classes_spec/add',
+ edit_url: 'school/classes/classes_spec/edit',
+ del_url: 'school/classes/classes_spec/del',
+ multi_url: 'school/classes/classes_spec/multi',
+ import_url: 'school/classes/classes_spec/import',
+ table: 'school_classes_lib_spec',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'classes_lib_id', title: __('Classes_lib_id')},
+ {field: 'name', title: __('Name'), operate: 'LIKE'},
+ {field: 'start_time', title: __('Start_time')},
+ {field: 'end_time', title: __('End_time')},
+ {field: 'limit_num', title: __('Limit_num')},
+ {field: 'sign_num', title: __('Sign_num')},
+ {field: 'verification_num', title: __('Verification_num')},
+ {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {field: 'createtime', title: __('Createtime')},
+ {field: 'updatetime', title: __('Updatetime')},
+ {field: 'schoolclasseslib.title', title: __('Schoolclasseslib.title'), operate: 'LIKE'},
+ {field: 'schoolclasseslib.headimage', title: __('Schoolclasseslib.headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/classes_spec/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '130px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/classes_spec/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/classes_spec/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/collect.js b/public/assets/js/manystore/school/classes/collect.js
new file mode 100644
index 0000000..6d5de8f
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/collect.js
@@ -0,0 +1,60 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/collect/index' + location.search,
+ add_url: 'school/classes/collect/add',
+ edit_url: 'school/classes/collect/edit',
+ del_url: 'school/classes/collect/del',
+ multi_url: 'school/classes/collect/multi',
+ import_url: 'school/classes/collect/import',
+ table: 'school_classes_collect',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'classes_lib_id', title: __('Classes_lib_id')},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {field: 'createtime', title: __('Createtime')},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'schoolclasseslib.title', title: __('Schoolclasseslib.title'), operate: 'LIKE'},
+ {field: 'schoolclasseslib.headimage', title: __('Schoolclasseslib.headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/hourorder/order.js b/public/assets/js/manystore/school/classes/hourorder/order.js
new file mode 100644
index 0000000..c6df641
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/hourorder/order.js
@@ -0,0 +1,138 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/hourorder/order/index' + location.search,
+ add_url: 'school/classes/hourorder/order/add',
+ edit_url: 'school/classes/hourorder/order/edit',
+ del_url: 'school/classes/hourorder/order/del',
+ multi_url: 'school/classes/hourorder/order/multi',
+ import_url: 'school/classes/hourorder/order/import',
+ table: 'school_classes_hour_order',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'order_no', title: __('Order_no'), operate: 'LIKE'},
+ {field: 'classes_order_id', title: __('Classes_order_id')},
+ {field: 'classes_lib_spec_id', title: __('Classes_lib_spec_id')},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'classes_order_detail_id', title: __('Classes_order_detail_id')},
+ {field: 'classes_lib_id', title: __('Classes_lib_id')},
+ {field: 'name', title: __('Name'), operate: 'LIKE'},
+ {field: 'start_time', title: __('Start_time')},
+ {field: 'end_time', title: __('End_time')},
+ {field: 'limit_num', title: __('Limit_num')},
+ {field: 'sign_num', title: __('Sign_num')},
+ {field: 'verification_num', title: __('Verification_num')},
+ {field: 'status', title: __('Status'), searchList: {"-3":__('Status -3'),"0":__('Status 0'),"3":__('Status 3')}, formatter: Table.api.formatter.status},
+ {field: 'verification_user_id', title: __('Verification_user_id')},
+ {field: 'reservation_time', title: __('Reservation_time')},
+ {field: 'finish_time', title: __('Finish_time')},
+ {field: 'cancel_time', title: __('Cancel_time')},
+ {field: 'createtime', title: __('Createtime')},
+ {field: 'updatetime', title: __('Updatetime')},
+ {field: 'schoolclassesorder.order_no', title: __('Schoolclassesorder.order_no'), operate: 'LIKE'},
+ {field: 'schoolclasseslibspec.name', title: __('Schoolclasseslibspec.name'), operate: 'LIKE'},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'schoolclassesorderdetail.title', title: __('Schoolclassesorderdetail.title'), operate: 'LIKE'},
+ {field: 'schoolclassesorderdetail.headimage', title: __('Schoolclassesorderdetail.headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'schoolclasseslib.title', title: __('Schoolclasseslib.title'), operate: 'LIKE'},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/hourorder/order/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '130px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/hourorder/order/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/hourorder/order/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/hourorder/order_log.js b/public/assets/js/manystore/school/classes/hourorder/order_log.js
new file mode 100644
index 0000000..6f7642f
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/hourorder/order_log.js
@@ -0,0 +1,55 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/hourorder/order_log/index' + location.search,
+ add_url: 'school/classes/hourorder/order_log/add',
+ edit_url: 'school/classes/hourorder/order_log/edit',
+ del_url: 'school/classes/hourorder/order_log/del',
+ multi_url: 'school/classes/hourorder/order_log/multi',
+ import_url: 'school/classes/hourorder/order_log/import',
+ table: 'school_classes_hour_order_log',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'classes_hour_order_id', title: __('Classes_hour_order_id')},
+ {field: 'status', title: __('Status'), searchList: {"-3":__('Status -3'),"0":__('Status 0'),"3":__('Status 3')}, formatter: Table.api.formatter.status},
+ {field: 'log_text', title: __('Log_text'), operate: 'LIKE'},
+ {field: 'createtime', title: __('Createtime')},
+ {field: 'schoolclasseshourorder.order_no', title: __('Schoolclasseshourorder.order_no'), operate: 'LIKE'},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/label.js b/public/assets/js/manystore/school/classes/label.js
new file mode 100644
index 0000000..96fbc79
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/label.js
@@ -0,0 +1,115 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/label/index' + location.search,
+ add_url: 'school/classes/label/add',
+ edit_url: 'school/classes/label/edit',
+ del_url: 'school/classes/label/del',
+ multi_url: 'school/classes/label/multi',
+ import_url: 'school/classes/label/import',
+ table: 'school_classes_label',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), operate: 'LIKE'},
+ {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {field: 'createtime', title: __('Createtime')},
+ {field: 'updatetime', title: __('Updatetime')},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/label/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '130px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/label/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/label/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/order/order.js b/public/assets/js/manystore/school/classes/order/order.js
new file mode 100644
index 0000000..c432f0d
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/order/order.js
@@ -0,0 +1,163 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/order/order/index' + location.search,
+ add_url: 'school/classes/order/order/add',
+ edit_url: 'school/classes/order/order/edit',
+ del_url: 'school/classes/order/order/del',
+ multi_url: 'school/classes/order/order/multi',
+ import_url: 'school/classes/order/order/import',
+ table: 'school_classes_order',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'order_no', title: __('Order_no'), operate: 'LIKE'},
+ {field: 'pay_no', title: __('Pay_no'), operate: 'LIKE'},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'manystore_id', title: __('Manystore_id')},
+ {field: 'shop_id', title: __('Shop_id')},
+ {field: 'code', title: __('Code'), operate: 'LIKE'},
+ {field: 'codeimage', title: __('Codeimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'codeoneimage', title: __('Codeoneimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'classes_lib_id', title: __('Classes_lib_id')},
+ {field: 'classes_order_detail_id', title: __('Classes_order_detail_id')},
+ {field: 'beforeprice', title: __('Beforeprice'), operate:'BETWEEN'},
+ {field: 'totalprice', title: __('Totalprice'), operate:'BETWEEN'},
+ {field: 'payprice', title: __('Payprice'), operate:'BETWEEN'},
+ {field: 'pay_type', title: __('Pay_type'), searchList: {"yue":__('Pay_type yue'),"wechat":__('Pay_type wechat')}, formatter: Table.api.formatter.normal},
+ {field: 'status', title: __('Status'), searchList: {"-3":__('Status -3'),"0":__('Status 0'),"3":__('Status 3'),"6":__('Status 6'),"9":__('Status 9')}, formatter: Table.api.formatter.status},
+ {field: 'before_status', title: __('Before_status'), searchList: {"-3":__('Before_status -3'),"0":__('Before_status 0'),"3":__('Before_status 3'),"6":__('Before_status 6'),"9":__('Before_status 9')}, formatter: Table.api.formatter.status},
+ {field: 'server_status', title: __('Server_status'), searchList: {"0":__('Server_status 0'),"3":__('Server_status 3'),"6":__('Server_status 6')}, formatter: Table.api.formatter.status},
+ {field: 'reason', title: __('Reason'), operate: 'LIKE'},
+ {field: 'auth_manystore_id', title: __('Auth_manystore_id')},
+ {field: 'auth_opinion', title: __('Auth_opinion'), operate: 'LIKE'},
+ {field: 'auth_file', title: __('Auth_file'), operate: false},
+ {field: 'admin_id', title: __('Admin_id')},
+ {field: 'result_status', title: __('Result_status'), searchList: {"0":__('Result_status 0'),"3":__('Result_status 3'),"6":__('Result_status 6')}, formatter: Table.api.formatter.status},
+ {field: 'result_text', title: __('Result_text'), operate: 'LIKE'},
+ {field: 'result_file', title: __('Result_file'), operate: false},
+ {field: 'canceltime', title: __('Canceltime')},
+ {field: 'paytime', title: __('Paytime')},
+ {field: 'finishtime', title: __('Finishtime')},
+ {field: 'refundtime', title: __('Refundtime')},
+ {field: 'total_refundprice', title: __('Total_refundprice'), operate:'BETWEEN'},
+ {field: 'real_refundprice', title: __('Real_refundprice'), operate:'BETWEEN'},
+ {field: 'sub_refundprice', title: __('Sub_refundprice'), operate:'BETWEEN'},
+ {field: 'createtime', title: __('Createtime')},
+ {field: 'updatetime', title: __('Updatetime')},
+ {field: 'manystore.nickname', title: __('Manystore.nickname'), operate: 'LIKE'},
+ {field: 'manystore.avatar', title: __('Manystore.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'manystoreshop.name', title: __('Manystoreshop.name'), operate: 'LIKE'},
+ {field: 'manystoreshop.image', title: __('Manystoreshop.image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'manystoreshop.address_city', title: __('Manystoreshop.address_city'), operate: 'LIKE'},
+ {field: 'manystoreshop.province', title: __('Manystoreshop.province')},
+ {field: 'manystoreshop.city', title: __('Manystoreshop.city')},
+ {field: 'manystoreshop.district', title: __('Manystoreshop.district')},
+ {field: 'manystoreshop.address', title: __('Manystoreshop.address'), operate: 'LIKE'},
+ {field: 'manystoreshop.address_detail', title: __('Manystoreshop.address_detail'), operate: 'LIKE'},
+ {field: 'schoolclasseslib.title', title: __('Schoolclasseslib.title'), operate: 'LIKE'},
+ {field: 'schoolclasseslib.headimage', title: __('Schoolclasseslib.headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'schoolclassesorderdetail.title', title: __('Schoolclassesorderdetail.title'), operate: 'LIKE'},
+ {field: 'schoolclassesorderdetail.headimage', title: __('Schoolclassesorderdetail.headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'admin.nickname', title: __('Admin.nickname'), operate: 'LIKE'},
+ {field: 'admin.avatar', title: __('Admin.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/order/order/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '130px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/order/order/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/order/order/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/order/order_detail.js b/public/assets/js/manystore/school/classes/order/order_detail.js
new file mode 100644
index 0000000..f0b24d6
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/order/order_detail.js
@@ -0,0 +1,161 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/order/order_detail/index' + location.search,
+ add_url: 'school/classes/order/order_detail/add',
+ edit_url: 'school/classes/order/order_detail/edit',
+ del_url: 'school/classes/order/order_detail/del',
+ multi_url: 'school/classes/order/order_detail/multi',
+ import_url: 'school/classes/order/order_detail/import',
+ table: 'school_classes_order_detail',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'classes_order_id', title: __('Classes_order_id')},
+ {field: 'manystore_id', title: __('Manystore_id')},
+ {field: 'shop_id', title: __('Shop_id')},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'classes_cate_ids', title: __('Classes_cate_ids'), operate: 'LIKE'},
+ {field: 'classes_label_ids', title: __('Classes_label_ids'), operate: 'LIKE'},
+ {field: 'self_label_tag', title: __('Self_label_tag'), operate: 'LIKE'},
+ {field: 'add_type', title: __('Add_type'), searchList: {"1":__('Add_type 1'),"2":__('Add_type 2')}, formatter: Table.api.formatter.normal},
+ {field: 'add_id', title: __('Add_id')},
+ {field: 'title', title: __('Title'), operate: 'LIKE'},
+ {field: 'headimage', title: __('Headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'images', title: __('Images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
+ {field: 'type', title: __('Type'), searchList: {"out":__('Type out'),"in":__('Type in')}, formatter: Table.api.formatter.normal},
+ {field: 'classes_num', title: __('Classes_num')},
+ {field: 'address_type', title: __('Address_type'), searchList: {"1":__('Address_type 1'),"2":__('Address_type 2')}, formatter: Table.api.formatter.normal},
+ {field: 'address_city', title: __('Address_city'), operate: 'LIKE'},
+ {field: 'province', title: __('Province')},
+ {field: 'city', title: __('City')},
+ {field: 'district', title: __('District')},
+ {field: 'address', title: __('Address'), operate: 'LIKE'},
+ {field: 'address_detail', title: __('Address_detail'), operate: 'LIKE'},
+ {field: 'longitude', title: __('Longitude'), operate: 'LIKE'},
+ {field: 'latitude', title: __('Latitude'), operate: 'LIKE'},
+ {field: 'classes_date_text', title: __('Classes_date_text'), operate: 'LIKE'},
+ {field: 'classes_time_text', title: __('Classes_time_text'), operate: 'LIKE'},
+ {field: 'virtual_num', title: __('Virtual_num')},
+ {field: 'sale', title: __('Sale')},
+ {field: 'price', title: __('Price'), operate:'BETWEEN'},
+ {field: 'underline_price', title: __('Underline_price'), operate:'BETWEEN'},
+ {field: 'virtual_collect', title: __('Virtual_collect')},
+ {field: 'use_num', title: __('Use_num')},
+ {field: 'sub_num', title: __('Sub_num')},
+ {field: 'unit_price', title: __('Unit_price'), operate:'BETWEEN'},
+ {field: 'used_price', title: __('Used_price'), operate:'BETWEEN'},
+ {field: 'createtime', title: __('Createtime')},
+ {field: 'updatetime', title: __('Updatetime')},
+ {field: 'schoolclassesorder.order_no', title: __('Schoolclassesorder.order_no'), operate: 'LIKE'},
+ {field: 'manystore.nickname', title: __('Manystore.nickname'), operate: 'LIKE'},
+ {field: 'manystore.avatar', title: __('Manystore.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'manystoreshop.name', title: __('Manystoreshop.name'), operate: 'LIKE'},
+ {field: 'manystoreshop.image', title: __('Manystoreshop.image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'manystoreshop.address_city', title: __('Manystoreshop.address_city'), operate: 'LIKE'},
+ {field: 'manystoreshop.province', title: __('Manystoreshop.province')},
+ {field: 'manystoreshop.city', title: __('Manystoreshop.city')},
+ {field: 'manystoreshop.district', title: __('Manystoreshop.district')},
+ {field: 'manystoreshop.address', title: __('Manystoreshop.address'), operate: 'LIKE'},
+ {field: 'manystoreshop.address_detail', title: __('Manystoreshop.address_detail'), operate: 'LIKE'},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/order/order_detail/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'title', title: __('Title'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '130px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/order/order_detail/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/order/order_detail/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/order/order_log.js b/public/assets/js/manystore/school/classes/order/order_log.js
new file mode 100644
index 0000000..3169122
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/order/order_log.js
@@ -0,0 +1,58 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/order/order_log/index' + location.search,
+ add_url: 'school/classes/order/order_log/add',
+ edit_url: 'school/classes/order/order_log/edit',
+ del_url: 'school/classes/order/order_log/del',
+ multi_url: 'school/classes/order/order_log/multi',
+ import_url: 'school/classes/order/order_log/import',
+ table: 'school_classes_order_log',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'classes_order_id', title: __('Classes_order_id')},
+ {field: 'status', title: __('Status'), searchList: {"-3":__('Status -3'),"0":__('Status 0'),"3":__('Status 3'),"6":__('Status 6'),"9":__('Status 9')}, formatter: Table.api.formatter.status},
+ {field: 'before_status', title: __('Before_status'), searchList: {"-3":__('Before_status -3'),"0":__('Before_status 0'),"3":__('Before_status 3'),"6":__('Before_status 6'),"9":__('Before_status 9')}, formatter: Table.api.formatter.status},
+ {field: 'server_status', title: __('Server_status'), searchList: {"0":__('Server_status 0'),"3":__('Server_status 3'),"6":__('Server_status 6')}, formatter: Table.api.formatter.status},
+ {field: 'result_status', title: __('Result_status'), searchList: {"0":__('Result_status 0'),"3":__('Result_status 3'),"6":__('Result_status 6')}, formatter: Table.api.formatter.status},
+ {field: 'log_text', title: __('Log_text'), operate: 'LIKE'},
+ {field: 'createtime', title: __('Createtime')},
+ {field: 'schoolclassesorder.order_no', title: __('Schoolclassesorder.order_no'), operate: 'LIKE'},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/teacher.js b/public/assets/js/manystore/school/classes/teacher.js
new file mode 100644
index 0000000..d56f5cf
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/teacher.js
@@ -0,0 +1,132 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/teacher/index' + location.search,
+ add_url: 'school/classes/teacher/add',
+ edit_url: 'school/classes/teacher/edit',
+ del_url: 'school/classes/teacher/del',
+ multi_url: 'school/classes/teacher/multi',
+ import_url: 'school/classes/teacher/import',
+ table: 'school_teacher',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'manystore_id', title: __('Manystore_id')},
+ {field: 'shop_id', title: __('Shop_id')},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'name', title: __('Name'), operate: 'LIKE'},
+ {field: 'head_image', title: __('Head_image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
+ {field: 'expert_image', title: __('Expert_image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {field: 'createtime', title: __('Createtime')},
+ {field: 'updatetime', title: __('Updatetime')},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'manystore.nickname', title: __('Manystore.nickname'), operate: 'LIKE'},
+ {field: 'manystoreshop.name', title: __('Manystoreshop.name'), operate: 'LIKE'},
+ {field: 'manystoreshop.image', title: __('Manystoreshop.image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'manystoreshop.address_city', title: __('Manystoreshop.address_city'), operate: 'LIKE'},
+ {field: 'manystoreshop.province', title: __('Manystoreshop.province')},
+ {field: 'manystoreshop.city', title: __('Manystoreshop.city')},
+ {field: 'manystoreshop.district', title: __('Manystoreshop.district')},
+ {field: 'manystoreshop.address', title: __('Manystoreshop.address'), operate: 'LIKE'},
+ {field: 'manystoreshop.address_detail', title: __('Manystoreshop.address_detail'), operate: 'LIKE'},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ recyclebin: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ 'dragsort_url': ''
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: 'school/classes/teacher/recyclebin' + location.search,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'name', title: __('Name'), align: 'left'},
+ {
+ field: 'deletetime',
+ title: __('Deletetime'),
+ operate: 'RANGE',
+ addclass: 'datetimerange',
+ formatter: Table.api.formatter.datetime
+ },
+ {
+ field: 'operate',
+ width: '130px',
+ title: __('Operate'),
+ table: table,
+ events: Table.api.events.operate,
+ buttons: [
+ {
+ name: 'Restore',
+ text: __('Restore'),
+ classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+ icon: 'fa fa-rotate-left',
+ url: 'school/classes/teacher/restore',
+ refresh: true
+ },
+ {
+ name: 'Destroy',
+ text: __('Destroy'),
+ classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+ icon: 'fa fa-times',
+ url: 'school/classes/teacher/destroy',
+ refresh: true
+ }
+ ],
+ formatter: Table.api.formatter.operate
+ }
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/verification.js b/public/assets/js/manystore/school/classes/verification.js
new file mode 100644
index 0000000..438d92b
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/verification.js
@@ -0,0 +1,71 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/verification/index' + location.search,
+ add_url: 'school/classes/verification/add',
+ edit_url: 'school/classes/verification/edit',
+ del_url: 'school/classes/verification/del',
+ multi_url: 'school/classes/verification/multi',
+ import_url: 'school/classes/verification/import',
+ table: 'school_verification',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'manystore_id', title: __('Manystore_id')},
+ {field: 'shop_id', title: __('Shop_id')},
+ {field: 'user_id', title: __('User_id')},
+ {field: 'classes_lib_ids', title: __('Classes_lib_ids'), operate: 'LIKE'},
+ {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
+ {field: 'createtime', title: __('Createtime')},
+ {field: 'updatetime', title: __('Updatetime')},
+ {field: 'manystore.nickname', title: __('Manystore.nickname'), operate: 'LIKE'},
+ {field: 'manystore.avatar', title: __('Manystore.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'manystoreshop.name', title: __('Manystoreshop.name'), operate: 'LIKE'},
+ {field: 'manystoreshop.image', title: __('Manystoreshop.image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'manystoreshop.address_city', title: __('Manystoreshop.address_city'), operate: 'LIKE'},
+ {field: 'manystoreshop.province', title: __('Manystoreshop.province')},
+ {field: 'manystoreshop.city', title: __('Manystoreshop.city')},
+ {field: 'manystoreshop.district', title: __('Manystoreshop.district')},
+ {field: 'manystoreshop.address', title: __('Manystoreshop.address'), operate: 'LIKE'},
+ {field: 'manystoreshop.address_detail', title: __('Manystoreshop.address_detail'), operate: 'LIKE'},
+ {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+ {field: 'user.realname', title: __('User.realname'), operate: 'LIKE'},
+ {field: 'user.mobile', title: __('User.mobile'), operate: 'LIKE'},
+ {field: 'user.avatar', title: __('User.avatar'), operate: 'LIKE', events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/virtual_head.js b/public/assets/js/manystore/school/classes/virtual_head.js
new file mode 100644
index 0000000..16f6022
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/virtual_head.js
@@ -0,0 +1,52 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/virtual_head/index' + location.search,
+ add_url: 'school/classes/virtual_head/add',
+ edit_url: 'school/classes/virtual_head/edit',
+ del_url: 'school/classes/virtual_head/del',
+ multi_url: 'school/classes/virtual_head/multi',
+ import_url: 'school/classes/virtual_head/import',
+ table: 'school_virtual_head',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'weigh',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'head_image', title: __('Head_image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'weigh', title: __('Weigh'), operate: false},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file
diff --git a/public/assets/js/manystore/school/classes/virtual_user.js b/public/assets/js/manystore/school/classes/virtual_user.js
new file mode 100644
index 0000000..dfe4bc8
--- /dev/null
+++ b/public/assets/js/manystore/school/classes/virtual_user.js
@@ -0,0 +1,56 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+ var Controller = {
+ index: function () {
+ // 初始化表格参数配置
+ Table.api.init({
+ extend: {
+ index_url: 'school/classes/virtual_user/index' + location.search,
+ add_url: 'school/classes/virtual_user/add',
+ edit_url: 'school/classes/virtual_user/edit',
+ del_url: 'school/classes/virtual_user/del',
+ multi_url: 'school/classes/virtual_user/multi',
+ import_url: 'school/classes/virtual_user/import',
+ table: 'school_virtual_user',
+ }
+ });
+
+ var table = $("#table");
+
+ // 初始化表格
+ table.bootstrapTable({
+ url: $.fn.bootstrapTable.defaults.extend.index_url,
+ pk: 'id',
+ sortName: 'id',
+ columns: [
+ [
+ {checkbox: true},
+ {field: 'id', title: __('Id')},
+ {field: 'nickname', title: __('Nickname'), operate: 'LIKE'},
+ {field: 'head_image', title: __('Head_image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'classes_lib_id', title: __('Classes_lib_id')},
+ {field: 'time', title: __('Time')},
+ {field: 'schoolclasseslib.title', title: __('Schoolclasseslib.title'), operate: 'LIKE'},
+ {field: 'schoolclasseslib.headimage', title: __('Schoolclasseslib.headimage'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
+ {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+ ]
+ ]
+ });
+
+ // 为表格绑定事件
+ Table.api.bindevent(table);
+ },
+ add: function () {
+ Controller.api.bindevent();
+ },
+ edit: function () {
+ Controller.api.bindevent();
+ },
+ api: {
+ bindevent: function () {
+ Form.api.bindevent($("form[role=form]"));
+ }
+ }
+ };
+ return Controller;
+});
\ No newline at end of file