106 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			106 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | 
 | ||
|  | namespace app\controller\manager; | ||
|  | 
 | ||
|  | use app\model\{Desk as MDesk, Hall, System, Log}; | ||
|  | use app\validate\Desk as VDesk; | ||
|  | use think\exception\ValidateException; | ||
|  | 
 | ||
|  | /** | ||
|  |  * 坐桌子管理 | ||
|  |  */ | ||
|  | class Desk extends Base | ||
|  | { | ||
|  | 
 | ||
|  |     //列表
 | ||
|  |     public function index() | ||
|  |     { | ||
|  |         $hallId = input('hall_id/d', 0); | ||
|  |         $hall = Hall::getById($hallId); | ||
|  |         if (empty($hall)) { | ||
|  |             return $this->error("大厅不存在"); | ||
|  |         } | ||
|  |         $keyword = input('param.keyword'); | ||
|  |         $list = MDesk::getList(20, $keyword); | ||
|  |         $this->data['hall'] = $hall; | ||
|  |         $this->data['hall_id'] = $hallId; | ||
|  |         $this->data['list'] = $list; | ||
|  |         $this->data['keyword'] = $keyword; | ||
|  |         return $this->view(); | ||
|  |     } | ||
|  | 
 | ||
|  |     //删除
 | ||
|  |     public function del() | ||
|  |     { | ||
|  |         if ($this->request->isPost()) { | ||
|  |             $id = input('post.id/d'); | ||
|  |             if (is_numeric($id) && $id > 0) { | ||
|  |                 $item = MDesk::getById($id); | ||
|  |                 if (!empty($item)) { | ||
|  |                     MDesk::destroy($id); | ||
|  |                     return $this->json(); | ||
|  |                 } | ||
|  |                 return $this->json(3, '待删除信息不存在'); | ||
|  |             } | ||
|  |             return $this->json(2, '参数错误,请核对之后再操作!'); | ||
|  |         } | ||
|  |         return $this->json(1, '非法请求!'); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     //编辑
 | ||
|  |     public function edit() | ||
|  |     { | ||
|  |         if ($this->request->isPost()) { | ||
|  |             $item = input('post.item/a'); | ||
|  |             $id = input('post.id/d'); | ||
|  |             $desk = MDesk::getById($id); | ||
|  |             if (empty($desk)) { | ||
|  |                 return $this->json(1, '该信息不存在!'); | ||
|  |             } | ||
|  |             $repeat = MDesk::editRepeat($desk['id'], $desk['hall_id'], $item['number']); | ||
|  |             if (!empty($repeat)) { | ||
|  |                 return $this->json(1, '桌号不可重复!'); | ||
|  |             } | ||
|  |             try { | ||
|  |                 validate(VDesk::class)->check($item); | ||
|  |                 MDesk::updateById($id, $item); | ||
|  |                 return $this->json(); | ||
|  |             } catch (ValidateException $e) { | ||
|  |                 return $this->json(2, $e->getError()); | ||
|  |             } | ||
|  |         } else { | ||
|  |             $id = input('param.id'); | ||
|  |             $desk = MDesk::getById($id); | ||
|  |             $this->data['desk_type'] = MDesk::$desk_type; | ||
|  |             $this->data['item'] = $desk; | ||
|  |             return $this->view(); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     //添加
 | ||
|  |     public function add() | ||
|  |     { | ||
|  |         if ($this->request->isPost()) { | ||
|  |             $item = input('post.item/a'); | ||
|  |             $repeat = MDesk::addRepeat($item['hall_id'], $item['number']); | ||
|  |             if (!empty($repeat)) { | ||
|  |                 return $this->json(1, '桌号不可重复!'); | ||
|  |             } | ||
|  |             try { | ||
|  |                 validate(VDesk::class)->check($item); | ||
|  |                 MDesk::create($item); | ||
|  |                 return $this->json(); | ||
|  |             } catch (ValidateException $e) { | ||
|  |                 return $this->json(2, $e->getError()); | ||
|  |             } | ||
|  |         } else { | ||
|  |             $this->data['hall_id'] = input('hall_id/d', 0); | ||
|  |             $this->data['desk_type'] = MDesk::$desk_type; | ||
|  |             $this->data['default_type'] = MDesk::$default_type; | ||
|  |             return $this->view(); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  | } |