add-admin-cost
This commit is contained in:
@@ -0,0 +1,170 @@
|
||||
<?php
|
||||
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
|
||||
class Cost extends HD_Controller{
|
||||
public function __construct(){
|
||||
parent::__construct();
|
||||
$this->load->model('items/items_cost_model');
|
||||
$this->load->model('auto/auto_brand_model', 'mdAutoBrand');
|
||||
$this->load->model('receiver/order/receiver_orders_v2_model');
|
||||
$this->load->model('receiver/order/receiver_order_agents_model', 'order_agents_model');
|
||||
$this->load->model('items/items_model');
|
||||
$this->load->model("biz/biz_model");
|
||||
$this->load->model('app/licheb/app_licheb_users_model');
|
||||
$this->load->model('sys/sys_company_model');
|
||||
$this->load->model('auto/auto_series_model');
|
||||
$this->load->model('auto/auto_brand_model');
|
||||
}
|
||||
public function index(){
|
||||
$this->lists();
|
||||
}
|
||||
|
||||
public function lists(){
|
||||
$params = $this->input->get();
|
||||
$page = $params['page'] = $params['page'] ? intval($params['page']) : 1;
|
||||
$size = $params['size'] = $params['size'] ? intval($params['size']) : 20;
|
||||
$autoList = array();
|
||||
$where = [];
|
||||
$count = $this->items_cost_model->count($where);
|
||||
$lists = [];
|
||||
if($count){
|
||||
$rows = $this->items_cost_model->select($where,'id desc',$page,$size);
|
||||
$item_ids = implode(',',array_column($rows,'item_id'));
|
||||
$map_item = $item_rows = [];
|
||||
if($item_ids){
|
||||
$where = ["id in ($item_ids)" => null];
|
||||
$item_rows = $this->items_model->select($where,'','','','id,brand_id,s_id,v_id,vin');
|
||||
foreach ($item_rows as $item) {
|
||||
$map_item[$item['id']] = $item;
|
||||
}
|
||||
}
|
||||
//品牌车型
|
||||
$brand_arr = array_unique(array_column($item_rows, 'brand_id'));
|
||||
$brands = $this->auto_brand_model->get_map_by_ids($brand_arr, 'id,name');
|
||||
//车系车型
|
||||
$series_arr = array_unique(array_column($item_rows, 's_id'));
|
||||
$series = $this->auto_series_model->get_map_by_ids($series_arr, 'id,name');
|
||||
|
||||
foreach ($rows as $key => $val) {
|
||||
$item = $map_item[$val['item_id']];
|
||||
$brand_name = isset($brands[$item['brand_id']]) ? $brands[$item['brand_id']][0]['name'] : '';
|
||||
$series_name = isset($series[$item['s_id']]) ? $series[$item['s_id']][0]['name'] : '';
|
||||
$lists[] = [
|
||||
'id' => $val['id'],
|
||||
'title' => "{$brand_name} {$series_name}",
|
||||
'vin' => $item['vin'],
|
||||
'sale_price' => $val['sale_price'],
|
||||
'buy_price' => $val['buy_price'],
|
||||
'promotion_price' => $val['promotion_price'],
|
||||
'car_buy_price' => $val['car_buy_price'],
|
||||
'car_profit_price' => $val['car_profit_price'],
|
||||
'insurance_price' => $val['insurance_price'],
|
||||
'fee_carno_price' => $val['fee_carno_price'],
|
||||
'loan_price' => $val['loan_price'],
|
||||
'srv_price' => $val['srv_price'],
|
||||
'car_price' => $val['car_price'],
|
||||
];
|
||||
}
|
||||
}
|
||||
$autoList[1] = $this->mdAutoBrand->select(array('status' => 1), 'id desc', 0, 0, 'id,name');
|
||||
$this->data['lists'] = $lists;
|
||||
$this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
|
||||
$this->data['autoList'] = $autoList;
|
||||
$this->data['params'] = $params;
|
||||
$this->data['_title'] = '整车成本';
|
||||
return $this->show_view('items/cost/lists', true);
|
||||
}
|
||||
|
||||
public function get(){
|
||||
$id = $this->input->get('id');
|
||||
$row = $this->items_cost_model->get(['id'=>$id]);
|
||||
if(!$row){
|
||||
return $this->show_json(SYS_CODE_FAIL,'参数错误');
|
||||
}
|
||||
$order_row = $this->receiver_orders_v2_model->get(['id'=>$row['o_id']]);
|
||||
$item_row = $this->items_model->get(['id'=>$row['item_id']]);
|
||||
$biz = $this->biz_model->get(['id'=>$order_row['biz_id']]);
|
||||
$admin = $this->app_licheb_users_model->get(['id'=>$order_row['admin_id']]);
|
||||
$company = $this->sys_company_model->get(['id'=>$item_row['company_id']]);
|
||||
$promotion_json = json_decode($row['promotion_json'],true);
|
||||
!$promotion_json['sale_price'] && $promotion_json['sale_price'] = 0;
|
||||
!$promotion_json['other'] && $promotion_json['other'] = 0;
|
||||
!$promotion_json['subsidy'] && $promotion_json['subsidy'] = 0;
|
||||
$cost_json = json_decode($row['cost_json'],true);
|
||||
!$cost_json['select_price'] && $cost_json['select_price'] = 0;
|
||||
!$cost_json['labor_price'] && $cost_json['labor_price'] = 0;
|
||||
$srv_json = json_decode($row['srv_json'],true);
|
||||
!$srv_json['interest_price'] && $srv_json['interest_price'] = 0;
|
||||
!$srv_json['commission_price'] && $srv_json['commission_price'] = 0;
|
||||
!$srv_json['back_price'] && $srv_json['back_price'] = 0;
|
||||
!$srv_json['loan_offset_price'] && $srv_json['loan_offset_price'] = 0;
|
||||
!$srv_json['loan_subsidy_price'] && $srv_json['loan_subsidy_price'] = 0;
|
||||
!$srv_json['loan_in_price'] && $srv_json['loan_in_price'] = 0;
|
||||
!$srv_json['loan_out_price'] && $srv_json['loan_out_price'] = 0;
|
||||
!$srv_json['other_out_price'] && $srv_json['other_out_price'] = 0;
|
||||
!$srv_json['other_in_price'] && $srv_json['other_in_price'] = 0;
|
||||
$info = [
|
||||
'bill_name' => $row['bill_name'],
|
||||
'bill_time' => $row['bill_time'],
|
||||
'price' => $row['price'],
|
||||
'bill_price' => $row['bill_price'],
|
||||
'vin' => $item_row['vin'],
|
||||
'ori_price' => $item_row['ori_price'],
|
||||
'buy_price' => $item_row['buy_price'],
|
||||
'company_name' => $company['short'],
|
||||
'name' => $order_row['name']."({$order_row['mobile']})",
|
||||
'biz_type' => $this->biz_model->type_ary($biz['type']),
|
||||
'biz_name' => $biz['biz_name'],
|
||||
'admin_name' => $admin['uname'],
|
||||
'order_time' => date('Y-m-d H:i:s',$order_row['c_time']),
|
||||
'promotion_json' => $promotion_json,
|
||||
'cost_json' => $cost_json,
|
||||
'srv_json' => $srv_json,
|
||||
'row' => $row
|
||||
];
|
||||
//获取车信息
|
||||
$brand = $this->auto_brand_model->get(['id' => $order_row['brand_id']], 'name');
|
||||
$serie = $this->auto_series_model->get(['id' => $order_row['s_id']], 'name');
|
||||
$info['brand_name'] = $brand['name'];
|
||||
$info['s_name'] = $serie['name'];
|
||||
$this->data['info'] = $info;
|
||||
$this->data['_title'] = '编辑整车成本';
|
||||
return $this->show_view('items/cost/get', true);
|
||||
}
|
||||
|
||||
public function add(){
|
||||
|
||||
}
|
||||
|
||||
public function edit(){
|
||||
$post_data = $this->input->post();
|
||||
$row = $this->items_cost_model->get(['id'=>$post_data['id']]);
|
||||
if(!$row){
|
||||
return $this->show_json(SYS_CODE_FAIL,'参数错误');
|
||||
}
|
||||
$data = [
|
||||
'cost_json' => json_encode($post_data['cost_json'],JSON_UNESCAPED_UNICODE),
|
||||
'promotion_json' => json_encode($post_data['promotion_json'],JSON_UNESCAPED_UNICODE),
|
||||
'srv_json' => json_encode($post_data['srv_json'],JSON_UNESCAPED_UNICODE),
|
||||
];
|
||||
$res = $this->items_cost_model->update($data,['id'=>$row['id']]);
|
||||
if(is_numeric($res)){
|
||||
$this->items_cost_model->update_total($row['id']);
|
||||
return $this->show_json(SYS_CODE_SUCCESS,'保存成功');
|
||||
}else{
|
||||
return $this->show_json(SYS_CODE_FAIL,'保存失败');
|
||||
}
|
||||
}
|
||||
|
||||
public function del(){
|
||||
|
||||
}
|
||||
|
||||
public function batch(){
|
||||
|
||||
}
|
||||
|
||||
public function export(){
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,512 @@
|
||||
<style type="text/css">
|
||||
.span-bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.am-para-label-con {
|
||||
font-weight: 400;
|
||||
line-height: 37px;
|
||||
text-align: left;
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="vue-edit" class="am-form am-form-horizontal" style="width: 98%;padding-top: 10px">
|
||||
<div class="am-u-lg-12">
|
||||
<!-- 基本信息 -->
|
||||
<div class="am-panel am-panel-default">
|
||||
<div class="am-panel-hd">
|
||||
<span style="font-size: 20px">基本信息</span>
|
||||
<span class="ml10">{{info.sid}}</span>
|
||||
<span style="float:right;margin-top:5px">
|
||||
</span>
|
||||
</div>
|
||||
<div class="am-panel-bd am-g" style="margin-top: 10px;margin-bottom: 10px;">
|
||||
<div class="am-form-inline">
|
||||
<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-con">{{info.bill_name}}</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-con">{{info.vin}}</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-con">{{info.ori_price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-inline">
|
||||
<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-con">{{info.brand_name}}</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-con">{{info.s_name}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-4">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 销售信息 -->
|
||||
<div class="am-panel am-panel-default">
|
||||
<div class="am-panel-hd">
|
||||
<span style="font-size: 20px">销售信息</span>
|
||||
<span style="float:right;margin-top:5px">
|
||||
</span>
|
||||
</div>
|
||||
<div class="am-panel-bd am-g" style="margin-top: 10px;margin-bottom: 10px;">
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">车主:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.name}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">门店类型:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.biz_type}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">销售门店:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.biz_name}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">销售顾问:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.admin_name}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">开票日期:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.bill_time}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">开票价:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.bill_price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">实际售价:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">选装实收:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.price_fine_select}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-panel am-panel-default">
|
||||
<div class="am-panel-hd">
|
||||
<span style="font-size: 20px">销售政策</span>
|
||||
<span style="float:right;margin-top:5px">
|
||||
</span>
|
||||
</div>
|
||||
<div class="am-panel-bd am-g" style="margin-top: 10px;margin-bottom: 10px;">
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">订单日期:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.order_time}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">商务政策底价:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.price_floor}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">商务政策分润:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.profix_car}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold"></span></label>
|
||||
<div class="am-para-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-panel am-panel-default">
|
||||
<div class="am-panel-hd">
|
||||
<span style="font-size: 20px">采购成本</span>
|
||||
<span style="float:right;margin-top:5px">
|
||||
</span>
|
||||
</div>
|
||||
<div class="am-panel-bd am-g" style="margin-top: 10px;margin-bottom: 10px;">
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">车辆归属:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.company_name}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">采购成本:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.buy_price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">选装成本:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.cost_json.select_price">
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">选装工时费:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.cost_json.labor_price">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-panel am-panel-default">
|
||||
<div class="am-panel-hd">
|
||||
<span style="font-size: 20px">促销成本</span>
|
||||
<span style="float:right;margin-top:5px">
|
||||
</span>
|
||||
</div>
|
||||
<div class="am-panel-bd am-g" style="margin-top: 10px;margin-bottom: 10px;">
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">销售佣金:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.promotion_json.sale_price">
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">其他:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.promotion_json.other">
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">厂家补贴:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.promotion_json.factory_price">
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold"> </span></label>
|
||||
<div class="am-para-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">促销成本合计:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.row.promotion_price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">整车采购成本:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.row.car_buy_price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">整车采购毛利:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.row.car_profit_price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold"></span></label>
|
||||
<div class="am-para-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-panel am-panel-default">
|
||||
<div class="am-panel-hd">
|
||||
<span style="font-size: 20px">水平业务</span>
|
||||
<span style="float:right;margin-top:5px">
|
||||
</span>
|
||||
</div>
|
||||
<div class="am-panel-bd am-g" style="margin-top: 10px;margin-bottom: 10px;">
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">保险公司:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.business_product}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">商业险金额:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.business_price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">商业险返点:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.business_fd}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">商业险佣金:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.business_ins_price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">交强险金额:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.insurance_price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">交强险返点:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.insurance_fd}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">交强险佣金:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.insurance_ins_price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">客户退点金额:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.srv_json.back_price" style="width: 150px;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">挂牌收入:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.fee_carno}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">挂牌成本:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.cb_fee_carno}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold"> </span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con"></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold"> </span></label>
|
||||
<div class="am-para-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">按揭银行:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.loan_product}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">按揭金额:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.loan_price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">按揭期数:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.loan_num}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">按揭服务费:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.srv_json.loan_srv_price}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">解抵服务费:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.srv_json.loan_offset_price" style="width: 150px">
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">利息补贴收入:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.srv_json.loan_subsidy_price" style="width: 150px">
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">其他收入金额:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.srv_json.loan_in_price" style="width: 150px">
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">其他支出金额:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.srv_json.loan_out_price" style="width: 150px">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-4">
|
||||
<label class="am-para-label label-width w150"><span class="span-bold">金融公司手续费收入:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.srv_json.commission_price" style="width: 150px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-4">
|
||||
<label class="am-para-label label-width w150"><span class="span-bold">按揭收入合计:</span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con">{{info.row.loan_price}}</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-con"></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-inline">
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">其他收入:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.srv_json.other_in_price" style="width: 150px">
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold">其他支出:</span></label>
|
||||
<div class="am-para-input">
|
||||
<input type="number" v-model="info.srv_json.other_out_price" style="width: 150px">
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold"> </span></label>
|
||||
<div class="am-para-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group am-u-lg-3">
|
||||
<label class="am-para-label label-width"><span class="span-bold"> </span></label>
|
||||
<div class="am-para-input">
|
||||
<label class="am-para-label-con"></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<a href="javascript:void(0);" @click='saveEdit();' class="am-btn ml20 am-btn-sm am-btn-success w100" style="margin-left: 3.5rem; margin-top: 4rem;">保存</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
require(['laydate'], function (laydate) {
|
||||
//日期范围
|
||||
laydate.render({
|
||||
elem: '#loan_time'
|
||||
, type: 'date'
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#ins_time'
|
||||
, type: 'date'
|
||||
});
|
||||
});
|
||||
var vue_obj;
|
||||
$(document).ready(function () {
|
||||
vue_obj = new Vue({
|
||||
el: '#vue-edit',
|
||||
data: {
|
||||
info: <?=json_encode($info, JSON_UNESCAPED_UNICODE)?>,
|
||||
},
|
||||
mounted: function () {
|
||||
},
|
||||
computed: {},
|
||||
created: function () {
|
||||
},
|
||||
methods: {
|
||||
saveEdit: function () {
|
||||
var vm = this;
|
||||
var post_data = {};
|
||||
post_data['id'] = vm.info.row.id;
|
||||
post_data['promotion_json'] = vm.info.promotion_json
|
||||
post_data['cost_json'] = vm.info.cost_json
|
||||
post_data['srv_json'] = vm.info.srv_json
|
||||
$.ajax({
|
||||
url: '/items/cost/edit',
|
||||
type: 'post',
|
||||
dataType: 'json',
|
||||
data: post_data,
|
||||
beforeSend: function () {
|
||||
layer.load(1, {
|
||||
shade: [0.1, '#fff'] //0.1透明度的白色背景
|
||||
});
|
||||
},
|
||||
success: function (data) {
|
||||
loading = false;
|
||||
if (data['code']) {
|
||||
layer.msg(data.msg, {
|
||||
icon: 1,
|
||||
time: 2000
|
||||
}, function () {
|
||||
if (data.url != '') {
|
||||
$.form.href(data.url);
|
||||
} else {
|
||||
$.form.reload();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(data.msg, {icon: 2});
|
||||
}
|
||||
},
|
||||
complete: function () {
|
||||
loading = false;
|
||||
layer.closeAll('loading');
|
||||
},
|
||||
});
|
||||
},
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,178 @@
|
||||
<div class="coms-table-wrap mt10">
|
||||
<form class=" form-search coms-table-hd clearfix no-border" onsubmit="return false" action="/items/cost">
|
||||
<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 id="bd-auto1-id" name="brand_id" data-toggle="next-select"
|
||||
data-refurl="/common/auto?pid={value}&type=2&status=3"
|
||||
data-next="#bd-auto2-id">
|
||||
<option value="0">选择品牌</option>
|
||||
<? if ($autoList[1]) {
|
||||
foreach ($autoList[1] as $v) { ?>
|
||||
<option value="<?= $v['id'] ?>" <?= $v['id'] == $params['brand_id'] ? 'selected' : '' ?>
|
||||
><?= $v['name'] ?></option>
|
||||
<? }
|
||||
} ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group fl">
|
||||
<div class="am-para-inline w120">
|
||||
<select id="bd-auto2-id" name="s_id" data-toggle="next-select"
|
||||
data-refurl="/common/auto?pid={value}&type=3&status=3"
|
||||
data-next="#bd-auto3-id" @change="set_sery">
|
||||
<option value="0">选择车系</option>
|
||||
<?php if ($autoList[2]) {
|
||||
foreach ($autoList[2] as $v) { ?>
|
||||
<option value="<?= $v['id'] ?>" <?= $v['id'] == $params['s_id'] ? 'selected' : '' ?>
|
||||
><?= $v['name'] ?></option>
|
||||
<?php }
|
||||
} ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group fl">
|
||||
<div class="am-para-inline w220">
|
||||
<select id="bd-auto3-id" name="v_id">
|
||||
<option value="0">选择车型</option>
|
||||
<?php if ($autoList[3]) {
|
||||
foreach ($autoList[3] as $v) { ?>
|
||||
<option value="<?= $v['id'] ?>" <?= $v['id'] == $params['v_id'] ? 'selected' : '' ?>
|
||||
><?= $v['name'] ?></option>
|
||||
<?php }
|
||||
} ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group fl">
|
||||
<label class="am-para-label w80">车架号:</label>
|
||||
<div class="am-para-inline w200">
|
||||
<input type="text" name="vin" placeholder="车架号关键字" v-model="params.vin"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-form-group" style="margin-bottom: 0px;"></div>
|
||||
<div class="am-form-group fl ml50">
|
||||
<div class="am-form-group fl ml10">
|
||||
<button type="submit" class="am-btn am-btn-success am-btn-sm w100">搜索</button>
|
||||
</div>
|
||||
<div class="am-form-group fl ml10">
|
||||
<button type="button" id="export" class="am-btn am-btn-success am-btn-sm w100">导出</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="coms-table-bd">
|
||||
<div class="fr">共有<?= $pager['totle'] ?>条数据</div>
|
||||
<table class="am-table am-table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>车辆</th>
|
||||
<th>销售收入合计</th>
|
||||
<th>采购及加装成本合计</th>
|
||||
<th>促销成本合计</th>
|
||||
<th>整车采购成本</th>
|
||||
<th>整车采购毛利</th>
|
||||
<th>保险收入合计</th>
|
||||
<th>按揭收入合计</th>
|
||||
<th>水平业务总毛利</th>
|
||||
<th>单车总毛利</th>
|
||||
<th><span>操作</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<template v-for="(v,i) in lists">
|
||||
<tr>
|
||||
<td>{{v.vin}}<br>{{v.title}}</td>
|
||||
<td>{{v.sale_price}}</td>
|
||||
<td>{{v.promotion_price}}</td>
|
||||
<td>{{v.car_buy_price}}</td>
|
||||
<td>{{v.car_profit_price}}</td>
|
||||
<td>{{v.insurance_price}}</td>
|
||||
<td>{{v.fee_carno_price}}</td>
|
||||
<td>{{v.loan_price}}</td>
|
||||
<td>{{v.srv_price}}</td>
|
||||
<td>{{v.car_price}}</td>
|
||||
<td>
|
||||
<a href="javascript:void(0);" :data-open="'/items/cost/get?id='+v.id" class="am-btn am-btn-primary am-btn-xs">查看</a>
|
||||
</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>
|
||||
|
||||
$(function () {
|
||||
vue_obj = new Vue({
|
||||
el: '.coms-table-wrap',
|
||||
data: {
|
||||
params: [],
|
||||
lists: [],
|
||||
modal_fine: {title: '', lists: [], selected: [], page: 1, size: 10, total: 0}
|
||||
},
|
||||
mounted: function () {
|
||||
var vm = this;
|
||||
vm.lists = <?=json_encode($lists)?>;
|
||||
vm.set_sery();
|
||||
},
|
||||
methods: {
|
||||
set_sery: function () {
|
||||
var vm = this;
|
||||
var s_id = $('#bd-auto2-id').val();
|
||||
if (s_id > 0) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '/auto/attr/json_lists',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
s_id: s_id,
|
||||
status: 3,
|
||||
type: 0
|
||||
},
|
||||
success: function (response) {
|
||||
if (response.code == 1) {
|
||||
vm.attrs_cor = response.data.list;
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
vm.attrs_cor = [];
|
||||
vm.params.cor_id = '';
|
||||
}
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
}
|
||||
});
|
||||
|
||||
<?php page_script($pager) ?>
|
||||
|
||||
$('#export').click(function () {
|
||||
var count = <?=$pager['totle']?>;
|
||||
if (count > 10000) {
|
||||
layer.msg('单次导出数据不能超过10000');
|
||||
return false;
|
||||
}
|
||||
var href = $.menu.parseUri(window.location.href);
|
||||
var arr = href.split('?');
|
||||
href = '/items/goods/goods/export?' + arr[1];
|
||||
window.location.href = href;
|
||||
});
|
||||
|
||||
$('#bd-auto1-id').change(function () {
|
||||
$('#bd-auto2-id').empty();
|
||||
$('#bd-auto3-id').empty();
|
||||
$("#bd-auto3-id").prepend("<option value='0'>选择车型</option>");
|
||||
});
|
||||
$('#bd-auto2-id').change(function () {
|
||||
$('#bd-auto3-id').empty();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -197,6 +197,12 @@
|
||||
<input type="text" v-model="info.ori_price" placeholder="请输入指导价">
|
||||
</div>
|
||||
</td>
|
||||
<td class="table-td">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">采购成本</div>
|
||||
<input type="text" v-model="info.buy_price" placeholder="请输入采购成本">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- <tr>-->
|
||||
<!-- <td class="table-td">-->
|
||||
|
||||
+181
-256
@@ -17,126 +17,7 @@ class Order extends CI_Controller{
|
||||
|
||||
$this->load->model('app/liche/app_liche_orders_model');
|
||||
$this->load->library('receiver/order_datas_entity');
|
||||
}
|
||||
|
||||
public function index(){
|
||||
// $size = $this->input->get('size');
|
||||
// !$size && $size = 5;
|
||||
//
|
||||
// $t1 = 'lc_receiver_orders';
|
||||
// $t2 = 'lc_receiver_orders_v2';
|
||||
//
|
||||
// $fields = "$t1.*";
|
||||
// $where = [
|
||||
// "$t1.status>=" => 0,
|
||||
// "$t2.id is null" => null
|
||||
// ];
|
||||
//
|
||||
// $this->db->from("$t1");
|
||||
// $this->db->join("$t2", "$t2.id=$t1.id",'left');
|
||||
//
|
||||
// $this->db->select($fields);
|
||||
// $this->db->where($where);
|
||||
// $this->db->order_by("$t1.id asc");
|
||||
// $this->db->limit($size);
|
||||
// $rows = $this->db->get()->result_array();
|
||||
// if($rows){
|
||||
// foreach($rows as $key=>$val){
|
||||
// echo "执行old_id:{$val['id']}<br>";
|
||||
// if($val['status']==7){
|
||||
// $status = 2;
|
||||
// }elseif($val['status']==6){
|
||||
// $status = 1;
|
||||
// }else{
|
||||
// $status = 0;
|
||||
// }
|
||||
// $money_json = json_decode($val['money_json'],true);
|
||||
// !$money_json['price_book'] && $money_json['price_book'] = $val['deposit'];
|
||||
// $data = [
|
||||
// 'id' => $val['id'],
|
||||
// 'sid' => $val['sid'],
|
||||
// 'clue_id' => $val['clue_id'],
|
||||
// 'customer_id' => $val['rid'],
|
||||
// 'name' => $val['name'],
|
||||
// 'mobile' => $val['mobile'],
|
||||
// 'main_type' => $val['main_type'],
|
||||
// 'payway' => $val['payway'],
|
||||
// 'finance_id' => $val['finance_id'],
|
||||
// 'srv_ids' => $val['srv_ids'],
|
||||
// 'fines' => $val['fine_ids'],
|
||||
// 'brand_id' => $val['brand_id'],
|
||||
// 's_id' => $val['s_id'],
|
||||
// 'v_id' => $val['v_id'],
|
||||
// 'cor_id' => $val['cor_id'],
|
||||
// 'incor_id' => $val['incor_id'],
|
||||
// 'item_id' => $val['item_id'],
|
||||
// 'biz_id' => $val['biz_id'],
|
||||
// 'sale_id' => $val['admin_id'],
|
||||
// 'info_json' => $val['info_json'],
|
||||
// 'car_json' => $val['car_json'],
|
||||
// 'money_json' => $val['money_json'],
|
||||
// 'jsondata' => $val['jsondata'],
|
||||
// 'delry_time' => $val['delry_time'],
|
||||
// 'order_time' => $val['order_time'],
|
||||
// 'bill_time' => $val['bill_time'],
|
||||
// 'c_time' => $val['c_time'],
|
||||
// 'u_time' => $val['u_time'],
|
||||
// 'status' => $status
|
||||
// ];
|
||||
// $res = $this->receiver_orders_v2_model->add($data);
|
||||
// if($res){
|
||||
// echo "执行成功:{$val['id']}<br>";
|
||||
// }else{
|
||||
// echo "执行失败:{$val['id']}<br>";
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $where = [
|
||||
// "$t1.status>=" => 0,
|
||||
// "$t2.id is null" => null
|
||||
// ];
|
||||
//
|
||||
// $this->db->from("$t1");
|
||||
// $this->db->join("$t2", "$t2.id=$t1.id",'left');
|
||||
//
|
||||
// $this->db->select($fields);
|
||||
// $this->db->where($where);
|
||||
// $res = $this->db->count_all_results();
|
||||
// echo "剩余:{$res}<br>";
|
||||
// }
|
||||
}
|
||||
|
||||
public function up_pay_status(){
|
||||
// $page = $this->input->get('page');
|
||||
// $size = $this->input->get('size');
|
||||
// !$page && $page = 1;
|
||||
// !$size && $size = 20;
|
||||
//
|
||||
// $where = [
|
||||
// 'id>=' => 10000,
|
||||
// 'status>=' => 0
|
||||
// ];
|
||||
// $rows = $this->receiver_orders_v2_model->select($where,'id asc',$page,$size);
|
||||
// if($rows){
|
||||
// foreach($rows as $key => $val){
|
||||
// $if_pay = $this->app_liche_orders_model->count(['o_id'=>$val['id'],'status'=>1]);
|
||||
// $s_row = $this->receiver_order_status_model->count(['o_id'=>$val['id'],'pid_status'=>0,'status'=>1]);
|
||||
// if($if_pay && !$s_row){
|
||||
// $data = [
|
||||
// 'o_id' => $val['id'],
|
||||
// 'pid_status' => 0,
|
||||
// 'status' => 1,
|
||||
// 'c_time' => time()
|
||||
// ];
|
||||
// $res = $this->receiver_order_status_model->add($data);
|
||||
// echo "update o_id:{$val['id']}<br>";
|
||||
// }else{
|
||||
// echo "undo o_id:{$val['id']}<br>";
|
||||
// }
|
||||
// }
|
||||
// }else{
|
||||
// echo 'finish';
|
||||
// }
|
||||
$this->load->library('receiver/orders_v2_entity');
|
||||
}
|
||||
|
||||
//更新旧订单数据状态
|
||||
@@ -172,51 +53,6 @@ class Order extends CI_Controller{
|
||||
echo "no data";
|
||||
}
|
||||
}
|
||||
|
||||
public function up_order_time(){
|
||||
// $size = $this->input->get('size');
|
||||
// !$size && $size = 20;
|
||||
//
|
||||
// $t1 = 'lc_receiver_order_status';
|
||||
// $t2 = 'lc_receiver_orders_v2';
|
||||
//
|
||||
// $fields = "$t2.*";
|
||||
// $where = [
|
||||
// "$t1.pid_status" => 0,
|
||||
// "$t1.status" => 1,
|
||||
// "$t2.id>=" => 10000,
|
||||
// "$t2.order_time" => '0000-00-00 00:00:00',
|
||||
// ];
|
||||
//
|
||||
// $this->db->from("$t1");
|
||||
// $this->db->join("$t2", "$t2.id=$t1.o_id",'left');
|
||||
//
|
||||
// $this->db->select($fields);
|
||||
// $this->db->where($where);
|
||||
// $this->db->order_by("$t1.id asc");
|
||||
// $this->db->limit($size);
|
||||
// $rows = $this->db->get()->result_array();
|
||||
// if($rows){
|
||||
// foreach($rows as $key=>$val){
|
||||
// $where = [
|
||||
// 'o_id'=>$val['id'],
|
||||
// 'status'=>1,
|
||||
// "pay_time <>" => '0000-00-00 00:00:00',
|
||||
// ];
|
||||
// $pay_row = $this->app_liche_orders_model->select($where,'pay_time asc',1,1);
|
||||
// if($pay_row){
|
||||
// $order_time = $pay_row[0]['pay_time'];
|
||||
// $res = $this->receiver_orders_v2_model->update(['order_time'=>$order_time],['id'=>$val['id']]);
|
||||
// echo "订单id:{$val['id']},更新{$res}<br>";
|
||||
// }else{
|
||||
// echo "订单id:{$val['id']},未找到支付订单<br>";
|
||||
// }
|
||||
// }
|
||||
// }else{
|
||||
// echo "no data";
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
//过期未支付订单
|
||||
public function out_time(){
|
||||
@@ -254,97 +90,6 @@ class Order extends CI_Controller{
|
||||
}
|
||||
}
|
||||
|
||||
//更新bd
|
||||
public function car_img(){
|
||||
// $oid = $this->input->get('oid');
|
||||
// $page = $this->input->get('page');
|
||||
// $size = $this->input->get('size');
|
||||
// !$page && $page = 1;
|
||||
// !$size && $size = 10;
|
||||
// $where = [
|
||||
// "ins_img <> ''" => null,
|
||||
// "o_id>=" => 1000,
|
||||
// ];
|
||||
// $oid && $where['o_id'] = $oid;
|
||||
// $rows = $this->receiver_order_datas_model->select($where,'id asc',$page,$size);
|
||||
// if($rows){
|
||||
// foreach ($rows as $item) {
|
||||
// $res = $this->order_datas_entity->orc_ins_img($item['o_id']);
|
||||
// echo "{$item['o_id']}执行结果:{$res}";
|
||||
// }
|
||||
// }else{
|
||||
// echo "no data";
|
||||
// }
|
||||
}
|
||||
//车型车牌号码
|
||||
public function up_num(){
|
||||
// $oid = $this->input->get('oid');
|
||||
// $page = $this->input->get('page');
|
||||
// $size = $this->input->get('size');
|
||||
// !$page && $page = 1;
|
||||
// !$size && $size = 10;
|
||||
// $where = [
|
||||
// "car_img <> ''" => null,
|
||||
// "o_id>=" => 1000,
|
||||
// ];
|
||||
// $oid && $where['o_id'] = $oid;
|
||||
// $rows = $this->receiver_order_datas_model->select($where,'id asc',$page,$size);
|
||||
// if($rows){
|
||||
// foreach ($rows as $item) {
|
||||
// $res = $this->order_datas_entity->up_car_num($item['o_id']);
|
||||
// echo "{$item['o_id']}执行结果:{$res}";
|
||||
// }
|
||||
// }else{
|
||||
// echo "no data";
|
||||
// }
|
||||
}
|
||||
//更新交付截止时间
|
||||
public function up_otime(){
|
||||
// $this->load->model('auto/auto_business_model');
|
||||
// $page = $this->input->get('page');
|
||||
// $size = $this->input->get('size');
|
||||
// !$page && $page = 1;
|
||||
// !$size && $size = 20;
|
||||
//
|
||||
// $where = [
|
||||
// 'id>=' => 10000,
|
||||
// ];
|
||||
// $rows = $this->receiver_orders_v2_model->select($where,'id asc',$page,$size);
|
||||
// if($rows){
|
||||
// foreach($rows as $key => $val){
|
||||
// $car_json = json_decode($val['car_json'],true);
|
||||
// $info_json = json_decode($val['info_json'],true);
|
||||
// $business_id = $info_json['business_id'];
|
||||
// $over_time = '0000-00-00 00:00:00';
|
||||
// if($business_id){
|
||||
// $business_row = $this->auto_business_model->get(['id'=>$business_id]);
|
||||
//
|
||||
// if($business_row['delivery_day']){
|
||||
// $contract = $this->receiver_order_contracts_model->get(['o_id' => $val['id'],'type in (0,1)' => null]);
|
||||
// $s_time = $contract ? $contract['c_time'] : $val['c_time'];
|
||||
// $over_time = date('Y-m-d H:i:s',$s_time+$business_row['delivery_day']*24*60*60); //交付截止时间
|
||||
// }
|
||||
//
|
||||
// $car_json['delivery_day'] = $business_row['delivery_day'];
|
||||
// }
|
||||
// $update = [
|
||||
// 'car_json' => json_encode($car_json,JSON_UNESCAPED_UNICODE)
|
||||
// ];
|
||||
// $over_time && $update['over_time'] = $over_time;
|
||||
// if($val['main_type']==1){
|
||||
// $update['owner_name'] = $info_json['c_company'];
|
||||
// }
|
||||
// if($update){
|
||||
// $this->receiver_orders_v2_model->update($update,['id'=>$val['id']]);
|
||||
// echo "update id:".$val['id']."<br>";
|
||||
// }else{
|
||||
// echo "not update id:".$val['id']."<br>";
|
||||
// }
|
||||
// }
|
||||
// }else{
|
||||
// echo 'finish';
|
||||
// }
|
||||
}
|
||||
|
||||
//更新保险图片
|
||||
public function up_ins_img(){
|
||||
@@ -566,4 +311,184 @@ class Order extends CI_Controller{
|
||||
echo json_encode($res, JSON_UNESCAPED_UNICODE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加成本数据
|
||||
* @return void
|
||||
*/
|
||||
public function cost(){
|
||||
$this->load->model('receiver/order/receiver_order_bills_model', 'order_bills_model');
|
||||
$this->load->model('receiver/order/receiver_order_loans_model','order_loans_model');
|
||||
$this->load->model('receiver/order/receiver_order_datas_model');
|
||||
$this->load->model("biz/biz_model");
|
||||
$this->load->model('biz/biz_settle_srv_model');
|
||||
$this->load->model('auto/auto_business_model');
|
||||
$this->load->model('items/items_cost_model');
|
||||
$page = $this->input->get('page');
|
||||
$size = $this->input->get('size');
|
||||
$id = $this->input->get('id');
|
||||
!$page && $page = 1;
|
||||
!$size && $size = 5;
|
||||
$where = [
|
||||
'status' => 1,
|
||||
// 'bill_time>=' => '2022-12-07 00:00:00',
|
||||
'id not in (select o_id from lc_items_cost)' => null
|
||||
];
|
||||
$where['id'] = $id;
|
||||
$rows = $this->receiver_orders_v2_model->select($where,'',$page,$size);
|
||||
if($rows){
|
||||
foreach ($rows as $item) {
|
||||
$biz = $this->biz_model->get(['id'=>$item['biz_id']]);
|
||||
$money_json = json_decode($item['money_json'],true);
|
||||
$info_json = json_decode($item['info_json'],true);
|
||||
$bill_time_month = date('Y-m-d',strtotime($item['bill_time']));
|
||||
$add_data = [
|
||||
'o_id' => $item['id'],
|
||||
'price' => $this->orders_v2_entity->total_price($item['id'],$item['money_json']),
|
||||
'c_time' => time()
|
||||
];
|
||||
$item['item_id'] && $add_data['item_id'] = $item['item_id'];
|
||||
$bill_info = $this->order_bills_model->bill_info($item['id']);
|
||||
$bill_info['销货单位名称'] && $add_data['bill_name'] = $bill_info['销货单位名称'];
|
||||
$bill_info['开票日期'] && $add_data['bill_time'] = $bill_info['开票日期'];
|
||||
$bill_info['价税合计(小写)'] && $add_data['bill_price'] = str_replace('¥','',$bill_info['价税合计(小写)']);
|
||||
$srv_json = [];
|
||||
//精品
|
||||
$srv_json['price_fine_select'] = $money_json['price_fine_select'] ? $money_json['price_fine_select'] : 0;
|
||||
//保险
|
||||
$img_data = $this->receiver_order_datas_model->get(['o_id'=>$item['id'],'status>='=>0]);
|
||||
$insurance_img = json_decode($img_data['insurance_img'],true);
|
||||
$business_img = json_decode($img_data['business_img'],true);
|
||||
$srv_json['insurance_price'] = $insurance_img['price'] ? $insurance_img['price'] : '';
|
||||
$srv_json['insurance_product'] = $insurance_img['product'] ? $insurance_img['product'] : '';
|
||||
$srv_json['business_price'] = $business_img['price'] ? $business_img['price'] : '';
|
||||
$srv_json['business_product'] = $business_img['product'] ? $business_img['product'] : '';
|
||||
//获取创建订单时商务政策
|
||||
$where = [
|
||||
'id' => $info_json['business_id'],
|
||||
];
|
||||
$b_row_one = $this->auto_business_model->get($where);
|
||||
$srv_json['price_floor'] = $b_row_one['price_floor'] ? $b_row_one['price_floor'] : 0;
|
||||
$srv_json['profix_car'] = $biz['type']==2 ? $b_row_one['proxy_profix_car'] : $b_row_one['profix_car'];
|
||||
$srv_json['insurance_ins_price'] = $srv_json['insurance_fd'] = 0;
|
||||
if($insurance_img){//强险
|
||||
$time = strtotime($insurance_img['date']);
|
||||
$where = [
|
||||
'biz_id' => $item['biz_id'],
|
||||
'title' => $insurance_img['product'],
|
||||
'type' => 2,
|
||||
"json_extract(jsondata, '$.type') = '2'" => null,
|
||||
"json_extract(jsondata, '$.s_time') >= '{$time}'" => null,
|
||||
"json_extract(jsondata, '$.e_time') <= '{$time}'" => null
|
||||
];
|
||||
$fd_row = $this->biz_settle_srv_model->get($where);
|
||||
if(!$fd_row){
|
||||
$where = [
|
||||
'biz_id' => $item['biz_id'],
|
||||
'title' => $insurance_img['product'],
|
||||
'type' => 2,
|
||||
'is_def' => 1,
|
||||
"json_extract(jsondata, '$.type') = '2'" => null,
|
||||
];
|
||||
$fd_row = $this->biz_settle_srv_model->get($where);
|
||||
}
|
||||
$fd_jsondata = json_decode($fd_row['jsondata'],true);
|
||||
$srv_json['insurance_fd'] = $fd_jsondata['rebate'] ? $fd_jsondata['rebate'] : 0;
|
||||
$qx_fd = $fd_jsondata['rebate']/100;
|
||||
$srv_json['insurance_ins_price'] = floatval($insurance_img['price']) * $qx_fd;
|
||||
}
|
||||
$srv_json['business_ins_price'] = $srv_json['business_fd'] = 0;
|
||||
if($business_img){//商业险
|
||||
$time = strtotime($business_img['date']);
|
||||
$where = [
|
||||
'biz_id' => $item['biz_id'],
|
||||
'title' => $business_img['product'],
|
||||
'type' => 2,
|
||||
"json_extract(jsondata, '$.type') = '1'" => null,
|
||||
"json_extract(jsondata, '$.s_time') >= '{$time}'" => null,
|
||||
"json_extract(jsondata, '$.e_time') <= '{$time}'" => null
|
||||
];
|
||||
$bis_fd_row = $this->biz_settle_srv_model->get($where);
|
||||
if(!$bis_fd_row){
|
||||
$where = [
|
||||
'biz_id' => $item['biz_id'],
|
||||
'title' => $business_img['product'],
|
||||
'type' => 2,
|
||||
'is_def' => 1,
|
||||
"json_extract(jsondata, '$.type') = '1'" => null,
|
||||
];
|
||||
$bis_fd_row = $this->biz_settle_srv_model->get($where);
|
||||
}
|
||||
$bis_fd_jsondata = json_decode($bis_fd_row['jsondata'],true);
|
||||
$srv_json['business_fd'] = $bis_fd_jsondata['rebate'] ? $bis_fd_jsondata['rebate'] : 0;
|
||||
$bis_fd = $bis_fd_jsondata['rebate']/100;
|
||||
$srv_json['business_ins_price'] = floatval($business_img['price'])*$bis_fd;
|
||||
}
|
||||
//挂牌
|
||||
$srv_json['fee_carno'] = $money_json['fee_carno'] ? $money_json['fee_carno'] : 0;
|
||||
$srv_json['cb_fee_carno'] = 0;
|
||||
if($money_json['fee_carno']>0){
|
||||
$where = [
|
||||
'biz_id' => $item['biz_id'],
|
||||
'type' => 1,
|
||||
'status' => 1,
|
||||
's_effect_time>=' => date('Y-m-01',strtotime($item['bill_time'])),
|
||||
's_effect_time<=' => date('Y-m-t',strtotime($item['bill_time'])),
|
||||
];
|
||||
$free_row = $this->biz_settle_srv_model->get($where);
|
||||
if(!$free_row){
|
||||
$free_row = $this->biz_settle_srv_model->get(['biz_id'=>$item['biz_id'],'is_def'=>1,'status'=>1,'type'=>1]);
|
||||
}
|
||||
$free_jsondata = json_decode($free_row['jsondata'],true);
|
||||
$srv_json['cb_fee_carno'] = $free_jsondata['price'] ? $free_jsondata['price'] : 0;
|
||||
}
|
||||
//贷款信息
|
||||
$srv_json['loan_product'] = '';
|
||||
$srv_json['loan_srv_price'] = $srv_json['loan_num'] = $srv_json['loan_price'] = 0;
|
||||
if($money_json['price_loan']>0){
|
||||
$srv_json['loan_price'] = $money_json['price_loan'];
|
||||
$loan_row = $this->order_loans_model->get(['o_id'=>$item['id']]);
|
||||
$finance_id = $item['finance_id'];
|
||||
$srv_json['loan_product'] = $loan_row['title'];
|
||||
$srv_json['loan_num'] = $finance_num = $loan_row['num'] ? $loan_row['num'] : 0;
|
||||
$where = [
|
||||
'biz_id' => $item['biz_id'],
|
||||
'type' => 3,
|
||||
's_effect_time' => $bill_time_month,
|
||||
"json_extract(jsondata, '$.finance_id') = '{$finance_id}'" => null,
|
||||
"json_extract(jsondata, '$.finance_num') = '{$finance_num}'" => null,
|
||||
];
|
||||
$fd_row = $this->biz_settle_srv_model->get($where);
|
||||
if(!$fd_row){
|
||||
$fd_row = $this->biz_settle_srv_model->get(['biz_id'=>$item['biz_id'],'is_def'=>1,'status'=>1,'type'=>3]);
|
||||
}
|
||||
$fd_jsondata = json_decode($fd_row['jsondata'],true);
|
||||
$loan_fd = $fd_jsondata['rebate'] ? $fd_jsondata['rebate']/100:0;
|
||||
$profix_loan = $money_json['price_loan']*$loan_fd;
|
||||
//获取贷款手续费
|
||||
$srv_loan = 0;
|
||||
$s_json = json_decode($item['srv_ids'],true);
|
||||
if($s_json){
|
||||
foreach ($s_json as $v2) {
|
||||
if($v2['key']=='price_finance'){
|
||||
$srv_loan = $v2['price'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
$srv_json['loan_srv_price'] = $profix_loan + $srv_loan;
|
||||
}
|
||||
$add_data['srv_json'] = json_encode($srv_json,JSON_UNESCAPED_UNICODE);
|
||||
$id = $this->items_cost_model->add($add_data);
|
||||
if(is_numeric($id)){
|
||||
$this->items_cost_model->update_total($id);
|
||||
echo "添加成功订单id:{$item['id']}<br>";
|
||||
}else{
|
||||
echo "添加失败订单id:{$item['id']}<br>";
|
||||
}
|
||||
}
|
||||
}else{
|
||||
echo "数据不存在";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,18 +156,12 @@ class Orders_v2_entity{
|
||||
$user = $this->ci->app_liche_users_model->get(['mobile'=>$this->order_row['owner_mobile']]);
|
||||
return $user;
|
||||
}
|
||||
/**
|
||||
* 获取订单服务费
|
||||
* @param $oid int 订单id
|
||||
* @param $res_type string 返回数据格式
|
||||
* @param $is_fines int(0否 1是) 是否包含精品选装
|
||||
* @return int
|
||||
*/
|
||||
|
||||
/**
|
||||
* 获取订单服务费
|
||||
* @param $oid int 订单id
|
||||
* @param $res_type string 返回数据格式
|
||||
* @param $is_fines int
|
||||
* @param $is_fines int(0否 1是) 是否包含精品选装
|
||||
* @return array|int|mixed
|
||||
*/
|
||||
public function order_srv_money($oid,$res_type = '',$is_fines=1){
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
|
||||
class Items_cost_model extends HD_Model
|
||||
{
|
||||
private $table_name = 'lc_items_cost';
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct($this->table_name, 'default');
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新合计数据
|
||||
* @param $id
|
||||
* @return bool
|
||||
*/
|
||||
public function update_total($id){
|
||||
$this->load->model('items/items_model');
|
||||
$row = $this->get(['id'=>$id]);
|
||||
if($row){
|
||||
$item_row = $this->items_model->get(['id'=>$row['item_id']]);
|
||||
$cost_json = json_decode($row['cost_json'],true);
|
||||
$promotion_json = json_decode($row['promotion_json'],true);
|
||||
$srv_json = json_decode($row['srv_json'],true);
|
||||
//【销售收入合计】(实际售价+选装实收)
|
||||
$sale_price = $row['price'] + $srv_json['price_fine_select'];
|
||||
//【采购及加装成本合计】(采购成本 + 选装成本 + 选装工时费 )
|
||||
$buy_price = $item_row['buy_price'] + $cost_json['select_price'] + $srv_json['labor_price'];
|
||||
//【促销成本合计】(销售佣金+其他)
|
||||
$promotion_price = $promotion_json['sale_price'] + $promotion_json['other'];
|
||||
//【整车采购成本】(采购成本-厂家补贴)
|
||||
$car_buy_price = $item_row['buy_price'] - $promotion_json['factory_price'];
|
||||
//【整车采购毛利】(销售收入合计 - 整车采购成本 - 促销成本合计 - 选装金额 -选装工时费)
|
||||
$car_profit_price = $sale_price - $car_buy_price - $promotion_price - $cost_json['select_price'] - $cost_json['labor_price'];
|
||||
//【保险收入合计】
|
||||
$insurance_price = $srv_json['business_ins_price']+$srv_json['insurance_ins_price']-$srv_json['back_price'];
|
||||
//【挂牌收入合计】
|
||||
$fee_carno_price = $srv_json['fee_carno'] - $srv_json['cb_fee_carno'];
|
||||
//【按揭收入合计】(按揭综合服务费+按揭解抵服务费+利息补贴收入+金融公司手续费收入+其他收入-其他支出)
|
||||
$loan_price = $srv_json['loan_srv_price']+$srv_json['loan_offset_price']+$srv_json['loan_subsidy_price']+$srv_json['commission_price']+$srv_json['loan_in_price']-$srv_json['loan_out_price'];
|
||||
//【水平业务总毛利】(保险收入合计+挂牌收入合计+按揭收入合计+其他收入-其他支出)
|
||||
$srv_price = $insurance_price+$fee_carno_price+$loan_price+$srv_json['other_in_price']-$srv_json['other_out_price'];
|
||||
//【直营店单车毛利/代理店单车毛利/合伙店采购毛利】(根据门店类型取, 商务政策分润 - 选装金额 - 选装工时费 - 促销成本 + 水平业务总毛利 + (实际售价入 - 商务政策底价))
|
||||
$car_price = $srv_json['profix_car']-$cost_json['select_price']-$cost_json['labor_price'] - $promotion_price + $srv_price + ($row['price']-$srv_json['price_floor']);
|
||||
//【品牌单车总毛利】(单车总毛利 - 直营店单车毛利/代理店单车毛利/合伙店采购毛利)
|
||||
|
||||
$data = [
|
||||
'sale_price' => $sale_price,
|
||||
'buy_price' => $buy_price,
|
||||
'promotion_price' => $promotion_price,
|
||||
'car_buy_price' => $car_buy_price,
|
||||
'car_profit_price' => $car_profit_price,
|
||||
'insurance_price' => $insurance_price,
|
||||
'fee_carno_price' => $fee_carno_price,
|
||||
'loan_price' => $loan_price,
|
||||
'srv_price' => $srv_price,
|
||||
'car_price' => $car_price,
|
||||
];
|
||||
$this->update($data,['id'=>$id]);
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -51,4 +51,20 @@ class Receiver_order_bills_model extends HD_Model
|
||||
public function get_status(){
|
||||
return $this->status_arr;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取发票信息
|
||||
* @return array
|
||||
*/
|
||||
public function bill_info($oid){
|
||||
$res = [];
|
||||
$row = $this->get(['o_id'=>$oid],'jsondata');
|
||||
$jsondata = json_decode($row['jsondata'],true);
|
||||
if($jsondata['infos']){
|
||||
foreach ($jsondata['infos'] as $key => $val) {
|
||||
$res[$val['Name']] = $val['Value'];
|
||||
}
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user