【增加】增加每日结算设置

This commit is contained in:
liqianjin 2023-02-20 16:36:56 +08:00
parent 4abe833196
commit ac649c026d
28 changed files with 1816 additions and 65 deletions

View File

@ -16,6 +16,7 @@ use addon\fenxiao\model\FenxiaoOrder as FenxiaoOrderModel;
use addon\fenxiao\model\Fenxiao; use addon\fenxiao\model\Fenxiao;
use think\Exception; use think\Exception;
use think\facade\Log; use think\facade\Log;
use app\model\order\Order as BaseOrder;
/** /**
* 分销订单 * 分销订单
@ -118,14 +119,45 @@ class Order extends BaseApi
return $this->response(event("DaySettlement")); return $this->response(event("DaySettlement"));
} }
public function testOrderPay(){ public function testAreaMonthlyReward(){
try{ event("AreaMonthlyReward");
event("OrderPay",model('order')->getInfo([['order_id','=',220]]));
Log::debug('11111111111111111111111111111');
}catch(Exception $exception){
$this->response($exception->getMessage());
}
return $this->response([]); return $this->response([]);
} }
public function testPointexchangeOrderPayNotify(){
return $this->response(event("PointexchangeOrderPayNotify",['out_trade_no'=>'16768593884624691000']));
$order = new BaseOrder;
// return $this->response( $order->addOrderLog(["id" => 265,
// "site_id" => 1,
// "out_trade_no" => "16768593884624691000",
// "pay_type" => "POINT",
// "trade_no" => "",
// "pay_no" => "",
// "pay_body" => "测试商品 【商品】",
// "pay_detail" => "测试商品 【商品】",
// "pay_money" => "0.00",
// "pay_addon" => "",
// "pay_voucher" => "",
// "pay_status" => 2,
// "return_url" => "",
// "event" => "PointexchangeOrderPayNotify",
// "mch_info" => "",
// "create_time" => 1676859389,
// "pay_time" => 1676859389,
// "balance" => "0.00",
// "balance_money" => "0.00",
// "member_id" => 0,
// "pay_json" => "",
// "order_id" => 262,
// "action" => "商家对订单进行了线下支付",
// "order_status" => 1,
// "order_status_name" => "待发货"]));
}
public function testPayType(){
return $this->response(event('PayType', []));
}
} }

View File

@ -84,7 +84,10 @@ return [
//每日结算 //每日结算
'DaySettlement' => [ 'DaySettlement' => [
'addon\fenxiao\event\DaySettlement', 'addon\fenxiao\event\DaySettlement',
] ],
'AreaMonthlyReward'=>[ //区域代理月结
'addon\fenxiao\event\AutoAreaMonthlyReward', //区域代理月结
],
], ],
'subscribe' => [ 'subscribe' => [

View File

@ -0,0 +1,23 @@
<?php
/**
* SAAS应用系统 --- 十年开发经验汇集巨献!
* ==========================================================
* Copy right 2020-2050 成都众联思索科技有限公司,保留所有权利。
* ----------------------------------------------------------
* 官方网址: https://www.zoomtk.com
* 这不是自由软件!未经允许不得用于商业目或程序代码摘取及修改。
* 任何企业和个人未经允许对程序代码以任何形式任何目的再发布传播。
* 唯一发布渠道www.zoomtk.com;非官方渠道统一视为侵权行为。
* ==========================================================
*/
namespace addon\fenxiao\event;
use addon\fenxiao\model\FenxiaoOrder;
class AutoAreaMonthlyReward
{
public function handle()
{
$fenxiao_order_model = new FenxiaoOrder();
$res = $fenxiao_order_model->areaMonthlySettlement();
return $res;
}
}

View File

@ -0,0 +1,125 @@
<?php
/**
* SAAS应用系统 --- 十年开发经验汇集巨献!
* ==========================================================
* Copy right 2020-2050 成都众联思索科技有限公司,保留所有权利。
* ----------------------------------------------------------
* 官方网址: https://www.zoomtk.com
* 这不是自由软件!未经允许不得用于商业目或程序代码摘取及修改。
* 任何企业和个人未经允许对程序代码以任何形式任何目的再发布传播。
* 唯一发布渠道www.zoomtk.com;非官方渠道统一视为侵权行为。
* ==========================================================
*/
namespace addon\fenxiao\model;
use app\model\BaseModel;
class Ageen extends BaseModel
{
/**
* 添加分销等级
* @param $data
* @return array
*/
public function add($data)
{
$data['create_time'] = time();
// $data['status'] = 1;
$res = model('fenxiao_agent')->add($data);
return $this->success($res);
}
/**
* 编辑分销等级
* @param $data
* @param array $condition
* @return array
*/
public function edit($data, $condition = [])
{
$data['update_time'] = time();
$res = model('fenxiao_agent')->update($data, $condition);
return $this->success($res);
}
/**
* 删除分销等级
* @param array $condition
* @return array
*/
public function delete($id)
{
$fenxiao_model = new Fenxiao();
$res = model('fenxiao_agent')->delete([['id', '=', $id]]);
return $this->success($res);
}
/**
* 获取分销等级信息
* @param array $condition
* @param string $field
* @return array
*/
public function getInfo($condition = [], $field = '*')
{
$res = model('fenxiao_agent')->getInfo($condition, $field);
return $this->success($res);
}
/**
* @param array $condition
* @param string $field
* @return array
*/
public function getColumn($condition = [], $field = 'level_id')
{
$list = model('fenxiao_agent')->getColumn($condition, $field);
return $this->success($list);
}
/**
* 获取分销商等级列表
* @param array $condition
* @param string $field
* @param string $order
* @param string $limit
*/
public function getList($condition = [], $field = '*', $order = '', $limit = null)
{
$list = model('fenxiao_agent')->getList($condition, $field, $order, '', '', '', $limit);
return $this->success($list);
}
/**
* 获取分销商等级分页列表
* @param array $condition
* @param number $page
* @param string $page_size
* @param string $order
* @param string $field
*/
public function getPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = '', $field = '*')
{
$condition[] = [ 'f.is_delete', '=', 0 ];
$field = 'f.*,pf.fenxiao_name as parent_name,m.username,m.nickname,m.mobile as member_mobile,m.headimg,a.agent_level_id,a.agent_level_name,a.id';
$alias = 'a';
$join = [
[
'fenxiao f',
'a.fenxiao_id = f.fenxiao_id',
'left'
],
[
'fenxiao pf',
'pf.fenxiao_id = f.parent',
'left'
],
[
'member m',
'm.member_id = f.member_id',
'left'
],
];
$list = model('fenxiao_agent')->pageList($condition, $field, $order, $page, $page_size, $alias, $join);
// $list = model('fenxiao_agent')->pageList($condition, $field, $order, $page, $page_size);
return $this->success($list);
}
}

View File

@ -0,0 +1,140 @@
<?php
/**
* SAAS应用系统 --- 十年开发经验汇集巨献!
* ==========================================================
* Copy right 2020-2050 成都众联思索科技有限公司,保留所有权利。
* ----------------------------------------------------------
* 官方网址: https://www.zoomtk.com
* 这不是自由软件!未经允许不得用于商业目或程序代码摘取及修改。
* 任何企业和个人未经允许对程序代码以任何形式任何目的再发布传播。
* 唯一发布渠道www.zoomtk.com;非官方渠道统一视为侵权行为。
* ==========================================================
*/
namespace addon\fenxiao\model;
use app\model\BaseModel;
class AgeenLevel extends BaseModel
{
/**
* 添加分销等级
* @param $data
* @return array
*/
public function addLevel($data)
{
$data['create_time'] = time();
$data['status'] = 1;
$res = model('fenxiao_agent_level')->add($data);
return $this->success($res);
}
/**
* 编辑分销等级
* @param $data
* @param array $condition
* @return array
*/
public function editLevel($data, $condition = [])
{
$data['update_time'] = time();
$res = model('fenxiao_agent_level')->update($data, $condition);
if ($res) {
if (isset($data['level_name']) && $data['level_name'] != '') {
$condition[0][0] = 'agent_level_id';
model('fenxiao')->update(['agent_level_name' => $data['level_name']], $condition);
}
}
return $this->success($res);
}
/**
* 删除分销等级
* @param array $condition
* @return array
*/
public function deleteLevel($level_id, $site_id)
{
$fenxiao_model = new Fenxiao();
$fenxiao_list = $fenxiao_model->getFenxiaoList([['agent_level_id', '=', $level_id]], 'fenxiao_id');
if (empty($fenxiao_list['data'])) {
$res = model('fenxiao_agent_level')->delete([['level_id', '=', $level_id], ['site_id', '=', $site_id]]);
return $this->success($res);
} else {
return $this->error('', '该分销等级存在其他分销商,无法删除');
}
}
/**
* 获取分销等级信息
* @param array $condition
* @param string $field
* @return array
*/
public function getLevelInfo($condition = [], $field = '*')
{
$res = model('fenxiao_agent_level')->getInfo($condition, $field);
return $this->success($res);
}
/**
* @param array $condition
* @param string $field
* @return array
*/
public function getLevelColumn($condition = [], $field = 'level_id')
{
$list = model('fenxiao_agent_level')->getColumn($condition, $field);
return $this->success($list);
}
/**
* 获取分销商等级列表
* @param array $condition
* @param string $field
* @param string $order
* @param string $limit
*/
public function getLevelList($condition = [], $field = '*', $order = '', $limit = null)
{
$list = model('fenxiao_agent_level')->getList($condition, $field, $order, '', '', '', $limit);
return $this->success($list);
}
/**
* 获取分销商等级分页列表
* @param array $condition
* @param number $page
* @param string $page_size
* @param string $order
* @param string $field
*/
public function getLevelPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = '', $field = '*')
{
$list = model('fenxiao_agent_level')->pageList($condition, $field, $order, $page, $page_size);
return $this->success($list);
}
/**
* 获取最低的分销商等级
* @param array $condition
* @param string $field
* @return array
*/
public function getMinLevel($condition = [], $field = '*')
{
$info = model('fenxiao_agent_level')->getFirstData($condition, $field, 'level_num asc,one_rate asc');
return $this->success($info);
}
/**
* 某项排序的第一个
* @param $condition
* @param $field
* @param $order
* @return array
*/
public function getLevelFirst($condition, $field, $order)
{
$first = model('fenxiao_agent_level')->getFirstData($condition, $field, $order);
return $this->success($first);
}
}

