edit-admin-finance

This commit is contained in:
lccsw
2021-09-10 15:50:20 +08:00
parent d77a2a736c
commit ffb3dd4426
7 changed files with 211 additions and 46 deletions
+22 -18
View File
@@ -26,25 +26,29 @@ class Finance extends HD_Controller{
public function lists(){
$params = $this->input->get();
$where = array();
if(strlen($params['status']) > 0){
$where['status'] = $params['status'];
} else {
$params['status'] = '';
}
!strlen($params['status']) && $params['status'] = '';
!$params['brand_id'] && $params['brand_id'] = '';
!$params['s_id'] && $params['s_id'] = '';
$page = $params['page'];
$page = !$page ? 1 : $page;
$size = $params['size'];
$page = !$page ? 1 : $page;
$size = !$size ? 20 : $size;
//状态
$statusAry = array('0' => '关闭', '1' => '开启');
$where = [];
$t1 = 'lc_auto_car_finance';
$t2 = 'lc_auto_cars';
strlen($params['status']) && $where["$t1.status"] = $params['status'];
$params['brand_id'] && $where["$t2.brand_id"] = $params['brand_id'];
$params['s_id'] && $where["$t2.s_id"] = $params['s_id'];
$params['v_id'] && $where["$t2.v_id"] = $params['v_id'];
$params['cor_id'] && $where["$t2.cor_id"] = $params['cor_id'];
$total = $this->auto_finance_model->count($where);
$total = $this->auto_finance_model->count_finance($where);
$lists = array();
if($total){
$rows = $this->auto_finance_model->select($where, 'id desc', $page, $size, $select);
$select = "$t1.id,$t1.car_id,$t1.fin_id,$t1.num,$t1.month_pay,$t1.first_pay,$t1.srv_pay,$t1.status";
$rows = $this->auto_finance_model->select_finance($where, 'id desc', $page, $size, $select);
$fin_id_arr = array_column($rows,'fin_id');
$fin_rows = $this->sys_finance_model->get_map_by_ids($fin_id_arr,'id,title');
foreach($rows as $key=>$val){
@@ -53,7 +57,7 @@ class Finance extends HD_Controller{
'car' => $this->auto_cars_model->get_title($val['car_id']),
'fin_name' => $fin_rows[$val['fin_id']] ? $fin_rows[$val['fin_id']][0]['title'] : '',
'num' => $val['num'],
'mouth_pay' => $val['mouth_pay'],
'month_pay' => $val['month_pay'],
'first_pay' => $val['first_pay'],
'srv_pay' => $val['srv_pay'],
'status' => $val['status']
@@ -63,7 +67,7 @@ class Finance extends HD_Controller{
$this->data['params'] = $params;
$this->data['lists'] = $lists;
$this->data['statusAry'] = $statusAry;
$this->data['statusAry'] = $this->auto_finance_model->status_ary();
$this->data['pager'] = array('count' => ceil($total / $size), 'curr' => $page, 'totle' => $total);
$this->data['_title'] = '车型金融产品管理';
$this->show_view('auto/finance/lists',true);
@@ -85,7 +89,7 @@ class Finance extends HD_Controller{
$info['fin_id'] = $row['fin_id'];
$info['num'] = $row['num'];
$info['first_pay'] = $row['first_pay'];
$info['mouth_pay'] = $row['mouth_pay'];
$info['month_pay'] = $row['month_pay'];
$info['srv_pay'] = $row['srv_pay'];
$info['status'] = $row['status'];
}
@@ -111,7 +115,7 @@ class Finance extends HD_Controller{
if(!$info['car_id']){
return $this->show_json(SYS_CODE_FAIL, '请选择具体车辆!');
}
if(!$info['first_pay'] || !$info['mouth_pay'] || !$info['srv_pay'] ||!$info['num']){
if(!$info['first_pay'] || !$info['month_pay'] || !$info['srv_pay'] ||!$info['num']){
return $this->show_json(SYS_CODE_FAIL, '参数错误!');
}
$row = $this->auto_finance_model->get(['car_id'=>$info['car_id'],'num'=>$info['num'],'fin_id'=>$info['fin_id']]);
@@ -123,7 +127,7 @@ class Finance extends HD_Controller{
'car_id' => $info['car_id'],
'fin_id' => $info['fin_id'],
'first_pay' => $info['first_pay'],
'mouth_pay' => $info['mouth_pay'],
'month_pay' => $info['month_pay'],
'srv_pay' => $info['srv_pay'],
'num' => $info['num'],
'c_time' => time()
@@ -145,7 +149,7 @@ class Finance extends HD_Controller{
if(!$info['car_id']){
return $this->show_json(SYS_CODE_FAIL, '请选择具体车辆!');
}
if(!$info['first_pay'] || !$info['mouth_pay'] || !$info['srv_pay'] ||!$info['num']){
if(!$info['first_pay'] || !$info['month_pay'] || !$info['srv_pay'] ||!$info['num']){
return $this->show_json(SYS_CODE_FAIL, '参数错误!');
}
$row = $this->auto_finance_model->get(['car_id'=>$info['car_id'],'num'=>$info['num'],'fin_id'=>$info['fin_id'],'id !='=>$info['id']]);
@@ -157,7 +161,7 @@ class Finance extends HD_Controller{
'car_id' => $info['car_id'],
'fin_id' => $info['fin_id'],
'first_pay' => $info['first_pay'],
'mouth_pay' => $info['mouth_pay'],
'month_pay' => $info['month_pay'],
'srv_pay' => $info['srv_pay'],
'num' => $info['num'],
'c_time' => time()
+9 -1
View File
@@ -18,6 +18,8 @@ class Orders extends HD_Controller{
$this->load->model('auto/auto_series_model');
$this->load->model('auto/auto_brand_model');
$this->load->model('auto/auto_attr_model');
$this->load->model('auto/auto_finance_model');
$this->load->model('sys/sys_finance_model');
}
public function index(){
@@ -36,6 +38,7 @@ class Orders extends HD_Controller{
if(!$row){
return $this->show_json(SYS_CODE_FAIL, '订单不存在!');
}
$money_json = json_decode($row['money_json'],true);
$row['info_json'] = json_decode($row['info_json'],true);
$row['status'] = intval($row['status']);
$row['price'] = number_format($row['price'],2);
@@ -65,9 +68,14 @@ class Orders extends HD_Controller{
}
//获取贷款信息
if(!$row['payway'] && $row['status']>0){
$auto_finance_row = $this->auto_finance_model->get(['id'=>$row['finance_id']],'fin_id,num');
$finance_row = $this->sys_finance_model->get(['id'=>$auto_finance_row['fin_id']],'title');
$loan = $this->order_loans_model->get(['o_id'=>$row['id']]);
$loan['status'] = intval($loan['status']);
$loan['first_price'] = number_format($loan['first_price'],2);
$loan['title'] = $finance_row['title'];
$loan['num'] = $auto_finance_row['num'];
$loan['loan_pay'] = number_format($money_json['price_car']-$money_json['first_pay'],2);
$loan['first_pay'] = number_format($money_json['first_pay'],2);
$loan['notify_file'] = $loan['notify_file'] ? build_qiniu_image_url($loan['notify_file']) : '';
$loan['lend_file'] = $loan['lend_file'] ? build_qiniu_image_url($loan['lend_file']) : '';
$row['loan_info'] = $loan;
+1 -1
View File
@@ -56,7 +56,7 @@
<div class="am-form-group">
<label class="am-para-label">月供:</label>
<div class="am-para-input">
<input type="text" name="mouth_pay" v-model="info.mouth_pay" style="width: 20%; display: inline"/>
<input type="text" name="month_pay" v-model="info.month_pay" style="width: 20%; display: inline"/>
<span></span>
</div>
</div>
+139 -12
View File
@@ -3,6 +3,39 @@
<div class="coms-table-hd clearfix no-border">
<form action="/auto/finance/lists" class="form-search" onsubmit="return false">
<div class="am-form am-form-horizontal">
<div class="am-form-group fl">
<label class="am-para-label w100">车型:</label>
<div class="am-para-inline w120">
<select name="brand_id" v-model="params.brand_id">
<option value="">选择品牌</option>
<option :value="v.id" v-for="(v,i) in brandAry">{{v.name}}</option>
</select>
</div>
</div>
<div class="am-form-group fl">
<div class="am-para-inline w120">
<select name="s_id" v-model="params.s_id">
<option value="">选择车系</option>
<option :value="v.id" v-for="(v,i) in seryAry">{{v.name}}</option>
</select>
</div>
</div>
<div class="am-form-group fl">
<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">
<div class="am-para-inline w120">
<select name="cor_id" v-model="params.cor_id">
<option value="">车身颜色</option>
<option :value="v.id" v-for="(v,i) in attrcorAry">{{v.title}}</option>
</select>
</div>
</div>
<div class="am-form-group fl">
<label class="am-para-label">状态:</label>
<div class="am-para-inline w150">
@@ -24,6 +57,7 @@
<table class="am-table am-table-bordered">
<thead>
<tr>
<th width="5%"><span>ID</span></th>
<th width="15%"><span>车型</span></th>
<th width="15%"><span>金融产品</span></th>
<th width="10%"><span>期数</span></th>
@@ -36,12 +70,13 @@
<tbody>
<template v-for="(v,i) in lists">
<tr >
<td @dblclick="set_edit(i,1)">{{v.car}}</td>
<td @dblclick="set_edit(i,1)">{{v.fin_name}}</td>
<td @dblclick="set_edit(i,1)">{{v.num}}</td>
<td @dblclick="set_edit(i,1)">{{v.first_pay}}</td>
<td @dblclick="set_edit(i,1)">{{v.mouth_pay}}</td>
<td @dblclick="set_edit(i,1)">{{v.srv_pay}}</td>
<td>{{v.id}}</td>
<td>{{v.car}}</td>
<td>{{v.fin_name}}</td>
<td>{{v.num}}</td>
<td>{{v.first_pay}}</td>
<td>{{v.month_pay}}</td>
<td>{{v.srv_pay}}</td>
<td>
<a href="javascript:void(0);" class="am-btn am-btn-primary am-btn-xs"
:data-modal="'/auto/finance/get?id='+v.id" :data-title="v.title">编辑</a>
@@ -72,7 +107,9 @@
lists:[],
statusAry:[],
seryAry:[],
info_edit:{}
brandAry:[],
attrvAry:[],
attrcorAry: [],//车身颜色选项
},
mounted:function() {
var vm = this;
@@ -80,15 +117,105 @@
lists = <?=json_encode($lists)?>;
vm.params = <?=json_encode($params)?>;
vm.statusAry = <?=json_encode($statusAry)?>;
for(var i in lists){
lists[i].edit = 0;
}
vm.lists = lists;
vm.init_brands();
},
methods:{
init_brands:function(){
var vm = this;
$.ajax({
url: '/auto/brand/json_lists',
type: 'post',
dataType: 'json',
data: {status:1},
beforeSend: function () {},
success: function (data) {
if (1 == data.code) {
vm.brandAry = data.data.list;
}
},
complete: function () {}
});
},
},
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 = lists;
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: 0
},
success: function (response) {
if (response.code == 1) {
vm.attrcorAry = response.data.list;
}
}
});
//型号
$.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.attrcorAry = [];
vm.attrvAry = [];
vm.params.cor_id = '';
vm.params.v_id = '';
}
}
}
});
<?php page_script($pager) ?>
+9 -5
View File
@@ -7,25 +7,29 @@
<div class="am-panel-bd am-g" style="margin-top: 10px;margin-bottom: 10px;">
<div class="am-form-inline am-u-lg-12">
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">分期产品</span></label>
<label class="am-para-label label-width"><span class="span-bold">金融机构</span></label>
<div class="am-para-input">
<label class="am-para-label align-l">{{info.loan_info.title}}</label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">分期年限</span></label>
<label class="am-para-label label-width"><span class="span-bold">期数</span></label>
<div class="am-para-input">
<label class="am-para-label align-l">{{info.loan_info.year}}</label>
<label class="am-para-label align-l">{{info.loan_info.num}}</label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">贷款金额:</span></label>
<div class="am-para-input">
<label class="am-para-label align-l">{{info.loan_info.loan_pay}}</label>
</div>
</div>
</div>
<div class="am-form-inline am-u-lg-12">
<div class="am-form-group am-u-lg-4">
<label class="am-para-label label-width"><span class="span-bold">贷款金额</span></label>
<label class="am-para-label label-width"><span class="span-bold">首付</span></label>
<div class="am-para-input">
<label class="am-para-label align-l">{{info.loan_info.first_price}}</label>
<label class="am-para-label align-l">{{info.loan_info.first_pay}}</label>
</div>
</div>
<div class="am-form-group am-u-lg-4">
+1 -9
View File
@@ -200,7 +200,7 @@ class Cusorder extends Wxapp{
if(strlen($payway)|| $pack_id){
if(strlen($payway)){ //修改付款类型
$pay_order = $this->order_purchase_model->count(['app_id'=>1,'type in (5,6)'=>null,'status>'=>1,'item_id'=>$id]);
$pay_order = $this->order_purchase_model->count(['app_id'=>1,'status>'=>1,'item_id'=>$id]);
if($pay_order){
throw new Exception('修改失败,已付款', ERR_PARAMS_ERROR);
}
@@ -213,14 +213,6 @@ class Cusorder extends Wxapp{
}
if($result){
if(strlen($payway)){
//过期未支付订单
$res = $this->order_purchase_model->update(['status_detail'=>13],['app_id'=>1,'type in (5,6)'=>null,'status'=>1,'item_id'=>$id]);
$this->order_ckcars_model->update(['status'=>1],['o_id'=>$id]);
$this->orders_model->update(['status'=>0],['id'=>$id]);
$this->order_contracts_model->delete(['o_id'=>$id]);
$this->order_signs_model->update(['status'=>0],['o_id'=>$id]);
}
throw new Exception('修改成功', API_CODE_SUCCESS);
}else{
throw new Exception('修改失败', ERR_PARAMS_ERROR);
+30
View File
@@ -7,6 +7,36 @@ class Auto_finance_model extends HD_Model{
{
parent::__construct($this->table_name, 'default');
}
public function count_finance($where){
return $this->select_finance($where,'','','','',1);
}
public function select_finance($where = array(), $order = '', $page = 0, $page_size = 20 , $fileds = '', $count = 0){
!$fileds && $fileds = 'lc_auto_car_finance.*';
$this->db->select($fileds);
$this->db->from('lc_auto_car_finance');
$this->db->join('lc_auto_cars', 'lc_auto_cars.id = lc_auto_car_finance.car_id','left');
if ($where) {
$this->db->where($where);
}
if ($count) {
return $this->db->count_all_results();
}
if ($order) {
$this->db->order_by($order);
}
if ($page) {
$offset = ($page - 1) * $page_size;
$limit = $page_size;
} else {
$offset = null;
$limit = null;
}
$this->db->limit($limit, $offset);
return $this->db->get()->result_array();
}
/**
* 期数
* @return array