소스 검색

Merge branch 'feature/DIARIA-kay-redirecionamentos-dashboard' of Softpar/sfp_front_vue_diarista_prestador into development

zntt 1 개월 전
부모
커밋
989b8c877f

+ 43 - 24
src/components/dashboard/DashboardOpportunities.vue

@@ -2,7 +2,7 @@
   <div class="q-mx-md q-mb-md">
     <div class="row items-center justify-between q-mb-sm">
       <div class="section-title gradient-diarista">{{ $t('provider.dashboard.opportunities.title') }}</div>
-      <q-btn flat no-caps color="grey-6" size="sm" :label="$t('common.see_all')" />
+      <q-btn flat no-caps color="grey-6" size="sm" :label="$t('common.see_all')"  @click="openAllOpportunities"/>
     </div>
 
     <div class="scroll-wrapper">
@@ -20,10 +20,10 @@
               </q-avatar>
               <div class="column flex-1">
                 <div class="row items-center q-gutter-x-xs">
-                  <span class="text-name ellipsis">{{ item.client_name }}</span>
+                  <span class="text-name ellipsis">{{ item.client?.user?.name }}</span>
                   <div class="row items-center">
                     <q-icon name="mdi-star" color="warning" size="14px" />
-                    <span class="text-rating text-text">{{ item.average_rating }}</span>
+                    <span class="text-rating text-text">{{ item.client?.average_rating }}</span>
                   </div>
                 </div>
                 <div class="row items-center no-wrap">
@@ -47,17 +47,18 @@
 
             <div class="row q-mt-sm justify-between">
               <div class="text-text text-primary">
-                  {{ chooseAddressType(item.address_type) }}
+                  {{ item.custom_schedule?.service_type?.description }}
               </div>
               <q-btn
-                unelevated
-                rounded
-                no-caps
-                color="primary"
-                size="sm"
-                class="btn-details"
-                :label="$t('common.details')"
-              />
+                 unelevated
+                 rounded
+                 no-caps
+                 color="primary"
+                 size="sm"
+                 class="btn-details"
+                 :label="$t('common.details')"
+                 @click="openOpportunityDetails(item)"
+                />
             </div>
           </q-card-section>
         </q-card>
@@ -69,14 +70,42 @@
 <script setup>
 import { formatCurrency } from 'src/helpers/utils';
 import { labelsPeriodTypes } from 'src/helpers/arraysOptions/labelsPeriodTypes.js';
-import { useI18n } from 'vue-i18n';
+import { useQuasar } from 'quasar';
+import { useRouter } from 'vue-router';
+import OpportunityDetailsDialog from 'src/pages/opportunities/components/OpportunityDetailsDialog.vue';
+
 defineProps({
   data: {
     type: Array,
     default: () => []
   }
 });
-const { t } = useI18n();
+
+
+
+const $q = useQuasar();
+
+const router = useRouter();
+
+
+const openOpportunityDetails = (item) => {
+  $q.dialog({
+    component: OpportunityDetailsDialog,
+   componentProps: {
+  opportunityId: item.custom_schedule?.id
+}
+  })
+}
+
+// botão ver todas 
+const openAllOpportunities = () => {
+  router.push({
+    name: 'OpportunitiesPage'
+  })
+}
+
+
+
 
 const formatWeekday = (iso) => {
   if (!iso) return '';
@@ -90,16 +119,6 @@ const formatDayMonth = (iso) => {
   return new Date(iso).toLocaleDateString('pt-BR', { day: '2-digit', month: '2-digit' });
 };
 
-const chooseAddressType = (type) => {
-  switch(type) {
-    case 'home':
-      return t("address.types.home");
-    case 'commercial':
-      return t("address.types.commercial");
-    default:
-      return 'N/A';
-  }
-};
 </script>
 
 <style scoped lang="scss">

+ 15 - 3
src/components/dashboard/DashboardPriceSuggest.vue

@@ -19,7 +19,7 @@
               <q-btn icon="mdi-eye-off-outline" flat size="xs" color="grey-6" class="q-pa-none q-pl-sm" @click="showMyPrice = !showMyPrice"/>
             </q-chip>
           </div>
-          <q-btn flat no-caps color="primary" padding="0" class="btn-alter">
+          <q-btn flat no-caps color="primary" padding="0" class="btn-alter" @click="openServiceDataDialog">
             <div class="row items-center q-gutter-x-xs">
               <span class="text-weight-bold">{{ $t('common.alter') }}</span>
               <q-icon name="mdi-pencil-outline" size="xs" />
@@ -34,8 +34,8 @@
 <script setup>
 import { formatCurrency } from 'src/helpers/utils';
 import { ref } from 'vue';
-
-const showMyPrice = ref(false);
+import { useQuasar } from 'quasar';
+import ServiceDataDialog from '../profile/ProfileServiceDataDialog.vue';
 
 defineProps({
   data: {
@@ -45,6 +45,18 @@ defineProps({
   }
 });
 
+
+const showMyPrice = ref(false);
+
+const $q = useQuasar()
+
+const openServiceDataDialog = () => {
+  $q.dialog({
+    component: ServiceDataDialog
+  })
+}
+
+
 </script>
 
 <style scoped lang="scss">

+ 1 - 1
src/pages/opportunities/components/OpportunityDetailsDialog.vue

@@ -207,7 +207,7 @@ const formatDate = (date) => {
 
   const [day, month, year] = date.split('/')
 
-  const parsedDate = new Date(`${year}-${month}-${day}`)
+  const parsedDate = new Date(year, month - 1, day)
 
   const formatted = parsedDate.toLocaleDateString('pt-BR', {
     weekday: 'long',