View File

@ -14,6 +14,7 @@ use app\model\BaseModel;
use app\model\member\MemberAccount; use app\model\member\MemberAccount;
use app\model\message\Message; use app\model\message\Message;
use app\model\system\Stat; use app\model\system\Stat;
use think\facade\Db;
use think\facade\Log; use think\facade\Log;
/** /**
@ -34,16 +35,20 @@ class FenxiaoOrder extends BaseModel
//上月 //上月
$begin_time = strtotime(date('Y-m-01 00:00:00', strtotime('-1 month'))); $begin_time = strtotime(date('Y-m-01 00:00:00', strtotime('-1 month')));
$end_time = strtotime(date("Y-m-d 23:59:59", strtotime(-date('d') . 'day'))); $end_time = strtotime(date("Y-m-d 23:59:59", strtotime(-date('d') . 'day')));
$fenxiao = Db::name('fenxiao')->where([['is_area_agent', '=', 1],['status','=',1]])->column('fenxiao_id,site_id,member_id,fenxiao_name,agent_level_id,province_id,city_id,district_id,parent', 'fenxiao_id'); $fenxiao = Db::name('fenxiao_agent')->alias('a')->join(
'fenxiao f',
'a.fenxiao_id = f.fenxiao_id',
'left'
)->where([['f.status','=',1]])->column('f.fenxiao_id,f.site_id,member_id,fenxiao_name,agent_level_id,province_id,city_id,district_id,parent', 'f.fenxiao_id');
//获取分销基础配置 //获取分销基础配置
$config_model = new Config(); $config_model = new Config();
$fenxiao_basic_config = $config_model->getFenxiaoBasicsConfig(1); $fenxiao_basic_config = $config_model->getFenxiaoBasicsConfig(1);
$fenxiao_account = new FenxiaoAccount(); $fenxiao_member_account = new MemberAccount();
foreach ($fenxiao as $fenxiao_id => $item) { foreach ($fenxiao as $fenxiao_id => $item) {
$fenxiao_agent_level = Db::name('fenxiao_agent_level')->where('level_id', '=', $item['agent_level_id'])->field('type,flower_multiple,status')->find(); $fenxiao_agent_level = Db::name('fenxiao_agent_level')->where('level_id', '=', $item['agent_level_id'])->field('type,flower_multiple,status')->find();
$where = [ $where = [
['fo.create_time', 'BETWEEN', [$begin_time, $end_time]], // ['fo.create_time', 'BETWEEN', [$begin_time, $end_time]],
// ['fo.create_time', 'BETWEEN', [$beginThismonth, $endThismonth]], ['fo.create_time', 'BETWEEN', [$beginThismonth, $endThismonth]],
['o.'.$fenxiao_agent_level['type'].'_id', '=', $item[$fenxiao_agent_level['type'].'_id']] ['o.'.$fenxiao_agent_level['type'].'_id', '=', $item[$fenxiao_agent_level['type'].'_id']]
]; ];
$fenxia_area_order_info = Db::name('fenxiao_order') $fenxia_area_order_info = Db::name('fenxiao_order')
@ -53,30 +58,31 @@ class FenxiaoOrder extends BaseModel
->field('sum(real_goods_money) as real_goods_money') ->field('sum(real_goods_money) as real_goods_money')
->find(); ->find();
$money = $fenxia_area_order_info['real_goods_money'] * $fenxiao_agent_level['flower_multiple']/100; $money = $fenxia_area_order_info['real_goods_money'] * $fenxiao_agent_level['flower_multiple']/100;
$fruit_num = $money * $fenxiao_basic_config['data']['value']['fruit_flower_rate']; $fenxiao_member_account->addMemberAccount($item[ 'site_id' ], $item['member_id'], 'balance_money', $money, 'area', '区域代理结算', '区域代理结算');
$account_model = new FenxiaoAccount();
//添加茶果
$udata = [
'flower_num' => Db::raw('flower_num -' . $money),
'fruit_num' => Db::raw('fruit_num +' . $fruit_num),
];
Db::name('fenxiao')->where([[ 'fenxiao_id', '=', $fenxiao_id ]])->update($udata);
$account_model->addAccountLog($fenxiao_id, $item['fenxiao_name'], 'fruit', $fruit_num, '', "代理奖励茶果-{$fruit_num}");
$account_model->addAccountLog($fenxiao_id, $item['fenxiao_name'], 'flower', '-' . $money, '', "茶花转茶果{$money}");
if($fenxiao_basic_config['data']['value']['agent_level_parent_rate'] > 0){
$money = $money * $fenxiao_basic_config['data']['value']['agent_level_parent_rate'] / 100; // //添加茶果
$fruit_num = $money * $fenxiao_basic_config['data']['value']['fruit_flower_rate']; // $udata = [
//添加茶果 // 'flower_num' => Db::raw('flower_num -' . $money),
$udata = [ // 'fruit_num' => Db::raw('fruit_num +' . $fruit_num),
'flower_num' => Db::raw('flower_num -' . $money), // ];
'fruit_num' => Db::raw('fruit_num +'.$fruit_num) // Db::name('fenxiao')->where([[ 'fenxiao_id', '=', $fenxiao_id ]])->update($udata);
]; // $account_model->addAccountLog($fenxiao_id, $item['fenxiao_name'], 'fruit', $fruit_num, '', "代理奖励茶果-{$fruit_num}");
$fenxiaoParent = Db::name('fenxiao')->where('fenxiao_id','=',$item['parent'])->alias('fenxiao_name')->find(); // $account_model->addAccountLog($fenxiao_id, $item['fenxiao_name'], 'flower', '-' . $money, '', "茶花转茶果{$money}");
Db::name('fenxiao')->where([['fenxiao_id','=',$item['parent']]])->update($udata); //
$account_model->addAccountLog($item['parent'],$fenxiaoParent['fenxiao_name'],'fruit',$fruit_num,'',"推荐代理奖励茶果-{$fruit_num}"); // if($fenxiao_basic_config['data']['value']['agent_level_parent_rate'] > 0){
$account_model->addAccountLog($item['parent'],$fenxiaoParent['fenxiao_name'], 'flower', '-' . $money, '', "茶花转茶果{$money}"); // $money = $money * $fenxiao_basic_config['data']['value']['agent_level_parent_rate'] / 100;
} // $fruit_num = $money * $fenxiao_basic_config['data']['value']['fruit_flower_rate'];
// //添加茶果
// $udata = [
// 'flower_num' => Db::raw('flower_num -' . $money),
// 'fruit_num' => Db::raw('fruit_num +'.$fruit_num)
// ];
// $fenxiaoParent = Db::name('fenxiao')->where('fenxiao_id','=',$item['parent'])->alias('fenxiao_name')->find();
// Db::name('fenxiao')->where([['fenxiao_id','=',$item['parent']]])->update($udata);
// $account_model->addAccountLog($item['parent'],$fenxiaoParent['fenxiao_name'],'fruit',$fruit_num,'',"推荐代理奖励茶果-{$fruit_num}");
// $account_model->addAccountLog($item['parent'],$fenxiaoParent['fenxiao_name'], 'flower', '-' . $money, '', "茶花转茶果{$money}");
// }
} }
return $this->success(); return $this->success();
} }
@ -260,7 +266,9 @@ class FenxiaoOrder extends BaseModel
'three_fenxiao_name' => empty($grand_parent_fenxiao_info) ? '' : $grand_parent_fenxiao_info[ 'fenxiao_name' ], 'three_fenxiao_name' => empty($grand_parent_fenxiao_info) ? '' : $grand_parent_fenxiao_info[ 'fenxiao_name' ],
'create_time' => time() 'create_time' => time()
]; ];
$this->orderGive($data); if($order['promotion_type'] != 'pointexchange'){
$this->orderGive($data);
}
model("fenxiao_order")->add($data); model("fenxiao_order")->add($data);
} }
// 分销商检测升级 // 分销商检测升级

View File

@ -0,0 +1,97 @@
<?php
/**
* SAAS应用系统 --- 十年开发经验汇集巨献!
* ==========================================================
* Copy right 2020-2050 成都众联思索科技有限公司,保留所有权利。
* ----------------------------------------------------------
* 官方网址: https://www.zoomtk.com
* 这不是自由软件!未经允许不得用于商业目或程序代码摘取及修改。
* 任何企业和个人未经允许对程序代码以任何形式任何目的再发布传播。
* 唯一发布渠道www.zoomtk.com;非官方渠道统一视为侵权行为。
* ==========================================================
*/
namespace addon\fenxiao\shop\controller;
use addon\fenxiao\model\Config as ConfigModel;
use addon\fenxiao\model\AgeenLevel;
use app\shop\controller\BaseShop;
class Agentlevel extends BaseShop
{
/**
* 等级列表
*/
public function lists()
{
$model = new AgeenLevel();
if (request()->isAjax()) {
$page = input('page', 1);
$page_size = input('page_size', PAGE_LIST_ROWS);
$list = $model->getLevelPageList([['site_id', '=', $this->site_id]], $page, $page_size, '', '*');
return $list;
} else {
// //获取系统配置
// $config_model = new ConfigModel();
// $basics = $config_model->getFenxiaoBasicsConfig($this->site_id);
// $this->assign("basics_info", $basics['data']['value']);
return $this->fetch('agentlevel/lists');
}
}
/**
* 添加等级
*/
public function add()
{
$model = new AgeenLevel();
if (request()->isAjax()) {
$data = [
'site_id' => $this->site_id,
'level_name' => input('level_name', ''),
'type' => input('type', ''),
'remark' => input('remark', ''),
'flower_multiple' => input('flower_multiple', ''),
'flower_times' => input('flower_times', '')
];
$res = $model->addLevel($data);
return $res;
} else {
return $this->fetch('agentlevel/add');
}
}
/**
* 编辑等级
*/
public function edit()
{
$model = new AgeenLevel();
if (request()->isAjax()) {
$data = [
'level_name' => input('level_name', ''),
'type' => input('type', ''),
'remark' => input('remark', ''),
'flower_multiple' => input('flower_multiple', 0),
'flower_times' => input('flower_times', '')
];
$level_id = input('level_id', '');
$res = $model->editLevel($data, [['level_id', '=', $level_id], ['site_id', '=', $this->site_id]]);
return $res;
} else {
$level_id = input('level_id', '');
$info = $model->getLevelInfo([['level_id', '=', $level_id], ['site_id', '=', $this->site_id]]);
if (empty($info['data'])) return $this->error('未获取到等级数据', addon_url('fenxiao://shop/agentlevel/lists'));
$this->assign('info', $info['data']);
}
return $this->fetch('agentlevel/edit');
}
/**
* 删除分销等级
*/
public function delete()
{
$model = new AgeenLevel();
$level_id = input('level_id', '');
$res = $model->deleteLevel($level_id, $this->site_id);
return $res;
}
}

