Преглед изворни кода

حذف سرگروه جدید

آخرین دوره گذرانده کاربر در دسته کلاس
 متناظر
hgh пре 2 година
родитељ
комит
0502dd27ff

+ 14 - 0
src/api/models/ClassroomLeaders.js

@@ -14,4 +14,18 @@ export default class ClassroomLeaderAPI extends APIRepository {
       byId: (id) => this.name + this.APIAdresses.byId(id)
       byId: (id) => this.name + this.APIAdresses.byId(id)
     }
     }
   }
   }
+
+  deleteById (id) {
+    return this.sendRequest({
+      apiMethod: 'delete',
+      api: this.api,
+      request: this.APIAdresses.byId(id),
+      resolveCallback: (response) => {
+        return response.data
+      },
+      rejectCallback: (error) => {
+        return error
+      }
+    })
+  }
 }
 }

+ 23 - 3
src/components/Widgets/Classroom/AdminClassroomShow/components/LeaderList.vue

@@ -14,13 +14,14 @@
                     v-model:value="addLeaderInputs"
                     v-model:value="addLeaderInputs"
                     :loading="addNewLeaderLoading" />
                     :loading="addNewLeaderLoading" />
     </template>
     </template>
-    <template v-slot:entity-index-table-cell="{inputData, showConfirmRemoveDialog}">
+    <template v-slot:entity-index-table-cell="{inputData}">
       <template v-if="inputData.col.name === 'number'">
       <template v-if="inputData.col.name === 'number'">
         {{ inputData.rowNumber }}
         {{ inputData.rowNumber }}
       </template>
       </template>
       <template v-else-if="inputData.col.name === 'actions'">
       <template v-else-if="inputData.col.name === 'actions'">
         <div class="action-column-entity-index">
         <div class="action-column-entity-index">
-          <delete-btn @click="showConfirmRemoveDialog(inputData.props.row, 'id', getRemoveMessage(inputData.props.row))" />
+          <delete-btn :loading="deletingLoading"
+                      @click="onDeletingClassroomLeader(inputData.props.row)" />
         </div>
         </div>
       </template>
       </template>
       <template v-else-if="inputData.col.name === 'members'">
       <template v-else-if="inputData.col.name === 'members'">
@@ -247,7 +248,8 @@ export default {
         currentPage: 'current',
         currentPage: 'current',
         perPage: 'per_page',
         perPage: 'per_page',
         pageKey: 'page'
         pageKey: 'page'
-      }
+      },
+      deletingLoading: false
     }
     }
   },
   },
   computed: {
   computed: {
@@ -265,6 +267,24 @@ export default {
     this.mounted = true
     this.mounted = true
   },
   },
   methods: {
   methods: {
+    onDeletingClassroomLeader (row) {
+      this.$q.dialog({
+        title: 'توجه',
+        message: 'آیا از حذف ' + row.leader_info.firstname + ' ' + row.leader_info.lastname + ' اطمینان دارید؟',
+        cancel: true,
+        persistent: true
+      }).onOk(() => {
+        this.deletingLoading = true
+        APIGateway.classroomLeaders.deleteById(row.id)
+          .then(() => {
+            this.deletingLoading = false
+            this.$refs.leaderList.search()
+          })
+          .catch(() => {
+            this.deletingLoading = false
+          })
+      })
+    },
     onConfirmedSelected (data) {
     onConfirmedSelected (data) {
       const leaders = data.map(item => item.id)
       const leaders = data.map(item => item.id)
       this.addNewLeaderLoading = true
       this.addNewLeaderLoading = true