diff --git a/app/admin/controller/SupplyAccount.php b/app/admin/controller/SupplyAccount.php
new file mode 100644
index 0000000..a0f0620
--- /dev/null
+++ b/app/admin/controller/SupplyAccount.php
@@ -0,0 +1,140 @@
+model = new SupplyAccountModel();
+ $this->uid = get_login_admin('id');
+ }
+ /**
+ * 数据列表
+ */
+ public function datalist()
+ {
+ if (request()->isAjax()) {
+ $param = get_params();
+ $where = [];
+
+ $list = $this->model->getSupplyAccountList($where,$param);
+ foreach ($list as $k =>$v){
+ $list[$k]['fa_supply_team_id'] = Db::table('fa_supply_team')->where('id',$v['fa_supply_team_id'])->value('name');
+ }
+ return table_assign(0, '', $list);
+ }
+ else{
+ return view();
+ }
+ }
+
+ /**
+ * 添加
+ */
+ public function add()
+ {
+ if (request()->isAjax()) {
+ $param = get_params();
+
+ // 检验完整性
+ try {
+ validate(SupplyAccountValidate::class)->check($param);
+ } catch (ValidateException $e) {
+ // 验证失败 输出错误信息
+ return to_assign(1, $e->getError());
+ }
+
+ $this->model->addSupplyAccount($param);
+ }else{
+ $team = Db::table('fa_supply_team')->select();
+ View::assign('team', $team);
+ return view();
+ }
+ }
+
+
+ /**
+ * 编辑
+ */
+ public function edit()
+ {
+ $param = get_params();
+
+ if (request()->isAjax()) {
+ // 检验完整性
+ try {
+ validate(SupplyAccountValidate::class)->check($param);
+ } catch (ValidateException $e) {
+ // 验证失败 输出错误信息
+ return to_assign(1, $e->getError());
+ }
+
+ $this->model->editSupplyAccount($param);
+ }else{
+ $id = isset($param['id']) ? $param['id'] : 0;
+ $detail = $this->model->getSupplyAccountById($id);
+ if (!empty($detail)) {
+ View::assign('detail', $detail);
+ $team = Db::table('fa_supply_team')->select();
+ View::assign('team', $team);
+ return view();
+ }
+ else{
+ throw new \think\exception\HttpException(404, '找不到页面');
+ }
+ }
+ }
+
+
+ /**
+ * 查看信息
+ */
+ public function read()
+ {
+ $param = get_params();
+ $id = isset($param['id']) ? $param['id'] : 0;
+ $detail = $this->model->getSupplyAccountById($id);
+ if (!empty($detail)) {
+ View::assign('detail', $detail);
+ $team = Db::table('fa_supply_team')->select();
+ View::assign('team', $team);
+ return view();
+ }
+ else{
+ throw new \think\exception\HttpException(404, '找不到页面');
+ }
+ }
+
+ /**
+ * 删除
+ * type=0,逻辑删除,默认
+ * type=1,物理删除
+ */
+ public function del()
+ {
+ $param = get_params();
+ $id = isset($param['id']) ? $param['id'] : 0;
+ $type = isset($param['type']) ? $param['type'] : 0;
+
+ $this->model->delSupplyAccountById($id,$type);
+ }
+}
diff --git a/app/admin/controller/SupplyBrokerage.php b/app/admin/controller/SupplyBrokerage.php
new file mode 100644
index 0000000..42ae18f
--- /dev/null
+++ b/app/admin/controller/SupplyBrokerage.php
@@ -0,0 +1,143 @@
+model = new SupplyBrokerageModel();
+ $this->uid = get_login_admin('id');
+ }
+ /**
+ * 数据列表
+ */
+ public function datalist()
+ {
+ if (request()->isAjax()) {
+ $param = get_params();
+ $where = [];
+
+ $list = $this->model->getSupplyBrokerageList($where,$param);
+ foreach ($list as $k =>$v){
+ $list[$k]['fa_supply_chain_id'] = Db::table('fa_supply_team')->where('id',$v['fa_supply_chain_id'])->value('name');
+ $list[$k]['mer_id'] = Db::connect('shop')->table('eb_merchant')->where('mer_id',$v['mer_id'])->value('mer_name');
+// $list[$k]['user_id'] = Db::table('fa_szxc_information_usermsg')->where('user_id',$v['user_id'])->value('name');
+ if($v['status'] == 1){
+ $list[$k]['status'] = '成功';
+ }else{
+ $list[$k]['status'] = '待分佣';
+ }
+ $list[$k]['supply_level_id'] = Db::table('fa_supply_level')->where('id',$v['supply_level_id'])->value('name');
+
+ }
+ return table_assign(0, '', $list);
+ }
+ else{
+ return view();
+ }
+ }
+
+ /**
+ * 添加
+ */
+ public function add()
+ {
+ if (request()->isAjax()) {
+ $param = get_params();
+
+ // 检验完整性
+ try {
+ validate(SupplyBrokerageValidate::class)->check($param);
+ } catch (ValidateException $e) {
+ // 验证失败 输出错误信息
+ return to_assign(1, $e->getError());
+ }
+
+ $this->model->addSupplyBrokerage($param);
+ }else{
+ return view();
+ }
+ }
+
+
+ /**
+ * 编辑
+ */
+ public function edit()
+ {
+ $param = get_params();
+
+ if (request()->isAjax()) {
+ // 检验完整性
+ try {
+ validate(SupplyBrokerageValidate::class)->check($param);
+ } catch (ValidateException $e) {
+ // 验证失败 输出错误信息
+ return to_assign(1, $e->getError());
+ }
+
+ $this->model->editSupplyBrokerage($param);
+ }else{
+ $id = isset($param['id']) ? $param['id'] : 0;
+ $detail = $this->model->getSupplyBrokerageById($id);
+ if (!empty($detail)) {
+ View::assign('detail', $detail);
+ return view();
+ }
+ else{
+ throw new \think\exception\HttpException(404, '找不到页面');
+ }
+ }
+ }
+
+
+ /**
+ * 查看信息
+ */
+ public function read()
+ {
+ $param = get_params();
+ $id = isset($param['id']) ? $param['id'] : 0;
+ $detail = $this->model->getSupplyBrokerageById($id);
+ if (!empty($detail)) {
+ View::assign('detail', $detail);
+ return view();
+ }
+ else{
+ throw new \think\exception\HttpException(404, '找不到页面');
+ }
+ }
+
+ /**
+ * 删除
+ * type=0,逻辑删除,默认
+ * type=1,物理删除
+ */
+ public function del()
+ {
+ $param = get_params();
+ $id = isset($param['id']) ? $param['id'] : 0;
+ $type = isset($param['type']) ? $param['type'] : 0;
+
+ $this->model->delSupplyBrokerageById($id,$type);
+ }
+}
diff --git a/app/admin/controller/SupplyLevel.php b/app/admin/controller/SupplyLevel.php
new file mode 100644
index 0000000..a930a5b
--- /dev/null
+++ b/app/admin/controller/SupplyLevel.php
@@ -0,0 +1,131 @@
+model = new SupplyLevelModel();
+ $this->uid = get_login_admin('id');
+ }
+ /**
+ * 数据列表
+ */
+ public function datalist()
+ {
+ if (request()->isAjax()) {
+ $param = get_params();
+ $where = [];
+
+ $list = $this->model->getSupplyLevelList($where,$param);
+ return table_assign(0, '', $list);
+ }
+ else{
+ return view();
+ }
+ }
+
+ /**
+ * 添加
+ */
+ public function add()
+ {
+ if (request()->isAjax()) {
+ $param = get_params();
+
+ // 检验完整性
+ try {
+ validate(SupplyLevelValidate::class)->check($param);
+ } catch (ValidateException $e) {
+ // 验证失败 输出错误信息
+ return to_assign(1, $e->getError());
+ }
+
+ $this->model->addSupplyLevel($param);
+ }else{
+ return view();
+ }
+ }
+
+
+ /**
+ * 编辑
+ */
+ public function edit()
+ {
+ $param = get_params();
+
+ if (request()->isAjax()) {
+ // 检验完整性
+ try {
+ validate(SupplyLevelValidate::class)->check($param);
+ } catch (ValidateException $e) {
+ // 验证失败 输出错误信息
+ return to_assign(1, $e->getError());
+ }
+
+ $this->model->editSupplyLevel($param);
+ }else{
+ $id = isset($param['id']) ? $param['id'] : 0;
+ $detail = $this->model->getSupplyLevelById($id);
+ if (!empty($detail)) {
+ View::assign('detail', $detail);
+ return view();
+ }
+ else{
+ throw new \think\exception\HttpException(404, '找不到页面');
+ }
+ }
+ }
+
+
+ /**
+ * 查看信息
+ */
+ public function read()
+ {
+ $param = get_params();
+ $id = isset($param['id']) ? $param['id'] : 0;
+ $detail = $this->model->getSupplyLevelById($id);
+ if (!empty($detail)) {
+ View::assign('detail', $detail);
+ return view();
+ }
+ else{
+ throw new \think\exception\HttpException(404, '找不到页面');
+ }
+ }
+
+ /**
+ * 删除
+ * type=0,逻辑删除,默认
+ * type=1,物理删除
+ */
+ public function del()
+ {
+ $param = get_params();
+ $id = isset($param['id']) ? $param['id'] : 0;
+ $type = isset($param['type']) ? $param['type'] : 0;
+
+ $this->model->delSupplyLevelById($id,$type);
+ }
+}
diff --git a/app/admin/controller/SupplyTeam.php b/app/admin/controller/SupplyTeam.php
new file mode 100644
index 0000000..eaecc8d
--- /dev/null
+++ b/app/admin/controller/SupplyTeam.php
@@ -0,0 +1,157 @@
+model = new SupplyTeamModel();
+ $this->uid = get_login_admin('id');
+ }
+ /**
+ * 数据列表
+ */
+ public function datalist()
+ {
+ if (request()->isAjax()) {
+ $param = get_params();
+ $where = [];
+
+ $list = $this->model->getSupplyTeamList($where,$param);
+ foreach ($list as $k =>$v){
+ $list[$k]['area_id'] = Db::table('fa_geo_area')->where('area_id',$v['area_id'])->value('area_name');
+ $list[$k]['supply_level_id'] = Db::table('fa_supply_level')->where('id',$v['supply_level_id'])->value('name');
+ $list[$k]['user_id'] = Db::table('fa_szxc_information_usermsg')->where('user_id',$v['user_id'])->value('name');
+ }
+ return table_assign(0, '', $list);
+ }
+ else{
+ return view();
+ }
+ }
+
+ /**
+ * 添加
+ */
+ public function add()
+ {
+ if (request()->isAjax()) {
+ $param = get_params();
+
+ // 检验完整性
+ try {
+ validate(SupplyTeamValidate::class)->check($param);
+ } catch (ValidateException $e) {
+ // 验证失败 输出错误信息
+ return to_assign(1, $e->getError());
+ }
+
+ $this->model->addSupplyTeam($param);
+ }else{
+ $geo_area = Db::table('fa_geo_area')->where('city_code',510500)->select();
+ View::assign('geo_area', $geo_area);
+ $level = Db::table('fa_supply_level')->select();
+ View::assign('level', $level);
+ //获取用户信息
+ $this->users = Db::table('fa_szxc_information_usermsg')->where('status',1)->field('user_id,name')->select();
+ View::assign('users', $this->users);
+ return view();
+ }
+ }
+
+
+ /**
+ * 编辑
+ */
+ public function edit()
+ {
+ $param = get_params();
+
+ if (request()->isAjax()) {
+ // 检验完整性
+ try {
+ validate(SupplyTeamValidate::class)->check($param);
+ } catch (ValidateException $e) {
+ // 验证失败 输出错误信息
+ return to_assign(1, $e->getError());
+ }
+
+ $this->model->editSupplyTeam($param);
+ }else{
+ $id = isset($param['id']) ? $param['id'] : 0;
+ $detail = $this->model->getSupplyTeamById($id);
+ if (!empty($detail)) {
+ View::assign('detail', $detail);
+ $geo_area = Db::table('fa_geo_area')->where('city_code',510500)->select();
+ View::assign('geo_area', $geo_area);
+ $level = Db::table('fa_supply_level')->select();
+ View::assign('level', $level);
+ //获取用户信息
+ $this->users = Db::table('fa_szxc_information_usermsg')->where('status',1)->field('user_id,name')->select();
+ View::assign('users', $this->users);
+ return view();
+ }
+ else{
+ throw new \think\exception\HttpException(404, '找不到页面');
+ }
+ }
+ }
+
+
+ /**
+ * 查看信息
+ */
+ public function read()
+ {
+ $param = get_params();
+ $id = isset($param['id']) ? $param['id'] : 0;
+ $detail = $this->model->getSupplyTeamById($id);
+ if (!empty($detail)) {
+ View::assign('detail', $detail);
+ $geo_area = Db::table('fa_geo_area')->where('city_code',510500)->select();
+ View::assign('geo_area', $geo_area);
+ $level = Db::table('fa_supply_level')->select();
+ View::assign('level', $level);
+ //获取用户信息
+ $this->users = Db::table('fa_szxc_information_usermsg')->where('status',1)->field('user_id,name')->select();
+ View::assign('users', $this->users);
+ return view();
+ }
+ else{
+ throw new \think\exception\HttpException(404, '找不到页面');
+ }
+ }
+
+ /**
+ * 删除
+ * type=0,逻辑删除,默认
+ * type=1,物理删除
+ */
+ public function del()
+ {
+ $param = get_params();
+ $id = isset($param['id']) ? $param['id'] : 0;
+ $type = isset($param['type']) ? $param['type'] : 0;
+
+ $this->model->delSupplyTeamById($id,$type);
+ }
+}
diff --git a/app/admin/model/SupplyAccount.php b/app/admin/model/SupplyAccount.php
new file mode 100644
index 0000000..f0dc3cc
--- /dev/null
+++ b/app/admin/model/SupplyAccount.php
@@ -0,0 +1,100 @@
+field('id,account,name,bank,amount,balance,free_balance,fa_supply_team_id')->order($order)->paginate($rows, false, ['query' => $param]);
+ return $list;
+ }
+
+ /**
+ * 添加数据
+ * @param $param
+ */
+ public function addSupplyAccount($param)
+ {
+ $insertId = 0;
+ try {
+ $param['create_time'] = time();
+ $insertId = self::strict(false)->field(true)->insertGetId($param);
+ add_log('add', $insertId, $param);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ return to_assign(0,'操作成功',['aid'=>$insertId]);
+ }
+
+ /**
+ * 编辑信息
+ * @param $param
+ */
+ public function editSupplyAccount($param)
+ {
+ try {
+ $param['update_time'] = time();
+ self::where('id', $param['id'])->strict(false)->field(true)->update($param);
+ add_log('edit', $param['id'], $param);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ return to_assign();
+ }
+
+
+ /**
+ * 根据id获取信息
+ * @param $id
+ */
+ public function getSupplyAccountById($id)
+ {
+ $info = self::where('id', $id)->find();
+ return $info;
+ }
+
+ /**
+ * 删除信息
+ * @param $id
+ * @return array
+ */
+ public function delSupplyAccountById($id,$type=0)
+ {
+ if($type==0){
+ //逻辑删除
+ try {
+ $param['delete_time'] = time();
+ self::where('id', $id)->update(['delete_time'=>time()]);
+ add_log('delete', $id);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ }
+ else{
+ //物理删除
+ try {
+ self::where('id', $id)->delete();
+ add_log('delete', $id);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ }
+ return to_assign();
+ }
+}
+
diff --git a/app/admin/model/SupplyBrokerage.php b/app/admin/model/SupplyBrokerage.php
new file mode 100644
index 0000000..4ef17d4
--- /dev/null
+++ b/app/admin/model/SupplyBrokerage.php
@@ -0,0 +1,100 @@
+field('id,supply_sn,mer_id,fa_supply_chain_id,order_sn,order_id,user_info,user_id,supply_userId,pay_price,brokerage_price,brokerage_rate,status,supply_level_id,group_user,create_time')->order($order)->paginate($rows, false, ['query' => $param]);
+ return $list;
+ }
+
+ /**
+ * 添加数据
+ * @param $param
+ */
+ public function addSupplyBrokerage($param)
+ {
+ $insertId = 0;
+ try {
+ $param['create_time'] = time();
+ $insertId = self::strict(false)->field(true)->insertGetId($param);
+ add_log('add', $insertId, $param);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ return to_assign(0,'操作成功',['aid'=>$insertId]);
+ }
+
+ /**
+ * 编辑信息
+ * @param $param
+ */
+ public function editSupplyBrokerage($param)
+ {
+ try {
+ $param['update_time'] = time();
+ self::where('id', $param['id'])->strict(false)->field(true)->update($param);
+ add_log('edit', $param['id'], $param);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ return to_assign();
+ }
+
+
+ /**
+ * 根据id获取信息
+ * @param $id
+ */
+ public function getSupplyBrokerageById($id)
+ {
+ $info = self::where('id', $id)->find();
+ return $info;
+ }
+
+ /**
+ * 删除信息
+ * @param $id
+ * @return array
+ */
+ public function delSupplyBrokerageById($id,$type=0)
+ {
+ if($type==0){
+ //逻辑删除
+ try {
+ $param['delete_time'] = time();
+ self::where('id', $id)->update(['delete_time'=>time()]);
+ add_log('delete', $id);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ }
+ else{
+ //物理删除
+ try {
+ self::where('id', $id)->delete();
+ add_log('delete', $id);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ }
+ return to_assign();
+ }
+}
+
diff --git a/app/admin/model/SupplyLevel.php b/app/admin/model/SupplyLevel.php
new file mode 100644
index 0000000..e0c3e46
--- /dev/null
+++ b/app/admin/model/SupplyLevel.php
@@ -0,0 +1,99 @@
+field('id,name,rate')->order($order)->paginate($rows, false, ['query' => $param]);
+ return $list;
+ }
+
+ /**
+ * 添加数据
+ * @param $param
+ */
+ public function addSupplyLevel($param)
+ {
+ $insertId = 0;
+ try {
+ $param['create_time'] = time();
+ $insertId = self::strict(false)->field(true)->insertGetId($param);
+ add_log('add', $insertId, $param);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ return to_assign(0,'操作成功',['aid'=>$insertId]);
+ }
+
+ /**
+ * 编辑信息
+ * @param $param
+ */
+ public function editSupplyLevel($param)
+ {
+ try {
+ $param['update_time'] = time();
+ self::where('id', $param['id'])->strict(false)->field(true)->update($param);
+ add_log('edit', $param['id'], $param);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ return to_assign();
+ }
+
+
+ /**
+ * 根据id获取信息
+ * @param $id
+ */
+ public function getSupplyLevelById($id)
+ {
+ $info = self::where('id', $id)->find();
+ return $info;
+ }
+
+ /**
+ * 删除信息
+ * @param $id
+ * @return array
+ */
+ public function delSupplyLevelById($id,$type=0)
+ {
+ if($type==0){
+ //逻辑删除
+ try {
+ $param['delete_time'] = time();
+ self::where('id', $id)->update(['delete_time'=>time()]);
+ add_log('delete', $id);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ }
+ else{
+ //物理删除
+ try {
+ self::where('id', $id)->delete();
+ add_log('delete', $id);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ }
+ return to_assign();
+ }
+}
+
diff --git a/app/admin/model/SupplyTeam.php b/app/admin/model/SupplyTeam.php
new file mode 100644
index 0000000..1b83f92
--- /dev/null
+++ b/app/admin/model/SupplyTeam.php
@@ -0,0 +1,99 @@
+field('id,name,lng,lat,area_id,brokerage,withdraw_brokerage,free_brokerage,supply_level_id,user_id')->order($order)->paginate($rows, false, ['query' => $param]);
+ return $list;
+ }
+
+ /**
+ * 添加数据
+ * @param $param
+ */
+ public function addSupplyTeam($param)
+ {
+ $insertId = 0;
+ try {
+ $param['create_time'] = time();
+ $insertId = self::strict(false)->field(true)->insertGetId($param);
+ add_log('add', $insertId, $param);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ return to_assign(0,'操作成功',['aid'=>$insertId]);
+ }
+
+ /**
+ * 编辑信息
+ * @param $param
+ */
+ public function editSupplyTeam($param)
+ {
+ try {
+ $param['update_time'] = time();
+ self::where('id', $param['id'])->strict(false)->field(true)->update($param);
+ add_log('edit', $param['id'], $param);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ return to_assign();
+ }
+
+
+ /**
+ * 根据id获取信息
+ * @param $id
+ */
+ public function getSupplyTeamById($id)
+ {
+ $info = self::where('id', $id)->find();
+ return $info;
+ }
+
+ /**
+ * 删除信息
+ * @param $id
+ * @return array
+ */
+ public function delSupplyTeamById($id,$type=0)
+ {
+ if($type==0){
+ //逻辑删除
+ try {
+ $param['delete_time'] = time();
+ self::where('id', $id)->update(['delete_time'=>time()]);
+ add_log('delete', $id);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ }
+ else{
+ //物理删除
+ try {
+ self::where('id', $id)->delete();
+ add_log('delete', $id);
+ } catch(\Exception $e) {
+ return to_assign(1, '操作失败,原因:'.$e->getMessage());
+ }
+ }
+ return to_assign();
+ }
+}
+
diff --git a/app/admin/validate/SupplyAccountValidate.php b/app/admin/validate/SupplyAccountValidate.php
new file mode 100644
index 0000000..4dcbbb7
--- /dev/null
+++ b/app/admin/validate/SupplyAccountValidate.php
@@ -0,0 +1,32 @@
+ 'require',
+ 'name' => 'require',
+ 'bank' => 'require',
+ 'amount' => 'require',
+ 'balance' => 'require',
+ 'free_balance' => 'require',
+ 'fa_supply_team_id' => 'require',
+];
+
+ protected $message = [
+ 'account.require' => '账号不能为空',
+ 'name.require' => '用户名不能为空',
+ 'bank.require' => '开户行不能为空',
+ 'amount.require' => '已提现金额不能为空',
+ 'balance.require' => '账户余额不能为空',
+ 'free_balance.require' => '冻结余额不能为空',
+ 'fa_supply_team_id.require' => '所属后台供应链团队ID不能为空',
+];
+}
\ No newline at end of file
diff --git a/app/admin/validate/SupplyBrokerageValidate.php b/app/admin/validate/SupplyBrokerageValidate.php
new file mode 100644
index 0000000..bae4e64
--- /dev/null
+++ b/app/admin/validate/SupplyBrokerageValidate.php
@@ -0,0 +1,24 @@
+ 'require',
+ 'fa_supply_chain_id' => 'require',
+ 'order_sn' => 'require',
+];
+
+ protected $message = [
+ 'mer_id.require' => '商户 id不能为空',
+ 'fa_supply_chain_id.require' => '供应链团队id不能为空',
+ 'order_sn.require' => '订单编号不能为空',
+];
+}
\ No newline at end of file
diff --git a/app/admin/validate/SupplyLevelValidate.php b/app/admin/validate/SupplyLevelValidate.php
new file mode 100644
index 0000000..eacadf5
--- /dev/null
+++ b/app/admin/validate/SupplyLevelValidate.php
@@ -0,0 +1,22 @@
+ 'require',
+ 'rate' => 'require',
+];
+
+ protected $message = [
+ 'name.require' => '角色名称不能为空',
+ 'rate.require' => '分佣比例不能为空',
+];
+}
\ No newline at end of file
diff --git a/app/admin/validate/SupplyTeamValidate.php b/app/admin/validate/SupplyTeamValidate.php
new file mode 100644
index 0000000..7d42bd0
--- /dev/null
+++ b/app/admin/validate/SupplyTeamValidate.php
@@ -0,0 +1,36 @@
+ 'require',
+ 'lng' => 'require',
+ 'lat' => 'require',
+ 'area_id' => 'require',
+ 'brokerage' => 'require',
+ 'withdraw_brokerage' => 'require',
+ 'free_brokerage' => 'require',
+ 'supply_level_id' => 'require',
+ 'user_id' => 'require',
+];
+
+ protected $message = [
+ 'name.require' => '后台供应链团队分组名称不能为空',
+ 'lng.require' => '经度不能为空',
+ 'lat.require' => '维度不能为空',
+ 'area_id.require' => '区县ID不能为空',
+ 'brokerage.require' => '团队分佣金额不能为空',
+ 'withdraw_brokerage.require' => '团队分佣已提现金额不能为空',
+ 'free_brokerage.require' => '分佣冻结金额不能为空',
+ 'supply_level_id.require' => '团队所属等级不能为空',
+ 'user_id.require' => '团队后台负责人ID不能为空',
+];
+}
\ No newline at end of file
diff --git a/app/admin/view/supply_account/add.html b/app/admin/view/supply_account/add.html
new file mode 100644
index 0000000..0bff322
--- /dev/null
+++ b/app/admin/view/supply_account/add.html
@@ -0,0 +1,62 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+{/block}
+
+
+
+{block name="script"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_account/datalist.html b/app/admin/view/supply_account/datalist.html
new file mode 100644
index 0000000..2c70e61
--- /dev/null
+++ b/app/admin/view/supply_account/datalist.html
@@ -0,0 +1,148 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+
+
+
+
+
+
+{/block}
+
+
+
+{block name="script"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_account/edit.html b/app/admin/view/supply_account/edit.html
new file mode 100644
index 0000000..8ea5ed4
--- /dev/null
+++ b/app/admin/view/supply_account/edit.html
@@ -0,0 +1,62 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+{/block}
+
+
+
+{block name="script"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_account/read.html b/app/admin/view/supply_account/read.html
new file mode 100644
index 0000000..ccabd2f
--- /dev/null
+++ b/app/admin/view/supply_account/read.html
@@ -0,0 +1,28 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_brokerage/add.html b/app/admin/view/supply_brokerage/add.html
new file mode 100644
index 0000000..cf2a7e7
--- /dev/null
+++ b/app/admin/view/supply_brokerage/add.html
@@ -0,0 +1,45 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+{/block}
+
+
+
+{block name="script"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_brokerage/datalist.html b/app/admin/view/supply_brokerage/datalist.html
new file mode 100644
index 0000000..d61742a
--- /dev/null
+++ b/app/admin/view/supply_brokerage/datalist.html
@@ -0,0 +1,188 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+
+
+
+
+
+
+
+
+
+
+{/block}
+
+
+
+{block name="script"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_brokerage/edit.html b/app/admin/view/supply_brokerage/edit.html
new file mode 100644
index 0000000..fdd80e2
--- /dev/null
+++ b/app/admin/view/supply_brokerage/edit.html
@@ -0,0 +1,45 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+{/block}
+
+
+
+{block name="script"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_brokerage/read.html b/app/admin/view/supply_brokerage/read.html
new file mode 100644
index 0000000..ff45489
--- /dev/null
+++ b/app/admin/view/supply_brokerage/read.html
@@ -0,0 +1,31 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_level/add.html b/app/admin/view/supply_level/add.html
new file mode 100644
index 0000000..d48af93
--- /dev/null
+++ b/app/admin/view/supply_level/add.html
@@ -0,0 +1,46 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+{/block}
+
+
+
+{block name="script"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_level/datalist.html b/app/admin/view/supply_level/datalist.html
new file mode 100644
index 0000000..44b94d6
--- /dev/null
+++ b/app/admin/view/supply_level/datalist.html
@@ -0,0 +1,123 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+
+
+
+
+
+
+{/block}
+
+
+
+{block name="script"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_level/edit.html b/app/admin/view/supply_level/edit.html
new file mode 100644
index 0000000..a2cbaab
--- /dev/null
+++ b/app/admin/view/supply_level/edit.html
@@ -0,0 +1,46 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+{/block}
+
+
+
+{block name="script"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_level/read.html b/app/admin/view/supply_level/read.html
new file mode 100644
index 0000000..20f6a27
--- /dev/null
+++ b/app/admin/view/supply_level/read.html
@@ -0,0 +1,14 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_team/add.html b/app/admin/view/supply_team/add.html
new file mode 100644
index 0000000..60c6d82
--- /dev/null
+++ b/app/admin/view/supply_team/add.html
@@ -0,0 +1,83 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+{/block}
+
+
+
+{block name="script"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_team/datalist.html b/app/admin/view/supply_team/datalist.html
new file mode 100644
index 0000000..beb1b15
--- /dev/null
+++ b/app/admin/view/supply_team/datalist.html
@@ -0,0 +1,158 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+
+
+
+
+
+
+{/block}
+
+
+
+{block name="script"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_team/edit.html b/app/admin/view/supply_team/edit.html
new file mode 100644
index 0000000..a079d66
--- /dev/null
+++ b/app/admin/view/supply_team/edit.html
@@ -0,0 +1,79 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+{/block}
+
+
+
+{block name="script"}
+
+{/block}
+
\ No newline at end of file
diff --git a/app/admin/view/supply_team/read.html b/app/admin/view/supply_team/read.html
new file mode 100644
index 0000000..1c68e7a
--- /dev/null
+++ b/app/admin/view/supply_team/read.html
@@ -0,0 +1,44 @@
+{extend name="common/base"/}
+
+{block name="body"}
+
+{/block}
+
\ No newline at end of file