H1H1T 8 年 前
コミット
80e4f6710d

+ 102 - 38
www/protected/controllers/ROrderController.php

@@ -1253,26 +1253,30 @@ class ROrderController extends AdminController{
         $criteria->status('==',1);
         $product = Product::model()->parse(CommonFn::getRowsFromCursor(Product::model()->findAll($criteria)));
         $data = array();
+        $total = count($product)+1;
         $data[0][0] = '';
         if($week){
             $days = 7;
             foreach ($product as $key => $value) {
-                $data[0][$key + 1] = $value['name'];
+                $data[$key + 1][0] = $value['name'];
                 /**
                  * 根据获取的产品类型,进行分类,将每一周相同服务类型的总订单存储到数组中,
                  */
+
                 for ($i=0;$i<=2;$i++){
                     $order_criteria = new EMongoCriteria();
                     $order_criteria->type('==', $value['type']);
+
                     //1 7 8 14 15 21
-                    $start_time = mktime(0, 0, 0, date('m'), date('d')-(7*$i+1), date('Y'));
-                    $end_time = mktime(23, 59, 59, date('m'), date('d')-(($i+1)*7), date('Y'));
-                    $order_criteria->booking_time('>=', $start_time);
-                    $order_criteria->booking_time('<=', $end_time);
+                    $start_time = mktime(23, 59, 59, date('m'), date('d')-(7*$i+1), date('Y'));
+                    $end_time = mktime(0, 0, 0, date('m'), date('d')-(($i+1)*7), date('Y'));
+
+                    $order_criteria->booking_time('<=', $start_time);
+                    $order_criteria->booking_time('>=', $end_time);
                     $orders = ROrder::model()->findAll($order_criteria);
-                    $data[$i+1][0] = date('m-d', $start_time);
-                    $data[$i+1][$key+1] = count($orders) == 0?1:count($orders)+1;
-                    $data[$i+1][$key + 1] = count($orders) == 0 ? '0' : count($orders);
+                    $data[0][$i+1] = date('m-d', $start_time);
+                    $data[$key+1][$i+1] = count($orders) == 0?1:count($orders)+1;
+                    $data[$key+1][$i + 1] = count($orders) == 0 ? '0' : count($orders);
                 }
              /*   for ($i = 1; $i <= $days; $i++) {
                     $order_criteria = new EMongoCriteria();
@@ -1317,39 +1321,29 @@ class ROrderController extends AdminController{
 
         //图表
         $labels = array(
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$A$2',null,1),//1
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$A$3',null,1),//2
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$A$4',null,1),//3
-            /*new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$E$1',null,1),//4
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$F$1',null,1),//5
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$G$1',null,1),//6
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$H$1',null,1),//7
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$I$1',null,1),//8
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$J$1',null,1),//9
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$K$1',null,1),//10
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$L$1',null,1),//11
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$M$1',null,1),//12
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$N$1',null,1),//13
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$O$1',null,1),//14*/
+            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$B$1',null,1),//1
+            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$C$1',null,1),//2
+            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$D$1',null,1),//3
+
         );
         $xLabels = array(
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$B$1:$O$1',null,14),//取x轴刻度
+            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$A$2:$A$'.$total,null,$total),//取x轴刻度
         );
         $datas = array(
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$B$2:$B$15',null,14),//1
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$C$2:$C$15',null,14),//2
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$D$2:$D$15',null,14),//3
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$E$2:$E$15',null,14),//4
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$F$2:$F$15',null,14),//5
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$G$2:$G$15',null,14),//6
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$H$2:$H$15',null,14),//7
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$I$2:$I$15',null,14),//8
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$J$2:$J$15',null,14),//9
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$K$2:$K$15',null,14),//10
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$L$2:$L$15',null,14),//11
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$M$2:$M$15',null,14),//12
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$N$2:$N$15',null,14),//13
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$O$2:$O$15',null,14),//14
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$B$2:$B$'.$total,null,$total),//1
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$C$2:$C$'.$total,null,$total),//2
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$D$2:$D$'.$total,null,$total),//3
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$E$2:$E$'.$total,null,$total),//4
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$F$2:$F$'.$total,null,$total),//5
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$G$2:$G$'.$total,null,$total),//6
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$H$2:$H$'.$total,null,$total),//7
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$I$2:$I$'.$total,null,$total),//8
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$J$2:$J$'.$total,null,$total),//9
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$K$2:$K$'.$total,null,$total),//10
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$L$2:$L$'.$total,null,$total),//11
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$M$2:$M$'.$total,null,$total),//12
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$N$2:$N$'.$total,null,$total),//13
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$O$2:$O$'.$total,null,$total),//14
         );
 
         /*if($week){
@@ -1447,7 +1441,7 @@ class ROrderController extends AdminController{
         $title = new PHPExcel_Chart_Title("同比数据分析");
         $ytitle = new PHPExcel_Chart_Title("订单数");
         $chart = new PHPExcel_Chart('line_chart',$title,$legend,$areas,true,false,null,$ytitle);
-        $chart->setTopLeftPosition("A1")->setBottomRightPosition("P31"); //图表位置
+        $chart->setTopLeftPosition("A1")->setBottomRightPosition("AI30"); //图表位置
 
         $objSheet->addChart($chart);
 
@@ -1644,6 +1638,76 @@ class ROrderController extends AdminController{
         CommonFn::SaveViaTempFile($objWriter);
 
     }
+    public function actionTest(){
+        $arr = array(
+            array('', '一班', '二班', '三班','四班'),
+            array('不及格', 20, 30, 40,67),
+            array('良好', 30, 50, 55,67),
+            array('优秀', 15, 17, 20,67)
+        );
+        Yii::$enableIncludePath = false;
+        Yii::import('ext.phpexcel.PHPExcel', 1);
+
+        $objPHPExcel = new PHPExcel();
+        $objSheet = $objPHPExcel->getActiveSheet();
+        $criteria = new EMongoCriteria();
+        $criteria->status('==',1);
+
+        $name = '同比数据分析(月)柱形图.xlsx';
+
+        $objSheet->fromArray($arr);
+
+        //图表
+        $labels = array(
+            new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', null, 1),//一班
+            new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', null, 1),//二班
+            new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', null, 1),//三班
+            new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$E$1', null, 1),//三班
+            );
+        $xLabels = array(
+            new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$4', null, 3),
+        );
+        $datas = array(
+            new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$4', null, 4),//取一班的数据
+            new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$4', null, 4),//取二班的数据
+            new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$4', null, 4),//取三班的数据
+            new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$E$2:$E$4', null, 4),//取三班的数据
+
+        );
+
+
+        $series = array(
+            new PHPExcel_Chart_DataSeries(
+                PHPExcel_Chart_DataSeries::TYPE_BARCHART,
+                PHPExcel_Chart_DataSeries::GROUPING_STANDARD,
+                range(0, count($labels)-1),
+                $labels,
+                $xLabels,
+                $datas
+            )
+        ); //图表框架
+
+        $layout=new PHPExcel_Chart_Layout();
+        $layout->setShowVal(true);
+        $areas = new PHPExcel_Chart_PlotArea(null,$series);
+        $legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT,$layout,false);
+        $title = new PHPExcel_Chart_Title("同比数据分析");
+        $ytitle = new PHPExcel_Chart_Title("订单数");
+        $chart = new PHPExcel_Chart('line_chart',$title,$legend,$areas,true,false,null,$ytitle);
+        $chart->setTopLeftPosition("A1")->setBottomRightPosition("P31"); //图表位置
+
+        $objSheet->addChart($chart);
+
+
+        $excel = 'Excel2007';
+        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,$excel);
+        $objWriter->setIncludeCharts(true); //图表必须
+        // $objWriter->save($dir.'/export.xls'); //生成excel文件
+        CommonFn::browser_export($excel,date('m').$name); //浏览器输出
+
+        CommonFn::SaveViaTempFile($objWriter);
+
+    }
 
 
 

+ 2 - 2
www/protected/modules/o2o/views/web/index.php

@@ -10,7 +10,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl; ?>/webapp/framework/ratchet-2.0.2/dist/css/ratchet.min.css">
     <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl; ?>/webapp/framework/ratchet-2.0.2/dist/css/ratchet-theme-ios.min.css">
-    <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl; ?>/webapp/o2o/dist/css/main.css?v=2017052505">
+    <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl; ?>/webapp/o2o/dist/css/main.css?v=2017052506">
     <link href="<?php echo Yii::app()->request->baseUrl; ?>/css/common_o2o/swiper.css" rel="stylesheet">
     <script src="<?php echo Yii::app()->request->baseUrl; ?>/js/o2o/swiper.min.js"></script>
     <style>
@@ -76,7 +76,7 @@
       location.hash = '';
     }
     var debug = false;
-    var main = '<?php echo Yii::app()->request->baseUrl;?>/webapp/o2o/dist/js/main.js?v=2017052505';
+    var main = '<?php echo Yii::app()->request->baseUrl;?>/webapp/o2o/dist/js/main.js?v=2017052506';
     if (debug) {
       main = '<?php echo Yii::app()->request->baseUrl;?>/webapp/o2o/js/main.js?v=' + (new Date()).getTime();
       document.getElementById('debugMain').src = '<?php echo Yii::app()->request->baseUrl; ?>/webapp/common/js/debuggap.js';

ファイルの差分が大きいため隠しています
+ 0 - 0
www/webapp/o2o/dist/js/main.js


ファイルの差分が大きいため隠しています
+ 0 - 0
www/webapp/o2o/dist/js/model/product.js


+ 2 - 2
www/webapp/o2o/js/build/template.js

@@ -769,7 +769,7 @@ define(['base', '$', 'api'], function (base, $, api) {
       {
         // test:57e0e0709f5160aa048b456c
         // master:58085f4b9f5160a9048b490e
-        id: "57e0e0709f5160aa048b456c",
+        id: "58085f4b9f5160a9048b490e",
         name: "租房大扫除",
         imgSrc: 'http://odulvej8l.bkt.clouddn.com/8%E7%A7%9F%E6%88%BF%E5%A4%A7%E6%89%AB%E9%99%A4%E9%A6%96%E5%9B%BE%E6%94%B9.jpg',
         desc: [{content: "http://odqeoyzxd.bkt.clouddn.com/image/image_jdqx.jpg"}, {content: "家电清洗"}],
@@ -777,7 +777,7 @@ define(['base', '$', 'api'], function (base, $, api) {
         is_extra: 0,
         order: 0,
         price: "12",
-        type: "5",//test:5;master:9;
+        type: "9",//test:5;master:9;
         type_str: "民宿保洁",
         action_user: "",
         action_time: "",

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません