Your Name 3 years ago
parent
commit
4d6aaa99f0
33 changed files with 458 additions and 499 deletions
  1. 12 4
      service/agent/assets/pc/html/index.html
  2. 3 2
      service/agent/assets/pc/html/setGoods.html
  3. 3 2
      service/agent/assets/pc/html/setMemberGoods.html
  4. 3 2
      service/agent/assets/pc/html/setOrderGoods.html
  5. 10 9
      service/agent/database/dh_order.php
  6. 40 5
      service/agent/database/import_log.php
  7. 84 62
      service/agent/database/member.php
  8. 7 6
      service/agent/database/member_account_log.php
  9. 11 12
      service/agent/database/member_agreement.php
  10. 7 5
      service/agent/database/member_area.php
  11. 7 6
      service/agent/database/member_area_log.php
  12. 12 12
      service/agent/database/member_goods.php
  13. 7 6
      service/agent/database/member_goods_log.php
  14. 11 10
      service/agent/database/member_level_log.php
  15. 1 1
      service/agent/database/member_parent.php
  16. 1 1
      service/agent/database/order.php
  17. 17 6
      service/agent/database/user_bind.php
  18. 1 0
      service/agent/lib/Agreement.php
  19. 9 2
      service/agent/lib/Dhorder.php
  20. 20 6
      service/agent/lib/Import.php
  21. 1 1
      service/agent/lib/Manage.php
  22. 17 8
      service/agent/lib/Member.php
  23. 7 1
      service/agent/lib/Member_set.php
  24. 7 8
      service/agent/lib/Order.php
  25. 6 0
      service/agent/lib/Order_set.php
  26. 1 0
      service/agent/lib/Set.php
  27. 84 251
      service/agent/src/Children.php
  28. 3 2
      service/agent/src/My.php
  29. 24 26
      service/bill/database/cash.php
  30. 11 14
      service/bill/database/sell.php
  31. 19 19
      service/bill/database/tixian.php
  32. 8 8
      service/bill/lib/Cash.php
  33. 4 2
      service/bill/lib/Tixian.php

+ 12 - 4
service/agent/assets/pc/html/index.html

@@ -14,7 +14,7 @@
     </head>
     <!-- style="background-color: #009688;color:#FFFFFF;" style="color:#FFFFFF;" -->
     <body style="height: 100%; margin: 0">
-    	 <a class="mini-button"  onclick="location.href='<{$link}>'">返回上一页</a>
+    	 <a class="mini-button"  onclick="location.href='<{$link}>'" style="margin: 10px;position: absolute;z-index: 99999;">返回上一页</a>
         <div id="container" style="height: 100%"></div>
 
         <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
@@ -50,10 +50,15 @@ var searchURL = window.location.search;
 	var id = searchURL.split("?")[0].split("=")[1];
 	
 myChart.showLoading();
