|
|
@@ -98,81 +98,15 @@
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- Contratos -->
|
|
|
- <div>
|
|
|
- <div class="text-subtitle1 text-weight-medium q-mb-sm">
|
|
|
- Contratos
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="row q-col-gutter-sm">
|
|
|
- <DefaultInput
|
|
|
- v-model.number="contractForm.max_freeze_count"
|
|
|
- label="Qtde Máxima de Trancamentos"
|
|
|
- type="number"
|
|
|
- class="col-12 col-md-4"
|
|
|
- outlined
|
|
|
- />
|
|
|
-
|
|
|
- <DefaultInput
|
|
|
- v-model.number="contractForm.default_discount"
|
|
|
- label="Desconto Padrão (%)"
|
|
|
- type="number"
|
|
|
- class="col-12 col-md-4"
|
|
|
- outlined
|
|
|
- />
|
|
|
-
|
|
|
- <DefaultInput
|
|
|
- v-model.number="contractForm.default_interest"
|
|
|
- label="Juros Padrão (% a.m.)"
|
|
|
- type="number"
|
|
|
- class="col-12 col-md-4"
|
|
|
- outlined
|
|
|
- />
|
|
|
-
|
|
|
- <DefaultInput
|
|
|
- v-model.number="contractForm.default_fine"
|
|
|
- label="Multa Padrão (%)"
|
|
|
- type="number"
|
|
|
- class="col-12 col-md-4"
|
|
|
- outlined
|
|
|
- />
|
|
|
-
|
|
|
- <div class="col-12 col-md-4 flex items-center">
|
|
|
- <q-toggle
|
|
|
- v-model="contractForm.charge_roi"
|
|
|
- label="Cobrar ROI"
|
|
|
- color="primary"
|
|
|
- />
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="col-12 col-md-4 flex items-center">
|
|
|
- <q-toggle
|
|
|
- v-model="contractForm.charge_fnm"
|
|
|
- label="Cobrar FNM"
|
|
|
- color="primary"
|
|
|
- />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="row justify-end q-mt-sm">
|
|
|
- <q-btn
|
|
|
- color="primary"
|
|
|
- label="SALVAR CONTRATOS"
|
|
|
- :loading="savingContracts"
|
|
|
- @click="saveContractDefaults"
|
|
|
- />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
import { ref, onMounted } from "vue";
|
|
|
-import { useQuasar } from "quasar";
|
|
|
import DefaultInput from "src/components/defaults/DefaultInput.vue";
|
|
|
import DefaultSelect from "src/components/defaults/DefaultSelect.vue";
|
|
|
import DefaultInputDatePicker from "src/components/defaults/DefaultInputDatePicker.vue";
|
|
|
-import { getFinancialMe, updateFinancialMe } from "src/api/unit_financial";
|
|
|
+import { getFinancialMe } from "src/api/unit_financial";
|
|
|
|
|
|
const props = defineProps({
|
|
|
unitId: { type: Number, default: null },
|
|
|
@@ -215,46 +149,13 @@ const defaultForm = () => ({
|
|
|
|
|
|
const form = ref(defaultForm());
|
|
|
|
|
|
-const contractForm = ref({
|
|
|
- max_freeze_count: null,
|
|
|
- charge_roi: false,
|
|
|
- charge_fnm: false,
|
|
|
- default_discount: null,
|
|
|
- default_interest: null,
|
|
|
- default_fine: null,
|
|
|
-});
|
|
|
-
|
|
|
-const savingContracts = ref(false);
|
|
|
-const $q = useQuasar();
|
|
|
-
|
|
|
async function fetchData() {
|
|
|
if (!props.unitId) return;
|
|
|
try {
|
|
|
const data = await getFinancialMe();
|
|
|
- if (data) {
|
|
|
- Object.assign(form.value, data);
|
|
|
- contractForm.value.max_freeze_count = data.max_freeze_count ?? null;
|
|
|
- contractForm.value.charge_roi = data.charge_roi ?? false;
|
|
|
- contractForm.value.charge_fnm = data.charge_fnm ?? false;
|
|
|
- contractForm.value.default_discount = data.default_discount ?? null;
|
|
|
- contractForm.value.default_interest = data.default_interest ?? null;
|
|
|
- contractForm.value.default_fine = data.default_fine ?? null;
|
|
|
- }
|
|
|
- } catch (e) {
|
|
|
- console.error(e);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-async function saveContractDefaults() {
|
|
|
- savingContracts.value = true;
|
|
|
- try {
|
|
|
- await updateFinancialMe(contractForm.value);
|
|
|
- $q.notify({ type: "positive", message: "Configurações de contratos salvas!" });
|
|
|
+ if (data) Object.assign(form.value, data);
|
|
|
} catch (e) {
|
|
|
console.error(e);
|
|
|
- $q.notify({ type: "negative", message: "Erro ao salvar configurações." });
|
|
|
- } finally {
|
|
|
- savingContracts.value = false;
|
|
|
}
|
|
|
}
|
|
|
|