Ausgehende SEPA-Mandate einführen #183
This commit is contained in:
@@ -50,6 +50,8 @@ import {useFunctions} from "~/composables/useFunctions.js";
|
||||
import signDate from "~/components/columnRenderings/signDate.vue";
|
||||
import sepaDate from "~/components/columnRenderings/sepaDate.vue";
|
||||
import bankAccounts from "~/components/columnRenderings/bankAccounts.vue";
|
||||
import bankAccount from "~/components/columnRenderings/bankAccount.vue";
|
||||
import outgoingSepaMandate from "~/components/columnRenderings/outgoingSepaMandate.vue";
|
||||
|
||||
// @ts-ignore
|
||||
export const useDataStore = defineStore('data', () => {
|
||||
@@ -173,7 +175,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
numberRangeHolder: "customerNumber",
|
||||
historyItemHolder: "customer",
|
||||
sortColumn: "customerNumber",
|
||||
selectWithInformation: "*, projects(*), plants(*), contracts(*), contacts(*), createddocuments(*, statementallocations(*)), files(*), events(*), customerinventoryitems(*), customerspaces(*)",
|
||||
selectWithInformation: "*, projects(*), plants(*), contracts(*), outgoingsepamandates(*, bankaccount(*)), contacts(*), createddocuments(*, statementallocations(*)), files(*), events(*), customerinventoryitems(*), customerspaces(*)",
|
||||
filters: [{
|
||||
name: "Archivierte ausblenden",
|
||||
default: true,
|
||||
@@ -457,7 +459,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
inputColumn: "Allgemeines"
|
||||
},*/
|
||||
],
|
||||
showTabs: [{label: 'Informationen'},{label: 'Ansprechpartner'},{label: 'Dateien'},{label: 'Ausgangsbelege'},{label: 'Projekte'},{label: 'Objekte'},{label: 'Termine'},{label: 'Verträge'},{label: 'Kundeninventar', key: 'customerinventoryitems'},{label: 'Kundenlagerplätze', key: 'customerspaces'},{label: 'Wiki'}]
|
||||
showTabs: [{label: 'Informationen'},{label: 'Ansprechpartner'},{label: 'Dateien'},{label: 'Ausgangsbelege'},{label: 'Projekte'},{label: 'Objekte'},{label: 'Termine'},{label: 'Verträge'},{label: 'Ausgehende SEPA-Mandate', key: 'outgoingsepamandates', type: 'outgoingsepamandates'},{label: 'Kundeninventar', key: 'customerinventoryitems'},{label: 'Kundenlagerplätze', key: 'customerspaces'},{label: 'Wiki'}]
|
||||
},
|
||||
members: {
|
||||
isArchivable: true,
|
||||
@@ -822,7 +824,7 @@ export const useDataStore = defineStore('data', () => {
|
||||
"Allgemeines",
|
||||
"Abrechnung"
|
||||
],
|
||||
selectWithInformation: "*, customer(*), contracttype(*), files(*)",
|
||||
selectWithInformation: "*, customer(*), contracttype(*), outgoingsepamandate(*, bankaccount(*)), files(*)",
|
||||
templateColumns: [
|
||||
{
|
||||
key: 'contractNumber',
|
||||
@@ -936,6 +938,22 @@ export const useDataStore = defineStore('data', () => {
|
||||
{label:'Überweisung'}
|
||||
],
|
||||
inputColumn: "Abrechnung"
|
||||
},{
|
||||
key: 'outgoingsepamandate',
|
||||
label: "SEPA-Mandat",
|
||||
component: outgoingSepaMandate,
|
||||
inputType: "select",
|
||||
selectDataType: "outgoingsepamandates",
|
||||
selectOptionAttribute: "reference",
|
||||
selectSearchAttributes: ["reference"],
|
||||
selectDataTypeFilter: function (i, item) {
|
||||
const mandateCustomer = i.customer?.id || i.customer
|
||||
return !item.customer || mandateCustomer === item.customer
|
||||
},
|
||||
showFunction: function (item) {
|
||||
return item.paymentType === "Einzug"
|
||||
},
|
||||
inputColumn: "Abrechnung"
|
||||
},{
|
||||
key: "billingInterval",
|
||||
label: "Abrechnungsintervall",
|
||||
@@ -1129,6 +1147,145 @@ export const useDataStore = defineStore('data', () => {
|
||||
],
|
||||
showTabs: [{ label: "Informationen" }]
|
||||
},
|
||||
outgoingsepamandates: {
|
||||
isArchivable: true,
|
||||
label: "Ausgehende SEPA-Mandate",
|
||||
labelSingle: "Ausgehendes SEPA-Mandat",
|
||||
isStandardEntity: true,
|
||||
redirect: true,
|
||||
numberRangeHolder: "reference",
|
||||
historyItemHolder: "outgoingsepamandate",
|
||||
sortColumn: "reference",
|
||||
selectWithInformation: "*, customer(*), bankaccount(*)",
|
||||
filters: [{
|
||||
name: "Archivierte ausblenden",
|
||||
default: true,
|
||||
"filterFunction": function (row) {
|
||||
return !row.archived
|
||||
}
|
||||
}],
|
||||
inputColumns: [
|
||||
"Allgemeines",
|
||||
"Mandat"
|
||||
],
|
||||
templateColumns: [
|
||||
{
|
||||
key: "reference",
|
||||
label: "Mandatsreferenz",
|
||||
title: true,
|
||||
required: true,
|
||||
inputIsNumberRange: true,
|
||||
inputType: "text",
|
||||
inputColumn: "Allgemeines",
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
key: "customer",
|
||||
label: "Kunde",
|
||||
component: customer,
|
||||
required: true,
|
||||
inputType: "select",
|
||||
selectDataType: "customers",
|
||||
selectOptionAttribute: "name",
|
||||
selectSearchAttributes: ["name", "customerNumber"],
|
||||
inputColumn: "Allgemeines",
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
key: "bankaccount",
|
||||
label: "Bankverbindung",
|
||||
component: bankAccount,
|
||||
required: true,
|
||||
inputType: "select",
|
||||
selectDataType: "entitybankaccounts",
|
||||
selectOptionAttribute: "displayLabel",
|
||||
selectSearchAttributes: ["displayLabel", "iban", "bankName"],
|
||||
inputColumn: "Mandat"
|
||||
},
|
||||
{
|
||||
key: "status",
|
||||
label: "Status",
|
||||
required: true,
|
||||
defaultValue: "Entwurf",
|
||||
inputType: "select",
|
||||
selectValueAttribute: "label",
|
||||
selectManualOptions: [
|
||||
{ label: "Entwurf" },
|
||||
{ label: "Aktiv" },
|
||||
{ label: "Widerrufen" },
|
||||
{ label: "Abgelaufen" }
|
||||
],
|
||||
inputColumn: "Allgemeines",
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
key: "mandateType",
|
||||
label: "Mandatstyp",
|
||||
required: true,
|
||||
defaultValue: "CORE",
|
||||
inputType: "select",
|
||||
selectValueAttribute: "label",
|
||||
selectManualOptions: [
|
||||
{ label: "CORE" },
|
||||
{ label: "B2B" }
|
||||
],
|
||||
inputColumn: "Mandat",
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
key: "sequenceType",
|
||||
label: "Sequenz",
|
||||
required: true,
|
||||
defaultValue: "RCUR",
|
||||
inputType: "select",
|
||||
selectValueAttribute: "label",
|
||||
selectManualOptions: [
|
||||
{ label: "RCUR" },
|
||||
{ label: "OOFF" },
|
||||
{ label: "FRST" },
|
||||
{ label: "FNAL" }
|
||||
],
|
||||
inputColumn: "Mandat",
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
key: "signedAt",
|
||||
label: "Unterschrieben am",
|
||||
inputType: "date",
|
||||
inputColumn: "Mandat",
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
key: "validFrom",
|
||||
label: "Gültig ab",
|
||||
inputType: "date",
|
||||
inputColumn: "Mandat",
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
key: "validUntil",
|
||||
label: "Gültig bis",
|
||||
inputType: "date",
|
||||
inputColumn: "Mandat",
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
key: "defaultMandate",
|
||||
label: "Standardmandat",
|
||||
inputType: "bool",
|
||||
defaultValue: false,
|
||||
inputColumn: "Allgemeines",
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
key: "notes",
|
||||
label: "Notizen",
|
||||
inputType: "textarea",
|
||||
inputColumn: "Allgemeines"
|
||||
}
|
||||
],
|
||||
showTabs: [{ label: "Informationen" }, { label: "Wiki" }]
|
||||
},
|
||||
absencerequests: {
|
||||
isArchivable: true,
|
||||
label: "Abwesenheiten",
|
||||
|
||||
Reference in New Issue
Block a user