Bladeren bron

fleat: update csv output

igb 2 dagen geleden
bovenliggende
commit
32d34a11be
4 gewijzigde bestanden met toevoegingen van 69 en 10 verwijderingen
  1. 17 3
      customer_composition_stats.php
  2. 20 3
      inquiry_conversion_stats.php
  3. 16 2
      monthly_deal_stats.php
  4. 16 2
      region_performance_stats.php

+ 17 - 3
customer_composition_stats.php

@@ -35,6 +35,14 @@ if ($result && $row = $result->fetch_assoc()) {
 // 检查是否为导出请求
 $is_export = isset($_GET['export']) && $_GET['export'] == 'excel';
 
+// 如果是导出请求但当前用户不是管理员,则拒绝导出
+if ($is_export && $current_permission_role != 1) {
+    // 不允许导出,重定向回当前页面(不带export参数)
+    $redirect_url = strtok($_SERVER['REQUEST_URI'], '?') . '?' . http_build_query(array_diff_key($_GET, ['export' => '', 'type' => '']));
+    echo "<script>alert('只有管理员才有权限导出数据'); window.location.href='$redirect_url';</script>";
+    exit;
+}
+
 // 获取日期范围参数
 $date_params = getDateRangeParams();
 $start_date = $date_params['start_date_sql'];
@@ -383,12 +391,15 @@ function renderCustomerCompositionTable($data, $is_export = false) {
     }
     
     // 渲染表格
-    echo '<div class="row mt-5">';
+    echo '<div class="row mt-5 mb-5">';
     echo '<div class="col-md-12">';
     echo '<div class="card">';
     echo '<div class="card-header d-flex justify-content-between align-items-center">';
     echo '<span>业务员客户构成统计</span>';
-    echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=employee" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    // 只有管理员才显示导出按钮
+    if ($GLOBALS['current_permission_role'] == 1) {
+        echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=employee" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    }
     echo '</div>';
     echo '<div class="card-body">';
     echo '<div class="table-responsive">';
@@ -472,7 +483,10 @@ function renderMonthlyCustomerCompositionTable($data, $is_export = false) {
     echo '<div class="card">';
     echo '<div class="card-header d-flex justify-content-between align-items-center">';
     echo '<span>每月客户构成统计</span>';
-    echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=monthly" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    // 只有管理员才显示导出按钮
+    if ($GLOBALS['current_permission_role'] == 1) {
+        echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=monthly" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    }
     echo '</div>';
     echo '<div class="card-body">';
     echo '<div class="table-responsive">';

+ 20 - 3
inquiry_conversion_stats.php

@@ -34,6 +34,14 @@ if ($result && $row = $result->fetch_assoc()) {
 // 检查是否为导出请求
 $is_export = isset($_GET['export']) && $_GET['export'] == 'excel';
 
+// 如果是导出请求但当前用户不是管理员,则拒绝导出
+if ($is_export && $current_permission_role != 1) {
+    // 不允许导出,重定向回当前页面(不带export参数)
+    $redirect_url = strtok($_SERVER['REQUEST_URI'], '?') . '?' . http_build_query(array_diff_key($_GET, ['export' => '', 'type' => '']));
+    echo "<script>alert('只有管理员才有权限导出数据'); window.location.href='$redirect_url';</script>";
+    exit;
+}
+
 // 获取日期范围参数
 $date_params = getDateRangeParams();
 $start_date = $date_params['start_date_sql'];
@@ -279,7 +287,10 @@ function renderEmployeeConversionRateTable($data, $is_export = false) {
     echo '<div class="card">';
     echo '<div class="card-header d-flex justify-content-between align-items-center">';
     echo '<span>业务员询盘转化率统计</span>';
-    echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=employee" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    // 只有管理员才显示导出按钮
+    if ($current_permission_role == 1) {
+        echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=employee" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    }
     echo '</div>';
     echo '<div class="card-body">';
     echo '<div class="table-responsive">';
@@ -353,7 +364,10 @@ function renderChannelTotalConversionRateTable($data, $is_export = false) {
     echo '<div class="card">';
     echo '<div class="card-header d-flex justify-content-between align-items-center">';
     echo '<span>渠道询盘转化率汇总</span>';
-    echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=channel" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    // 只有管理员才显示导出按钮
+    if ($current_permission_role == 1) {
+        echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=channel" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    }
     echo '</div>';
     echo '<div class="card-body">';
     echo '<div class="table-responsive">';
@@ -427,7 +441,10 @@ function renderCountryChannelConversionRateTable($data, $is_export = false) {
     echo '<div class="card">';
     echo '<div class="card-header d-flex justify-content-between align-items-center">';
     echo '<span>国家/渠道月度转化率明细</span>';
-    echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=country_channel" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    // 只有管理员才显示导出按钮
+    if ($current_permission_role == 1) {
+        echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=country_channel" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    }
     echo '</div>';
     echo '<div class="card-body">';
     echo '<div class="table-responsive">';

+ 16 - 2
monthly_deal_stats.php

@@ -30,6 +30,14 @@ if ($result && $row = $result->fetch_assoc()) {
 // 检查是否为导出请求
 $is_export = isset($_GET['export']) && $_GET['export'] == 'excel';
 
+// 如果是导出请求但当前用户不是管理员,则拒绝导出
+if ($is_export && $current_permission_role != 1) {
+    // 不允许导出,重定向回当前页面(不带export参数)
+    $redirect_url = strtok($_SERVER['REQUEST_URI'], '?') . '?' . http_build_query(array_diff_key($_GET, ['export' => '', 'type' => '']));
+    echo "<script>alert('只有管理员才有权限导出数据'); window.location.href='$redirect_url';</script>";
+    exit;
+}
+
 // 获取日期范围参数
 $date_params = getDateRangeParams();
 $start_date = $date_params['start_date_sql'];
@@ -191,7 +199,10 @@ function renderMonthlyDealCustomersTable($data, $is_export = false) {
     echo '<div class="card">';
     echo '<div class="card-header d-flex justify-content-between align-items-center">';
     echo '<span>每月新增成交客户数量明细 (总计: '.$total_customers.' 客户)</span>';
-    echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=customers" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    // 只有管理员才显示导出按钮
+    if ($current_permission_role == 1) {
+        echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=customers" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    }
     echo '</div>';
     echo '<div class="card-body">';
     echo '<div class="table-responsive">';
@@ -260,7 +271,10 @@ function renderDealStatsByEmployeeTable($data, $is_export = false) {
     echo '<div class="card">';
     echo '<div class="card-header d-flex justify-content-between align-items-center">';
     echo '<span>业务员成交统计明细</span>';
-    echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=employee" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    // 只有管理员才显示导出按钮
+    if ($current_permission_role == 1) {
+        echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=employee" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    }
     echo '</div>';
     echo '<div class="card-body">';
     echo '<div class="table-responsive">';

+ 16 - 2
region_performance_stats.php

@@ -30,6 +30,14 @@ if ($result && $row = $result->fetch_assoc()) {
 // 检查是否为导出请求
 $is_export = isset($_GET['export']) && $_GET['export'] == 'excel';
 
+// 如果是导出请求但当前用户不是管理员,则拒绝导出
+if ($is_export && $current_permission_role != 1) {
+    // 不允许导出,重定向回当前页面(不带export参数)
+    $redirect_url = strtok($_SERVER['REQUEST_URI'], '?') . '?' . http_build_query(array_diff_key($_GET, ['export' => '', 'type' => '']));
+    echo "<script>alert('只有管理员才有权限导出数据'); window.location.href='$redirect_url';</script>";
+    exit;
+}
+
 // 获取日期范围参数
 $date_params = getDateRangeParams();
 $start_date = $date_params['start_date_sql'];
@@ -207,7 +215,10 @@ function renderMonthlyRegionPerformanceTable($data, $is_export = false) {
     echo '<div class="card">';
     echo '<div class="card-header d-flex justify-content-between align-items-center">';
     echo '<span>每月区域新客户业绩明细 (总计: '.formatCurrency($total_amount).', 共'.$total_customers.'个新客户)</span>';
-    echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=monthly" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    // 只有管理员才显示导出按钮
+    if ($current_permission_role == 1) {
+        echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=monthly" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    }
     echo '</div>';
     echo '<div class="card-body">';
     echo '<div class="table-responsive">';
@@ -288,7 +299,10 @@ function renderRegionPerformanceSummaryTable($data, $is_export = false) {
     echo '<div class="card">';
     echo '<div class="card-header d-flex justify-content-between align-items-center">';
     echo '<span>区域新客户业绩汇总 (总计: '.formatCurrency($total_amount).', 共'.$total_customers.'个新客户)</span>';
-    echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=summary" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    // 只有管理员才显示导出按钮
+    if ($current_permission_role == 1) {
+        echo '<a href="' . $_SERVER['REQUEST_URI'] . '&export=excel&type=summary" class="btn btn-sm btn-success ml-3">导出CSV</a>';
+    }
     echo '</div>';
     echo '<div class="card-body">';
     echo '<div class="table-responsive">';