View File

@ -0,0 +1,160 @@
<?php
/**
* SAAS应用系统 --- 十年开发经验汇集巨献!
* ==========================================================
* Copy right 2020-2050 成都众联思索科技有限公司,保留所有权利。
* ----------------------------------------------------------
* 官方网址: https://www.zoomtk.com
* 这不是自由软件!未经允许不得用于商业目或程序代码摘取及修改。
* 任何企业和个人未经允许对程序代码以任何形式任何目的再发布传播。
* 唯一发布渠道www.zoomtk.com;非官方渠道统一视为侵权行为。
* ==========================================================
*/
namespace addon\fenxiao\shop\controller;
use addon\fenxiao\model\Ageen;
use addon\fenxiao\model\Config as ConfigModel;
use addon\fenxiao\model\Fenxiao as FenxiaoModel;
use addon\fenxiao\model\AgeenLevel;
use app\model\system\Address as AddressModel;
use app\shop\controller\BaseShop;
use think\facade\Db;
class Area extends BaseShop
{
/**
* 区域列表
*/
public function lists()
{
$model = new Ageen();
if (request()->isAjax()) {
$condition = [];
$condition[] = ['f.site_id', '=', $this->site_id];
// $condition[] = ['f.is_area_agent', '=', 1];
$search_text_type=input('search_text_type');
$search_text=input('search_text');
switch ($search_text_type){
case 'fenxiao_name' :
$condition[] = ['f.fenxiao_name', 'like', '%' . $search_text . '%'];
break;
case 'mobile' :
$condition[] = ['m.mobile', '=', $search_text];
break;
case 'nickname' :
$condition[] = ['f.nickname', 'like', '%' . $search_text . '%'];
break;
case 'member_id' :
$condition[] = ['f.member_id', '=', $search_text];
break;
}
$level_id = input('level_id', '');
if ($level_id) {
$condition[] = ['f.level_id', '=', $level_id];
}
$start_time = input('start_time', '');
$end_time = input('end_time', '');
if ($start_time && $end_time) {
$condition[] = ['f.create_time', 'between', [date_to_time($start_time), date_to_time($end_time)]];
} elseif (!$start_time && $end_time) {
$condition[] = ['f.create_time', '<=', date_to_time($end_time)];
} elseif ($start_time && !$end_time) {
$condition[] = ['f.create_time', '>=', date_to_time($start_time)];
}
$status = input('status', '');
if (!empty($status)) {
$condition[] = ['f.status', '=', $status];
}
$page = input('page', 1);
$page_size = input('page_size', PAGE_LIST_ROWS);
// $list = $model->getPageList($condition, $page, $page_size, 'f.create_time desc,a.create_time desc');
$list = $model->getPageList($condition, $page, $page_size, '');
return $list;
} else {
$level_model = new AgeenLevel();
$level_list = $level_model->getLevelList([['status', '=', 1], ['site_id', '=', $this->site_id]], 'level_id,level_name');
$this->assign('level_list', $level_list['data']);
$config_model = new ConfigModel();
$basics = $config_model->getFenxiaoBasicsConfig($this->site_id);
$this->assign("basics_info", $basics['data']['value']);
// $this->forthMenu();
return $this->fetch('area/lists');
}
}
/***
* 添加代理商
* @return array|mixed
*/
public function add(){
//获取分销商列表
$ageen_model = new Ageen();
$fenxiao_model = new FenxiaoModel();
//获取分销商等级
$level_model = new AgeenLevel();
if (request()->isAjax()) {
$fenxiao_id= input('fenxiao_id',0);//上级分销商ID
$province_id= input('province_id',0);
$city_id= input('city_id',0);
$district_id= input('district_id',0);
$level_id= input('level_id',0);
$fenxiao_data = [
'fenxiao_id' => $fenxiao_id,
'agent_level_id' => input('level_id',''),
'agent_level_name' => input('agent_level_name',''),
// 'is_area_agent' => 1,
'province_id' => input('province_id',0),
'city_id' => input('city_id',0),
'district_id' => input('district_id',0)
];
$fenxiao=Db::name('fenxiao_agent')
->whereOr('province_id','=',$province_id)
->whereOr('city_id','=',$city_id)
->whereOr('district_id','=',$district_id)
->field('province_id,city_id,district_id,agent_level_id,fenxiao_id')
->select();
if($fenxiao){
$area=array_column($fenxiao->toArray(),'agent_level_id');
if(in_array($level_id,$area)){
return error(-1,'当前区域已存在代理商');
}
}
return $ageen_model->add($fenxiao_data);
} else {
$level_list = $level_model->getLevelList([['status', '=', 1], ['site_id', '=', $this->site_id]], 'level_id,level_name');
$this->assign('level_list', $level_list['data']);
$condition[] = ['status','=','1'];
// $condition[] = ['is_area_agent','=','0'];
$fenxiao_list = $fenxiao_model->getFenxiaoList($condition, 'fenxiao_id,fenxiao_name');
$this->assign('fenxiao_list', $fenxiao_list['data']);
//查询省级数据列表
$address_model = new AddressModel();
$list = $address_model->getAreaList([["pid", "=", 0], ["level", "=", 1]]);
$this->assign("province_list", $list["data"]);
return $this->fetch('area/add');
}
}
public function remove(){
//获取分销商列表
$fenxiao_model = new Ageen();
$id= input('id',0);//上级分销商ID
if(request()->isAjax()&&$id){
return $fenxiao_model->delete($id);
}
}
/***
* 查询分销商
* @return array
*/
public function getfenxiaolist(){
$page_index = input('page', 1);
$page_size = input('page_size', PAGE_LIST_ROWS);
$fenxiao_search = input("fenxiao_search", '');
$condition = [];
$condition[] = [ 'mobile|fenxiao_name', 'like', '%'.$fenxiao_search.'%' ];
$condition[] = [ 'status', '=', 1 ];
// $condition[] = [ 'is_area_agent', '=', 0 ];
$fenxiao_model = new FenxiaoModel();
$list = $fenxiao_model->getFenxiaoPageLists($condition,$page_index,$page_size,'','fenxiao_id,fenxiao_name,account');
return $list;
}
}

View File

