|
|
@@ -8,25 +8,22 @@
|
|
|
Contratos
|
|
|
</div>
|
|
|
|
|
|
- <div class="row q-col-gutter-md">
|
|
|
- <div class="col-12 col-md-4 flex items-center">
|
|
|
- <q-toggle
|
|
|
- v-model="form.charge_roi"
|
|
|
- color="primary"
|
|
|
- label="Cobrar ROI"
|
|
|
- />
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="col-12 col-md-4 flex items-center">
|
|
|
- <q-toggle
|
|
|
- v-model="form.charge_fnm"
|
|
|
- color="primary"
|
|
|
- label="Cobrar FNM"
|
|
|
- />
|
|
|
- </div>
|
|
|
+ <div class="column q-gutter-sm q-mb-md">
|
|
|
+ <q-toggle
|
|
|
+ v-model="form.charge_roi"
|
|
|
+ color="primary"
|
|
|
+ label="Cobrar ROI"
|
|
|
+ />
|
|
|
+
|
|
|
+ <q-toggle
|
|
|
+ v-model="form.charge_fnm"
|
|
|
+ color="primary"
|
|
|
+ label="Cobrar FNM"
|
|
|
+ />
|
|
|
</div>
|
|
|
|
|
|
- <DefaultInput
|
|
|
+ <div class="row q-col-gutter-md">
|
|
|
+ <DefaultInput
|
|
|
v-model.number="form.max_freeze_count"
|
|
|
v-model:error="validationErrors.max_freeze_count"
|
|
|
class="col-12 col-md-4"
|
|
|
@@ -36,6 +33,45 @@
|
|
|
:error-message="validationErrors.max_freeze_count"
|
|
|
:rules="[inputRules.minValue(0)]"
|
|
|
/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div>
|
|
|
+ <div class="text-subtitle1 text-weight-medium q-mb-sm">
|
|
|
+ Dados para Faturamento
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="row q-col-gutter-md">
|
|
|
+ <DefaultSelect
|
|
|
+ v-model="form.billing_method"
|
|
|
+ v-model:error="validationErrors.billing_method"
|
|
|
+ class="col-12 col-md-6"
|
|
|
+ emit-value
|
|
|
+ label="Forma de Cobrança"
|
|
|
+ map-options
|
|
|
+ outlined
|
|
|
+ :error-message="validationErrors.billing_method"
|
|
|
+ :options="billingMethodOptions"
|
|
|
+ />
|
|
|
+
|
|
|
+ <DefaultInputDatePicker
|
|
|
+ v-model="form.due_date"
|
|
|
+ v-model:error="validationErrors.due_date"
|
|
|
+ class="col-12 col-md-6"
|
|
|
+ label="Data de Vencimento"
|
|
|
+ :error-message="validationErrors.due_date"
|
|
|
+ />
|
|
|
+
|
|
|
+ <DefaultInput
|
|
|
+ v-model="form.financial_email"
|
|
|
+ v-model:error="validationErrors.financial_email"
|
|
|
+ class="col-12"
|
|
|
+ label="E-mail Financeiro"
|
|
|
+ outlined
|
|
|
+ :error-message="validationErrors.financial_email"
|
|
|
+ :rules="[inputRules.email]"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</q-scroll-area>
|
|
|
@@ -77,6 +113,8 @@ import { useScroll } from "src/composables/useScroll";
|
|
|
import { useSubmitHandler } from "src/composables/useSubmitHandler";
|
|
|
|
|
|
import DefaultInput from "src/components/defaults/DefaultInput.vue";
|
|
|
+import DefaultInputDatePicker from "src/components/defaults/DefaultInputDatePicker.vue";
|
|
|
+import DefaultSelect from "src/components/defaults/DefaultSelect.vue";
|
|
|
|
|
|
const props = defineProps({
|
|
|
unitId: {
|
|
|
@@ -95,8 +133,11 @@ const scrollAreaRef = ref(null);
|
|
|
const { form, getUpdatedFields, resetUpdateForm, setUpdateFormAsOriginal } =
|
|
|
useForm(
|
|
|
{
|
|
|
+ billing_method: null,
|
|
|
charge_fnm: true,
|
|
|
charge_roi: true,
|
|
|
+ due_date: null,
|
|
|
+ financial_email: null,
|
|
|
max_freeze_count: null,
|
|
|
},
|
|
|
{ containerRef: scrollAreaRef },
|
|
|
@@ -116,6 +157,14 @@ const {
|
|
|
scrollFn: scrollToComponent,
|
|
|
});
|
|
|
|
|
|
+const billingMethodOptions = [
|
|
|
+ { label: "Selecione", value: null },
|
|
|
+ { label: "Boleto", value: "boleto" },
|
|
|
+ { label: "Débito Automático", value: "debit" },
|
|
|
+ { label: "PIX", value: "pix" },
|
|
|
+ { label: "Cartão de Crédito", value: "credit_card" },
|
|
|
+];
|
|
|
+
|
|
|
const fetchData = async () => {
|
|
|
if (!props.unitId) return;
|
|
|
|