瀏覽代碼

修改中獎清單匯出

maa3520 2 年之前
父節點
當前提交
c5371d9b5d

+ 10 - 4
app/Http/Controllers/RecipientsController.php

@@ -9,6 +9,7 @@ use App\Models\User;
 use App\Models\Department;
 use App\Http\Requests\StoreRecipientsRequest;
 use App\Http\Requests\UpdateRecipientsRequest;
+use App\Models\Activity;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\DB;
 
@@ -188,20 +189,25 @@ class RecipientsController extends Controller
 
     public function export(Request $request)
     {
+        $activity_name = Activity::select('activity_name')
+            ->where('id', '=', $request->activity_id)
+            ->first()->activity_name;
+
         $recipients = Recipients::join('prizes', 'recipients.prize_id', '=', 'prizes.id')
             ->join('check_ins', 'recipients.user_id', '=', 'check_ins.user_id')
-            ->select('prizes.activity_id', 'prizes.id', 'prizes.name as prize', 'check_ins.name', 'prizes.created_at')
+            ->select('prizes.id', 'prizes.name as prize', 'check_ins.user_id', 'check_ins.name')
             ->where('prizes.activity_id', '=', $request->activity_id)
             ->orderBy('prizes.id')
             ->get();
 
-        $filename = "recipients_list_" . date('Y_m_d_H_i_s', time()) . ".csv";
+        $filename = $activity_name . "_中獎清單" . date('Y_m_d_H_i_s', time()) . ".csv";
         $filepath = "./upload/" . $filename;
         $handle = fopen($filepath, 'w+');
-        fputcsv($handle, array('prize', 'name', 'created_at'));
+        fwrite($handle,chr(0xEF).chr(0xBB).chr(0xBF));
+        fputcsv($handle, array('獎項', '工號', '姓名'));
 
         foreach ($recipients as $element) {
-            fputcsv($handle, array($element->prize, $element->name, $element->created_at));
+            fputcsv($handle, array($element->prize, $element->user_id, $element->name));
         }
         fclose($handle);
         $headers = array(

+ 1 - 1
resources/js/src/views/lottery/Activities/ActivityPage.vue

@@ -178,7 +178,7 @@ export default {
                 })
                 let link = document.createElement('a')
                 link.href = window.URL.createObjectURL(blob)
-                link.download = response.headers["content-disposition"].split('filename=')[1]
+                link.download = decodeURI(response.headers["content-disposition"].split("filename*=utf-8''")[1])
                 link.click()
             }).catch(error => {
                 console.log(error)