Эх сурвалжийг харах

feat: adiciona input ref e excluir user

ebagabee 1 сар өмнө
parent
commit
15568e7c88

+ 1 - 5
src/components/defaults/DefaultInputDatePicker.vue

@@ -3,7 +3,6 @@
     v-model="treatedDate"
     v-model:error="error"
     v-bind="$attrs"
-    :input-ref="inputRef"
     :label="label"
     :mask="inputMask"
     clearable
@@ -50,7 +49,7 @@
 </template>
 
 <script setup>
-import { watch, ref, computed } from "vue";
+import { watch, computed } from "vue";
 import { useI18n } from "vue-i18n";
 import masks from "src/helpers/masks";
 
@@ -73,7 +72,6 @@ const error = defineModel("error", {
   type: [String, Object, Array, Boolean, null],
 });
 
-const inputRef = ref(null);
 const activePanel = ref("date");
 const date = ref();
 
@@ -102,8 +100,6 @@ const unformatDate = (value) => {
 };
 
 const inputMask = computed(() => {
-  if (!inputRef.value) return "";
-
   if (time) {
     return masks.Brasil.datetime;
   }

+ 19 - 2
src/pages/students/StudentPage.vue

@@ -45,7 +45,7 @@
                 icon="mdi-trash-can-outline"
                 style="width: 36px"
                 class="q-mr-sm"
-                @click.prevent.stop="() => {}"
+                @click.prevent.stop="onDeleteStudent(row)"
               />
             </q-item-section>
           </q-td>
@@ -60,7 +60,7 @@ import { defineAsyncComponent, ref, onMounted } from "vue";
 import { useQuasar } from "quasar";
 import DefaultHeaderPage from "src/components/layout/DefaultHeaderPage.vue";
 import DefaultTable from "src/components/defaults/DefaultTable.vue";
-import { getStudents } from "src/api/student";
+import { getStudents, deleteStudent } from "src/api/student";
 
 const AddEditStudentDialog = defineAsyncComponent(
   () => import("src/pages/students/components/AddEditStudentDialog.vue"),
@@ -130,5 +130,22 @@ function onEditStudent(student) {
   });
 }
 
+function onDeleteStudent(student) {
+  $q.dialog({
+    title: "Excluir Aluno",
+    message: `Deseja excluir o aluno "${student.name}"?`,
+    cancel: true,
+    persistent: true,
+  }).onOk(async () => {
+    try {
+      await deleteStudent(student.id);
+      rows.value = rows.value.filter((r) => r.id !== student.id);
+    } catch (e) {
+      console.error(e);
+      $q.notify({ type: "negative", message: "Erro ao excluir aluno." });
+    }
+  });
+}
+
 onMounted(loadStudents);
 </script>