Forráskód Böngészése

修改主持人中獎清單

maa3520 2 éve
szülő
commit
c892f8051e

+ 9 - 0
app/Http/Controllers/RecipientsController.php

@@ -226,6 +226,15 @@ class RecipientsController extends Controller
         WHERE [prize_id] = ? ORDER BY CASE 
         WHEN [check_ins].[department_id] = 'guest' then 1 END DESC,[check_ins].[department_id],[check_ins].[user_id];", [$prize_id]);
         $prize = DB::select("SELECT [name] FROM [prizes] WHERE [id] = ?;", [$prize_id]);
+        $temp_alias = "";
+        $temp_color = true;
+        foreach($prizeList as $value){
+            if($temp_alias != $value->alias){
+                $temp_color = !$temp_color;
+                $temp_alias = $value->alias;
+            }
+            $value->color = $temp_color;
+        }
         $response = [
             "prize" => $prize,
             "list" => $prizeList,

+ 5 - 5
database/seeders/DatabaseSeeder.php

@@ -25,7 +25,7 @@ class DatabaseSeeder extends Seeder
     public function run()
     {
         $admin = ["3520","3444","3606"];
-        $draw = ["2659"];
+        $draw = ["2659","3288","3624","3127","3462","3579"];
         User::truncate();
 
         $json = File::get("database/MAA.json");
@@ -39,7 +39,7 @@ class DatabaseSeeder extends Seeder
             }else{
                 $role = "User";
             }
-            if($value->department_id == "xxx"){
+            if($value->department_id == "xxx" || $value->user_id = '1744'){
                 $role = "Checkin";
                 User::create([
                     'user_id' => $value->user_id,
@@ -69,9 +69,9 @@ class DatabaseSeeder extends Seeder
         $this->call([
             // ActivitySeeder::class,
             CheckInSeeder::class,
-            // PrizeSeeder::class,
-            // RecipientsSeeder::class,
-            DepartmentSeeder::class,
+            PrizeSeeder::class,
+            RecipientsSeeder::class,
+            // DepartmentSeeder::class,
         ]);
     }
 }

+ 1 - 1
resources/js/src/views/Login.vue

@@ -4,7 +4,7 @@
 			<!-- Brand logo-->
 			<b-link class="brand-logo">
 				<vuexy-logo />
-				<h2 class="brand-text text-primary ml-1">Vuexy</h2>
+				<h2 class="brand-text text-primary ml-1">MAA</h2>
 			</b-link>
 			<!-- /Brand logo-->
 

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

@@ -1,11 +1,15 @@
 <template>
     <div>
+        <div v-if="drawPage.includes(role)" class="group-area mt-1">
+            <h3>抽獎功能</h3>
+            <hr>
+        </div>
         <b-row class="match-height">
-            <b-col v-if="checkinPage.includes(role)" md="6" :lg="lg">
+            <b-col v-if="drawPage.includes(role)" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
-                            :to="{ name: 'checkin', params: { 'activity_id': this.$route.params.activity_id } }">報到頁面</b-button>
+                            :to="{ name: 'draw', params: { 'activity_id': this.$route.params.activity_id } }">抽獎頁面</b-button>
                     </b-card-body>
                 </b-card>
             </b-col>
@@ -13,7 +17,8 @@
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
-                            :to="{ name: 'draw', params: { 'activity_id': this.$route.params.activity_id } }">抽獎頁面</b-button>
+                            target="_blank"
+                            :to="{ name: 'slot', params: { 'activity_id': this.$route.params.activity_id } }">大獎抽獎頁面</b-button>
                     </b-card-body>
                 </b-card>
             </b-col>
@@ -22,25 +27,29 @@
                     <b-card-body>
                         <b-button variant="success"
                             target="_blank"
-                            :to="{ name: 'slot', params: { 'activity_id': this.$route.params.activity_id } }">大獎抽獎頁面</b-button>
+                            :to="{ name: 'playPrizeList', params: { 'activity_id': this.$route.params.activity_id } }">中獎輪播名單</b-button>
                     </b-card-body>
                 </b-card>
             </b-col>
-
-            <b-col v-if="checkinPage.includes(role)" md="6" :lg="lg">
+            <b-col v-if="drawPage.includes(role)" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
-                            :to="{ name: 'claim', params: { 'activity_id': this.$route.params.activity_id } }">兌獎頁面</b-button>
+                            :to="{ name: 'prizeList', params: { 'activity_id': this.$route.params.activity_id } }">主持人中獎名單</b-button>
                     </b-card-body>
                 </b-card>
             </b-col>
+        </b-row>
+        <div v-if="checkinPage.includes(role)" class="group-area mt-1">
+            <h3>報到功能</h3>
+            <hr>
+        </div>
+        <b-row class="match-height">
             <b-col v-if="checkinPage.includes(role)" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
-                            target="_blank"
-                            :to="{ name: 'playPrizeList', params: { 'activity_id': this.$route.params.activity_id } }">中獎輪播名單</b-button>
+                            :to="{ name: 'checkin', params: { 'activity_id': this.$route.params.activity_id } }">報到頁面</b-button>
                     </b-card-body>
                 </b-card>
             </b-col>
@@ -48,10 +57,16 @@
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
-                            :to="{ name: 'prizeList', params: { 'activity_id': this.$route.params.activity_id } }">主持人中獎名單</b-button>
+                            :to="{ name: 'claim', params: { 'activity_id': this.$route.params.activity_id } }">兌獎頁面</b-button>
                     </b-card-body>
                 </b-card>
             </b-col>
+        </b-row>
+        <div v-if="checkinPage.includes(role)" class="group-area mt-1">
+            <h3>匯出功能</h3>
+            <hr>
+        </div>
+        <b-row class="match-height">
             <b-col v-if="checkinPage.includes(role)" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
@@ -68,15 +83,6 @@
                     </b-card-body>
                 </b-card>
             </b-col>
-            <b-col md="6" :lg="lg">
-                <b-card no-body border-variant="info" class="text-center">
-                    <b-card-body>
-                        <b-button variant="success"
-                            :to="{ name: 'search', params: { 'activity_id': this.$route.params.activity_id } }">查詢個人資訊</b-button>
-                    </b-card-body>
-                </b-card>
-            </b-col>
-
         </b-row>
         <div v-if="canViewVerticalNavMenuLink({ route: 'slotManager' })" class="group-area mt-1">
             <h3>管理功能</h3>
@@ -95,15 +101,23 @@
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
-                            :to="{ name: 'randomTest', params: { 'activity_id': this.$route.params.activity_id } }">亂數分布測試</b-button>
+                            :to="{ name: 'activityUpdate', params: { 'activity_id': this.$route.params.activity_id } }">編輯活動</b-button>
                     </b-card-body>
                 </b-card>
             </b-col>
-            <b-col v-if="drawPage.includes(role)" md="6" :lg="lg">
+            <b-col v-if="canViewVerticalNavMenuLink({ route: 'slotManager' })" md="6" :lg="lg">
                 <b-card no-body border-variant="info" class="text-center">
                     <b-card-body>
                         <b-button variant="success"
-                            :to="{ name: 'activityUpdate', params: { 'activity_id': this.$route.params.activity_id } }">編輯活動</b-button>
+                            :to="{ name: 'search', params: { 'activity_id': this.$route.params.activity_id } }">查詢個人資訊</b-button>
+                    </b-card-body>
+                </b-card>
+            </b-col>
+            <b-col v-if="canViewVerticalNavMenuLink({ route: 'slotManager' })" md="6" :lg="lg">
+                <b-card no-body border-variant="info" class="text-center">
+                    <b-card-body>
+                        <b-button variant="success"
+                            :to="{ name: 'randomTest', params: { 'activity_id': this.$route.params.activity_id } }">亂數分布測試</b-button>
                     </b-card-body>
                 </b-card>
             </b-col>

+ 14 - 11
resources/js/src/views/lottery/PrizeList.vue

@@ -20,7 +20,7 @@
     </b-card-header>
     <b-row v-if="prizeList.length > 0">
       <b-col cols="12" class="prize-list" :key="index" v-for="(item, index) in prizeList">
-        <b-badge pill :style="color(item.alias)">{{ prizeBadge(item) }}</b-badge>
+        <b-badge pill :style="color(item.color)">{{ prizeBadge(item) }}</b-badge>
       </b-col>
     </b-row>
     <b-row v-else>
@@ -36,7 +36,7 @@ import BCardCode from '@core/components/b-card-code/BCardCode.vue'
 import { BCard, BCardTitle, BCardHeader, BRow, BCol, BBadge, BButton, BProgress, BDropdown, BDropdownItem } from 'bootstrap-vue'
 
 import useJwt from '@/auth/jwt/useJwt'
-const colors = ["250,250,250,1", "128,128,128,1"];
+
 export default {
   components: {
     BCard,
@@ -74,7 +74,14 @@ export default {
   methods: {
     getPrize(activity_id) {
       useJwt.postData('/api/prize/index_by_activity', { activity_id: activity_id }).then(response => {
-        this.prizes = response.data;
+        this.prizes = [];
+        let prizes = response.data;
+        Object.values(prizes).forEach((item) => {
+          if (item.count == 0) {
+            this.prizes.push(item);
+          }
+        });
+        
         this.index = this.prizes.length - 1;
         let prize_id = this.prizes[this.index].id;
         this.getPrizeList(prize_id);
@@ -84,7 +91,7 @@ export default {
     },
     getPrizeList(prize_id) {
       useJwt.postData('/api/recipient/indexByPrize', { prize_id: prize_id }).then(response => {
-        console.log(response.data);
+        console.log(response.data.list);
 
         this.prizeList = response.data.list;
         this.prizeName = response.data.prize[0].name;
@@ -101,13 +108,9 @@ export default {
           item.name.padEnd(4, " ");
       }
     },
-    color(alias) {
-      if (this.tempAlias != alias) {
-        this.tempAlias = alias;
-        this.tempColor = (this.tempColor + 1) % colors.length
-      }
-
-      return 'background-color: rgba(' + colors[this.tempColor] + ')';
+    color(colorStatus) {
+      let color = colorStatus ? "160,200,160,1" : "160,160,200,1";
+      return 'background-color: rgba(' + color + ')';
     }
   },
   computed: {