Merge pull request 'feature/more_payment' (#360) from feature/more_payment into release

优化批量导出
master
陈志 4 years ago
commit 0d2f58c871

@ -44,17 +44,42 @@ class GameMarginController extends AdminController
$info = $this->DBModel->where("id = '{$id}'")->find();
if (isset($_REQUEST['export']) && $_REQUEST['export']==1){
$is_export = true;
$this->marginExport($info);
}else{
$is_export= false;
$this->marginCount($info);
list($marginInfo,$count) = $this->marginCount($info);
$data = ["list"=>[["marginInfo"=>$marginInfo,"count"=>$count]]];
$this->assign("data",$data);
$this->assign("id", $id);
$this->display();
}
$this->assign("id", $id);
$this->assign("is_export",$is_export);
$this->display();
}
public function moreMarginView(){
if(!isset($_REQUEST['ids'])) $this->error('参数错误');
$ids = $_REQUEST['ids'];
$where = [
"id"=>["in",$ids]
];
$info = $this->DBModel->where($where)->order("count_year asc,count_month asc")->select();
if (isset($_REQUEST['export']) && $_REQUEST['export']==1){
$this->moreMarginExport($info);
}else{
$data = ["list"=>[]];
if($info){
foreach ($info as $k => $v) {
$tmp = [];
list($marginInfo,$count) = $this->marginCount($v);
$tmp["marginInfo"] = $marginInfo;
$tmp["count"] = $count;
$data["list"][] = $tmp;
}
$data["count"] = $this->marginMoreCount(array_column($data["list"],"count"));
}
$this->assign("data",$data);
$this->display("marginView");
}
}
private function marginCount($info)
{
$marginInfo = json_decode($info['margin_info'],true);
@ -82,21 +107,17 @@ class GameMarginController extends AdminController
"jh_ratio"=>0,
"jh_margin_amount"=>0,
"jh_margin_ratio"=>0,
];
foreach ($marginInfo as &$v) {
$count['cp_statement_amount'] += $v['cp_statement_amount'];
$count['cp_rebate_amount'] += $v['cp_rebate_amount'];
$count['cp_other_amount'] += $v['cp_other_amount'];
$count['pu_pay_amount'] += $v['pu_pay_amount'];
$count['pu_statement_amount'] += $v['pu_statement_amount'];
$count['pu_margin_amount'] += $v['pu_margin_amount'];
$count['pc_pay_amount'] += $v['pc_pay_amount'];
$count['pc_statement_amount'] += $v['pc_statement_amount'];
$count['pc_margin_amount'] += $v['pc_margin_amount'];
$count['jh_pay_amount'] += $v['jh_pay_amount'];
$count['jh_statement_amount'] += $v['jh_statement_amount'];
$count['jh_margin_amount'] += $v['jh_margin_amount'];
@ -104,25 +125,265 @@ class GameMarginController extends AdminController
$v['month'] = $info['count_month'];
$this->sprintfCell($v);
}
// $count['cp_ratio'] = round( $count['cp_statement_amount']/$count['pay_amount'] ,4)*100;
$count['year'] = $info['count_year'];
$count['month'] = $info['count_month'];
$count['pu_ratio'] = round( $count['pu_statement_amount']/$count['pu_pay_amount'] ,4)*100;
$count['pu_margin_ratio'] = round( $count['pu_margin_amount']/$count['pu_pay_amount'] ,4)*100;
$count['pc_ratio'] = round( $count['pc_statement_amount']/$count['pc_pay_amount'] ,4)*100;
$count['pc_margin_ratio'] = round( $count['pc_margin_amount']/$count['pc_pay_amount'] ,4)*100;
$count['platform_margin_ratio'] = round(($count['pay_amount']-$count['jh_pay_amount']-$count['cp_statement_amount']-$count['cp_rebate_amount']-$count['cp_other_amount']-$count['pc_statement_amount']-$count['pu_statement_amount'])/($count['pay_amount']-$count['jh_pay_amount']),4)*100;
$count['jh_ratio'] = round( $count['jh_statement_amount']/$count['jh_pay_amount'] ,4)*100;
$count['jh_margin_ratio'] = round( $count['jh_margin_amount']/$count['jh_pay_amount'] ,4)*100;
// dd($count);
$this->sprintfCell($count);
$this->assign("data",$marginInfo);
$this->assign("count",$count);
return [$marginInfo,$count];
}
private function marginMoreCount($arr)
{
$count = [];
foreach ($arr as $v) {
$count['pay_amount'] += $v['pay_amount'];
$count['margin_amount'] += $v['margin_amount'];
$count['cp_statement_amount'] += $v['cp_statement_amount'];
$count['cp_rebate_amount'] += $v['cp_rebate_amount'];
$count['cp_other_amount'] += $v['cp_other_amount'];
$count['pu_pay_amount'] += $v['pu_pay_amount'];
$count['pu_statement_amount'] += $v['pu_statement_amount'];
$count['pu_margin_amount'] += $v['pu_margin_amount'];
$count['pc_pay_amount'] += $v['pc_pay_amount'];
$count['pc_statement_amount'] += $v['pc_statement_amount'];
$count['pc_margin_amount'] += $v['pc_margin_amount'];
$count['jh_pay_amount'] += $v['jh_pay_amount'];
$count['jh_statement_amount'] += $v['jh_statement_amount'];
$count['jh_margin_amount'] += $v['jh_margin_amount'];
}
$count['date'] = "合计";
$count['pu_ratio'] = round( $count['pu_statement_amount']/$count['pu_pay_amount'] ,4)*100;
$count['pu_margin_ratio'] = round( $count['pu_margin_amount']/$count['pu_pay_amount'] ,4)*100;
$count['pc_ratio'] = round( $count['pc_statement_amount']/$count['pc_pay_amount'] ,4)*100;
$count['pc_margin_ratio'] = round( $count['pc_margin_amount']/$count['pc_pay_amount'] ,4)*100;
$count['platform_margin_ratio'] = round(($count['pay_amount']-$count['jh_pay_amount']-$count['cp_statement_amount']-$count['cp_rebate_amount']-$count['cp_other_amount']-$count['pc_statement_amount']-$count['pu_statement_amount'])/($count['pay_amount']-$count['jh_pay_amount']),4)*100;
$count['jh_ratio'] = round( $count['jh_statement_amount']/$count['jh_pay_amount'] ,4)*100;
$count['jh_margin_ratio'] = round( $count['jh_margin_amount']/$count['jh_pay_amount'] ,4)*100;
$count['margin_ratio'] = round( $count['margin_amount']/$count['pay_amount'] ,4)*100;
$this->sprintfCell($count);
return $count;
}
private function moreMarginExport($info)
{
$line = 3;
$excelData = [];
$countLineArr = [];
foreach ($info as $index => $date) {
$marginInfo = json_decode($date['margin_info'],true);
foreach ($marginInfo as $v) {
// $v["cp_ratio"] = "=ROUND(G{$line}/D{$line},4)";
if($v["pc_pay_amount"] > 0){
$v["pc_ratio"] ="=ROUND(M{$line}/K{$line},2)";
$v["pc_margin_amount"] = "=ROUND((K{$line}*(1-E{$line})*(1-F{$line}-H{$line}-L{$line})),2)";
$v["pc_margin_ratio"] ="=ROUND(N{$line}/K{$line},3)";
}
if ($v["pu_pay_amount"] > 0) {
$v["pu_ratio"] ="=ROUND(R{$line}/P{$line},2)";
$v["pu_margin_amount"] = "=ROUND((P{$line}-P{$line}*(1-E{$line})*(F{$line}+H{$line})-R{$line}),2)";
$v["pu_margin_ratio"] = "=ROUND(S{$line}/P{$line},3)";
}
$v['platform_margin_ratio'] = "=ROUND((D{$line}-V{$line}-G{$line}-I{$line}-J{$line}-M{$line}-R{$line})/(D{$line}-V{$line}),3)";
if($v['jh_pay_amount'] > 0){
$v["jh_ratio"] ="=ROUND(X{$line}/V{$line},2)";
$v["jh_margin_amount"] = "=ROUND((X{$line}-V{$line}*(1-E{$line})*(F{$line}+H{$line})),2)";
$v["jh_margin_ratio"] = "=ROUND(Y{$line}/V{$line},3)";
}
$v['margin_amount'] = "=ROUND((D{$line}-G{$line}-I{$line}-J{$line}-M{$line}-R{$line}+X{$line}),2)";
$v['margin_ratio'] = "=ROUND(AB{$line}/D{$line},3)";
$v['count_year'] = $date['count_year'];
$v['count_month'] = $date['count_month'];
$v['cp_promote_ratio'] = $v['cp_promote_ratio']/100;
$v['cp_ratio'] = $v['cp_ratio']/100;
$v['cp_rebate_ratio'] = $v['cp_rebate_ratio']/100;
$excelData[] = $v;
$line ++;
}
$countLineArr[] = $line;
//计算统计
$countLine = $line;
$line--;
$excelData[] = [
"count_year" => $date['count_year'],
'count_month' => $date['count_month'],
'relation_game_name'=>"小计",
"pay_amount"=>"=SUM(D3:D{$line})",
"cp_statement_amount"=>"=SUM(G3:G{$line})",
"cp_rebate_amount"=>"=SUM(I3:I{$line})",
"cp_other_amount"=>"=SUM(J3:J{$line})",
"pc_pay_amount"=>"=SUM(K3:K{$line})",
"pc_ratio"=>"=ROUND(M{$countLine}/K{$countLine},4)",
"pc_statement_amount"=>"=SUM(M3:M{$line})",
"pc_margin_amount"=>"=SUM(N3:N{$line})",
"pc_margin_ratio"=>"=ROUND(N{$countLine}/K{$countLine},4)",
"pu_pay_amount"=>"=SUM(P3:P{$line})",
"pu_statement_amount"=>"=SUM(R3:R{$line})",
"pu_ratio"=>"=ROUND(R{$countLine}/P{$countLine},4)",
"pu_margin_amount"=>"=SUM(S3:S{$line})",
"pu_margin_ratio"=>"=ROUND(S{$countLine}/P{$countLine},4)",
"platform_margin_ratio"=>"=ROUND((D{$countLine}-V{$countLine}-G{$countLine}-I{$countLine}-J{$countLine}-M{$countLine}-R{$countLine})/(D{$countLine}-V{$countLine}),4)",
"jh_pay_amount"=>"=SUM(V3:V{$line})",
"jh_statement_amount"=>"=SUM(X3:X{$line})",
"jh_ratio"=>"=ROUND(X{$countLine}/V{$countLine},4)",
"jh_margin_amount"=>"=SUM(Y3:Y{$line})",
"jh_margin_ratio"=>"=ROUND(Y{$countLine}/V{$countLine},4)",
"margin_ratio"=>"=ROUND(AB{$countLine}/D{$countLine},4)",
"margin_amount"=>"=SUM(AB3:AB{$line})",
];
$line += 2;
}
$countLine = $line;
$line--;
//设置总计
$allCountData = [
"count_year" => "总计",
"pay_amount"=>"=SUM(",
"cp_statement_amount"=>"=SUM(",
"cp_rebate_amount"=>"=SUM(",
"cp_other_amount"=>"=SUM(",
"pc_pay_amount"=>"=SUM(",
"pc_ratio"=>"=ROUND(M{$countLine}/K{$countLine},4)",
"pc_statement_amount"=>"=SUM(",
"pc_margin_amount"=>"=SUM(",
"pc_margin_ratio"=>"=ROUND(N{$countLine}/K{$countLine},4)",
"pu_pay_amount"=>"=SUM(",
"pu_statement_amount"=>"=SUM(",
"pu_ratio"=>"=ROUND(R{$countLine}/P{$countLine},4)",
"pu_margin_amount"=>"=SUM(",
"pu_margin_ratio"=>"=ROUND(S{$countLine}/P{$countLine},4)",
"platform_margin_ratio"=>"=ROUND((D{$countLine}-V{$countLine}-G{$countLine}-I{$countLine}-J{$countLine}-M{$countLine}-R{$countLine})/(D{$countLine}-V{$countLine}),4)",
"jh_pay_amount"=>"=SUM(",
"jh_statement_amount"=>"=SUM(",
"jh_ratio"=>"=ROUND(X{$countLine}/V{$countLine},4)",
"jh_margin_amount"=>"=SUM(",
"jh_margin_ratio"=>"=ROUND(Y{$countLine}/V{$countLine},4)",
"margin_ratio"=>"=ROUND(AB{$countLine}/D{$countLine},4)",
"margin_amount"=>"=SUM(",
];
for ($i=0; $i < count($countLineArr); $i++) {
$allCountData['pay_amount'] .= ("D". $countLineArr[$i].",");
$allCountData['cp_statement_amount'] .= ("G". $countLineArr[$i].",");
$allCountData['cp_rebate_amount'] .= ("I". $countLineArr[$i].",");
$allCountData['cp_other_amount'] .= ("J". $countLineArr[$i].",");
$allCountData['pc_pay_amount'] .= ("K". $countLineArr[$i].",");
$allCountData['pc_statement_amount'] .= ("M". $countLineArr[$i].",");
$allCountData['pc_margin_amount'] .= ("N". $countLineArr[$i].",");
$allCountData['pu_pay_amount'] .= ("P". $countLineArr[$i].",");
$allCountData['pu_statement_amount'] .= ("R". $countLineArr[$i].",");
$allCountData['pu_margin_amount'] .= ("S". $countLineArr[$i].",");
$allCountData['jh_pay_amount'] .= ("V". $countLineArr[$i].",");
$allCountData['jh_statement_amount'] .= ("X". $countLineArr[$i].",");
$allCountData['jh_margin_amount'] .= ("Y". $countLineArr[$i].",");
$allCountData['margin_amount'] .= ("AB". $countLineArr[$i].",");
}
$allCountData['pay_amount'] = rtrim($allCountData['pay_amount'], ",").")";
$allCountData['cp_statement_amount'] = rtrim($allCountData['cp_statement_amount'], ",").")";
$allCountData['cp_rebate_amount'] = rtrim($allCountData['cp_rebate_amount'], ",").")";
$allCountData['cp_other_amount'] = rtrim($allCountData['cp_other_amount'], ",").")";
$allCountData['pc_pay_amount'] = rtrim($allCountData['pc_pay_amount'], ",").")";
$allCountData['pc_statement_amount'] = rtrim($allCountData['pc_statement_amount'], ",").")";
$allCountData['pc_margin_amount'] = rtrim($allCountData['pc_margin_amount'], ",").")";
$allCountData['pu_pay_amount'] = rtrim($allCountData['pu_pay_amount'], ",").")";
$allCountData['pu_statement_amount'] = rtrim($allCountData['pu_statement_amount'], ",").")";
$allCountData['pu_margin_amount'] = rtrim($allCountData['pu_margin_amount'], ",").")";
$allCountData['jh_pay_amount'] = rtrim($allCountData['jh_pay_amount'], ",").")";
$allCountData['jh_statement_amount'] = rtrim($allCountData['jh_statement_amount'], ",").")";
$allCountData['jh_margin_amount'] = rtrim($allCountData['jh_margin_amount'], ",").")";
$allCountData['margin_amount'] = rtrim($allCountData['margin_amount'], ",").")";
$excelData[] = $allCountData;
$this->exportExcel($excelData,"毛利分析表汇总");
}
private function exportExcel($arr,$title)
{
header("Content-type: text/html; charset=utf-8");
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
Vendor("PHPExcel.PHPExcel");
$objReader = \PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load("Public/Admin/excel/gamemargin.xlsx");
$line = 3;
$objPHPExcel->getActiveSheet()->insertNewRowBefore($line+1,count($arr)-2);
foreach ($arr as $v) {
//relation_game_name
$objPHPExcel->getActiveSheet()
->setCellValue('A'.$line, $v['count_year'])
->setCellValue('B'.$line, $v['count_month'] ?? '')
->setCellValue('C'.$line, $v['relation_game_name'] ?? '')
->setCellValue('D'.$line, $v['pay_amount'])
->setCellValue('E'.$line, $v['cp_promote_ratio'] ?? '')
->setCellValue('F'.$line, $v['cp_ratio'] ?? '')
->setCellValue('G'.$line, $v['cp_statement_amount'])
->setCellValue('H'.$line, $v['cp_rebate_ratio'] ?? '')
->setCellValue('I'.$line, $v['cp_rebate_amount'])
->setCellValue('J'.$line, $v['cp_other_amount'])
->setCellValue('K'.$line, $v['pc_pay_amount'])
->setCellValue('L'.$line, $v['pc_ratio'])
->setCellValue('M'.$line, $v['pc_statement_amount'])
->setCellValue('N'.$line, $v['pc_margin_amount'])
->setCellValue('O'.$line, $v['pc_margin_ratio'])
->setCellValue('P'.$line, $v['pu_pay_amount'])
->setCellValue('Q'.$line, $v['pu_ratio'])
->setCellValue('R'.$line, $v['pu_statement_amount'])
->setCellValue('S'.$line, $v['pu_margin_amount'])
->setCellValue('T'.$line, $v['pu_margin_ratio'])
->setCellValue('U'.$line, $v['platform_margin_ratio'])
->setCellValue('V'.$line, $v['jh_pay_amount'])
->setCellValue('W'.$line, $v['jh_ratio'])
->setCellValue('X'.$line, $v['jh_statement_amount'])
->setCellValue('Y'.$line, $v['jh_margin_amount'])
->setCellValue('Z'.$line, $v['jh_margin_ratio'])
->setCellValue('AA'.$line, $v['margin_ratio'])
->setCellValue('AB'.$line, $v['margin_amount']);
if(array_key_exists('relation_game_name',$v)){
if($v['relation_game_name'] == "小计"){
$objPHPExcel->getActiveSheet()->getStyle("A{$line}:AB{$line}")->getFont()->setBold(true);
}
}else{
//总计
$objPHPExcel->getActiveSheet()->mergeCells("A{$line}:C{$line}")->getStyle("A{$line}")->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
}
$line ++;
}
$fileName = $title;
ob_end_clean();//清除缓冲区,避免乱码
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$fileName.'".xlsx');
header("Content-Disposition:attachment;filename={$fileName}.xlsx");//attachment新窗口打印inline本窗口打印
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
}
private function marginExport($info)
{
header("Content-type: text/html; charset=utf-8");
@ -173,7 +434,7 @@ class GameMarginController extends AdminController
->setCellValue('E'.$line, $v['cp_promote_ratio']/100)
->setCellValue('F'.$line, $v['cp_ratio']/100)
->setCellValue('G'.$line, $v['cp_statement_amount'])
->setCellValue('H'.$line, $v['cp_rebate_ratio'])
->setCellValue('H'.$line, $v['cp_rebate_ratio']/100)
->setCellValue('I'.$line, $v['cp_rebate_amount'])
->setCellValue('J'.$line, $v['cp_other_amount'])
->setCellValue('K'.$line, $v['pc_pay_amount'])
@ -235,6 +496,7 @@ class GameMarginController extends AdminController
$objPHPExcel->getActiveSheet()
->setCellValue('A'.$line, $info['count_year'])
->setCellValue('B'.$line, $info['count_month'])
->setCellValue('C'.$line, "小计")
->setCellValue('D'.$line, $count['pay_amount'])
->setCellValue('G'.$line, $count['cp_statement_amount'])
->setCellValue('I'.$line, $count['cp_rebate_amount'])
@ -266,80 +528,6 @@ class GameMarginController extends AdminController
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
}
private function export($info)
{
$marginInfo = json_decode($info['margin_info'],true);
$line = 3;
foreach ($marginInfo as &$v) {
// $v["cp_ratio"] = "=ROUND(G{$line}/D{$line},4)";
if($v["pc_pay_amount"] > 0){
$v["pc_ratio"] ="=ROUND(M{$line}/K{$line},4)";
$v["pc_margin_amount"] = "=ROUND((K{$line}*(1-E{$line})*(1-F{$line}-H{$line}-L{$line})),2)";
$v["pc_margin_ratio"] ="=ROUND(N{$line}/K{$line},4)";
}
if ($v["pu_pay_amount"] > 0) {
$v["pu_ratio"] ="=ROUND(R{$line}/P{$line},4)";
$v["pu_margin_amount"] = "=ROUND((P{$line}-P{$line}*(1-E{$line})*(F{$line}+H{$line})-R{$line}),2)";
$v["pu_margin_ratio"] = "=ROUND(S{$line}/P{$line},4)";
}
$v['platform_margin_ratio'] = "=ROUND((D{$line}-V{$line}-G{$line}-I{$line}-J{$line}-M{$line}-R{$line})/(D{$line}-V{$line}),4)";
if($v['jh_pay_amount'] > 0){
$v["jh_ratio"] ="=ROUND(X{$line}/V{$line},4)";
$v["jh_margin_amount"] = "=ROUND((X{$line}-V{$line}*(1-E{$line})*(F{$line}+H{$line})),2)";
$v["jh_margin_ratio"] = "=ROUND(Y{$line}/V{$line},4)";
}
$v['margin_amount'] = "=ROUND((D{$line}-G{$line}-I{$line}-J{$line}-M{$line}-R{$line}+X{$line}),2)";
$v['margin_ratio'] = "=ROUND(AB{$line}/D{$line},4)";
$line ++;
}
$countLine = $line;
$line--;
$count = [
"pay_amount"=>"=SUM(D3:D{$line})",
// "cp_ratio"=>"=ROUND(G{$countLine}/D{$countLine},4)",
"cp_statement_amount"=>"=SUM(G3:G{$line})",
"cp_rebate_amount"=>"=SUM(I3:I{$line})",
"cp_other_amount"=>"=SUM(J3:J{$line})",
"pc_pay_amount"=>"=SUM(K3:K{$line})",
"pc_ratio"=>"=ROUND(M{$countLine}/K{$countLine},4)",
"pc_statement_amount"=>"=SUM(M3:M{$line})",
"pc_margin_amount"=>"=SUM(N3:N{$line})",
"pc_margin_ratio"=>"=ROUND(N{$countLine}/K{$countLine},4)",
"pu_pay_amount"=>"=SUM(P3:P{$line})",
"pu_statement_amount"=>"=SUM(R3:R{$line})",
"pu_ratio"=>"=ROUND(R{$countLine}/P{$countLine},4)",
"pu_margin_amount"=>"=SUM(S3:S{$line})",
"pu_margin_ratio"=>"=ROUND(S{$countLine}/P{$countLine},4)",
"platform_margin_ratio"=>"=ROUND((D{$countLine}-V{$countLine}-G{$countLine}-I{$countLine}-J{$countLine}-M{$countLine}-R{$countLine})/(D{$countLine}-V{$countLine}),4)",
"jh_pay_amount"=>"=SUM(V3:V{$line})",
"jh_statement_amount"=>"=SUM(X3:X{$line})",
"jh_ratio"=>"=ROUND(X{$countLine}/V{$countLine},4)",
"jh_margin_amount"=>"=SUM(Y3:Y{$line})",
"jh_margin_ratio"=>"=ROUND(Y{$countLine}/V{$countLine},4)",
"margin_ratio"=>"=ROUND(AB{$countLine}/D{$countLine},4)",
"margin_amount"=>"=SUM(AB3:AB{$line})",
];
$this->assign("data",$marginInfo);
$this->assign("count",$count);
$this->assign("title","{$info['count_year']}-{$info['count_month']}毛利分析表");
}
/**
* 编辑

@ -352,7 +352,7 @@ class GameMarginSetController extends Controller {
}else{
$ratio = $val['second_ratio'];
}
$statement_money = round( $this->adddata[$game]['pay_amount'] * $ratio / 100,2);
$statement_money = round( $this->adddata[$game]['pay_amount'] / $val['pay_amount'] * $val['sum_money'],2);
if( array_key_exists("cp_statement_amount",$this->adddata[$game]) ){
$this->adddata[$game]['cp_statement_amount'] += $statement_money;
}else{

@ -85,6 +85,8 @@
<a class="butn" id="addMargin">生成毛利表</a>
</if>
<a class='butn' id='export'>导出</a>
<a class='butn' id='moreMarginView'>汇总查看</a>
<a class='butn' id='moreMarginExport'>汇总导出</a>
</div>
</div>
@ -275,6 +277,42 @@
}
})
$("#moreMarginView").click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get();
if(text.length < 2){
layer.msg("<font style='color:white'>" + '请选择大于两条(含)以上的数据' + "</font>");
return;
}
var ids = text.join(",");
var url = "{:U('moreMarginView')}"+"&ids="+ids
layer.open({
type: 2,
title: "毛利分析表",
shadeClose: true,
shade: 0.8,
area: ['100%', '100%'],
content: url
});
})
$("#moreMarginExport").click(function () {
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
return $(elem).val();
}).get();
if(text.length < 2){
layer.msg("<font style='color:white'>" + '请选择大于两条(含)以上的数据' + "</font>");
return;
}
var ids = text.join(",");
var url = "{:U('moreMarginView')}"+"&export=1&ids="+ids
var iframeExcel = "<iframe src='"+url+"' width='0px' height='0px' style='z-index:-1;position: absolute;top: -999999px;'></iframe>"//添加下载的地址到iframe这里是公司信息我用**表示了。
$("body").append(iframeExcel)
})
$("#search").click(function(){
var url = $(this).attr('url');

@ -120,7 +120,7 @@
<th colspan="5">成本——下游聚合</th>
<th colspan="2">毛利</th>
<if condition="!$is_export">
<if condition="$id">
<th rowspan="2" style="min-width:55px;">操作</th>
</if>
</tr>
@ -155,7 +155,8 @@
<td colspan="50" class="text-center">aOh! 暂时还没有内容!</td>
</tr>
</if>
<foreach name="data" item="margin">
<foreach name="data.list" item="date">
<foreach name="date.marginInfo" item="margin">
<tr>
<td>{$margin["year"]}</td>
<td>{$margin["month"]}</td>
@ -185,7 +186,7 @@
<td>{$margin["jh_margin_ratio"]}</td>
<td>{$margin["margin_ratio"]}</td>
<td>{$margin["margin_amount"]}</td>
<if condition="!$is_export">
<if condition="$id">
<td>
<a class="confirm margin_edit" data-info='{$margin|json_encode="512"}' data-id="{$id}" data-key="{$key}">编辑</a>
</td>
@ -193,38 +194,69 @@
</tr>
</foreach>
<tr style="font-weight: 800;font-size: 14px;">
<td>{$count["year"]}</td>
<td>{$count["month"]}</td>
<td>{$date['count']["year"]}</td>
<td>{$date['count']["month"]}</td>
<td>小计</td>
<td>{$count["pay_amount"]}</td>
<td>{$date['count']["pay_amount"]}</td>
<td></td>
<td></td>
<td>{$count["cp_statement_amount"]}</td>
<td>{$date['count']["cp_statement_amount"]}</td>
<td></td>
<td>{$count["cp_rebate_amount"]}</td>
<td>{$count["cp_other_amount"]}</td>
<td>{$count["pc_pay_amount"]}</td>
<td>{$count["pc_ratio"]}</td>
<td>{$count["pc_statement_amount"]}</td>
<td>{$count["pc_margin_amount"]}</td>
<td>{$count["pc_margin_ratio"]}</td>
<td>{$count["pu_pay_amount"]}</td>
<td>{$count["pu_ratio"]}</td>
<td>{$count["pu_statement_amount"]}</td>
<td>{$count["pu_margin_amount"]}</td>
<td>{$count["pu_margin_ratio"]}</td>
<td>{$count["platform_margin_ratio"]}</td>
<td>{$count["jh_pay_amount"]}</td>
<td>{$count["jh_ratio"]}</td>
<td>{$count["jh_statement_amount"]}</td>
<td>{$count["jh_margin_amount"]}</td>
<td>{$count["jh_margin_ratio"]}</td>
<td>{$count["margin_ratio"]}</td>
<td>{$count["margin_amount"]}</td>
<if condition="!$is_export">
<td>{$date['count']["cp_rebate_amount"]}</td>
<td>{$date['count']["cp_other_amount"]}</td>
<td>{$date['count']["pc_pay_amount"]}</td>
<td>{$date['count']["pc_ratio"]}</td>
<td>{$date['count']["pc_statement_amount"]}</td>
<td>{$date['count']["pc_margin_amount"]}</td>
<td>{$date['count']["pc_margin_ratio"]}</td>
<td>{$date['count']["pu_pay_amount"]}</td>
<td>{$date['count']["pu_ratio"]}</td>
<td>{$date['count']["pu_statement_amount"]}</td>
<td>{$date['count']["pu_margin_amount"]}</td>
<td>{$date['count']["pu_margin_ratio"]}</td>
<td>{$date['count']["platform_margin_ratio"]}</td>
<td>{$date['count']["jh_pay_amount"]}</td>
<td>{$date['count']["jh_ratio"]}</td>
<td>{$date['count']["jh_statement_amount"]}</td>
<td>{$date['count']["jh_margin_amount"]}</td>
<td>{$date['count']["jh_margin_ratio"]}</td>
<td>{$date['count']["margin_ratio"]}</td>
<td>{$date['count']["margin_amount"]}</td>
<if condition="$id">
<td></td>
</if>
</tr>
</foreach>
<if condition="!$id">
<tr style="font-weight: 800;font-size: 14px;">
<th colspan="3">{$data['count']["date"]}</td>
<td>{$data['count']["pay_amount"]}</td>
<td></td>
<td></td>
<td>{$data['count']["cp_statement_amount"]}</td>
<td></td>
<td>{$data['count']["cp_rebate_amount"]}</td>
<td>{$data['count']["cp_other_amount"]}</td>
<td>{$data['count']["pc_pay_amount"]}</td>
<td>{$data['count']["pc_ratio"]}</td>
<td>{$data['count']["pc_statement_amount"]}</td>
<td>{$data['count']["pc_margin_amount"]}</td>
<td>{$data['count']["pc_margin_ratio"]}</td>
<td>{$data['count']["pu_pay_amount"]}</td>
<td>{$data['count']["pu_ratio"]}</td>
<td>{$data['count']["pu_statement_amount"]}</td>
<td>{$data['count']["pu_margin_amount"]}</td>
<td>{$data['count']["pu_margin_ratio"]}</td>
<td>{$data['count']["platform_margin_ratio"]}</td>
<td>{$data['count']["jh_pay_amount"]}</td>
<td>{$data['count']["jh_ratio"]}</td>
<td>{$data['count']["jh_statement_amount"]}</td>
<td>{$data['count']["jh_margin_amount"]}</td>
<td>{$data['count']["jh_margin_ratio"]}</td>
<td>{$data['count']["margin_ratio"]}</td>
<td>{$data['count']["margin_amount"]}</td>
</tr>
</if>
</tbody>
</table>
</div>

Loading…
Cancel
Save