-$.getJSON(ROOT_PATH + 'l=children.home?mid='+'<{$mid}>',function (data) {
+$.getJSON(ROOT_PATH + 'l=children.home?json=1&mid='+'<{$mid}>',function (data) {
 	
   myChart.hideLoading();
-  data.children.forEach(function (datum, index) {
+  if (data.status != 1) {
+    alert(data.msg);
+    return;
+  }
+  
+  data.data.children.forEach(function (datum, index) {
     // index % 2 === 0 && (datum.collapsed = true);
   });
   myChart.setOption(
@@ -64,12 +69,15 @@ $.getJSON(ROOT_PATH + 'l=children.home?mid='+'<{$mid}>',function (data) {
         textStyle:{
           color:'blue',
         },
+        formatter: function (data) {
+          return data.value;
+        },
       },   
 
       series: [
         {
           type: 'tree',
-          data: [data],
+          data: [data.data],
           top: '1%',
           left: '12%',
           bottom: '1%',

+ 3 - 2
service/agent/assets/pc/html/setGoods.html

@@ -24,7 +24,7 @@
                 <div class="top">
                     <i class="layui-icon layui-icon-app"></i>商品列表
 
-                    <a class="mini-button" onclick="javascript:history.back()">返回上一页</a>
+                    <a class="mini-button" onclick="location.href='<{$link}>'">返回上一页</a>
                 </div>
                 <div class="left_main">
                     <input id="key" class="mini-textbox" placeholder="请输入商品名称" onenter="onKeyEnter"/>
@@ -99,13 +99,14 @@
         $("#settlement").click(function(){
             var url = '<{$submit}>';
             var role_id = '<{$role_id}>';
+            var link = '<{$link}>';
             var give = $('#give').val();
 
             layui.layer.confirm('确定进行此项设置吗?', function() {
                 var goods_string = JSON.stringify(goods);
 
                 var data = {};
-                data = {role_id:role_id, give:give, goods:goods_string};
+                data = {role_id:role_id, give:give, goods:goods_string,link:link};
                 $.post(url, data, function(t) {
                     t = JSON.parse(t);
                     if (t.status == 1) {

+ 3 - 2
service/agent/assets/pc/html/setMemberGoods.html

@@ -24,7 +24,7 @@
                 <div class="top">
                     <i class="layui-icon layui-icon-app"></i>商品列表
 
-                    <a class="mini-button" onclick="javascript:history.back()">返回上一页</a>
+                    <a class="mini-button" onclick="location.href='<{$link}>'">返回上一页</a>
                 </div>
                 <div class="left_main">
                     <input id="key" class="mini-textbox" placeholder="请输入商品名称" onenter="onKeyEnter"/>
@@ -94,6 +94,7 @@
         $("#settlement").click(function(){
             var url = '<{$submit}>';
             var mid = '<{$mid}>';
+            var link = '<{$link}>';
             var search_api_mid = '<{$search_api_mid}>';
 
             layui.layer.confirm('确定进行此项设置吗?', function() {
@@ -101,7 +102,7 @@
                 var goods_string = JSON.stringify(goods);
 
                 var data = {};
-                data = {mid:mid,search_api_mid:search_api_mid, desc:desc, goods:goods_string};
+                data = {mid:mid,search_api_mid:search_api_mid, desc:desc, goods:goods_string,link:link};
                 $.post(url, data, function(t) {
                     t = JSON.parse(t);
                     if (t.status == 1) {

+ 3 - 2
service/agent/assets/pc/html/setOrderGoods.html

@@ -26,7 +26,7 @@
                 <div class="top">
                     <i class="layui-icon layui-icon-app"></i>商品列表
                     
-                    <a class="mini-button" onclick="javascript:history.back()">返回上一页</a>
+                    <a class="mini-button" onclick="location.href='<{$link}>'">返回上一页</a>
                 </div>
                 <div class="left_main">
                     <input id="key" class="mini-textbox" placeholder="请输入商品名称" onenter="onKeyEnter"/>
@@ -90,12 +90,13 @@
             var url = '<{$submit}>';
             var role_id = '<{$role_id}>';
             var order_id = '<{$order_id}>';
+            var link = '<{$link}>';
 
             layui.layer.confirm('确定进行此项设置吗?', function() {
                 var goods_string = JSON.stringify(goods);
 
                 var data = {};
-                data = {role_id:role_id, order_id:order_id, goods:goods_string};
+                data = {role_id:role_id, order_id:order_id, goods:goods_string,link:link};
                 $.post(url, data, function(t) {
                     t = JSON.parse(t);
                     if (t.status == 1) {

+ 10 - 9
service/agent/database/dh_order.php

@@ -93,19 +93,20 @@ return array
         'mid'      => array
         (
             'type'      => 'int-11',
-            'name'      => '行权人',
+            'name'      => '代理商姓名/手机号',
             'default'   => '-1',
             'desc'      => '代理商',
             'match'     => 'is_string',
             'update'    => 'text',
-            'searchs'    => array
+            'search'    => array
             (
-                'api' => 'agent/member-find',
-                'col' => 'mobile',
+                'api' => 'agent/member-getSearch',
+                'col' => 'col',
                 'result' => 'id',
+                'search' => 'mid',
             ),
-            'search'    => 'hidden',
-            'list'      => 'Dever::load("agent/lib/member.getOne", {mid})',
+            'list_name' => '行权人',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
             'list_order' => 3,
         ),
 
@@ -116,7 +117,7 @@ return array
             'default'   => '',
             'desc'      => '手机号',
             'match'     => 'option',
-            'search'    => $mid ? 'hidden' : 'fulltext',
+            //'search'    => $mid ? 'hidden' : 'fulltext',
             // 'list'      => true,
             'list'      =>'Dever::load("agent/lib/member.set_mobile", {id})',
             'list_order' => 4,
@@ -127,7 +128,7 @@ return array
             'default'   => '',
             'desc'      => '手机号',
             'match'     => 'option',
-            'search'    => array
+            'searchs'    => array
             (
                 'api' => 'agent/member-find',
                 'col' => 'name',
@@ -143,7 +144,7 @@ return array
             'default'   => '',
             'desc'      => '手机号',
             'match'     => 'option',
-            'search'    => array
+            'searchs'    => array
             (
                 'api' => 'agent/member-find',
                 'col' => 'idcard',

+ 40 - 5
service/agent/database/import_log.php

@@ -54,8 +54,42 @@ return array
                 'result' => 'id',
             ),
             'search'    => 'hidden',
-            'list'      => 'Dever::load("agent/lib/member.getOne", {mid})',
-            'list_order' => 1,
+            //'list'      => 'Dever::load("agent/lib/member.getOne", {mid})',
+            //'list_order' => 1,
+        ),
+
+        'agent-member-name'=> array
+        (
+            'name'      => '姓名',
+            'default'   => '',
+            'desc'      => '姓名',
+            'match'     => 'option',
+            # 读取另外表的关联方式
+            'sync'      => array('mid', 'id'),
+            'search'    => array
+            (
+                'api' => 'agent/member-find',
+                'col' => 'name',
+                'result' => 'id',
+            ),
+            'list'      => true,
+        ),
+
+        'agent-member-mobile'=> array
+        (
+            'name'      => '手机号',
+            'default'   => '',
+            'desc'      => '手机号',
+            'match'     => 'option',
+            # 读取另外表的关联方式
+            'sync'      => array('mid', 'id'),
+            'search'    => array
+            (
+                'api' => 'agent/member-find',
+                'col' => 'mobile',
+                'result' => 'id',
+            ),
+            'list'      => true,
         ),
 
         'type'        => array
@@ -124,9 +158,9 @@ return array
             'desc'      => '',
             # 只有insert时才生效
             'insert'    => true,
-            'search'    => 'date',
-            'list'      => 'date("Y-m-d H:i", {cdate})',
-            'list_order' => 2,
+            //'search'    => 'date',
+            //'list'      => 'date("Y-m-d H:i", {cdate})',
+            //'list_order' => 2,
         ),
     ),
 
@@ -135,6 +169,7 @@ return array
         'edit' => false,
         'insert' => false,
         'delete' => false,
+        'excel' => true,
     ),
 
     'request' => array

+ 84 - 62
service/agent/database/member.php

@@ -2,13 +2,13 @@
 
 $role = function()
 {
-	$array = array();
-	$data = Dever::load('setting/role-state');
-	if($data)
-	{
-		$array += $data;
-	}
-	return $array;
+    $array = array();
+    $data = Dever::load('setting/role-state');
+    if($data)
+    {
+        $array += $data;
+    }
+    return $array;
 };
 
 $status = array
@@ -59,28 +59,28 @@ $source_id = function()
 
 $level = function()
 {
-	$array = array
-	(
-		-1 => array
-		(
-			'id' => -1,
-			'name' => '普通',
-		),
-	);
-	$data = Dever::load('setting/level-state');
-	if($data)
-	{
-		$array += $data;
-	}
-	return $array;
+    $array = array
+    (
+        -1 => array
+        (
+            'id' => -1,
+            'name' => '普通',
+        ),
+    );
+    $data = Dever::load('setting/level-state');
+    if($data)
+    {
+        $array += $data;
+    }
+    return $array;
 };
 
 $info = '';
 $button = array();
 $list_button = array();
 $list_button['list'] = array('查看详情', '"member_area&mid={id}&page_type=1&[refer]"');
-if (Dever::load('manage/auth')->checkFunc('agent.member', 'edit6', '查看上下级')) {
-    $list_button['list1'] = array('查看上下级',Dever::url('lib/manage.relation?mid={id}&[refer]', 'agent'));
+if (Dever::load('manage/auth')->checkFunc('agent.member', 'edit6', '查看关系图谱')) {
+    $list_button['list1'] = array('查看关系图谱',Dever::url('lib/manage.relation?mid={id}&[refer].manage', 'agent'));
 }
 
 # id小于50000为导入的数据
@@ -106,7 +106,7 @@ return array
         'id'        => array
         (
             'type'      => 'int-11',
-            'name'      => 'ID',
+            'name'      => '代理商姓名/手机号',
             'default'   => '',
             'desc'      => '',
             'match'     => 'is_numeric',
@@ -126,6 +126,7 @@ return array
             // 'search'    => ($parent_mid) ? 'hidden' : 'fulltext',
 
             //'search'    => 'fulltext',
+
             'search'    => array
             (
                 'api' => 'agent/member-getSearch',
@@ -137,6 +138,16 @@ return array
             'list'      => 'Dever::load("agent/lib/member.getOne", {id}, "agent/member", true)',
         ),
 
+        'name'      => array
+        (
+            'type'      => 'varchar-100',
+            'name'      => '代理商姓名',
+            'default'   => '',
+            'desc'      => '姓名',
+            'match'     => 'is_string',
+            'update'    => 'text',
+        ),
+
         'rdate'     => array
         (
             'type'      => 'int-11',
@@ -151,17 +162,17 @@ return array
             'list_order' => 100,
         ),
 
-        'avatar'		=> array
-		(
-			'type' 		=> 'varchar-150',
-			'name' 		=> '头像',
-			'default' 	=> '',
-			'desc' 		=> '请选择头像',
-			'match' 	=> 'option',
-			'update'	=> 'image',
-			'key' 		=> '1',
-			//'place'		=> '150',
-		),
+        'avatar'        => array
+        (
+            'type'      => 'varchar-150',
+            'name'      => '头像',
+            'default'   => '',
+            'desc'      => '请选择头像',
+            'match'     => 'option',
+            'update'    => 'image',
+            'key'       => '1',
+            //'place'       => '150',
+        ),
 
         'mobile'      => array
         (
@@ -170,7 +181,7 @@ return array
             'default'   => '',
             'desc'      => '请输入手机号',
             'match'     => Dever::rule('mobile'),
-            'update'    => 'text',
+            //'update'    => 'text',
             //'search'    => 'fulltext',
             //'list'      => true,
         ),
@@ -206,16 +217,16 @@ return array
             'callback'  => 'maketime',
         ),
 
-        'password'		=> array
-		(
-			'type' 		=> 'varchar-50',
-			'name' 		=> '密码',
-			'default' 	=> '',
-			'desc' 		=> '请输入密码',
-			'match' 	=> 'option',
-			'update'	=> 'password',
-			'callback'	=> 'sha1',
-		),
+        'password'      => array
+        (
+            'type'      => 'varchar-50',
+            'name'      => '密码',
+            'default'   => '',
+            'desc'      => '请输入密码',
+            'match'     => 'option',
+            'update'    => 'password',
+            'callback'  => 'sha1',
+        ),
 
         'parent_mid'      => array
         (
@@ -266,25 +277,25 @@ return array
             'default'   => '',
             'desc'      => '代理角色',
             'match'     => 'is_numeric',
-            'search'	=> 'select',
+            'search'    => 'select',
             'update'    => 'select',
             'option'    => $role,
         ),
 
-        'level_id'		=> array
-		(
-			'type' 		=> 'int-11',
-			'name' 		=> '代理商等级',
-			'default' 	=> '-1',
-			'desc' 		=> '代理商等级',
-			'match' 	=> 'is_numeric',
-			'search'	=> 'select',
-			'update'	=> 'select',
-			'option'	=> $level,
-			//'list'		=> true,
-		),
+        'level_id'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '代理商等级',
+            'default'   => '-1',
+            'desc'      => '代理商等级',
+            'match'     => 'is_numeric',
+            'search'    => 'select',
+            'update'    => 'select',
+            'option'    => $level,
+            //'list'        => true,
+        ),
 
-		'area'       => array
+        'area'       => array
         (
             'type'      => 'varchar-500',
             'name'      => '代理区域',
@@ -529,6 +540,17 @@ return array
         'version' => 3,
     ),
 
+    'index' => array
+    (
+        1 => array
+        (
+            'parent_mid' => 'parent_mid',
+        ),
+        
+        # 版本号 更改版本号会更新当前表的索引
+        'version' => 1,
+    ),
+
     'manage' => array
     (
         'insert' => false,
@@ -650,8 +672,8 @@ return array
             (
                 'col' => 'yes-mobile,name',
             ),
-            'type' => 'one',
-            'col' => '*',
+            'type' => 'all',
+            'col' => '*|id',
         ),
     ),
 );

+ 7 - 6
service/agent/database/member_account_log.php

@@ -53,19 +53,20 @@ return array
         'mid'      => array
         (
             'type'      => 'int-11',
-            'name'      => '手机号',
+            'name'      => '代理商姓名/手机号',
             'default'   => '-1',
             'desc'      => '代理商',
             'match'     => 'is_string',
             'update'    => 'text',
-            'search'    => $mid ? 'hidden' : array
+            'search'    => array
             (
-                'api' => 'agent/member-find',
-                'col' => 'mobile',
+                'api' => 'agent/member-getSearch',
+                'col' => 'col',
                 'result' => 'id',
+                'search' => 'mid',
             ),
-            'list_name' => '代理商',
-            'list'      => 'Dever::load("agent/lib/member.getOne", {mid})',
+            'list_name' => '代理商信息',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
             'list_order' => 1,
         ),
 

+ 11 - 12
service/agent/database/member_agreement.php

@@ -49,22 +49,21 @@ return array
         'mid'      => array
         (
             'type'      => 'int-11',
-            'name'      => '手机号',
+            'name'      => '代理商姓名/手机号',
             'default'   => '-1',
             'desc'      => '代理商',
             'match'     => 'is_string',
             'update'    => 'text',
-            /*
-            'search'    => $mid ? 'hidden' : array
+            'search'    => array
             (
-                'api' => 'agent/member-select',
-                'col' => 'mobile',
+                'api' => 'agent/member-getSearch',
+                'col' => 'col',
                 'result' => 'id',
-            ),*/
-            //'list_name' => '手机号',
-            'list'      => 'Dever::load("agent/lib/member.getOne", {mid})',
-            'list_order' => 1,
-            //'list_order' => 2,
+                'search' => 'mid',
+            ),
+            'list_name' => '代理商信息',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
+            'list_order' => 3,
         ),
 
         'agent-member-name'=> array
@@ -172,7 +171,7 @@ return array
             'desc'      => '请输入手机号',
             'match'     => Dever::rule('mobile'),
             'update'    => 'text',
-            'search'    => $mid ? 'hidden' : 'fulltext',
+            //'search'    => $mid ? 'hidden' : 'fulltext',
             //'list'      => $mid ? false : true,
             //'list_order' => 2,
         ),
@@ -213,7 +212,7 @@ return array
             'desc'      => '身份证号码',
             'match'     => 'is_string',
             'update'    => 'text',
-            'search'    => 'fulltext',
+            //'search'    => 'fulltext',
         ),
 
         'idcard_front'     => array

+ 7 - 5
service/agent/database/member_area.php

@@ -44,18 +44,20 @@ return array
         'mid'      => array
         (
             'type'      => 'int-11',
-            'name'      => '代理商',
+            'name'      => '代理商姓名/手机号',
             'default'   => '-1',
             'desc'      => '代理商',
             'match'     => 'is_string',
             'update'    => 'text',
-            'searchs'    => array
+            'search'    => array
             (
-                'api' => 'agent/member-find',
-                'col' => 'mobile',
+                'api' => 'agent/member-getSearch',
+                'col' => 'col',
                 'result' => 'id',
+                'search' => 'mid',
             ),
-            'list'      => 'Dever::load("agent/lib/member.getOne", {mid})',
+            'list_name' => '代理商信息',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
         ),
 
         'order_id'      => array

+ 7 - 6
service/agent/database/member_area_log.php

@@ -53,19 +53,20 @@ return array
         'mid'      => array
         (
             'type'      => 'int-11',
-            'name'      => '手机号',
+            'name'      => '代理商姓名/手机号',
             'default'   => '-1',
             'desc'      => '代理商',
             'match'     => 'is_string',
             'update'    => 'text',
-            'search'    => $mid ? 'hidden' : array
+            'search'    => array
             (
-                'api' => 'agent/member-find',
-                'col' => 'mobile',
+                'api' => 'agent/member-getSearch',
+                'col' => 'col',
                 'result' => 'id',
+                'search' => 'mid',
             ),
-            'list_name' => '代理商',
-            'list'      => 'Dever::load("agent/lib/member.getOne", {mid})',
+            'list_name' => '代理商信息',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
             'list_order' => 1,
         ),
 

+ 12 - 12
service/agent/database/member_goods.php

@@ -17,9 +17,9 @@ $search_api_mid = Dever::input('search_api_mid');
 if ($search_api_mid) {
     $member = Dever::db('agent/member')->find(array('mobile' => $search_api_mid));
     if (Dever::load('manage/auth')->checkFunc('agent.member_goods', 'edit', '手动调整权益')) {
-        $button['手动调整权益'] = array('location', 'agent/lib/member_set.home?mid=' . $member['id'] . '&search_api_mid=' . $search_api_mid);
+        $button['手动调整权益'] = array('location', 'agent/lib/member_set.home?mid=' . $member['id'] . '&search_api_mid=' . $search_api_mid . '&[refer]');
     }
-    $button['权益操作记录'] = array('location', 'l=project/database/list&project=agent&table=member_goods_log&search_option_mid='.$member['id'].'&search_api_mid=' . $search_api_mid);
+    $button['权益操作记录'] = array('location', 'l=project/database/list&project=agent&table=member_goods_log&search_option_mid='.$member['id'].'&search_api_mid=' . $search_api_mid . '&[refer]');
     // $button = array
     // (
     //     '手动调整权益' => array('location', 'agent/lib/member_set.home?mid=' . $member['id'] . '&search_api_mid=' . $search_api_mid),
@@ -31,9 +31,9 @@ if ($search_api_mid) {
     if ($mid) {
         $button['返回上一页'] = array('location', 'l=project/database/list&project=agent&table=member_area&page_type=1&mid=' . $mid);
         if (Dever::load('manage/auth')->checkFunc('agent.member_goods', 'edit', '手动调整权益')) {
-            $button['手动调整权益'] = array('location', 'agent/lib/member_set.home?mid=' . $mid);
+            $button['手动调整权益'] = array('location', 'agent/lib/member_set.home?mid=' . $mid . '&[refer]');
         }
-        $button['权益操作记录'] = array('location', 'l=project/database/list&project=agent&table=member_goods_log&search_option_mid=' . $mid);
+        $button['权益操作记录'] = array('location', 'l=project/database/list&project=agent&table=member_goods_log&search_option_mid=' . $mid . '&[refer]');
 
         // $button = array
         // (
@@ -76,21 +76,21 @@ return array
         'mid'      => array
         (
             'type'      => 'int-11',
-            'name'      => '手机号',
+            'name'      => '代理商手机号',
             'default'   => '-1',
             'desc'      => '代理商',
             'match'     => 'is_string',
             'update'    => 'text',
-            'search'    => $mid ? 'hidden' : array
+            'search'    => array
             (
                 'api' => 'agent/member-find',
                 'col' => 'mobile',
                 'result' => 'id',
+                'search' => 'mid',
             ),
-            'list_name' => '代理商',
-            //'list'      => $mid ? false : 'Dever::load("agent/member-find#mobile", {mid})',
-            'list'      => 'Dever::load("agent/lib/member.getOne", {mid})',
-            'list_order' => 2,
+            'list_name' => '代理商信息',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
+            'list_order' => 3,
         ),
 
         'agent-member-name'=> array
@@ -99,7 +99,7 @@ return array
             'default'   => '',
             'desc'      => '姓名',
             'match'     => 'option',
-            'search'    => array
+            'searchs'    => array
             (
                 'api' => 'agent/member-find',
                 'col' => 'name',
@@ -117,7 +117,7 @@ return array
             'default'   => '',
             'desc'      => '手机号',
             'match'     => 'option',
-            'search'    => array
+            'searchs'    => array
             (
                 'api' => 'agent/member-find',
                 'col' => 'idcard',

+ 7 - 6
service/agent/database/member_goods_log.php

@@ -37,19 +37,20 @@ return array
         'mid'      => array
         (
             'type'      => 'int-11',
-            'name'      => '手机号',
+            'name'      => '代理商姓名/手机号',
             'default'   => '-1',
             'desc'      => '代理商',
             'match'     => 'is_string',
             'update'    => 'text',
-            'search'    => $mid ? 'hidden' : array
+            'search'    => array
             (
-                'api' => 'agent/member-select',
-                'col' => 'mobile',
+                'api' => 'agent/member-getSearch',
+                'col' => 'col',
                 'result' => 'id',
+                'search' => 'mid',
             ),
-            'list_name' => '代理商',
-            'list'      => 'Dever::load("agent/lib/member.getOne", {mid})',
+            'list_name' => '代理商信息',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
             'list_order' => 1,
         ),
 

+ 11 - 10
service/agent/database/member_level_log.php

@@ -53,19 +53,20 @@ return array
         'mid'      => array
         (
             'type'      => 'int-11',
-            'name'      => '手机号',
+            'name'      => '代理商姓名/手机号',
             'default'   => '-1',
             'desc'      => '代理商',
             'match'     => 'is_string',
             'update'    => 'text',
-            'search'    => $mid ? 'hidden' : array
+            'search'    => array
             (
-                'api' => 'agent/member-find',
-                'col' => 'mobile',
+                'api' => 'agent/member-getSearch',
+                'col' => 'col',
                 'result' => 'id',
+                'search' => 'mid',
             ),
-            'list_name' => '代理商',
-            'list'      => 'Dever::load("agent/lib/member.getOne", {mid})',
+            'list_name' => '代理商信息',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
             'list_order' => 1,
         ),
 
@@ -76,9 +77,9 @@ return array
             'default'   => '',
             'desc'      => '关联订单',
             'match'     => 'is_numeric',
-            'list'		=> 'Dever::db("agent/order-find#order_num", {order_id})',
-            'list'      => true,
-            'list_order' => 6,
+            //'list'		=> 'Dever::db("agent/order-find#order_num", {order_id})',
+            //'list'      => true,
+            //'list_order' => 6,
         ),
 
         'agent-member-name'=> array
@@ -113,7 +114,7 @@ return array
             'desc'      => '日志单号',
             'match'     => 'is_string',
             'update'    => 'text',
-            'search'    => 'fulltext',
+            //'search'    => 'fulltext',
             //'list'      => true,
             //'list_order'  => 2,
         ),

+ 1 - 1
service/agent/database/member_parent.php

@@ -49,7 +49,7 @@ return array
         'parent_mobile'      => array
         (
             'type'      => 'bigint-11',
-            'name'      => '输入上级手机号-请谨慎操作,此操作会更改当前代理商的上级,更改后,之前的关系链将断掉',
+            'name'      => '输入上级手机号-<font style="color:red">请谨慎操作,归属的上级不能与当前代理商同一团队,否则会影响归属后的业绩数据</font>',
             'default'   => '',
             'desc'      => '邀请人',
             'match'     => 'is_string',

+ 1 - 1
service/agent/database/order.php

@@ -182,7 +182,7 @@ return array
                 'search' => 'mid',
             ),
             'list_name' => '代理商信息',
-            'list'      => 'Dever::load("agent/lib/member.getOne", {id}, "agent/order", true)',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
             'list_order' => 3,
         ),
 

+ 17 - 6
service/agent/database/user_bind.php

@@ -47,13 +47,24 @@ return array
             'list_order' => 1,
         ),
 
-        'mid'       => array
+        'mid'      => array
         (
             'type'      => 'int-11',
-            'name'      => '代理商id',
-            'default'   => '',
-            'desc'      => '代理商id',
-            'match'     => 'is_numeric',
+            'name'      => '代理商姓名/手机号',
+            'default'   => '-1',
+            'desc'      => '代理商',
+            'match'     => 'is_string',
+            'update'    => 'text',
+            'search'    => array
+            (
+                'api' => 'agent/member-getSearch',
+                'col' => 'col',
+                'result' => 'id',
+                'search' => 'mid',
+            ),
+            'list_name' => '代理商信息',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
+            'list_order' => 3,
         ),
 
         'name'      => array
@@ -77,7 +88,7 @@ return array
             'desc'      => '请输入手机号',
             'match'     => Dever::rule('mobile'),
             'update'    => 'text',
-            'search'    => 'fulltext',
+            //'search'    => 'fulltext',
             'list'      => true,
             'list_order' => 2,
         ),

+ 1 - 0
service/agent/lib/Agreement.php

@@ -164,6 +164,7 @@ class Agreement
             $where['mid'] = $order['mid'];
             $where['agreement_id'] = $v['id'];
             $where['order_id'] = $order['id'];
+            $where['clear'] = true;
 
             $info = Dever::db('agent/member_agreement')->find($where);
 

+ 9 - 2
service/agent/lib/Dhorder.php

@@ -16,6 +16,13 @@ class Dhorder
         $this->config = Dever::db($this->table)->config;
     }
 
+    # 设置订单的类型
+    public function set($type, $view)
+    {
+
+        return $this;
+    }
+
     # 获取公共的where
     public function where($id)
     {
@@ -75,7 +82,7 @@ class Dhorder
     # 获取订单详细信息
     public function getInfo($info, $view = true)
     {
-        $info['status_name'] = $this->config['status'][$info['status']];
+        $info['status_name'] = Dever::status($this->config['status'], $info['status']);
 
         $info['cdate'] = date('Y-m-d H:i', $info['cdate']);
 
@@ -970,7 +977,7 @@ class Dhorder
                 Dever::db('agent/dh_order')->update(array('where_id' => $info['id'], 'audit' => $audit, 'audit_desc' => $audit_text));
                 # 退款
                 $shop = Dever::db('shop/info')->find($info['shop_id']);
-                Dever::load('shop/lib/refund')->set('sell')->apply(1, $shop['id'], $id, false, 3, 0, '未通过审核');
+                Dever::load('shop/lib/refund')->set('dh')->apply(1, $shop['id'], $id, false, 3, 0, '未通过审核');
             }
         }
 

+ 20 - 6
service/agent/lib/Import.php

@@ -332,6 +332,14 @@ class Import
         if ($data) {
             foreach ($data as $k => $v) {
                 $update = array();
+
+                # 获取直推代理人数
+                $num = Dever::load('invite/api')->getChildNum($v['id'], 1);
+                if ($num != $v['old_agentdownnum']) {
+                    # 记录日志
+                    $this->log($v['id'], 2, $v['old_agentdownnum'], $num);
+                }
+
                 # 获取直推业绩
                 $sell = Dever::db('bill/sell')->getNumByTimeOne(array('mid' => $v['id'], 'type' => 1, 'stype' => 3));
                 if ($sell && $sell['num']) {
@@ -345,13 +353,19 @@ class Import
                         # 记录日志
                         $this->log($v['id'], 3, $v['old_group_sell'], $update['group_sell']);
                     }
+
+                    if ($v['level_id'] > 0) {
+                        $cur_level = Dever::db('setting/level')->find($v['level_id']);
+                    } else {
+                        $cur_level = array('id' => -1, 'name' => '普通', 'level' => 0, 'num' => 1, 'value' => '0');
+                    }
+                    $level = Dever::db('setting/level')->getOne(array('target' => ($update['group_sell']/10000)));
+                    if ($level && $level['level'] > $cur_level['level']) {
+                        $update['level_id'] = $level['id'];
+                        Dever::load('agent/lib/level_log')->up($v['id'], -1, $cur_level['id'], $level['id'], $update['group_sell'], $update['group_sell'], $num);
+                    }
                 }
-                # 获取直推代理人数
-                $num = Dever::load('invite/api')->getChildNum($v['id'], 1);
-                if ($num != $v['old_agentdownnum']) {
-                    # 记录日志
-                    $this->log($v['id'], 2, $v['old_agentdownnum'], $num);
-                }
+
                 if ($update) {
                     $update['where_id'] = $v['id'];
                     Dever::db('agent/member')->update($update);

+ 1 - 1
service/agent/lib/Manage.php

@@ -286,7 +286,6 @@ class Manage
                     # 对区域进行占用
                     $role = Dever::db('setting/role')->one($order['role']);
                     if ($role && $role['type'] == 2) {
-                        Dever::load('area/api')->upStatus($order['area'], 2);
                         $area_data = array('mid' => $order['mid'], 'order_id' => $order['id'], 'role' => $order['role'], 'area' => $order['area']);
                         $area_datas = array('mid' => $order['mid']);
                         $area = Dever::db('agent/member_area')->find($area_datas);
@@ -298,6 +297,7 @@ class Manage
                         }
                         $area_data['price'] = $order['price'];
                         Dever::db('agent/member_area')->insert($area_data);
+                        Dever::load('area/api')->upStatus($order['area'], 2);
                         
                         if(!$old_area){
                             $old_area='';

+ 17 - 8
service/agent/lib/Member.php

@@ -309,21 +309,21 @@ class Member
         $button[0]['btn'][] = array
         (
             'type' => 'link',
-            'link' => Dever::url('project/database/list?project=agent&table=order&search_option_mid='.$member['id'].'&[refer]', 'manage'),
+            'link' => Dever::url('project/database/list?project=agent&table=order&search_api_mid='.$member['mobile'].'&[refer]', 'manage'),
             'name' => '代理订单',
         );
 
         $button[0]['btn'][] = array
         (
             'type' => 'link',
-            'link' => Dever::url('project/database/list?project=agent&table=order&search_option_parent_mid='.$member['id'].'&[refer]', 'manage'),
+            'link' => Dever::url('project/database/list?project=agent&table=order&search_api_parent_mid='.$member['mobile'].'&[refer]', 'manage'),
             'name' => '直推代理订单',
         );
 
         $button[0]['btn'][] = array
         (
             'type' => 'link',
-            'link' => Dever::url('project/database/list?project=agent&table=member_level_log&search_option_mid='.$member['id'].'&[refer]', 'manage'),
+            'link' => Dever::url('project/database/list?project=agent&table=member_level_log&search_api_mid='.$member['mobile'].'&[refer]', 'manage'),
             'name' => '升级日志',
         );
 
@@ -349,35 +349,35 @@ class Member
         $button[1]['btn'][] = array
         (
             'type' => 'link',
-            'link' => Dever::url('project/database/list?project=bill&table=cash&search_option_mid='.$member['id'].'&[refer]', 'manage'),
+            'link' => Dever::url('project/database/list?project=bill&table=cash&search_api_mid='.$member['mobile'].'&[refer]', 'manage'),
             'name' => '资金账户',
         );
 
         $button[1]['btn'][] = array
         (
             'type' => 'link',
-            'link' => Dever::url('project/database/list?project=bill&table=sell&search_option_mid='.$member['id'].'&[refer]', 'manage'),
+            'link' => Dever::url('project/database/list?project=bill&table=sell&search_api_mid='.$member['mobile'].'&[refer]', 'manage'),
             'name' => '业绩流水',
         );
 
         $button[1]['btn'][] = array
         (
             'type' => 'link',
-            'link' => Dever::url('project/database/list?project=agent&table=member_goods&search_option_mid='.$member['id'].'&[refer]', 'manage'),
+            'link' => Dever::url('project/database/list?project=agent&table=member_goods&search_api_mid='.$member['mobile'].'&[refer]', 'manage'),
             'name' => '代理商权益',
         );
 
         $button[1]['btn'][] = array
         (
             'type' => 'link',
-            'link' => Dever::url('project/database/list?project=agent&table=dh_order&search_option_mid='.$member['id'].'&[refer]', 'manage'),
+            'link' => Dever::url('project/database/list?project=agent&table=dh_order&search_api_mid='.$member['mobile'].'&[refer]', 'manage'),
             'name' => '权益订单',
         );
 
         $button[2]['btn'][] = array
         (
             'type' => 'link',
-            'link' => Dever::url('project/database/list?project=agent&table=member_agreement&search_option_mid='.$member['id'].'&[refer]', 'manage'),
+            'link' => Dever::url('project/database/list?project=agent&table=member_agreement&search_api_mid='.$member['mobile'].'&[refer]', 'manage'),
             'name' => '代理商合同',
         );
 
@@ -406,6 +406,15 @@ class Member
                 'name' => '设置直推上级',
             );
         }
+
+        if (Dever::load('manage/auth')->checkFunc('agent.member', 'edit6', '查看关系图谱')) {
+            $button[2]['btn'][] = array
+            (
+                'type' => 'link',
+                'link' => Dever::url('lib/manage.relation?mid='.$member['id'].'&[refer].manage', 'agent'),
+                'name' => '查看关系图谱',
+            );
+        }
         $head_btn[] = array
         (
             'type' => 'link',

+ 7 - 1
service/agent/lib/Member_set.php

@@ -23,6 +23,7 @@ class Member_set
     public function home_api()
     {
         $data = array();
+        $data['link'] = Dever::decode(Dever::input('refer'));
         $data['mid'] = Dever::input('mid');
         $data['search_api_mid'] = Dever::input('search_api_mid');
         $data['host'] = Dever::url('lib/member_set.home?mid=' . $data['mid'], 'agent');
@@ -143,7 +144,7 @@ class Member_set
                 } elseif ($type == 3) {
                     $prize = Dever::db('setting/prize')->find($w['type_id']);
                     $price = $prize['price'];
-                    $cash = $prize['price'] * $w['total_num'];
+                    $cash = $prize['price'] * $total;
                     $name = $prize['name'];
                 }
                 $info = Dever::db('agent/member_goods')->one($w);
@@ -170,6 +171,11 @@ class Member_set
             # 记录日志
         }
 
+        $link = Dever::input('link');
+        if ($link) {
+            return $link;
+        }
+        
         if ($search_api_mid) {
             return Dever::url('project/database/list&table=member_goods&project=agent&search_option_state=1&search_api_mid='.$search_api_mid, 'manage');
         } else {

+ 7 - 8
service/agent/lib/Order.php

@@ -732,9 +732,10 @@ class Order
         $max_per = 15;
         $level_up = false;
         $html = '';
+        $parent_name = '';
         foreach ($parents as $k => $v) {
             $parent_info = Dever::db('agent/member')->find($v['uid']);
-            if ($parent_info && $parent_info['status'] == 2) {
+            if ($parent_info && $parent_info['status'] == 2 && $parent_per < $max_per) {
                 $child_num = 0;
                 $parent_role = Dever::db('setting/role')->find($parent_info['role']);
                 if ($parent_info['level_id'] > 0) {
@@ -762,7 +763,7 @@ class Order
                     if ($level && $level['level'] > $parent_level['level']) {
                         # 升级
                         $level_up = true;
-                        /* 本次不计算分润 注释这里即可 */
+                        /* 本次升级不计算分润 注释这里即可 */
                         $old = $parent_level;
                         $parent_info['level_id'] = $level['id'];
                         $parent_level = $level;
@@ -779,13 +780,12 @@ class Order
                         }
                         if ($parent_level['value'] > 0) {
                             $cash += $info['agent_cash'] * ($parent_level['value']/100);
-                            $parent_per = $parent_level['value'];
+                            $parent_per += $parent_level['value'];
                         }
                     }
                 }
 
                 # 直推佣金
-                $parent_name = '';
                 if ($k == 0) {
                     $parent_name = $this->show_parent_reward($parent_info, $info, $role, $v, $parent_role, $parent_level, $child_num);
                 }
@@ -961,11 +961,10 @@ class Order
         } else {
             $t = 1;
         }
-        
+        $process_button = array();
         if (isset($process[3]['type']) && is_array($process[3]['type']) && in_array(2, $process[3]['type'])) {
             $process_status = 1;
             $process_title = '(已发放权益)';
-            $process_button = array();
         } else {
             $process_status = 2;
             $process_title = '(未发放权益)';
@@ -1029,10 +1028,10 @@ class Order
         $table['body'] = array();
         $agreement_type = Dever::db('setting/agreement')->config['config_type'];
         $agreement_status = Dever::db('agent/member_agreement')->config['status'];
+        $agreement_button = array();
         if ((isset($process[3]['type']) && is_array($process[3]['type']) && in_array(5, $process[3]['type'])) || $info['import'] > 1) {
             $agreement_title = '(已生成合同)';
-            $agreement_button = array();
-
+            
             $agreement = Dever::db('agent/member_agreement')->getData(array('order_id' => $info['id']));
             if ($agreement) {
                 foreach ($agreement as $k => $v) {

+ 6 - 0
service/agent/lib/Order_set.php

@@ -23,6 +23,7 @@ class Order_set
     public function home_api()
     {
         $data = array();
+        $data['link'] = Dever::decode(Dever::input('refer'));
         $data['total'] = Dever::input('total', 1);
         $data['order_id'] = Dever::input('order_id');
         $data['role_id'] = Dever::input('role_id', 1);
@@ -106,6 +107,11 @@ class Order_set
             }
         }
 
+        $link = Dever::input('link');
+        if ($link) {
+            return $link;
+        }
+
         return Dever::url('project/database/list&table=order_process&project=agent&order_id='.$order_id.'&page_type=1', 'manage');
     }
 }

+ 1 - 0
service/agent/lib/Set.php

@@ -131,6 +131,7 @@ class Set
     public function home_api()
     {
         $data = array();
+        $data['link'] = Dever::decode(Dever::input('refer'));
         $data['role_id'] = Dever::input('id', 1);
         $data['give'] = Dever::input('give', 1);
         $data['host'] = Dever::url('lib/set.home?id=' . $data['role_id'], 'agent');

+ 84 - 251
service/agent/src/Children.php

@@ -6,270 +6,103 @@ use Dever;
 
 class Children
 {
-	public function text(){
-		$cur = Dever::input('mid');
-		// $result = $this->index($cur);
-		$invite = Dever::load('invite/api')->getChild($cur);
-		// print_R($invite);die;
-		$result = array();
-		$data = array();
-		$index = array();
-		$count = count($invite) - 1;
-		$i=0;
-		foreach($invite as $k => $v) {
-				
-			}
-		print_R($result);die;
-		
-	}
-	#uid 邀请人 to_uid=mid 被邀请人(要查的人) level 等级
-	#invite/relation
-	public function home(){
+	# 当前节点颜色
+	private $cur_color = 'blue';
+	# 父级节点颜色
+	private $parent_color = '#d71345';
+	# 直属子节点颜色
+	private $child_color = 'green';
+	# 默认节点颜色
+	private $color = '#bababa';
+
+	public function home()
+	{
 		$cur = Dever::input('mid');
-		$invite = Dever::load('invite/api')->getParentAll($cur, 5);
-		// print_R($invite);die;
-		$result = array();
+		$parent = Dever::load('invite/api')->getParentAll($cur, 5, 2);
+
 		$data = array();
-		if($invite){
-			$index = array();
-			$count = count($invite) - 1;
-			foreach($invite as $k => $v) {
-				// print_R($v['uid']);die;
-				$uid = $v['uid'];
-				$v = $this->button($v['uid'], $v['uid']);
-				if ($count == $k) {
-					//$v['children'] = array($this->button($cur, $cur, 1)) + $this->child($uid, $cur);
-				}
-				if ($k == 0) {
-					$result = $v;
-					list($result['children'], $index[$k]) = $this->child($uid, $invite[$k+1]['uid']);
-				} 
-				if ($k == 1) {
-					list($result['children'][$index[$k-1]]['children'], $index[$k]) = $this->child($uid, $invite[$k+1]['uid']);
-				}
-				if ($k == 2) {
-					list($result['children'][$index[$k-2]]['children'][$index[$k-1]]['children'], $index[$k]) = $this->child($uid, $invite[$k+1]['uid']);
-				}
-				if ($k == 3) {
-					list($result['children'][$index[$k-3]]['children'][$index[$k-2]]['children'][$index[$k-1]]['children'], $index[$k]) = $this->child($uid, $invite[$k+1]['uid']);
-				}
-				if ($k == 4) {
-					list($result['children'][$index[$k-4]]['children'][$index[$k-3]]['children'][$index[$k-2]]['children'][$index[$k-1]]['children'], $index[$k]) = $this->child($uid, $cur);
+		$parents = array();
 
-				}
+		if ($parent) {
+			foreach ($parent as $k => $v) {
+				$parents[] = $v['uid'];
 			}
-			
-		}
-		exit(Dever::json_encode($result));
-	}
-	public function child($parent, $cur = false) {
-		$result = array();
-		$index = 0;
-		$child = Dever::load('invite/api')->getChild($parent, 1, false);
-		// print_R($child);die;
-		$num = count($child) / 2;
-		foreach ($child as $k => $v) {
-			$result[] = $this->button($v['to_uid'], $cur);
-			if ($v['to_uid'] == $cur) {
-				$index = $k;
+
+			$top = Dever::db('agent/member')->find($parent[0]['uid']);
+			if (!$top) {
+				Dever::alert('错误的上级用户信息');
 			}
-		}
-		if ($cur) {
-			$old = $result;
-			$result[$index] = $result[$num];
-			$result[$num] = $old[$index];
-			$index = $num;
+			$color = $this->parent_color;
+			# 状态记录 为1时是父级别 2是子级别
+			$state = 1;
+		} else {
+			Dever::alert('根用户无法查询');
+			$top = Dever::db('agent/member')->find($cur);
+			$color = $this->cur_color;
+			# 状态记录 为1时是父级别 2是子级别
+			$state = 2;
 		}
 		
- 		return array($result, $index);
-	}
-	#查询所有下级
-	public function index($mid){
-		$uid = Dever::input('mid',$mid);
+		$i = 0;
+		$data[$i]['id'] = $top['id'];
+		$data[$i]['name'] = $top['name'];
+		$data[$i]['parent_id'] = 0;
+		$data[$i]['itemStyle']['color'] = $color;
+
+		$this->getChild($data, $i, $top['id'], $parents, $cur, $state);
 		
-		#自己的所有直属下级
-		$invite = $this->invite($mid);
-		// print_R($invite);die;
-		if($invite){
-			foreach($invite as $k =>$v){
-				$member = $this->button($mid);
-				// if($mid == $uid){
-				// 	$info['name'] = $member['value'];
-				// 	$info['itemStyle']['color'] = 'blue';
-				// 	// $info['tooltip']['valueFormatter']= $member['value'];
+		$result = Dever::walk($data, 0);
 
-				// }else{
-				// 	$info['name'] = $member['value'];
-				// }
-				
-				$m1 = $this->button($v['to_uid']);
-				if($v['to_uid']==$uid){
-					$info['children'][$k]['name'] = $m1['value'];
-					$info['children'][$k]['itemStyle']['color'] = 'blue';
-				}else{
-					$info['children'][$k]['name'] = $m1['value'];
+		return $result[0];
+	}
+
+	public function getChild(&$data, &$i, $uid, $parents, $cur, $state, $next = true)
+	{
+		$child = Dever::db('agent/member')->select(array('parent_mid' => $uid));
+		if ($child) {
+			foreach ($child as $k => $v) {
+				$i++;
+				$data[$i]['id'] = $v['id'];
+				$data[$i]['name'] = $v['name'] . substr($v['mobile'], -4);
+				$data[$i]['parent_id'] = $v['parent_mid'];
+				$data[$i]['itemStyle']['color'] = $this->color;
+
+				$data[$i]['value'] = $v['name'] . '<br />' . $v['mobile'];
+				if ($v['role']) {
+					$role = Dever::db('setting/role')->find($v['role']);
+					if ($role) {
+						$data[$i]['value'] .= '<br />角色:' . $role['name'];
+					}
 				}
-				
-				$i1 = $this->invite($v['to_uid']);
-				if($i1){
-					foreach($i1 as $k1 => $v1){
-						$m2 = $this->button($v1['to_uid']);
-						if($v1['to_uid'] == $uid){
-							$info['children'][$k]['children'][$k1]['name'] = $m2['value'];
-							$info['children'][$k]['children'][$k1]['itemStyle']['color'] = 'blue';
-						}else{
-							$info['children'][$k]['children'][$k1]['name'] = $m2['value'];
-						}
-						
-						$i2 = $this->invite($v1['to_uid']);
-						if($i2){
-							foreach($i2 as $k2 => $v2){
-								$m3 = $this->button($v2['to_uid']);
-								if($v2['to_uid'] == $uid){
-									$info['children'][$k]['children'][$k1]['children'][$k2]['name'] = $m3['value'];
-									$info['children'][$k]['children'][$k1]['children'][$k2]['itemStyle']['color'] = 'blue';
-								}else{
-									$info['children'][$k]['children'][$k1]['children'][$k2]['name'] = $m3['value'];
-								}
-								
-								$i3 = $this->invite($v2['to_uid']);
-								if($i3){
-									foreach($i3 as $k3 => $v3){
-										$m4 = $this->button($v3['to_uid']);
-										if($v3['to_uid'] == $uid){
-											$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['name'] = $m4['value'];
-											$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['itemStyle']['color'] = 'blue';
-										}else{
-											$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['name'] = $m4['value'];
-										}
-								
-									$i4 = $this->invite($v3['to_uid']);
-										if($i4){
-											foreach($i4 as $k4 => $v4){
-												$m5 = $this->button($v4['to_uid']);
-												if($v4['to_uid'] == $uid){
-													$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['name'] = $m5['value'];
-													$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['itemStyle']['color'] = 'blue';
-												}else{
-													$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['name'] = $m5['value'];
-												}
-								
-								$i5 = $this->invite($v4['to_uid']);
-								if($i5){
-									foreach($i5 as $k5 => $v5){
-										$m6 = $this->button($v5['to_uid']);
-										if($v5['to_uid']==$uid){
-											$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['name'] = $m6['value'];
-											$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['itemStyle']['color'] = 'blue';
-										}else{
-											$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['name'] = $m6['value'];
-										}
-								
-								$i6 = $this->invite($v5['to_uid']);
-								if($i6){
-									foreach($i6 as $k6 => $v6){
-										$m7 = $this->button($v6['to_uid']);
-										if($v6['to_uid'] == $uid){
-											$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['children'][$k6]['name'] = $m7['value'];
-											$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['children'][$k6]['itemStyle']['color'] = 'blue';
-										}else{
-											$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['children'][$k6]['name'] = $m7['value'];
-										}
-								
-								// $i7 = $this->invite($v6['to_uid']);
-								// if($i7){
-								// 	foreach($i7 as $k7 => $v7){
-								// 		$m8 = $this->button($v7['to_uid']);
-								// 		if($v7['to_uid'] == $uid){
-								// 			$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['children'][$k6]['children'][$k7]['name'] = $m8['value'];
-								// 			$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['children'][$k6]['children'][$k7]['itemStyle']['color'] = 'blue';
-								// 		}else{
-								// 			$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['children'][$k6]['children'][$k7]['name'] = $m8['value'];
-								// 		}
-								
-								// $i8 = $this->invite($v7['to_uid']);
-								// if($i8){
-								// 	foreach($i8 as $k8 => $v8){
-								// 		$m9 = $this->button($v8['to_uid']);
-								// 		if($v8['to_uid'] == $uid){
-								// 			$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['children'][$k6]['children'][$k7]['children'][$k8]['name'] = $m9['value'];
-								// 			$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['children'][$k6]['children'][$k7]['children'][$k8]['name']['itemStyle']['color'] = 'blue';
-								// 		}else{
-								// 			$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['children'][$k6]['children'][$k7]['children'][$k8]['name'] = $m9['value'];
-								// 		}
-								
-								// $i9 = $this->invite($v8['to_uid']);
-								// if($i9){
-								// 	foreach($i9 as $k9 => $v9){
-								// 		$m10 = $this->button($v9['to_uid']);
-								// 		if($v9['to_uid'] == $uid){
-								// 			$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['children'][$k6]['children'][$k7]['children'][$k8]['children'][$k9]['name'] = $m10['value'];
-								// 			$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['children'][$k6]['children'][$k7]['children'][$k8]['children'][$k9]['itemStyle']['color'] = 'blue';
-								// 		}else{
-								// 			$info['children'][$k]['children'][$k1]['children'][$k2]['children'][$k3]['children'][$k4]['children'][$k5]['children'][$k6]['children'][$k7]['children'][$k8]['children'][$k9]['name'] = $m10['value'];
-								// 		}
-								
-								// 													}
-								// 												}else{}
-								// 											}
-								// 										}
-								// 									}
-								// 								}else{}
-															}
-														}
-													}
-												}else{}
-											}
-										}
-									}
-								}else{}
-							}
-						}
+				if ($v['level_id'] && $v['level_id'] > 0) {
+					$level = Dever::db('setting/level')->find($v['level_id']);
+					if ($level) {
+						$data[$i]['value'] .= '<br />等级:' . $level['name'];
 					}
-				}else{}
-			}
-		}else{}
-		// print_R($info);die;
-		// return Dever::render('index', $info);
-		exit(Dever::json_encode($info));
-		// return $info;
-	}
-	
-	#获取所有直属下级
-	public function invite($mid){
-		$invite = Dever::load('invite/api')->getChild($mid,$level_id = 1, false);
-		// print_R($invite);die;
-		return $invite;
-	}
-	#非顶级
-	public function button($mid, $cur = false, $color = 2){
-		$child = Dever::db('agent/member')->find($mid);
-		$role = Dever::db('setting/role')->find($child['role']);
-		$result = array();
-		$result['mid'] = $mid;
-		$result['name'] = $child['name'];
-		$result['value'] = $child['name']."\r\n".$child['mobile']."\r\n".$role['name'];
-		if (isset($child['level_id']) && $child['level_id'] && $child['level_id'] > 0) {
-			$level = Dever::db('setting/level')->find($child['level_id']);
-			$result['value'].= '('.$level['name'].')';
-		}
-		if(isset($child['source_id']) && $child['source_id'] && $child['source_id']>0){
-			$source=Dever::db('setting/source')->one(array('id'=>$child['source_id'],'state'=>1));
-            if($source){
-                $result['value'] .= "\r\n".$source['name'];
-            }
-		}
+				}
+				
 
-		if ($cur && $mid == $cur) {
-			if ($color == 1) {
-				$result['itemStyle']['color'] = 'green';
-			} else {
-				$result['itemStyle']['color'] = 'blue';
+				if ($cur == $uid) {
+					$data[$i]['itemStyle']['color'] = $this->child_color;
+				} 
+				if ($cur == $v['id']) {
+					$data[$i]['itemStyle']['color'] = $this->cur_color;
+					$next = true;
+					$state = 2;
+				} elseif ($parents && in_array($v['id'], $parents)) {
+					$data[$i]['itemStyle']['color'] = $this->parent_color;
+					$next = false;
+					$this->getChild($data, $i, $v['id'], $parents, $cur, $state, $next);
+				} elseif ($state == 1) {
+					$next = false;
+				} else {
+					$next = true;
+				}
+
+				if ($next) {
+					$this->getChild($data, $i, $v['id'], $parents, $cur, $state, $next);
+				}
 			}
-			
 		}
-		
-		return $result;
 	}
-	
 }

+ 3 - 2
service/agent/src/My.php

@@ -740,10 +740,11 @@ class My extends Core
         $ycash = $cash;
         $cash = $cash - $cash*$tax;
 
-        $id = Dever::load('bill/lib/tixian')->up($this->uid, $ycash, $cash,$sign);
+        $id = Dever::load('bill/lib/tixian')->up($this->uid, $ycash, $cash, $sign);
 
         if ($id) {
-            $cash_id = Dever::load('bill/lib/cash')->up($this->uid, 11, $ycash, $this->user['role'], $id, '提现到'.substr($card, -4).'银行卡', 1);
+            //$cash_id = Dever::load('bill/lib/cash')->up($this->uid, 11, $ycash, $this->user['role'], $id, '提现到'.substr($card, -4).'银行卡', 1);
+            $cash_id = Dever::load('bill/lib/cash')->up($this->uid, 11, $ycash, $this->user['role'], $id, '提现', 1);
 
             Dever::db('bill/tixian')->update(array('where_id' => $id, 'cash_id' => $cash_id));
 

+ 24 - 26
service/bill/database/cash.php

@@ -39,7 +39,7 @@ $role = function()
 $mid = Dever::input('search_option_mid');
 $button = array();
 if ($mid) {
-    $button['返回上一页'] = array('location', 'l=project/database/list&project=agent&table=member_area&page_type=1&mid=' . $mid);
+    $button['返回上一页'] = array('location', 'l=project/database/list&project=agent&table=member_area&page_type=1&mid=' . $mid . '&[refer]');
     if (Dever::load('manage/auth')->checkFunc('agent.member', 'edit1', '发放资金')) {
         $button['发放资金'] = array('fast', '', 'push_cash&search_option_mid=' . $mid);
     }
@@ -50,7 +50,7 @@ if ($mid) {
     // );
 }
 $list_button = array();
-$list_button['list'] = array('查看详情', '"push_cash&project=bill&id={id}&page_type=1"');
+$list_button['list'] = array('查看详情', '"push_cash&project=bill&id={id}&page_type=1&[refer]"');
 if (Dever::load('manage/auth')->checkFunc('bill.tixian', 'edit', '审核')) {
     $list_button['fast'] = array('审核', '"cash&where_id={id}&col=audit,audit_desc&oper_save_jump=cash&oper_table=cash&oper_parent=cash"', '{status} == 1');
 }
@@ -90,20 +90,21 @@ return array
         'mid'      => array
         (
             'type'      => 'int-11',
-            'name'      => '手机号',
+            'name'      => '代理商姓名/手机号',
             'default'   => '-1',
             'desc'      => '代理商',
             'match'     => 'is_string',
             'update'    => 'text',
-            'search'    => $mid ? 'hidden' : array
+            'search'    => array
             (
-                'api' => 'agent/member-find',
-                'col' => 'mobile',
+                'api' => 'agent/member-getSearch',
+                'col' => 'col',
                 'result' => 'id',
+                'search' => 'mid',
             ),
-            // 'list_name' => '手机号',
-            // 'list'      => 'Dever::load("agent/member-find#mobile", {mid})',
-            // 'list_order' => 4,
+            'list_name' => '代理商信息',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
+            'list_order' => 1,
         ),
 
         'agent-member-name'=> array
@@ -114,16 +115,12 @@ return array
             'match'     => 'option',
             # 读取另外表的关联方式
             'sync'      => array('mid', 'id'),
-            'list'      => true,
-            'search'    => array
+            'searchs'    => array
             (
                 'api' => 'agent/member-find',
                 'col' => 'name',
                 'result' => 'id',
             ),
-            'list_name' => '姓名<br />手机号<br />代理角色',
-            'list'      =>'Dever::load("agent/lib/member.getOne", {mid})',
-            'list_order' => 3,
         ),
 
         'agent-member-role'=> array
@@ -147,10 +144,10 @@ return array
             'match'     => 'is_string',
             'update'    => 'text',
             'search'    => 'fulltext',
-            'list'      => true,
-            'list_name' => '流水号<br />交易时间',
-            'list'      =>'Dever::load("bill/lib/cash.order_num#num", {id})',
-            'list_order'  => 1,
+            //'list'      => true,
+            //'list_name' => '流水号<br />交易时间',
+            //'list'      =>'Dever::load("bill/lib/cash.order_num#num", {id})',
+            //'list_order'  => 1,
         ),
 
         'role'      => array
@@ -177,7 +174,7 @@ return array
             'update'    => 'checkbox',
             'option'    => $type,
             'list'      => true,
-            'list_order' => 7,
+            'list_order' => 2,
         ),
 
         'type_id'      => array
@@ -200,7 +197,7 @@ return array
             'update'    => 'text',
             'list_name' => '金额<br />操作后余额',
             'list'      =>'Dever::load("bill/lib/cash.order_num#cash", {id})',
-             'list_order' => 6,
+             'list_order' => 4,
         ),
 
         'yue'      => array
@@ -227,7 +224,7 @@ return array
             'search'    => 'select',
             'list'      => true,
             'list_name' => '交易状态',
-            'list_order' => 8,
+            'list_order' => 3,
         ),
 
         'audit'        => array
@@ -252,7 +249,7 @@ return array
             'match'     => 'is_string',
             'update'    => 'textarea',
             'list'      => '"{audit_desc}" ? "{audit_desc}" : "-"',
-            'list_order'  => 9,
+            'list_order'  => 5,
             'show'      => 'audit=3',
         ),
 
@@ -273,8 +270,8 @@ return array
             'default'   => '',
             'match'     => 'is_numeric',
             'desc'      => '',
-            'list'      => '"{operdate}" > 0 ? date("Y-m-d H:i", {operdate}) : "-"',
-            'list_order'  => 9,
+            //'list'      => '"{operdate}" > 0 ? date("Y-m-d H:i", {operdate}) : "-"',
+            //'list_order'  => 9,
         ),
 
         'state'     => array
@@ -295,8 +292,9 @@ return array
             # 只有insert时才生效
             //'insert'    => true,
             'search'    => 'date',
-            // 'list'      => 'date("Y-m-d H:i", {cdate})',
-            // 'list_order'  => 2,
+            'list_name'      => '交易时间<br />审核时间',
+            'list'      => 'Dever::load("bill/lib/cash.order_num#num", {id})',
+            'list_order'  => 20,
         ),
     ),
 

+ 11 - 14
service/bill/database/sell.php

@@ -13,7 +13,7 @@ $role = function()
 $mid = Dever::input('search_option_mid');
 $button = array();
 if ($mid) {
-    $button['返回上一页'] = array('location', 'l=project/database/list&project=agent&table=member_area&page_type=1&mid=' . $mid);
+    $button['返回上一页'] = array('location', 'l=project/database/list&project=agent&table=member_area&page_type=1&mid=' . $mid . '&[refer]');
     if (Dever::load('manage/auth')->checkFunc('agent.member', 'edit2', '发放业绩')) {
         $button['发放业绩'] = array('fast', '', 'push_sell&search_option_mid=' . $mid);
     }
@@ -66,20 +66,21 @@ return array
         'mid'      => array
         (
             'type'      => 'int-11',
-            'name'      => '手机号',
+            'name'      => '代理商姓名/手机号',
             'default'   => '-1',
             'desc'      => '代理商',
             'match'     => 'is_string',
             'update'    => 'text',
-            'search'    => $mid ? 'hidden' : array
+            'search'    => array
             (
-                'api' => 'agent/member-find',
-                'col' => 'mobile',
+                'api' => 'agent/member-getSearch',
+                'col' => 'col',
                 'result' => 'id',
+                'search' => 'mid',
             ),
-            // 'list_name' => '手机号',
-            // 'list'      => 'Dever::load("agent/member-find#mobile", {mid})',
-            // 'list_order' => 4,
+            'list_name' => '代理商信息',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
+            'list_order' => 1,
         ),
 
         'agent-member-name'=> array
@@ -91,17 +92,13 @@ return array
             # 读取另外表的关联方式
             'sync'      => array('mid', 'id'),
             // 'search'    => 'fulltext',
-            'search'    => array
+            'searchs'    => array
             (
                 'api' => 'agent/member-find',
                 'col' => 'name',
                 'result' => 'id',
                 'search' => 'mid',
             ),
-            'list'      => true,
-            'list_name' => '姓名<br />手机号<br />代理角色',
-            'list'      =>'Dever::load("agent/lib/member.getOne", {mid})',
-            'list_order' => 3,
         ),
 
         'agent-member-role'=> array
@@ -220,7 +217,7 @@ return array
             //'insert'    => true,
             'search'    => 'date',
             'list'      => 'date("Y-m-d H:i", {cdate})',
-            'list_order'  => 2,
+            'list_order'  => 20,
         ),
     ),
 

+ 19 - 19
service/bill/database/tixian.php

@@ -3,8 +3,9 @@
 $status = array
 (
     -1 => array('name' => '未审核待发放', 'style' => 'font-weight:bold;color:#436EEE'),
-    2 => array('name' => '已审核待发放', 'style' => 'font-weight:bold;color:green'),
-    3 => array('name' => '已发放', 'style' => 'font-weight:bold;color:#CD3700'),
+    1 => array('name' => '已审核待发放', 'style' => 'font-weight:bold;color:green'),
+    //2 => array('name' => '已审核待发放', 'style' => 'font-weight:bold;color:green'),
+    2 => array('name' => '已发放', 'style' => 'font-weight:bold;color:#CD3700'),
 );
 
 $cash_status = array
@@ -20,7 +21,7 @@ $manage_status = array
     2 => '已发放',
 );
 $list_button = array();
-$list_button['list'] = array('查看详情', '"push_cash&project=bill&id={cash_id}&page_type=1"');
+$list_button['list'] = array('查看详情', '"push_cash&project=bill&id={cash_id}&page_type=1&[refer]"');
 if (Dever::load('manage/auth')->checkFunc('bill.tixian', 'edit1', '发放')) {
     $list_button['fast'] = array('发放', '"tixian&where_id={id}&col=audit,audit_desc,pic&oper_save_jump=tixian&oper_table=tixian&oper_parent=tixian"', '{status} == 1 && "{bill-cash-status}" == 2');
 }
@@ -60,20 +61,21 @@ return array
         'mid'      => array
         (
             'type'      => 'int-11',
-            'name'      => '手机号',
+            'name'      => '代理商姓名/手机号',
             'default'   => '-1',
             'desc'      => '代理商',
             'match'     => 'is_string',
             'update'    => 'text',
-            'search'    => $mid ? 'hidden' : array
+            'search'    => array
             (
-                'api' => 'agent/member-find',
-                'col' => 'mobile',
+                'api' => 'agent/member-getSearch',
+                'col' => 'col',
                 'result' => 'id',
+                'search' => 'mid',
             ),
-            // 'list_name' => '手机号',
-            // 'list'      => 'Dever::load("agent/member-find#mobile", {mid})',
-            // 'list_order' => 4,
+            'list_name' => '代理商信息',
+            'list'      => 'Dever::load("agent/lib/member.getOne", {mid}, "agent/member", true)',
+            'list_order' => 3,
         ),
 
         'agent-member-name'=> array
@@ -84,11 +86,6 @@ return array
             'match'     => 'option',
             # 读取另外表的关联方式
             'sync'      => array('mid', 'id'),
-            'list'      => true,
-            'search'    => 'fulltext',
-            'list_name' => '姓名<br />手机号<br />代理角色',
-            'list'      =>'Dever::load("agent/lib/member.getOne", {mid})',
-            'list_order' => 3,
         ),
 
         'agent-member-role'=> array
@@ -175,11 +172,11 @@ return array
             # 读取另外表的关联方式
             'sync'      => array('cash_id', 'id'),
             'search'    => 'select',
-            'list'      => true,
+            //'list'      => true,
             'option'	=> $cash_status,
-            'list_name' => '交易状态<br />发放状态',
-            'list'      => 'Dever::load("bill/lib/tixian.order_num#status",{id})',
-            'list_order' => 9,
+            //'list_name' => '交易状态<br />发放状态',
+            //'list'      => 'Dever::load("bill/lib/tixian.order_num#status",{id})',
+            //'list_order' => 9,
         ),
 
         'status'        => array
@@ -194,6 +191,9 @@ return array
             'search'    => 'select',
             // 'list'      => true,
             // 'list_order' => 10,
+            'list_name' => '交易状态',
+            'list'      => true,
+            'list_order' => 9,
         ),
 
         'audit'        => array

+ 8 - 8
service/bill/lib/Cash.php

@@ -175,6 +175,7 @@ class Cash
                     }
                 }
 
+                /*
                 $bank = Dever::db('setting/bank')->find($tixian['bank']);
                 $result['提现信息'] = array
                 (
@@ -194,6 +195,7 @@ class Cash
                         ),
                     )
                 );
+                */
 
                 if ($tixian['status'] == 2) {
                     if ($tixian['operdate']) {
@@ -228,16 +230,10 @@ class Cash
                 
             }
         }
-        $menu_id = Dever::input('menu_id');
-        if($menu_id == 252){
-             $url = Dever::url('project/database/list&project=bill&table=tixian&menu=bill&search_option_state=1&menu_id=252', 'manage');
-         }elseif($menu_id == 245){
-            $url = Dever::url('project/database/list&project=bill&table=cash&menu=bill&search_option_state=1&menu_id=245', 'manage');
-         }
          $button[] = array
         (
             'type' => 'link',
-            'link' => $url,
+            'link' => 'refer',
             'name' => '返回上一页',
         );
         $head = array
@@ -252,7 +248,11 @@ class Cash
     public function order_num($id){
         $info = Dever::db('bill/cash')->find($id);
         $cdate = date('Y-m-d H:i',$info['cdate']);
-        $html['num'] = $info['order_num'].'<br/>'.$cdate;
+        $odate = '';
+        if ($info['operdate']) {
+            $odate = date('Y-m-d H:i',$info['operdate']);
+        }
+        $html['num'] = $cdate . '<br/>'.$odate;
         $html['cash'] = $info['cash'] . '<br />' . $info['yue'];
         return $html;
     }

+ 4 - 2
service/bill/lib/Tixian.php

@@ -44,10 +44,12 @@ class Tixian
     public function order_num($id){
         $info = Dever::db('bill/tixian')->find($id);
         $cdate = date('Y-m-d H:i',$info['cdate']);
-        $operdate = date('Y-m-d H:i',$info['operdate']);
-        if(!$operdate){
+        if ($info['operdate']) {
+            $operdate = date('Y-m-d H:i',$info['operdate']);
+        } else {
             $operdate = '-';
         }
+
         $html['name'] = $info['order_num'].'<br />'.$cdate.'<br />'.$operdate;
         $html['money'] = $info['ycash'].'<br />'.$info['cash'].'<br />'.$info['yue'];
         $cash = Dever::db('bill/cash')->find($id);