UserList.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. //用户信息
  3. namespace app\back\admin;
  4. use app\admin\controller\Admin;
  5. use app\common\builder\ZBuilder;
  6. use think\Db;
  7. class UserList extends Admin {
  8. public function index()
  9. {
  10. $map = $this->getMap();
  11. $data_list = DB::table('dp_user_list')->where($map)
  12. ->order('time desc')
  13. ->paginate();
  14. cookie('dp_user_list', $map);
  15. return ZBuilder::make('table')
  16. ->setTableName('user_list') // 设置数据表名
  17. ->addColumns([ // 批量添加列
  18. ['id', '用户ID'],
  19. ['name','用户名称'],
  20. ['principal', '负责人'],
  21. ['mail', '邮箱'],
  22. ['time', '创建时间'],
  23. ['role_id', '角色','status','',[0=>'核代',1=>'广告主']],
  24. ['status', '状态','status','',[0=>'取消合作',1=>'合作']],
  25. ['right_button', '操作','btn'],
  26. ])
  27. ->hideCheckbox()
  28. ->setRowList($data_list) // 设置表格数据
  29. ->setSearchArea([
  30. ['select', 'role_id', '角色','','', ['0' => '核代', '1' => '广告主']],
  31. ])
  32. ->setHeight('auto')
  33. ->addTopButton('add',['title'=>'新增用户'])
  34. ->addRightButtons(['edit', 'delete']) // 添加编辑和删除按钮
  35. ->fetch(); // 渲染页面
  36. }
  37. public function add()
  38. {
  39. // 保存数据
  40. if ($this->request->isPost()) {
  41. // 表单数据
  42. $data = $this->request->post();
  43. if ($data["name"] =='') {
  44. return $this->error('用户名称不能为空');
  45. }
  46. if ($data["role_id"] =='') {
  47. return $this->error('角色不能为空');
  48. }
  49. if ($data["mail"] !='') {
  50. $mailPattern = '/^([a-zA-Z0-9_\-\.\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/';
  51. if (!preg_match($mailPattern, $data["mail"])) {
  52. return $this->error('邮箱格式不正确');
  53. }
  54. }
  55. $r = DB::table('dp_user_list')->insert($data);
  56. if ($r) {
  57. $this->success('新增成功', 'index');
  58. } else {
  59. $this->error('新增失败');
  60. }
  61. }
  62. return ZBuilder::make('form')
  63. ->addFormItems([ // 批量添加列
  64. ['text', 'name', '用户名称', '<span class="text-danger">必填</span>'],
  65. ['text', 'principal', '负责人'],
  66. ['text', 'mail', '邮箱'],
  67. ['select', 'role_id', '角色', '<span class="text-danger">必选</span>', ['0'=>'核代', '1'=>'广告主'], 0],
  68. ['radio', 'status', '状态', '<span class="text-danger">必选</span>', ['0'=>'取消合作', '1'=>'合作'], 0],
  69. ])
  70. ->fetch(); // 渲染页面
  71. }
  72. public function edit($id = '')
  73. {
  74. $dataInfo = Db::table('dp_user_list')->where('id',$id)->find();
  75. // 保存数据
  76. if ($this->request->isPost()) {
  77. // 表单数据
  78. $data = $this->request->post();
  79. if ($data["name"] =='') {
  80. return $this->error('用户名称不能为空');
  81. }
  82. if ($data["role_id"] =='') {
  83. return $this->error('角色不能为空');
  84. }
  85. if ($data["mail"] !='') {
  86. $mailPattern = '/^([a-zA-Z0-9_\-\.\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/';
  87. if (!preg_match($mailPattern, $data["mail"])) {
  88. return $this->error('邮箱格式不正确');
  89. }
  90. }
  91. $r = DB::table('dp_user_list')->where('id', $id)->update($data);
  92. if ($r) {
  93. $this->success('修改成功', 'index');
  94. } else {
  95. $this->error('修改失败');
  96. }
  97. }
  98. return ZBuilder::make('form')
  99. ->addFormItems([ // 批量添加列
  100. ['text', 'name', '用户名称', '<span class="text-danger">必填</span>'],
  101. ['text', 'principal', '负责人'],
  102. ['text', 'mail', '邮箱'],
  103. ['select', 'role_id', '角色', '<span class="text-danger">必选</span>', ['0'=>'核代', '1'=>'广告主'], 0],
  104. ['radio', 'status', '状态', '<span class="text-danger">必选</span>', ['0'=>'取消合作', '1'=>'合作'], 0],
  105. ])
  106. ->setFormData($dataInfo)
  107. ->fetch(); // 渲染页面
  108. }
  109. }