Commit 65308984 authored by hujun's avatar hujun

Merge branch 'hujun-commission' into test

parents cb104148 78a46cb2
This diff is collapsed.
......@@ -32,11 +32,11 @@ class RankingList extends Basic{
*/
public function getRandKingList(){
$params = $this->params;
/* $params = array(
$params = array(
"position" => 1,//职称 1店长 2经理 3主任 4顾问 0新人
"pk_type" => 2//pk类型 1月pk 2周pk
);
$this->siteId = 10001;*/
$this->siteId = 10001;
if(!isset($params["position"]) || $params["position"] < 0 || $params["position"] > 5){
return $this->response("101","请求参数错误");
}
......
......@@ -65,6 +65,21 @@
.clear{
clear: both;
}
.user-ul{
height: auto;
float: left;
position: relative;
left: -40px;
}
.user-ul li{
list-style: none;
line-height: 30px;
}
.left-phone{
float: left;
margin-top: 10px;
margin-left: 10px;
}
</style>
<div id="page-content-wrapper">
<div class="container">
......@@ -117,9 +132,11 @@
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="store_name" placeholder="所属门店名称" type="text" value="">-->
<!--<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="internal_num" placeholder="商铺号" type="text" value="">-->
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="user_name" placeholder="业务员姓名" type="text" value="">
<input class="form-control btn2 ld-Marheight" data-rule-phoneus="false" data-rule-required="false" id="user_phone" placeholder="业务员手机号" type="text" value="">
<div class="left-phone">
<input class="form-control" data-rule-phoneus="false" data-rule-required="false" id="partical_name" placeholder="分佣方姓名" type="text" value="">
<ul class="user-ul"></ul>
</div>
<!--<span class="fore-span ld-Marheight">开票日期:</span>
<input class="form-control btn4 ld-Marheight" value="" data-rule-phoneus="false" data-rule-required="false" id="create_ticketTime" name="start_date" type="date" disabled="disabled">
<span class="fore-span ld-Marheight">-</span>
......@@ -132,6 +149,12 @@
<span style="margin-left: 5px;font-size: 16px;font-weight: 600;">
最终实收总计:<span class="total-money"></span>
</span>
<span style="margin-left: 5px;font-size: 16px;font-weight: 600;">
税费总计:<span class="total-taxes"></span>
</span>
<span style="margin-left: 5px;font-size: 16px;font-weight: 600;">
最终实收总计:<span class="total-all"></span>
</span>
</form>
</td>
</tr>
......
......@@ -209,67 +209,77 @@ class OPartialCommission extends BaseModel
*
* @param int $pageNo
* @param int $pageSize
* @param string $order_
* @param string $field
* @param string $params
* @param $operation_start_data
* @param $operation_end_data
* @return false|\PDOStatement|string|\think\Collection
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
* @return mixed
* @throws \think\db\exception\BindParamException
* @throws \think\exception\PDOException
*/
public function getCommissionTotalList($pageNo = 1, $pageSize = 15, $order_ = 'a.id desc', $field = '', $params = '', $operation_start_data, $operation_end_data)
public function getCommissionTotalList($pageNo = 1, $pageSize = 15, $field = '', $params = '')
{
$data = $this->alias('a')
->field($field)
->join('o_bargain b', 'a.bargain_id = b.id', 'left')
->join('o_bargain e', 'b.father_id = e.id or b.id=e.id and e.father_id=0', 'left')
->join('o_real_income f', 'e.id = f.bargain_id', 'left')
->join('a_agents d', 'a.agent_id = d.id', 'left')
->where($params)
->order($order_)
->limit($pageSize)
->page($pageNo)
->group('a.agent_id')
->select();
$m_agent = new AAgents();
$m_tax = new OTaxes();
foreach ($data as $k => $v) {
if (isset($v['agent_id'])) {
$district_store = $m_agent->getStoreDistrict('store_name,district_name', [ 'a.id' => $v['agent_id'] ]);
$data[$k]['district_store'] = $district_store['district_name'] . '-' . $district_store['store_name'];
//税费
$data[$k]['fee'] = $m_tax->where('operation_date', 'between time', [ $operation_start_data, $operation_end_data ])
->where('agent_id', $v['agent_id'])->sum('fee');
//去除多次应分佣金
$should_commission = $this->where('confirm_date', 'between time', [ $operation_start_data, $operation_end_data ])
->where('agent_id', $v['agent_id'])->group('bargain_id')->column('should_commission');
$data[$k]['should_commission'] = 0;
foreach ($should_commission as $kk => $vv) {
$data[$k]['should_commission'] += $vv;
}
$field_sum = 'sum(practical_fee) as practical_fee,sum(cash) as cash,sum(real_fee) as real_fee,sum(service_charge) as service_charge,
sum(charity_fund) as charity_fund';
//应分佣金
$partial_commission = $this->field($field_sum)->where('confirm_date', 'between time', [ $operation_start_data, $operation_end_data ])
->where('agent_id', $v['agent_id'])->find();
$data[$k]['practical_fee'] = $partial_commission['practical_fee'];
$data[$k]['cash'] = $partial_commission['cash'];
$data[$k]['real_fee'] = $partial_commission['real_fee'];
$data[$k]['service_charge'] = $partial_commission['service_charge'];
$data[$k]['charity_fund'] = $partial_commission['charity_fund'];
}
}
$sql = "( SELECT
{$field}
FROM
o_partial_commission a
LEFT JOIN o_real_income b ON a.real_income_id = b.id
LEFT JOIN o_taxes c ON a.agent_id = c.agent_id
LEFT JOIN a_agents d ON a.agent_id = d.id
LEFT JOIN o_bargain e ON a.bargain_id = e.id
WHERE
{$params}
AND a.practical_fee > 0
AND c.fee > 0
GROUP BY
a.agent_id
) UNION ALL
(
SELECT
{$field}
FROM
o_partial_commission a
LEFT JOIN o_real_income b ON a.real_income_id = b.id
LEFT JOIN o_taxes c ON a.agent_id = c.agent_id
LEFT JOIN a_agents d ON a.agent_id = d.id
LEFT JOIN o_bargain e ON a.bargain_id = e.id
WHERE
{$params}
AND a.practical_fee IS NULL
AND c.fee > 0
GROUP BY
a.agent_id
) UNION ALL
(
SELECT
{$field}
FROM
o_partial_commission a
LEFT JOIN o_real_income b ON a.real_income_id = b.id
LEFT JOIN o_taxes c ON a.agent_id = c.agent_id
LEFT JOIN a_agents d ON a.agent_id = d.id
LEFT JOIN o_bargain e ON a.bargain_id = e.id
WHERE
{$params}
AND a.practical_fee > 0
AND c.fee IS NULL
GROUP BY
a.agent_id
) limit {$pageNo},{$pageSize}";
return $this->query($sql);
}
return $data;
/**
* @param $field
* @param $where
* @return float|int
*/
public function getCommissionTotalInfo($field, $where) {
return $this->alias('a')
->join('o_real_income b', 'a.real_income_id = b.id', 'left')
->join('o_taxes c', 'a.agent_id = c.agent_id', 'left')
->join('a_agents d', 'a.agent_id = d.id', 'left')
->join('o_bargain e', 'a.bargain_id = e.id', 'left')
->where($where)
->sum($field);
}
/**
......@@ -347,15 +357,68 @@ class OPartialCommission extends BaseModel
* @param $params
* @return int|string
*/
/**
* @param $params
* @return mixed
* @throws \think\db\exception\BindParamException
* @throws \think\exception\PDOException
*/
public function getCommissionTotalListTotal($params)
{
return $this->alias('a')
->join('o_bargain b', 'a.bargain_id = b.id', 'left')
->join('o_real_income f', 'b.id = f.bargain_id', 'left')
->join('a_agents d', 'a.agent_id = d.id', 'left')
->where($params)
->group('a.agent_id')
->count();
$sql = "SELECT
COUNT( * ) AS count
FROM
(
( SELECT
count(a.id) as num
FROM
o_partial_commission a
LEFT JOIN o_real_income b ON a.real_income_id = b.id
LEFT JOIN o_taxes c ON a.agent_id = c.agent_id
LEFT JOIN a_agents d ON a.agent_id = d.id
LEFT JOIN o_bargain e ON a.bargain_id = e.id
WHERE
{$params}
AND a.practical_fee > 0
AND c.fee > 0
GROUP BY
a.agent_id
) UNION ALL
(
SELECT
count(a.id)
FROM
o_partial_commission a
LEFT JOIN o_real_income b ON a.real_income_id = b.id
LEFT JOIN o_taxes c ON a.agent_id = c.agent_id
LEFT JOIN a_agents d ON a.agent_id = d.id
LEFT JOIN o_bargain e ON a.bargain_id = e.id
WHERE
{$params}
AND a.practical_fee IS NULL
AND c.fee > 0
GROUP BY
a.agent_id
) UNION ALL
(
SELECT
count(a.id)
FROM
o_partial_commission a
LEFT JOIN o_real_income b ON a.real_income_id = b.id
LEFT JOIN o_taxes c ON a.agent_id = c.agent_id
LEFT JOIN a_agents d ON a.agent_id = d.id
LEFT JOIN o_bargain e ON a.bargain_id = e.id
WHERE
{$params}
AND a.practical_fee > 0
AND c.fee IS NULL
GROUP BY
a.agent_id
) ) as _group_count_";
$num = $this->query($sql);
return $num[0]['count'];
}
/**
......
......@@ -258,7 +258,7 @@ Route::group('index', [
'searchBargainAgents' => ['index/Finance/searchBargainAgents', ['method' => 'GET']], //成交报告id获取盘方,客方,反签,独家,合作方
'searchOrderAgents' => ['index/Finance/searchOrderAgents', ['method' => 'GET']], //order_id获取盘方,客方,反签,独家,合作方
'getTallAgeList' => ['index/Finance/getTallAgeList', ['method' => 'GET']], //税费承担明细表
'getCommissionTotalList' => ['index/Finance/getCommissionTotalListV2', ['method' => 'GET']], //分佣提成汇总表
'getCommissionTotalList' => ['index/Finance/getCommissionTotalList', ['method' => 'GET']], //分佣提成汇总表
'getCollection' => ['index/Finance/getCollection', ['method' => 'post|get']],//收款记录
'addRealMoney' => ['index/Finance/addRealMoney', ['method' => 'post|get']],//新增实收
'visitShop' => ['index/Supervise/visitShop', ['method' => 'get']],//门店拜访
......
......@@ -13,6 +13,7 @@ define(['doT', 'text!temp/commissionTotal_template_tpl.html', 'css!style/home.cs
ldHtml: $('.phone_list'),
boxphoto: '',
exclusive_id: 0,
agent_id_phone:0,
init: function() {
//初始化dot
$("body").append(template);
......@@ -54,7 +55,7 @@ define(['doT', 'text!temp/commissionTotal_template_tpl.html', 'css!style/home.cs
$('#confirm_commission').val(day_end);
//初始化收佣日期
business.getList();
business.getList(1);
business.event();
business.getDistrict();
},
......@@ -98,7 +99,19 @@ define(['doT', 'text!temp/commissionTotal_template_tpl.html', 'css!style/home.cs
$("#reset").click(function() { //重置
document.getElementById("form_search").reset();
});
//分佣方 姓名下拉式
$(document).on("input", "#partical_name", function() { //手机号新增搜索客方
if($("#partical_name").val() == '') {
business.agent_id_phone='';
$(".user-ul").html('');
} else {
business.search_phone();
}
});
//点击li 列表消失
$(document).delegate(".addphone", "click", function() { //list消失新增客户 点击li事件 获取id ul消失
business.addphone(this);
});
$(document).delegate(".del_modal", "click", function() {
business.id = $(this).attr("data-id");
......@@ -411,8 +424,7 @@ define(['doT', 'text!temp/commissionTotal_template_tpl.html', 'css!style/home.cs
}
params.pageNo = business.pageNo;
params.pageSize = business.pageSize;
params.name = $('#user_name').val();
params.phone = $('#user_phone').val();
params.agent_id = business.agent_id_phone;
params.income_start_date = $('#create_time').val();
params.income_end_date = $('#end_time').val();
params.bargain_start_date = $('#create_dealtime').val();
......@@ -420,6 +432,7 @@ define(['doT', 'text!temp/commissionTotal_template_tpl.html', 'css!style/home.cs
params.confirm_date = $('#confirm_commission').val();
params.district_id = $("#district_id").val(); //部门id 添加字段
params.store_id = $('#guest_stores').val();
console.log(params)
$.ajax({
url: '/index/getCommissionTotalList', //获取列表
type: 'GET',
......@@ -433,6 +446,8 @@ define(['doT', 'text!temp/commissionTotal_template_tpl.html', 'css!style/home.cs
$("#business_list").html(doTtmpl(data.data.list));
//汇总总计
$('.total-money').html(data.data.total_money);
$('.total-taxes').html(data.data.total_taxes);
$('.total-all').html(data.data.total_money - data.data.total_taxes);
/*分页代码*/
add_page(data.data.total, pageNo, business.pageSize, business.getList);
} else {
......@@ -526,7 +541,58 @@ define(['doT', 'text!temp/commissionTotal_template_tpl.html', 'css!style/home.cs
}
window.open(str)
}
},
//分佣方 姓名搜索
search_phone: function() { //手机号新增客户
$.ajax({
url: '/index/getBroker_new',
type: 'GET',
async: true,
data: {
"phone": $("#partical_name").val(),
'all' : 1
},
dataType: 'json',
success: function(data) {
if(data.code == 200) {
var user_ul = "";
$.each(data.data, function(i, item) {
if(item.status == 0){
var status=' ';
};
if(item.status == 1){
var status='-长假';
};
if(item.status == 2){
var status='-离职';
};
if(item.status == 3){
var status='-转勤';
};
if(item.status == 4){
var status='-黑名单';
}
user_ul += '<li class="addphone" data-id="' + item.id + '">' + item.id + '-' + item.name + '-' + item.phone + status + '</li>';
});
$(".user-ul").html(user_ul);
} else {
alert(data.msg);
}
}
});
},
//将li里的值 赋给input(分佣方姓名)
addphone: function(obj) {//新增客户 input赋值
var user_ht = $(obj).html()+'';
console.log(user_ht.length);
var user_ht_str=user_ht.substring(0,user_ht.length-3);
$("#partical_name").val(user_ht_str);
$(".user-ul").html('');
business.agent_id_phone = $(obj).attr("data-id");
},
};
return business;
});
\ No newline at end of file
......@@ -31,7 +31,7 @@
[% } %]
</td>
<td>
[%= it[item]['over_fee'] %]
[%= it[item]['practical_fee'] - it[item]['fee'] %]
</td>
</tr>
[% } %]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment