Salepeople.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace Clue\Lib;
  3. use Dever;
  4. Class Salepeople
  5. {
  6. private $default = array
  7. (
  8. 'value' => -1,
  9. 'name' => '不选择',
  10. );
  11. private $search_default = array
  12. (
  13. 'value' => -1,
  14. 'name' => '部门',
  15. );
  16. public function get_api()
  17. {
  18. $type = Dever::input('type', 2);
  19. # 联动总数,默认到部门
  20. $level_total = Dever::input('level_total', 1);
  21. # 当前联动级别
  22. $level_num = Dever::input('level_num');
  23. # 一般为id
  24. $level_id = Dever::input('level_id');
  25. # 是否是搜索列表页
  26. $level_search = Dever::input('level_search');
  27. if ($level_search) {
  28. $default = $this->search_default;
  29. if ($level_num == 1) {
  30. $default['name'] = '部门选择';
  31. } elseif ($level_num == 2) {
  32. $default['name'] = '组员选择';
  33. }
  34. } else {
  35. $default = $this->default;
  36. }
  37. if ($level_num == 1) {
  38. $data = $this->group();
  39. } elseif ($level_num == 2) {
  40. $data = $this->group_admin($level_id);
  41. }
  42. if (!$data) {
  43. Dever::alert('error');
  44. }
  45. if ($level_search || $level_num >= 1) {
  46. array_unshift($data, $default);
  47. }
  48. if ($level_num == 2) {
  49. unset($data[0]);
  50. }
  51. $result['level_total'] = $level_total;
  52. $result['list'] = $data;
  53. return $result;
  54. }
  55. public function group(){
  56. $data = Dever::db('clue/salepeople')->getState();
  57. if ($data) {
  58. foreach ($data as $k => $v) {
  59. $data[$k]['value'] = $v['group_id'];
  60. $group = Dever::db('manage/group')->find(array('id'=>$v['group_id']));
  61. $data[$k]['name'] = $group['name'];
  62. }
  63. } else {
  64. $data = array();
  65. $data['value'] = -1;
  66. }
  67. return $data;
  68. }
  69. public function group_admin($level_id){
  70. $data = Dever::db('clue/salepeople')->state(array('group_id'=>$level_id));
  71. foreach ($data as $k =>$v) {
  72. $group = explode(',',$v['group']);
  73. if (isset($group[1]) && $group[1]) {
  74. $admin = Dever::db('manage/admin')->find($group[1]);
  75. if ($admin) {
  76. $data[$k]['value'] = $admin['id'];
  77. $data[$k]['name'] = $admin['username'];
  78. }
  79. }
  80. }
  81. return $data;
  82. }
  83. }