Kaynağa Gözat

pacote automatico

ebagabee 1 ay önce
ebeveyn
işleme
f4e364e792

+ 25 - 4
src/pages/students/components/CreateContractDialog.vue

@@ -70,7 +70,7 @@
             <DefaultSelect
               v-model="form.package_id"
               label="Pacote de Aulas"
-              :options="[]"
+              :options="packages"
               option-value="id"
               option-label="name"
               emit-value
@@ -83,6 +83,7 @@
               v-model="form.class_quantity"
               label="Qtd. Aulas"
               type="number"
+              disable
             />
           </div>
 
@@ -175,10 +176,10 @@
           </div>
 
           <div class="col-4">
-            <DefaultInput
+            <DefaultCurrencyInput
               v-model="form.enrollment_fee"
               label="Taxa de Matrícula"
-              type="number"
+              disable
             />
           </div>
 
@@ -187,6 +188,7 @@
               v-model="form.total_classes"
               label="Total de Aulas"
               type="number"
+              disable
             />
           </div>
 
@@ -289,15 +291,17 @@
 </template>
 
 <script setup>
-import { computed } from "vue";
+import { computed, ref, watch, onMounted } from "vue";
 import { useDialogPluginComponent } from "quasar";
 import DefaultDialogHeader from "src/components/defaults/DefaultDialogHeader.vue";
 import DefaultInput from "src/components/defaults/DefaultInput.vue";
 import DefaultSelect from "src/components/defaults/DefaultSelect.vue";
+import DefaultCurrencyInput from "src/components/defaults/DefaultCurrencyInput.vue";
 import { useSubmitHandler } from "src/composables/useSubmitHandler";
 import { useFormUpdateTracker } from "src/composables/useFormUpdateTracker";
 import { formatDateYMDtoDMY } from "src/helpers/utils";
 import masks from "src/helpers/masks";
+import { getUnitPackages } from "src/api/package";
 
 const props = defineProps({
   student: {
@@ -357,6 +361,23 @@ const weekdays = [
   { value: 0, label: "Domingo" },
 ];
 
+const packages = ref([]);
+
+onMounted(async () => {
+  packages.value = await getUnitPackages();
+});
+
+watch(
+  () => form.package_id,
+  (id) => {
+    const pkg = packages.value.find((p) => p.id === id);
+    if (!pkg) return;
+    form.class_quantity = pkg.quantity_classes;
+    form.total_classes = pkg.quantity_classes;
+    form.enrollment_fee = pkg.contract_register_value;
+  },
+);
+
 const formattedBirthDate = computed(() =>
   props.student.birth_date ? formatDateYMDtoDMY(props.student.birth_date) : "",
 );