edit-plan-settle

This commit is contained in:
lccsw
2022-08-12 14:54:29 +08:00
parent 47c87cda51
commit edb2e2af3e
4 changed files with 272 additions and 9 deletions
+6 -7
View File
@@ -21,8 +21,6 @@ class Settle extends HD_Controller
$this->load->model('biz/biz_settle_static_model');
$this->load->model('biz/biz_info_model');
$this->load->model('biz/biz_trucking_model');
$_biz_type = $this->input->get('_biz_type');
$_SESSION['is_brand'] = $_biz_type==1 ? $_biz_type : '';
}
public function index()
@@ -33,7 +31,6 @@ class Settle extends HD_Controller
public function lists()
{
$params = $this->input->get();
$where = array();
$t1 = 'lc_biz_settle';
$t2 = 'lc_receiver_orders_v2';
@@ -120,6 +117,7 @@ class Settle extends HD_Controller
foreach($rows as $v){
$title = "{$map_brand[$v['brand_id']]} {$map_sery[$v['s_id']]} {$map_attr[$v['v_id']]} {$map_attr[$v['cor_id']]}";
$month = date('Y-m',strtotime("{$v['year']}-{$v['month']}"));
$money_json = json_decode($v['money_json'],true);
$lists[] = array(
'id' => $v['id'],
'o_id' => $v['o_id'],
@@ -136,12 +134,12 @@ class Settle extends HD_Controller
'mobile' => $v['mobile'],
'sid' => $v['sid'],
'month' => $month,
'vin' => $map_item[$v['item_id']]
'vin' => $map_item[$v['item_id']],
'money_json' => $money_json
);
}
}
}
$this->data['params'] = $params;
$this->data['lists'] = $lists;
$this->data['brandAry'] = $map_brand;
@@ -149,7 +147,8 @@ class Settle extends HD_Controller
$this->data['monthAry'] = $this->auto_business_model->month();
$this->data['pager'] = array('count' => ceil($total / $size), 'curr' => $page,'totle'=>$total);
$this->data['_title'] = '商家结算管理';
$this->show_view('biz/settle/lists',true);
$view = $params['_biz_type'] ? 'biz/settle/lists' : 'biz/settle/lists_brand';
$this->show_view($view,true);
}
public function get(){
@@ -379,7 +378,7 @@ class Settle extends HD_Controller
$this->data['type_arr'] = $this->biz_settle_static_model->other_price_type();
$this->data['pager'] = array('count' => ceil($total / $size), 'curr' => $page,'totle'=>$total);
$this->data['_title'] = '商家结算管理';
$view = $_SESSION['is_brand'] ? 'biz/settle/lists_static_brand' : 'biz/settle/lists_static';
$view = $params['_biz_type'] ? 'biz/settle/lists_static_brand' : 'biz/settle/lists_static';
$this->show_view($view,true);
}
+259
View File
@@ -0,0 +1,259 @@
<div class="coms-table-wrap">
<div class="coms-table-hd clearfix no-border">
<form action="/biz/settle" class="form-search" onsubmit="return false">
<div class="am-form am-form-horizontal">
<div class="am-form-group fl">
<label class="am-para-label">车辆属性:</label>
<div class="am-para-inline w150">
<select name="brand_id" v-model="params.brand_id">
<option value="">选择品牌</option>
<option :value="i" v-for="(v,i) in brandAry">{{v}}</option>
</select>
</div>
<div class="am-para-inline w150">
<select name="s_id" v-model="params.s_id">
<option value="">选择车系</option>
<option :value="i" v-for="(v,i) in seryAry">{{v}}</option>
</select>
</div>
<div class="am-para-inline w120">
<select name="v_id" v-model="params.v_id">
<option value="">选择车型</option>
<option :value="v.id" v-for="(v,i) in attrvAry">{{v.title}}</option>
</select>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label">年月:</label>
<div class="am-para-inline">
<div class="am-para-inline w70">
<select name="year" v-model="params.year">
<option value="">全部</option>
<option :value="v" v-for="(v,i) in yearAry">{{v}}</option>
</select>
</div>
<div class="am-para-inline w60">
<select name="month" v-model="params.month">
<option value="">全部</option>
<option :value="v" v-for="(v,i) in monthAry">{{v}}</option>
</select>
</div>
</div>
</div>
<div class="am-form-group fl ml20">
<input type="hidden" value="<?=$params['biz_id']?>" name="biz_id">
<input type="hidden" value="<?=$params['_biz_type']?>" name="_biz_type">
<button type="submit" class="am-btn am-btn-sm am-btn-success w100">搜索</button>
</div>
</div>
</form>
</div>
<div class="coms-table-bd">
<table class="am-table am-table-bordered">
<thead>
<tr>
<th width="5%">
<span>ID</span>
</th>
<th width="10%"><span>门店</span></th>
<th width="20%"><span>订单信息</span></th>
<th width="10%"><span>单车总毛利</span></th>
<th width="10%"><span>服务费</span></th>
<th width="10%"><span>佣金</span></th>
<th width="6%"><span>精品</span></th>
<th width="6%"><span>时间</span></th>
</tr>
</thead>
<tbody>
<template v-for="(v,i) in lists">
<tr >
<td>
<span>{{v.id}}</span>
</td>
<td>{{v.biz_name}}</td>
<td>
<a href="javascript:;" :data-open="'/receiver/orderv2/orders/get?id='+v.o_id">
{{v.name}} {{v.mobile}}<br>
{{v.title}} {{v.vin}}
</a>
</td>
<td>{{v.profix_car}}</td>
<td>
<template v-if="v.money_json && v.money_json.in">
{{v.money_json.in.srv_price}}
</template>
</td>
<td>
<template v-if="v.money_json && v.money_json.in">
{{v.money_json.in.commission}}
</template>
</td>
<td>
<template v-if="v.money_json && v.money_json.out">
{{v.money_json.out.fine_price}}
</template>
</td>
<td>{{v.month}}</td>
</tr>
</template>
</tbody>
</table>
</div>
<div class="coms-table-ft clearfix">
<div class="coms-pagination fr mr20">
<?php page_view($pager) ?>
</div>
</div>
</div>
<script>
require(['laydate'], function (laydate) {
laydate.render({
elem: '#id-time',
format:'yyyy-MM'
});
});
var vue_obj;
var loading = 0;
$(function(){
vue_obj = new Vue({
el: '.coms-table-wrap',
data: {
params:[],
lists:[],
brandAry:[],
seryAry:[],
attrvAry:[],
yearAry :[],
monthAry :[],
info_edit:{}
},
mounted:function() {
var vm = this;
var lists = [];
lists = <?=json_encode($lists)?>;
vm.params = <?=json_encode($params)?>;
vm.brandAry = <?=json_encode($brandAry)?>;
vm.yearAry = <?=json_encode($yearAry)?>;
vm.monthAry = <?=json_encode($monthAry)?>;
vm.lists = lists;
},
methods:{
set_edit:function(index, type){
var vm = this;
var row = vm.lists[index];
if(1 == type){
if(undefined != vm.info_edit.index){
//旧的编辑取消
vm.lists[vm.info_edit.index].edit = 0;
}
row.edit = 1;
vm.info_edit = JSON.parse(JSON.stringify(row));
vm.info_edit.index = index;
} else {
row.edit = 0;
vm.info_edit = {};
}
},
save_edit:function(){
var vm = this;
if(1 == loading){
return 0;
}
loading = 1;
$.ajax({
url: 'auto/cars/edit',
type: 'post',
dataType: 'json',
data: {info:vm.info_edit},
beforeSend: function () {
layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
},
success: function (data) {
loading = 0;
if (data['code']) {
layer.msg(data.msg, {
icon: 1,
time: 2000
}, function () {
$.form.reload();
});
} else {
layer.msg(data.msg, {icon: 2});
}
},
complete: function () {
loading = 0;
layer.closeAll('loading');
}
});
}
},
watch:{
'params.brand_id':function(nv, ov){
var vm = this;
vm.seryAry = {};
if(nv > 0){
$.ajax({
url: '/auto/series/json_lists',
type: 'post',
dataType: 'json',
data: {brand_id:nv},
beforeSend: function () {},
success: function (data) {
if (1 == data.code) {
var lists = data.data.list;
var seryAry = {};
for (var i in lists){
var row = lists[i];
seryAry[row.id] = row.name;
}
vm.seryAry = seryAry;
if(vm.params.s_id>0 && undefined == seryAry[vm.params.s_id]){
vm.params.s_id = '';
}
}
},
complete: function () {
loading = 0;
layer.closeAll('loading');
}
});
} else {
vm.params.s_id = '';
}
},
'params.s_id':function(nv, ov){
var vm = this;
if (nv > 0) {
//型号
$.ajax({
type: 'post',
url: '/auto/attr/json_lists',
dataType: 'json',
data: {
s_id: nv,
status: 1,
type: 1
},
success: function (response) {
if (response.code == 1) {
vm.attrvAry = response.data.list;
}
}
});
} else {
vm.attrvAry = [];
vm.params.v_id = '';
}
}
}
});
<?php page_script($pager) ?>
});
</script>
@@ -21,6 +21,7 @@
</div>
<div class="am-form-group fl ml20">
<input type="hidden" value="<?=$params['id']?>" name="id">
<input type="hidden" value="<?=$params['_biz_type']?>" name="_biz_type">
<button type="submit" class="am-btn am-btn-sm am-btn-success w100">搜索</button>
</div>
<div class="am-form-group fl ml20">
@@ -75,7 +76,7 @@
</tr>
<tr>
<td colspan="11">
<a :data-open="'biz/settle?biz_id='+v.biz_id+'&month='+v.month" href="javascript:;">查看明细</a>
<a :data-open="'biz/settle?_biz_type=2&biz_id='+v.biz_id+'&month='+v.month" href="javascript:;">查看明细</a>
</td>
</tr>
</template>
+5 -1
View File
@@ -7,6 +7,7 @@ class Biz extends HD_Controller
{
parent::__construct();
$this->load->model('receiver/order/receiver_orders_v2_model','orders_model');
$this->load->model('receiver/order/receiver_order_loans_model','order_loans_model');
$this->load->model('receiver/order/receiver_order_agents_model', 'order_agents_model');
$this->load->model('receiver/order/receiver_order_datas_model');
$this->load->model('receiver/receiver_fine_model');
@@ -184,6 +185,7 @@ class Biz extends HD_Controller
//品牌店统计
public function settle_brand(){
$biz_id = $this->input->get('biz_id');
$id = $this->input->get('id');
$size = $this->input->get('size');
!$size && $size = 5;
@@ -200,10 +202,12 @@ class Biz extends HD_Controller
"$t2.status in (0,1)" => null,
"$t2.id>=" => Orders_v2_entity::V2_START_ID,
"$t2.bill_time !='0000-00-00 00:00:00'" => null,
"$t2.bill_time>=" => "2022-07-01 00:00:00",
"$t3.id is null" => null,
"$t4.type" => 2,
"$t4.type" => 1,
];
$id && $where["$t2.id"] = $id;
$biz_id && $where["$t4.id"] = $biz_id;
$this->db->from("$t1");
$this->db->join("$t2", "$t2.id=$t1.o_id",'left');