@ -92,7 +92,7 @@ class Fenxiao extends BaseShop
$commission_money = number_format($commission_money, 2); $commission_money = number_format($commission_money, 2);
$this->assign('commission_money', $commission_money); $this->assign('commission_money', $commission_money);
$this->forthMenu(); // $this->forthMenu();
return $this->fetch('fenxiao/index'); return $this->fetch('fenxiao/index');
} }
@ -157,7 +157,7 @@ class Fenxiao extends BaseShop
$basics = $config_model->getFenxiaoBasicsConfig($this->site_id); $basics = $config_model->getFenxiaoBasicsConfig($this->site_id);
$this->assign("basics_info", $basics[ 'data' ][ 'value' ]); $this->assign("basics_info", $basics[ 'data' ][ 'value' ]);
$this->forthMenu(); // $this->forthMenu();
return $this->fetch('fenxiao/lists'); return $this->fetch('fenxiao/lists');
} }
} }
@ -252,7 +252,7 @@ class Fenxiao extends BaseShop
$this->assign('level', $fenxiao_level[ 'data' ]); $this->assign('level', $fenxiao_level[ 'data' ]);
$this->assign('info', $info[ 'data' ]); $this->assign('info', $info[ 'data' ]);
$this->forthMenu([ 'fenxiao_id' => $fenxiao_id ]); // $this->forthMenu([ 'fenxiao_id' => $fenxiao_id ]);
return $this->fetch('fenxiao/fenxiao_detail'); return $this->fetch('fenxiao/fenxiao_detail');
} }
@ -304,7 +304,7 @@ class Fenxiao extends BaseShop
} }
$this->assign('fenxiao_id', $fenxiao_id); $this->assign('fenxiao_id', $fenxiao_id);
$this->forthMenu([ 'fenxiao_id' => $fenxiao_id ]); // $this->forthMenu([ 'fenxiao_id' => $fenxiao_id ]);
return $this->fetch('fenxiao/fenxiao_account'); return $this->fetch('fenxiao/fenxiao_account');
} }
@ -323,7 +323,7 @@ class Fenxiao extends BaseShop
return $list; return $list;
} else { } else {
$this->assign('fenxiao_id', $fenxiao_id); $this->assign('fenxiao_id', $fenxiao_id);
$this->forthMenu([ 'fenxiao_id' => $fenxiao_id ]); // $this->forthMenu([ 'fenxiao_id' => $fenxiao_id ]);
$config_model = new ConfigModel(); $config_model = new ConfigModel();
$basics_config = $config_model->getFenxiaoBasicsConfig($this->site_id); $basics_config = $config_model->getFenxiaoBasicsConfig($this->site_id);
@ -376,7 +376,7 @@ class Fenxiao extends BaseShop
} else { } else {
//订单状态 //订单状态
$this->assign('fenxiao_id', $fenxiao_id); $this->assign('fenxiao_id', $fenxiao_id);
$this->forthMenu([ 'fenxiao_id' => $fenxiao_id ]); // $this->forthMenu([ 'fenxiao_id' => $fenxiao_id ]);
return $this->fetch('fenxiao/order_lists', [], $this->replace); return $this->fetch('fenxiao/order_lists', [], $this->replace);
} }
} }
@ -484,7 +484,7 @@ class Fenxiao extends BaseShop
$level_list = $level_model->getLevelList([ [ 'status', '=', 1 ] ], 'level_id,level_name'); $level_list = $level_model->getLevelList([ [ 'status', '=', 1 ] ], 'level_id,level_name');
$this->assign('level_list', $level_list[ 'data' ]); $this->assign('level_list', $level_list[ 'data' ]);
$this->forthMenu(); // $this->forthMenu();
return $this->fetch('fenxiao/apply'); return $this->fetch('fenxiao/apply');
} }
} }
@ -682,4 +682,19 @@ class Fenxiao extends BaseShop
return $res; return $res;
} }
} }
/**
* 购房券
*/
public function adjustHousePurchase()
{
$fenxiao_id = input('fenxiao_id', 0);
$adjust_num = input('adjust_num', 0);
// $remark = input('remark', '商家调整');
$remark = '后台核销';
// $this->addLog("会员消费券调整id:" . $member_id . "金额" . $adjust_num);
$fenxiao = model('fenxiao')->getInfo(['fenxiao_id' => $fenxiao_id, 'site_id' => $this->site_id], 'fenxiao_id,fenxiao_name,parent,grand_parent');
$fenxiao_account_model = new FenxiaoAccount();
return $fenxiao_account_model->addAccount($fenxiao['fenxiao_id'], $fenxiao['fenxiao_name'], 'house_purchase', -$adjust_num, $fenxiao['fenxiao_id'], 'house_purchase', $remark);
}
} }

View File

@ -68,7 +68,7 @@ class Goods extends BaseShop
$list = $model->getGoodsPageList($condition, $page_index, $page_size); $list = $model->getGoodsPageList($condition, $page_index, $page_size);
return $list; return $list;
} else { } else {
$this->forthMenu(); // $this->forthMenu();
return $this->fetch('goods/lists'); return $this->fetch('goods/lists');
} }
} }

View File

@ -67,7 +67,7 @@ class Order extends BaseShop
return $list; return $list;
} else { } else {
$this->forthMenu(); // $this->forthMenu();
//订单状态 //订单状态
return $this->fetch('order/lists', [], $this->replace); return $this->fetch('order/lists', [], $this->replace);
} }

View File

@ -0,0 +1,135 @@
{extend name="app/shop/view/base.html"/}
{block name="resources"}
<style>
.ns-form {margin-top: 0;}
.coupon-box{
padding: 20px;
}
.coupon-box .layui-form{
padding: 0!important;
}
.layui-layer-page .layui-layer-content{
overflow: auto !important;
}
.ns-del-btn {
cursor: pointer;
}
.ns-level-equity .layui-input {
display: inline-block;
}
.gods-box table:first-of-type{
margin-bottom: 0;
}
.gods-box table:last-of-type{
margin-top: 0;
display: block;
max-height: 323px;
overflow: auto;
}
.coupon-box .ns-single-filter-box{
padding-top: 0;
}
.align-center{
text-align: center!important;
}
</style>
{/block}
{block name="main"}
<div class="layui-form">
<div class="layui-card ns-card-common ns-card-brief">
<div class="layui-card-header">
<span class="ns-card-title">基础信息</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>等级名称:</label>
<div class="layui-input-block">
<input name="level_name" type="text" lay-verify="required" class="layui-input ns-len-long">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>赠送比例:</label>
<div class="layui-input-block">
<input name="flower_multiple" type="text" lay-verify="required" class="layui-input ns-len-long">
</div>
</div>
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label"><span class="required">*</span>代理商购茶赠送茶花倍数:</label>-->
<!-- <div class="layui-input-block">-->
<!-- <input name="flower_times" type="text" lay-verify="required" class="layui-input ns-len-long">-->
<!-- </div>-->
<!-- </div>-->
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>代理类型:</label>
<div class="layui-input-block">
<input type="radio" name="type" value="province" title="省级代理" />
<input type="radio" name="type" value="city" title="城市代理"/>
<input type="radio" name="type" value="district" title="区域代理"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">等级说明:</label>
<div class="layui-input-block ns-len-long">
<textarea name="remark" class="layui-textarea"></textarea>
</div>
</div>
</div>
</div>
<div class="layui-card ns-card-common">
<div class="layui-card-body">
<div class="ns-form-row">
<button class="layui-btn ns-bg-color" lay-submit lay-filter="save">保存</button>
<button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
</div>
</div>
</div>
</div>
{/block}
{block name="script"}
<script>
var coupon_id = [];
var form;
layui.use(['form', 'laytpl'], function() {
form = layui.form;
var repeat_flag = false; //防重复标识
form.render();
/**
* 监听保存
*/
form.on('submit(save)', function(data) {
if (repeat_flag) return false;
repeat_flag = true;
$.ajax({
url: ns.url("fenxiao://shop/agentlevel/add"),
data: data.field,
dataType: 'JSON', //服务器返回json格式数据
type: 'POST', //http请求类型
success: function(res) {
repeat_flag = false;
if (res.code == 0) {
layer.confirm('添加成功', {
title:'操作提示',
btn: ['返回列表', '继续添加'],
closeBtn: 0,
yes: function(){
location.href = ns.url("fenxiao://shop/agentlevel/lists")
},
btn2: function() {
location.href = ns.url("fenxiao://shop/agentlevel/add")
}
});
}else{
layer.msg(res.message);
}
}
});
});
});
function back(){
location.href = ns.url("member://shop/memberlevel/levellist");
}
</script>
{/block}

View File

@ -0,0 +1,113 @@
{extend name="app/shop/view/base.html"/}
{block name="resources"}
<style>
.ns-form {margin-top: 0;}
.layui-layer-page .layui-layer-content{
overflow: auto !important;
}
.ns-level-equity .layui-input {
display: inline-block;
}
.gods-box table:first-of-type{
margin-bottom: 0;
}
.gods-box table:last-of-type{
margin-top: 0;
display: block;
max-height: 323px;
overflow: auto;
}
.coupon-box .ns-single-filter-box{
padding-top: 0;
}
.align-center{
text-align: center!important;
}
</style>
{/block}
{block name="main"}
<div class="layui-form">
<div class="layui-card ns-card-common ns-card-brief">
<div class="layui-card-header">
<span class="ns-card-title">基础信息</span>
</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>等级名称:</label>
<div class="layui-input-block">
<input name="level_name" type="text" lay-verify="required" value="{$info.level_name}" class="layui-input ns-len-long">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>赠送比例:</label>
<div class="layui-input-block">
<input name="flower_multiple" type="text" lay-verify="required" value="{$info.flower_multiple}" class="layui-input ns-len-long">
</div>
</div>
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label"><span class="required">*</span>代理商购茶赠送茶花倍数:</label>-->
<!-- <div class="layui-input-block">-->
<!-- <input name="flower_times" type="text" lay-verify="required" value="{$info.flower_times}" class="layui-input ns-len-long">-->
<!-- </div>-->
<!-- </div>-->
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>代理类型:</label>
<div class="layui-input-block">
<input type="radio" name="type" value="province" title="省级代理" {if $info.type == 'province'} checked {/if}/>
<input type="radio" name="type" value="city" title="城市代理" {if $info.type == 'city'} checked {/if}/>
<input type="radio" name="type" value="district" title="区域代理" {if $info.type == 'district'} checked {/if}/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">等级说明:</label>
<div class="layui-input-block ns-len-long">
<textarea name="remark" class="layui-textarea">{$info.remark}</textarea>
</div>
</div>
</div>
</div>
<div class="layui-card ns-card-common">
<div class="layui-card-body">
<div class="ns-form-row">
<button class="layui-btn ns-bg-color" lay-submit lay-filter="save">保存</button>
<button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
</div>
</div>
</div>
</div>
{/block}
{block name="script"}
<script>
var coupon_id = [];
var form;
layui.use(['form', 'laytpl'], function() {
form = layui.form;
var repeat_flag = false; //防重复标识
form.render();
/**
* 监听保存
*/
form.on('submit(save)', function(data) {
if (repeat_flag) return false;
repeat_flag = true;
$.ajax({
url: location.href,
data: data.field,
dataType: 'JSON', //服务器返回json格式数据
type: 'POST', //http请求类型
success: function(res) {
repeat_flag = false;
layer.msg(res.message);
}
});
});
});
function back(){
location.href = ns.url("fenxiao://shop/agentlevel/lists");
}
</script>
{/block}

