|
@@ -0,0 +1,91 @@
|
|
|
+<?php
|
|
|
+namespace Clue\Lib;
|
|
|
+
|
|
|
+use Dever;
|
|
|
+Class Salepeople
|
|
|
+{
|
|
|
+ private $default = array
|
|
|
+ (
|
|
|
+ 'value' => -1,
|
|
|
+ 'name' => '不选择',
|
|
|
+ );
|
|
|
+ private $search_default = array
|
|
|
+ (
|
|
|
+ 'value' => -1,
|
|
|
+ 'name' => '部门',
|
|
|
+ );
|
|
|
+ public function get_api()
|
|
|
+ {
|
|
|
+ $type = Dever::input('type', 2);
|
|
|
+ # 联动总数,默认到部门
|
|
|
+ $level_total = Dever::input('level_total', 1);
|
|
|
+
|
|
|
+ # 当前联动级别
|
|
|
+ $level_num = Dever::input('level_num');
|
|
|
+
|
|
|
+ # 一般为id
|
|
|
+ $level_id = Dever::input('level_id');
|
|
|
+
|
|
|
+ # 是否是搜索列表页
|
|
|
+ $level_search = Dever::input('level_search');
|
|
|
+ if ($level_search) {
|
|
|
+ $default = $this->search_default;
|
|
|
+ if ($level_num == 1) {
|
|
|
+ $default['name'] = '部门选择';
|
|
|
+ } elseif ($level_num == 2) {
|
|
|
+ $default['name'] = '组员选择';
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $default = $this->default;
|
|
|
+ }
|
|
|
+ if ($level_num == 1) {
|
|
|
+ $data = $this->group();
|
|
|
+
|
|
|
+ } elseif ($level_num == 2) {
|
|
|
+ $data = $this->group_admin($level_id);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!$data) {
|
|
|
+ Dever::alert('error');
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($level_search || $level_num >= 1) {
|
|
|
+ array_unshift($data, $default);
|
|
|
+ }
|
|
|
+ if ($level_num == 2) {
|
|
|
+ unset($data[0]);
|
|
|
+ }
|
|
|
+ $result['level_total'] = $level_total;
|
|
|
+ $result['list'] = $data;
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
+ public function group(){
|
|
|
+ $data = Dever::db('clue/salepeople')->getState();
|
|
|
+ if ($data) {
|
|
|
+ foreach ($data as $k => $v) {
|
|
|
+ $data[$k]['value'] = $v['group_id'];
|
|
|
+ $group = Dever::db('manage/group')->find(array('id'=>$v['group_id']));
|
|
|
+ $data[$k]['name'] = $group['name'];
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $data = array();
|
|
|
+ $data['value'] = -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+ public function group_admin($level_id){
|
|
|
+ $data = Dever::db('clue/salepeople')->state(array('group_id'=>$level_id));
|
|
|
+ foreach ($data as $k =>$v) {
|
|
|
+ $group = explode(',',$v['group']);
|
|
|
+ if (isset($group[1]) && $group[1]) {
|
|
|
+ $admin = Dever::db('manage/admin')->find($group[1]);
|
|
|
+ if ($admin) {
|
|
|
+ $data[$k]['value'] = $admin['id'];
|
|
|
+ $data[$k]['name'] = $admin['username'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+}
|