Express.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. namespace app\admin\controller\system;
  3. use app\admin\controller\AuthController;
  4. use think\facade\Route as Url;
  5. use app\admin\model\system\Express as ExpressModel;
  6. use crmeb\services\{FormBuilder as Form, UtilService as Util, JsonService as Json};
  7. /**
  8. * 物流公司管理控制器
  9. * Class SystemMenus
  10. * @package app\admin\controller\system
  11. */
  12. class Express extends AuthController
  13. {
  14. /**
  15. * 显示资源列表
  16. *
  17. * @return \think\Response
  18. */
  19. public function index()
  20. {
  21. $params = Util::getMore([
  22. ['keyword', '']
  23. ], $this->request);
  24. $this->assign(ExpressModel::systemPage($params));
  25. $this->assign(compact('params'));
  26. return $this->fetch();
  27. }
  28. /**
  29. * 显示创建资源表单页.
  30. *
  31. * @return \think\Response
  32. */
  33. public function create($cid = 0)
  34. {
  35. $formbuider = [
  36. Form::input('name', '公司名称')->required('公司名称名称必填'),
  37. Form::input('code', '编码'),
  38. Form::number('sort', '排序', 0),
  39. Form::radio('is_show', '是否启用', 1)->options([['value' => 0, 'label' => '隐藏'], ['value' => 1, 'label' => '启用']]),
  40. ];
  41. $form = Form::make_post_form('添加物流公司', $formbuider, Url::buildUrl('save'), 2);
  42. $this->assign(compact('form'));
  43. return $this->fetch('public/form-builder');
  44. }
  45. /**
  46. * 保存新建的资源
  47. */
  48. public function save()
  49. {
  50. $data = Util::postMore([
  51. 'name',
  52. 'code',
  53. ['sort', 0],
  54. ['is_show', 0]]);
  55. if (!$data['name']) return Json::fail('请输入公司名称');
  56. ExpressModel::create($data);
  57. return Json::successful('添加公司成功!');
  58. }
  59. /**
  60. * 显示编辑资源表单页.
  61. *
  62. * @param int $id
  63. * @return \think\Response
  64. */
  65. public function edit($id)
  66. {
  67. $menu = ExpressModel::get($id);
  68. if (!$menu) return Json::fail('数据不存在!');
  69. $formbuider = [
  70. Form::input('name', '公司名称', $menu['name']),
  71. Form::input('code', '编码', $menu['code']),
  72. Form::number('sort', '排序', $menu['sort']),
  73. Form::radio('is_show', '是否启用', $menu['is_show'])->options([['value' => 0, 'label' => '隐藏'], ['value' => 1, 'label' => '启用']])
  74. ];
  75. $form = Form::make_post_form('添加物流公司', $formbuider, Url::buildUrl('update', array('id' => $id)), 2);
  76. $this->assign(compact('form'));
  77. return $this->fetch('public/form-builder');
  78. }
  79. /**
  80. * 保存更新的资源
  81. *
  82. * @param $id
  83. */
  84. public function update($id)
  85. {
  86. $data = Util::postMore([
  87. 'name',
  88. 'code',
  89. ['sort', 0],
  90. ['is_show', 0]]);
  91. if (!$data['name']) return Json::fail('请输入公司名称');
  92. if (!ExpressModel::get($id)) return Json::fail('编辑的记录不存在!');
  93. ExpressModel::edit($data, $id);
  94. return Json::successful('修改成功!');
  95. }
  96. /**
  97. * 删除指定资源
  98. *
  99. * @param int $id
  100. * @return \think\Response
  101. */
  102. public function delete($id)
  103. {
  104. if (!$id) return $this->failed('参数错误,请重新打开');
  105. $res = ExpressModel::destroy($id);
  106. if (!$res)
  107. return Json::fail(ExpressModel::getErrorInfo('删除失败,请稍候再试!'));
  108. else
  109. return Json::successful('删除成功!');
  110. }
  111. }