diff --git a/application/admin/controller/Cars.php b/application/admin/controller/Cars.php index bbdfa29..c09d57d 100644 --- a/application/admin/controller/Cars.php +++ b/application/admin/controller/Cars.php @@ -236,6 +236,7 @@ class Cars extends Backend 'title' => $params['title'], 'price' => $params['price'], 'desc' => $params['desc'], + 'count' => $params['count'], 're_price' => $params['re_price'], 'cover_image' => $params['cover_image'], 'contact_id' => $params['contact_id'] ?? $this->auth->id, diff --git a/application/admin/controller/car/Sales.php b/application/admin/controller/car/Sales.php new file mode 100644 index 0000000..b9f70d7 --- /dev/null +++ b/application/admin/controller/car/Sales.php @@ -0,0 +1,141 @@ +model = new \app\admin\model\car\Sales; + + } + + + + /** + * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法 + * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 + * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 + */ + + /** + * 添加 + * + * @return string + * @throws \think\Exception + */ + public function add($ids = null) + { + if (false === $this->request->isPost()) { + $car = Cars::where('id',$ids)->with([ + 'brand' =>function ($q) { + $q->field('id,name'); + }, + 'series' =>function ($q) { + $q->field('id,name'); + }, + ] + )->select()[0] ?? null; + $this->view->assign('car',$car); + return $this->view->fetch(); + } + $params = $this->request->post('row/a'); + if (empty($params)) { + $this->error(__('Parameter %s can not be empty', '')); + } + $params = $this->preExcludeFields($params); + + if ($this->dataLimit && $this->dataLimitFieldAutoFill) { + $params[$this->dataLimitField] = $this->auth->id; + } + $result = false; + Db::startTrans(); + try { + //是否采用模型验证 + if ($this->modelValidate) { + $name = str_replace("\\model\\", "\\validate\\", get_class($this->model)); + $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.add' : $name) : $this->modelValidate; + $this->model->validateFailException()->validate($validate); + } + $result = $this->model->allowField(true)->save($params); + Db::commit(); + } catch (ValidateException|PDOException|Exception $e) { + Db::rollback(); + $this->error($e->getMessage()); + } + if ($result === false) { + $this->error(__('No rows were inserted')); + } + $this->success(); + } + + /** + * 编辑 + * + * @param $ids + * @return string + * @throws DbException + * @throws \think\Exception + */ + public function edit($ids = null) + { + $row = $this->model->get($ids); + if (!$row) { + $this->error(__('No Results were found')); + } + $adminIds = $this->getDataLimitAdminIds(); + if (is_array($adminIds) && !in_array($row[$this->dataLimitField], $adminIds)) { + $this->error(__('You have no permission')); + } + if (false === $this->request->isPost()) { + $this->view->assign('row', $row); + return $this->view->fetch(); + } + $params = $this->request->post('row/a'); + if (empty($params)) { + $this->error(__('Parameter %s can not be empty', '')); + } + $params = $this->preExcludeFields($params); + $result = false; + Db::startTrans(); + try { + //是否采用模型验证 + if ($this->modelValidate) { + $name = str_replace("\\model\\", "\\validate\\", get_class($this->model)); + $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.edit' : $name) : $this->modelValidate; + $row->validateFailException()->validate($validate); + } + $result = $row->allowField(true)->save($params); + Db::commit(); + } catch (ValidateException|PDOException|Exception $e) { + Db::rollback(); + $this->error($e->getMessage()); + } + if (false === $result) { + $this->error(__('No rows were updated')); + } + $this->success(); + } + + +} diff --git a/application/admin/lang/zh-cn/car/sales.php b/application/admin/lang/zh-cn/car/sales.php new file mode 100644 index 0000000..091e0df --- /dev/null +++ b/application/admin/lang/zh-cn/car/sales.php @@ -0,0 +1,15 @@ + '车 id', + 'Saler_id' => '销售 id', + 'Brand' => '品牌', + 'Model' => '型号', + 'Start_date' => '销售日期/租赁开始日期', + 'End_date' => '租赁结束日期(销售则等于开始日期)', + 'Daily_price' => '日租金(销售则为单价)', + 'Total_price' => '总金额', + 'Customer_name' => '客户姓名', + 'Customer_phone' => '客户电话', + 'Remark' => '备注信息' +]; diff --git a/application/admin/model/car/Sales.php b/application/admin/model/car/Sales.php new file mode 100644 index 0000000..12dcf02 --- /dev/null +++ b/application/admin/model/car/Sales.php @@ -0,0 +1,40 @@ + [], + 'edit' => [], + ]; + +} diff --git a/application/admin/view/car/sales/add.html b/application/admin/view/car/sales/add.html new file mode 100644 index 0000000..a976ea8 --- /dev/null +++ b/application/admin/view/car/sales/add.html @@ -0,0 +1,88 @@ +
diff --git a/application/admin/view/car/sales/edit.html b/application/admin/view/car/sales/edit.html new file mode 100644 index 0000000..f2988e7 --- /dev/null +++ b/application/admin/view/car/sales/edit.html @@ -0,0 +1,81 @@ + diff --git a/application/admin/view/car/sales/index.html b/application/admin/view/car/sales/index.html new file mode 100644 index 0000000..750e2eb --- /dev/null +++ b/application/admin/view/car/sales/index.html @@ -0,0 +1,29 @@ +