View File

@ -0,0 +1,212 @@
{extend name="app/shop/view/base.html"/}
{block name="resources"}
{/block}
{block name="main"}
<div class="layui-collapse ns-tips">
<div class="layui-colla-item">
<h2 class="layui-colla-title">操作提示</h2>
<ul class="layui-colla-content layui-show">
<li>根据不同等级转换茶花比例</li>
</ul>
</div>
</div>
<div class="ns-single-filter-box">
<button class="layui-btn ns-bg-color" onclick="clickAdd()">添加等级</button>
</div>
<!-- 列表 -->
<table id="level_list" lay-filter="level_list"></table>
<!-- 状态 -->
<script type="text/html" id="status">
{{# if(d.status == 0){ }}
停用
{{# }else if(d.status == 1){ }}
启用
{{# } }}
</script>
<!-- 操作 -->
<script type="text/html" id="operation">
<div class="ns-table-btn">
<a class="layui-btn" lay-event="edit">编辑</a>
<a class="layui-btn" lay-event="del">删除</a>
</div>
</script>
{/block}
{block name="script"}
<script>
layui.use('form', function() {
var table,
repeat_flag = false; //防重复标识
table = new Table({
elem: '#level_list',
url: ns.url("fenxiao://shop/agentlevel/lists"),
cols: [
[
{
field: 'level_name',
title: '等级名称',
unresize: 'false',
width: '10%'
},
{
field: 'flower_multiple',
title: '赠送比例',
unresize: 'false',
width: '10%',
templet: function(data) {
return data.flower_multiple + '%';
}
},
// {
// field: 'flower_times',
// title: '代理商购茶赠送茶花倍数',
// unresize: 'false',
// width: '20%',
// templet: function(data) {
// return data.flower_times;
// }
// },
{
field: 'type',
title: '代理类型',
unresize: 'false',
width: '10%',
templet: function(data) {
let text='';
switch (data.type){
case 'province':
text='省级代理';
break;
case 'city':
text='城市代理';
break;
case 'district':
text='区域代理';
break;
}
return text;
}
},
{
title: '操作',
toolbar: '#operation',
unresize: 'false',
width: '10%'
}
]
]
});
/**
* 监听工具栏操作
*/
table.tool(function(obj) {
var data = obj.data;
switch (obj.event) {
case 'del': //删除
del(data.level_id);
break;
case 'start': //启用
start_status(data.level_id,1);
break;
case 'stop': //停用
stop_status(data.level_id,0);
break;
case 'edit': //编辑
location.href = ns.url("fenxiao://shop/agentlevel/edit", {"level_id": data.level_id});
break;
}
});
/**
* 删除
*/
function del(level_id){
if (repeat_flag) return false;
repeat_flag = true;
layer.confirm('确定要删除该等级吗?', function() {
$.ajax({
url: ns.url("fenxiao://shop/agentlevel/delete"),
data: {level_id:level_id},
dataType: 'JSON',
type: 'POST',
success: function(res) {
layer.msg(res.message);
repeat_flag = false;
if (res.code == 0) {
table.reload();
}
}
});
}, function () {
layer.close();
repeat_flag = false;
});
}
/**
* 停用
*/
function stop_status(level_id,type){
if (repeat_flag) return false;
repeat_flag = true;
layer.confirm('确定要停用该等级吗?', function() {
$.ajax({
url: ns.url("fenxiao://shop/agentlevel/status"),
data: {level_id:level_id,type:type},
dataType: 'JSON',
type: 'POST',
success: function(res) {
layer.msg(res.message);
repeat_flag = false;
if (res.code == 0) {
table.reload();
}
}
});
}, function () {
layer.close();
repeat_flag = false;
});
}
/**
* 启用
*/
function start_status(level_id,type){
if (repeat_flag) return false;
repeat_flag = true;
layer.confirm('确定要启用该等级吗?', function() {
$.ajax({
url: ns.url("fenxiao://shop/agentlevel/status"),
data: {level_id:level_id,type:type},
dataType: 'JSON',
type: 'POST',
success: function(res) {
layer.msg(res.message);
repeat_flag = false;
if (res.code == 0) {
table.reload();
}
}
});
}, function () {
layer.close();
repeat_flag = false;
});
}
});
function clickAdd()
{
location.href = ns.url('fenxiao://shop/agentlevel/add');
}
</script>
{/block}

View File

@ -0,0 +1,207 @@
{extend name="app/shop/view/base.html"/}
{block name="resources"}
<style>
.layui-form {
position: relative;
}
.layui-form-label {
text-align: right;
margin-left: 60px;
}
.layui-form-item {
margin-bottom: 22px;
}
.fenxiao-select {
position: absolute;
left: 400px;
top: 135px;
}
.layui-unselect.layui-form-radio.layui-form-radioed i:after {
background-color: #fff;
}
.layui-table-body {
max-height: 530px;
}
.member-select {
position: absolute;
left: 400px;
top: 195px;
}
.fenxiao-header {
padding: 50px 0 100px 50px;
font-size: 20px;
font-weight: 600;
}
</style>
{/block}
{block name="main"}
<div class="layui-form ns-form">
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>代理等级:</label>
<div class="layui-input-inline ns-len-mid">
<select name="level_id" lay-verify="required" lay-filter="level_id" id="level_id">
<option value="">请选择</option>
{volist name="$level_list" id="level"}
<option value="{$level.level_id}">{$level.level_name}</option>
{/volist}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>区域设置:</label>
<div class="layui-input-inline ns-len-mid area-select">
<select name="province_id" lay-filter="province_id" lay-verify="province_id">
<option value="">请选择省份</option>
{foreach $province_list as $k => $v}
<option value="{$v.id}">{$v.name}</option>
{/foreach}
</select>
</div>
<div class="layui-input-inline ns-len-mid area-select">
<select name="city_id" lay-filter="city_id" lay-verify="city_id">
<option value="">请选择城市</option>
</select>
</div>
<div class="layui-input-inline ns-len-mid area-select">
<select name="district_id" lay-filter="district_id" lay-verify="district_id">
<option value="">请选择区/县</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">管理分销商:</label>
<button class="layui-btn layui-btn1 ns-bg-color" onclick="addFenxiao()">选择分销商</button>
</div>
<div class="fenxiao-select"></div>
<div class="ns-form-row">
<button class="layui-btn ns-bg-color" lay-submit lay-filter="save">保存</button>
<button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
</div>
</div>
{/block}
{block name="script"}
<script type="text/html" id="addFenxiao">
<div class="layui-form">
<div class="layui-input-inline" style="width: 205px;">
<input type="text" style="width: 205px;" name="fenxiao_search" placeholder="请输入分销商名称" autocomplete="off" class="layui-input ">
<button type="button" class="layui-btn layui-btn-primary fenxiao-search" style="height: 32px; line-height: 32px; position: absolute; right: 1px; top: 1px; border-width: 0; border-left-width: 1px;" lay-filter="search" lay-submit>
<i class="layui-icon"></i>
</button>
</div>
<table id="fenxiao_list" lay-filter="fenxiao_list"></table>
</div>
</script>
<script type="text/javascript" src="SHOP_JS/address.js"></script>
<script type="text/javascript">
var new_fenxiao_id = 0,agent_level_name='';
layui.use(['form', 'laytpl','table','laypage'], function() {
laytpl = layui.laytpl;
form = layui.form;
laypage = layui.laypage;
table = layui.table;
repeat_flag = false;
form.render();
/**
* 监听提交
*/
form.on('submit(save)', function(data) {
data.field.fenxiao_id = new_fenxiao_id;
data.field.agent_level_name = agent_level_name;
console.log(data);
$.ajax({
url: ns.url("fenxiao://shop/area/add"),
data: data.field,
dataType: 'JSON', //服务器返回json格式数据
type: 'POST', //HTTP请求类型
success: function(res) {
repeat_flag = false;
if (res.code == 0) {
layer.msg(res.message);
location.href = ns.url("fenxiao://shop/area/lists")
} else {
layer.msg(res.message);
}
}
});
});
form.on('select(level_id)', function(data){
var e = data.elem;
agent_level_name =e[e.selectedIndex].text;
});
});
function addFenxiao() {
var add_attr = $("#addFenxiao").html();
form.on('radio(layfenxiaoid)', function(obj){
new_fenxiao_id = obj.value;
var title2 = ($(this).data('index'))
console.log(title2);
$('.layui-btn1').parents('.layui-form-item').next('.fenxiao-select').html(title2)
});
laytpl(add_attr).render({}, function(html) {
add_attr_index = layer.open({
title: '选择分销商',
skin: 'layer-tips-class',
type: 1,
area: ['1000px', '800px'],
content: html,
btn:["保存","返回"],
yes: function(){
layer.close(add_attr_index);
}
});
});
//展示已知数据
table = new Table({
elem: '#fenxiao_list',
url: ns.url("fenxiao://shop/area/getfenxiaolist"),
cols: [
[{
width: "12%",
title: '商户选择',
unresize: 'false',
templet: function(data) {
var html = '';
html += `
<div>
<input type="radio" name="layTableRadioc" value="${data.fenxiao_id}" data-index="${data.fenxiao_name}" lay-type="layTableRadio" lay-filter="layfenxiaoid">
</div>
`;
return html;
}
},{
title: '分销商名称',
width: '50%',
unresize: 'false',
field: 'fenxiao_name',
}, {
field: 'account',
title: '佣金',
unresize: 'false',
width: '30%',
},
]
],
});
/**
* 搜索功能
*/
form.on('submit(search)', function (data) {
table.reload({
page: {
curr: 1
},
where: data.field
});
});
$(document).keydown(function (event) {
if (event.keyCode == 13) {
$(".fenxiao-search").trigger("click");
}
});
}
function back() {
location.href = ns.url("fenxiao://shop/area/lists");
}
</script>
{/block}

View File

@ -0,0 +1,285 @@
{extend name="app/shop/view/base.html"/}
{block name="resources"}
<style>
.ns-screen {
margin-top: 15px;
}
</style>
{/block}
{block name="main"}
<div class="layui-collapse ns-tips">
<div class="layui-colla-item">
<h2 class="layui-colla-title">操作提示</h2>
<ul class="layui-colla-content layui-show">
<li>点击查看按钮可以查看分销商信息、订单信息、账户明细。</li>
<li>点击冻结按钮可以取消其分销商资格</li>
</ul>
</div>
</div>
<div class="ns-single-filter-box">
<button class="layui-btn ns-bg-color" onclick="clickAdd()">添加代理</button>
</div>
<div class="ns-screen layui-collapse" lay-filter="selection_panel">
<div class="layui-colla-item">
<h2 class="layui-colla-title"></h2>
<form class="layui-colla-content layui-form layui-show">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">账号</label>
<div class="layui-input-inline">
<select name="search_text_type">
<option value="fenxiao_name">分销商名称</option>
<option value="mobile">手机号</option>
<option value="member_id">会员ID</option>
<option value="nickname">会员昵称</option>
</select>
</div>
<div class="layui-input-inline">
<input type="text" id="search_text" name="search_text" placeholder="分销商名称/手机号/会员ID" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">上级分销商:</label>
<div class="layui-input-inline">
<input type="text" name="parent_name" placeholder="请输入上级分销商" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">代理等级:</label>
<div class="layui-input-inline">
<select name="level_id" lay-filter="level_id">
<option value="">全部</option>
{volist name="$level_list" id="level"}
<option value="{$level.level_id}">{$level.level_name}</option>
{/volist}
</select>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">添加时间:</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" name="start_time" id="start_time" autocomplete="off" placeholder="开始时间" readonly>
<i class="ns-calendar"></i>
</div>
<div class="layui-form-mid">-</div>
<div class="layui-input-inline">
<input type="text" class="layui-input" name="end_time" id="end_time" autocomplete="off" placeholder="结束时间" readonly>
<i class="ns-calendar"></i>
</div>
</div>
</div>
<div class="ns-form-row">
<button class="layui-btn ns-bg-color" lay-submit lay-filter="search">筛选</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</form>
</div>
</div>
<!-- 列表 -->
<table id="fenxiao_list" lay-filter="fenxiao_list"></table>
<!-- 用户信息 -->
<script type="text/html" id="account">
<div class="layui-elip">当前佣金:{{d.account}}</div>
<div class="layui-elip">已提现佣金:{{d.account_withdraw}}</div>
<div class="layui-elip">区业绩:{{'大:'+ d.max_order_money + '小:'+d.min_order_money}}</div>
<div class="layui-elip">团队人数:{{d.total_member_count}}</div>
</script>
<script type="text/html" id="Flower_fruit">
<div class="layui-elip">茶花:{{d.flower_num}}</div>
<div class="layui-elip">茶果:{{d.fruit_num}}</div>
</script>
<!-- 会员信息 -->
<script type="text/html" id="username">
<a href="javascript:memberDetail({{ d.member_id }});">{{ d.username }}</a>
</script>
<!-- 状态 -->
<script type="text/html" id="status">
{{# if(d.status == 1){ }}
<span style="color: green;">正常</span>
{{# }else if(d.status == -1){ }}
<span style="color: gray;">冻结</span>
{{# } }}
</script>
<!-- 工具栏操作 -->
<script type="text/html" id="operation">
<div class="ns-table-btn">
<a class="layui-btn" lay-event="detail">查看</a>
<a class="layui-btn" lay-event="remove">移除代理</a>
</div>
</script>
{/block}
{block name="script"}
<script>
var table,form,laydate;
layui.use(['form', 'laydate'], function() {
form = layui.form;
laydate = layui.laydate;
form.render();
//渲染时间
laydate.render({
elem: '#start_time',
type: 'datetime'
});
laydate.render({
elem: '#end_time',
type: 'datetime'
});
table = new Table({
elem: '#fenxiao_list',
url: ns.url("fenxiao://shop/area/lists"),
cols: [
[{
field: 'fenxiao_name',
title: '代理名称',
unresize: 'false',
width: '8%'
},{
templet: function(data) {
var html = ""
html += `会员账号:<span title="${data.username}">${data.username}</span><br/>
会员昵称:<span title="${data.nickname}">${data.nickname}</span><br/>
手机号码:<span title="${data.member_mobile}">${data.member_mobile}</span>`;
return html;
},
title: '会员信息',
unresize: 'false',
width: '12%'
}, {
field: 'parent_name',
title: '推荐人',
unresize: 'false',
width: '5%',
templet: function(data) {
if(data.parent_name){
return data.parent_name;
}else{
return '无';
}
}
}, {
field: 'agent_level_name',
title: '代理等级',
unresize: 'false',
width: '10%'
},
// {
// field: 'total_order_money',
// title: '总业绩',
// width:'8%',
// unresize: 'false',
// },
// {
// title: '佣金账户',
// width:'10%',
// unresize: 'false',
// templet: '#account'
// },
// {
// title: '茶花&果',
// width:'10%',
// unresize: 'false',
// templet: '#Flower_fruit'
// }
// , {
//
// title: '直推',
// unresize: 'false',
// width: '5%',
// templet: function(data){
// return data.team_num;
// }
// },
{
field: 'status',
title: '状态',
templet: '#status',
unresize: 'false',
width: '5%'
},
{
field: 'create_time',
title: '添加时间',
unresize: 'false',
width: '10%',
templet: function(data) {
return ns.time_to_date(data.create_time);
}
}, {
title: '操作',
toolbar: '#operation',
unresize: 'false',
width: '10%'
}]
]
});
/**
* 搜索功能
*/
form.on('submit(search)', function(data) {
table.reload({
page: {
curr: 1
},
where: data.field
});
return false;
});
/**
* 监听工具栏操作
*/
table.tool(function(obj) {
var data = obj.data,
event = obj.event;
switch (event) {
case 'detail': //查看
location.href = ns.url('fenxiao://shop/fenxiao/detail', {'fenxiao_id': data.fenxiao_id})
break;
case 'remove': //冻结
layer.confirm('确定要移除该账户吗?', function () {
if (repeat_flag) return;
repeat_flag = true;
$.ajax({
url: ns.url("fenxiao://shop/area/remove"),
data: {id:data.id},
dataType: 'JSON',
type: 'POST',
success: function(res) {
layer.msg(res.message);
repeat_flag = false;
if (res.code == 0) {
table.reload();
}
}
});
});
break;
}
});
});
function clickAdd()
{
location.href = ns.url('fenxiao://shop/area/add');
}
</script>
{/block}

View File

@ -91,6 +91,38 @@
<!-- 列表 --> <!-- 列表 -->
<table id="fenxiao_list" lay-filter="fenxiao_list"></table> <table id="fenxiao_list" lay-filter="fenxiao_list"></table>
<!-- 余额弹框html -->
<script type="text/html" id="balance">
<div class="layui-form">
<div class="layui-form-item">
<label class="layui-form-label">当前购房券:</label>
<div class="layui-input-block account-value">{{ d.house_purchase }}</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">核销数额:</label>
<div class="layui-input-block">
<input type="number" value="0" placeholder="请输入核销数额" name="adjust_num" lay-verify="num" class="layui-input len-short">
</div>
<span class="word-aux">核销数额不可小于等于0核销数额与当前购房券相减不能小于0</span>
</div>
<!-- <div class="layui-form-item">-->
<!-- <label class="layui-form-label">备注:</label>-->
<!-- <div class="layui-input-block len-long">-->
<!-- <textarea class="layui-textarea" name="remark" placeholder="请输入备注" maxlength="150"></textarea>-->
<!-- </div>-->
<!-- </div>-->
<div class="form-row">
<button class="layui-btn" lay-submit lay-filter="saveBalance">确定</button>
</div>
<input type="hidden" name="fenxiao_id" value="{{d.fenxiao_id}}" />
<input type="hidden" name="house_purchase" value="{{ d.house_purchase }}" />
</div>
</script>
<!-- 用户信息 --> <!-- 用户信息 -->
<script type="text/html" id="account"> <script type="text/html" id="account">
<div class="layui-elip">当前佣金:{{d.account}}</div> <div class="layui-elip">当前佣金:{{d.account}}</div>
@ -144,6 +176,7 @@
<script type="text/html" id="operation"> <script type="text/html" id="operation">
<div class="table-btn"> <div class="table-btn">
<a class="layui-btn" lay-event="detail">查看</a> <a class="layui-btn" lay-event="detail">查看</a>
<a class="layui-btn" lay-event="adjust_house_purchase">核销购房券</a>
{{# if(d.status == 1){ }} {{# if(d.status == 1){ }}
<a class="layui-btn" lay-event="frozen">冻结</a> <a class="layui-btn" lay-event="frozen">冻结</a>
<!-- <a class="layui-btn" lay-event="change">上级分销商变更</a> --> <!-- <a class="layui-btn" lay-event="change">上级分销商变更</a> -->
@ -157,10 +190,11 @@
{block name="script"} {block name="script"}
<script> <script>
var table,form,laydate; var table,form,laydate,laytpl;
layui.use(['form', 'laydate'], function() { layui.use(['form', 'laydate', 'laytpl'], function() {
form = layui.form; form = layui.form;
laydate = layui.laydate; laydate = layui.laydate;
laytpl = layui.laytpl;
form.render(); form.render();
//渲染时间 //渲染时间
@ -187,11 +221,11 @@
field: 'fenxiao_name', field: 'fenxiao_name',
title: '分销商名称', title: '分销商名称',
unresize: 'false', unresize: 'false',
width: '20%' width: '10%'
},{ },{
title: '上级分销商', title: '上级分销商',
unresize: 'false', unresize: 'false',
width: '20%', width: '10%',
templet: '#parent_name', templet: '#parent_name',
align:'left' align:'left'
}, },
@ -217,21 +251,45 @@
return data.team_num; return data.team_num;
} }
}, { }, {
title: '积分',
unresize: 'false',
width: '8%',
templet: function(data){
return data.points;
}
},{
title: '贡献值',
unresize: 'false',
width: '8%',
templet: function(data){
return data.contribution;
}
},{
title: '购房券',
unresize: 'false',
width: '8%',
templet: function(data){
return data.house_purchase;
}
},{
field: 'status', field: 'status',
title: '当前状态', title: '当前状态',
templet: '#status', templet: '#status',
unresize: 'false', unresize: 'false',
width: '12%' width: '8%'
}, { }, {
field: 'create_time', field: 'create_time',
title: '添加时间', title: '添加时间',
unresize: 'false', unresize: 'false',
width: '10%', width: '12%',
templet: function(data) { templet: function(data) {
let time = ns.time_to_date(data.create_time).split(' '); let time = ns.time_to_date(data.create_time).split(' ');
return `<div class="time-lineheight"> return `<div class="time-lineheight">
<div>`+ time[0] +`</div> <div>`+ time[0] +` `+ time[1] +`</div>
<div>`+ time[1] +`</div> <!-- <div>`+ time[1] +`</div>-->
</div>`; </div>`;
} }
}, { }, {
@ -320,8 +378,43 @@
} }
}); });
break; break;
case 'adjust_house_purchase': //调整消费券
adjustBalance(data);
break;
} }
}); });
var repeat_flag_balance = false;
form.on('submit(saveBalance)', function(data) {
if (repeat_flag_balance) return false;
repeat_flag_balance = true;
var house_purchase = data.field.house_purchase;
if (data.field.adjust_num <= 0) {
layer.msg('调整数值不能为负数');
repeat_flag_balance = false;
return ;
}
if (house_purchase*1 - data.field.adjust_num*1 < 0) {
layer.msg('购房券不足,不可以为负数');
repeat_flag_balance = false;
return ;
}
$.ajax({
type: "POST",
url: ns.url("fenxiao://shop/fenxiao/adjustHousePurchase"),
data: data.field,
dataType: 'JSON',
success: function(res) {
layer.msg(res.message);
repeat_flag_balance = false;
if (res.code == 0) {
layer.closeAll('page');
table.reload();
}
}
});
});
}); });
function change(member_id){ function change(member_id){
@ -361,5 +454,19 @@
{ {
location.href = ns.url('fenxiao://shop/fenxiao/add'); location.href = ns.url('fenxiao://shop/fenxiao/add');
} }
// 调整消费券
function adjustBalance(e){
laytpl($("#balance").html()).render(e, function(html) {
layer.open({
title: '调整储值消费券',
skin: 'layer-tips-class',
type: 1,
area: ['800px'],
content: html
});
});
}
</script> </script>
{/block} {/block}

View File

@ -286,7 +286,7 @@
{block name="script"} {block name="script"}
<script type="text/html" id="toolbarOperation"> <script type="text/html" id="toolbarOperation">
<button class="layui-btn layui-btn-primary" lay-event="change-number">兑换次数</button> <button class="layui-btn layui-btn-primary" lay-event="change-number">兑换次数</button>
<button class="layui-btn layui-btn-primary" lay-event="goods-integral">所需积分</button> <button class="layui-btn layui-btn-primary" lay-event="goods-integral">所需兑换券</button>
<button class="layui-btn layui-btn-primary" lay-event="goods-price">所需金额</button> <button class="layui-btn layui-btn-primary" lay-event="goods-price">所需金额</button>
</script> </script>
@ -911,7 +911,7 @@
width: '14%', width: '14%',
templet: '#exchangeLimit' templet: '#exchangeLimit'
}, { }, {
title: '<span title="兑换所需积分">所需积分</span>', title: '<span title="兑换所需兑换券">所需兑换券</span>',
unresize: 'false', unresize: 'false',
width: '12%', width: '12%',
templet: '#exchangePoint' templet: '#exchangePoint'
@ -959,7 +959,7 @@
name: '兑换次数', name: '兑换次数',
value: 'limit_num' value: 'limit_num'
},{ },{
name: '所需积分', name: '所需兑换券',
value: 'point' value: 'point'
},{ },{
name: '所需金额', name: '所需金额',

View File

@ -342,7 +342,7 @@
{block name="script"} {block name="script"}
<script type="text/html" id="toolbarOperation"> <script type="text/html" id="toolbarOperation">
<button class="layui-btn layui-btn-primary" lay-event="change-number">兑换次数</button> <button class="layui-btn layui-btn-primary" lay-event="change-number">兑换次数</button>
<button class="layui-btn layui-btn-primary" lay-event="goods-integral">所需积分</button> <button class="layui-btn layui-btn-primary" lay-event="goods-integral">所需兑换券</button>
<button class="layui-btn layui-btn-primary" lay-event="goods-price">所需金额</button> <button class="layui-btn layui-btn-primary" lay-event="goods-price">所需金额</button>
</script> </script>
@ -712,7 +712,7 @@
width: '14%', width: '14%',
templet: '#exchangeLimit' templet: '#exchangeLimit'
}, { }, {
title: '<span title="兑换所需积分">所需积分</span>', title: '<span title="兑换所需兑换券">所需兑换券</span>',
unresize: 'false', unresize: 'false',
width: '12%', width: '12%',
templet: '#exchangePoint' templet: '#exchangePoint'
@ -755,7 +755,7 @@
name: '兑换次数', name: '兑换次数',
value: 'limit_num' value: 'limit_num'
},{ },{
name: '所需积分', name: '所需兑换券',
value: 'point' value: 'point'
},{ },{
name: '所需金额', name: '所需金额',

View File

@ -11,7 +11,7 @@ return [
'picture_select' => '', 'picture_select' => '',
'picture' => 'addon/weapp/shop/view/public/img/menu_icon/wechat_app_new.png', 'picture' => 'addon/weapp/shop/view/public/img/menu_icon/wechat_app_new.png',
'picture_selected' => 'addon/weapp/shop/view/public/img/menu_icon/wechat_app_select.png', 'picture_selected' => 'addon/weapp/shop/view/public/img/menu_icon/wechat_app_select.png',
'is_show' => 0, 'is_show' => 1,
'sort' => 4, 'sort' => 4,
'child_list' => [ 'child_list' => [
[ [

View File

@ -16,7 +16,7 @@ return [
'picture_select' => '', 'picture_select' => '',
'picture' => 'addon/wechat/shop/view/public/img/menu_icon/wechat_icon_new.png', 'picture' => 'addon/wechat/shop/view/public/img/menu_icon/wechat_icon_new.png',
'picture_selected' => 'addon/wechat/shop/view/public/img/menu_icon/wechat_icon_select.png', 'picture_selected' => 'addon/wechat/shop/view/public/img/menu_icon/wechat_icon_select.png',
'is_show' => 0, 'is_show' => 1,
'sort' => 3, 'sort' => 3,
'child_list' => [ 'child_list' => [
[ [

View File

@ -8,7 +8,7 @@ return [
'title' => '微信支付编辑', 'title' => '微信支付编辑',
'url' => 'wechatpay://shop/pay/config', 'url' => 'wechatpay://shop/pay/config',
'parent' => 'CONFIG_PAY', 'parent' => 'CONFIG_PAY',
'is_show' => 0, 'is_show' => 1,
'is_control' => 1, 'is_control' => 1,
'is_icon' => 0, 'is_icon' => 0,
'picture' => '', 'picture' => '',

View File

@ -42,7 +42,7 @@ class Addon extends BaseApi
$res[ 'membersignin' ] = in_array("membersignin", $addons) ? 1 : 0; // 会员签到 $res[ 'membersignin' ] = in_array("membersignin", $addons) ? 1 : 0; // 会员签到
$res[ 'memberrecharge' ] = in_array("memberrecharge", $addons) ? 1 : 0; // 会员充值 $res[ 'memberrecharge' ] = in_array("memberrecharge", $addons) ? 1 : 0; // 会员充值
$res[ 'memberwithdraw' ] = in_array("memberwithdraw", $addons) ? 1 : 0; // 会员提现 $res[ 'memberwithdraw' ] = in_array("memberwithdraw", $addons) ? 1 : 0; // 会员提现
$res[ 'pointexchange' ] = in_array("pointexchange", $addons) ? 1 : 0; // 积分兑换 $res[ 'pointexchange' ] = in_array("pointexchange", $addons) ? 1 : 1; // 积分兑换
$res[ 'manjian' ] = in_array("manjian", $addons) ? 1 : 0; //满减 $res[ 'manjian' ] = in_array("manjian", $addons) ? 1 : 0; //满减
$res[ 'memberconsume' ] = in_array("memberconsume", $addons) ? 1 : 0; //会员消费 $res[ 'memberconsume' ] = in_array("memberconsume", $addons) ? 1 : 0; //会员消费
$res[ 'memberregister' ] = in_array("memberregister", $addons) ? 1 : 0; //会员注册 $res[ 'memberregister' ] = in_array("memberregister", $addons) ? 1 : 0; //会员注册
@ -61,7 +61,7 @@ class Addon extends BaseApi
$res[ 'live' ] = in_array("live", $addons) ? 1 : 0; // 小程序直播 $res[ 'live' ] = in_array("live", $addons) ? 1 : 0; // 小程序直播
$res[ 'cards' ] = in_array("cards", $addons) ? 1 : 0; // 刮刮乐 $res[ 'cards' ] = in_array("cards", $addons) ? 1 : 0; // 刮刮乐
$res[ 'egg' ] = in_array("egg", $addons) ? 1 : 0; // 砸金蛋 $res[ 'egg' ] = in_array("egg", $addons) ? 1 : 0; // 砸金蛋
$res[ 'turntable' ] = in_array("turntable", $addons) ? 1 : 0; // 幸运抽奖 $res[ 'turntable' ] = in_array("turntable", $addons) ? 1 : 1; // 幸运抽奖
$res[ 'memberrecommend' ] = in_array("memberrecommend", $addons) ? 1 : 0; // 推荐奖励 $res[ 'memberrecommend' ] = in_array("memberrecommend", $addons) ? 1 : 0; // 推荐奖励
$res[ 'supermember' ] = in_array("supermember", $addons) ? 1 : 0; // 超级会员卡 $res[ 'supermember' ] = in_array("supermember", $addons) ? 1 : 0; // 超级会员卡
$res[ 'giftcard' ] = in_array("giftcard", $addons) ? 1 : 0; // 兑换卡 $res[ 'giftcard' ] = in_array("giftcard", $addons) ? 1 : 0; // 兑换卡

View File

@ -81,6 +81,8 @@ class Member extends BaseModel
if ($res === false) { if ($res === false) {
return $this->error('', 'RESULT_ERROR'); return $this->error('', 'RESULT_ERROR');
} }
$rcode=createShareCode($res);
model("member")->update(['rcode' => $rcode],[['member_id', '=', $res]]);
//添加统计 //添加统计
$stat = new Stat(); $stat = new Stat();
$stat->switchStat([ 'type' => 'add_member', 'data' => [ 'member_count' => 1, 'site_id' => $data[ 'site_id' ] ] ]); $stat->switchStat([ 'type' => 'add_member', 'data' => [ 'member_count' => 1, 'site_id' => $data[ 'site_id' ] ] ]);

View File

@ -87,6 +87,8 @@ class MemberAccount extends BaseModel
$from_type[ 'point' ][ 'refund' ] = [ 'type_name' => '退还', 'type_url' => '' ]; $from_type[ 'point' ][ 'refund' ] = [ 'type_name' => '退还', 'type_url' => '' ];
$from_type[ 'point' ][ 'pointexchangerefund' ] = [ 'type_name' => '积分兑换退还', 'type_url' => '' ]; $from_type[ 'point' ][ 'pointexchangerefund' ] = [ 'type_name' => '积分兑换退还', 'type_url' => '' ];
$from_type[ 'point' ][ 'pointexchange' ] = [ 'type_name' => '兑换券兑换商品', 'type_url' => '' ];
$from_type[ 'balance' ][ 'presale_deposit_refund' ] = [ 'type_name' => '预售定金退还', 'type_url' => '' ]; $from_type[ 'balance' ][ 'presale_deposit_refund' ] = [ 'type_name' => '预售定金退还', 'type_url' => '' ];
$from_type[ 'balance' ][ 'presale_refund' ] = [ 'type_name' => '预售订单退还', 'type_url' => '' ]; $from_type[ 'balance' ][ 'presale_refund' ] = [ 'type_name' => '预售订单退还', 'type_url' => '' ];
@ -119,6 +121,7 @@ class MemberAccount extends BaseModel
$from_type[ 'point' ][ 'day_settlement' ] = [ 'type_name' => '每日转换', 'type_url' => '' ]; $from_type[ 'point' ][ 'day_settlement' ] = [ 'type_name' => '每日转换', 'type_url' => '' ];
$from_type[ 'balance_money' ][ 'day_settlement' ] = [ 'type_name' => '每日转换', 'type_url' => '' ]; $from_type[ 'balance_money' ][ 'day_settlement' ] = [ 'type_name' => '每日转换', 'type_url' => '' ];
$from_type[ 'balance_money' ][ 'area' ] = [ 'type_name' => '区域代理结算', 'type_url' => '' ];
$this->from_type = $from_type; $this->from_type = $from_type;
} }

View File

@ -263,6 +263,9 @@ class Register extends BaseModel
]; ];
$res = model("member")->add($data_reg); $res = model("member")->add($data_reg);
if ($res) { if ($res) {
$rcode=createShareCode($res);
model("member")->update(['rcode' => $rcode],[['member_id', '=', $res]]);
if (!empty($member_level_info)) { if (!empty($member_level_info)) {
$member_account_model = new MemberAccount(); $member_account_model = new MemberAccount();
//赠送红包 //赠送红包

View File

@ -1542,6 +1542,7 @@ class OrderCommon extends BaseModel
*/ */
public function addOrderLog($data) public function addOrderLog($data)
{ {
unset($data['id']);
$data['action_time'] = time();//操作时间 $data['action_time'] = time();//操作时间
$res = model('order_log')->add($data); $res = model('order_log')->add($data);
return $this->success($res); return $this->success($res);

View File

@ -2003,7 +2003,7 @@ return [
'url' => 'fenxiao://shop/level/lists', 'url' => 'fenxiao://shop/level/lists',
'is_show' => 0, 'is_show' => 0,
'is_control' => 1, 'is_control' => 1,
'sort' => 6, 'sort' => 99,
'child_list' => [ 'child_list' => [
[ [
'name' => 'PROMOTION_FENXIAO_LEVEL_ADD', 'name' => 'PROMOTION_FENXIAO_LEVEL_ADD',
@ -2071,6 +2071,86 @@ return [
] ]
] ]
], ],
[
'name' => 'PROMOTION_FENXIAO_AGENT',
'title' => '区域代理',
'url' => 'fenxiao://shop/area/lists',
'parent' => 'PROMOTION_ROOT',
'picture' => 'addon/fenxiao/shop/view/public/img/distribution_new.png',
'picture_selected' => 'addon/fenxiao/shop/view/public/img/distribution_select.png',
'is_show' => 1,
'sort' => 6,
'child_list'=>[
[
'name' => 'PROMOTION_FENXIAO_AREA_ROOT',
'title' => '区域代理',
'url' => 'fenxiao://shop/area/lists',
'is_show' => 1,
'is_control' => 1,
'sort' => 1,
'child_list' => [
[
'name' => 'PROMOTION_FENXIAO_AREA_ADD',
'title' => '添加区域商',
'url' => 'fenxiao://shop/area/add',
'is_show' => 1,
],
[
'name' => 'PROMOTION_FENXIAO_AREA_DETAIL',
'title' => '代理商信息',
'url' => 'fenxiao://shop/area/detail',
'is_show' => 1,
],
[
'name' => 'PROMOTION_FENXIAO_AREA_DEL',
'title' => '删除',
'url' => 'fenxiao://shop/area/del',
'is_show' => 1,
]
]
],
[
'name' => 'PROMOTION_FENXIAO_AGENT_LEVEL',
'title' => '区域等级',
'url' => 'fenxiao://shop/agentlevel/lists',
'is_show' => 1,
'is_control' => 1,
'sort' => 2,
'child_list' => [
[
'name' => 'PROMOTION_FENXIAO_AGENT_LEVEL_LISTS',
'title' => '等级列表',
'url' => 'fenxiao://shop/agentlevel/lists',
'is_show' => 0,
],
[
'name' => 'PROMOTION_FENXIAO_AGENT_LEVEL_ADD',
'title' => '添加等级',
'url' => 'fenxiao://shop/agentlevel/add',
'is_show' => 0,
],
[
'name' => 'PROMOTION_FENXIAO_AGENT_LEVEL_EDIT',
'title' => '编辑等级',
'url' => 'fenxiao://shop/agentlevel/edit',
'is_show' => 0,
],
[
'name' => 'PROMOTION_FENXIAO_AGENT_LEVEL_STATUS',
'title' => '等级状态设置',
'url' => 'fenxiao://shop/agentlevel/status',
'is_show' => 0,
],
[
'name' => 'PROMOTION_FENXIAO_AGENT_LEVEL_DELETE',
'title' => '删除等级',
'url' => 'fenxiao://shop/agentlevel/delete',
'is_show' => 0,
]
]
]
]
],
// [ // [
// 'name' => 'PROMOTION_FENXIAO_MARKET', // 'name' => 'PROMOTION_FENXIAO_MARKET',
// 'title' => '分销市场', // 'title' => '分销市场',