add general todos

This commit is contained in:
Tobias Petrich 2024-03-26 18:37:36 +01:00
parent 36b0e5da83
commit ac289d670c
Signed by: t.petrich
GPG Key ID: D99301AD0515015F
5 changed files with 779 additions and 556 deletions

View File

@ -1,8 +1,8 @@
# ToDos
- [ ] Add checkboxes to the Inhaltsverzeichnis
- [x] Add checkboxes to the Inhaltsverzeichnis
- [ ] Link to Podio Tutorial
- [ ] Add General ToDo section
- [x] Add General ToDo section
- [ ] Kassenbons getackert, nicht geklebt?
- [ ] Bons die länge als das Blatt sind, so gefaltet, dass sowohl Gesamtsumme als auch Posten sichbar sind?
- [ ] Anhänge mit Postennummer nummeriert?

1195
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
{
"name": "ft-rueckerstattung",
"private": true,
"version": "0.0.0",
"version": "0.1.0",
"type": "module",
"scripts": {
"dev": "vite",
@ -12,11 +12,11 @@
"dependencies": {
"@emotion/react": "^11.11.4",
"@emotion/styled": "^11.11.0",
"@fontsource/roboto": "^5.0.8",
"@fontsource/roboto": "^5.0.12",
"@mui/icons-material": "^5.15.14",
"@mui/material": "^5.15.14",
"@mui/x-date-pickers": "^7.0.0",
"@react-pdf/renderer": "^3.1.14",
"@react-pdf/renderer": "^3.4.1",
"@types/iban": "^0.0.35",
"dayjs": "^1.11.10",
"iban": "^0.0.14",
@ -24,15 +24,15 @@
"react-dom": "^18.2.0"
},
"devDependencies": {
"@types/react": "^18.2.43",
"@types/react-dom": "^18.2.17",
"@typescript-eslint/eslint-plugin": "^6.14.0",
"@typescript-eslint/parser": "^6.14.0",
"@types/react": "^18.2.71",
"@types/react-dom": "^18.2.22",
"@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0",
"@vitejs/plugin-react": "^4.2.1",
"eslint": "^8.55.0",
"eslint": "^8.57.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5",
"typescript": "^5.2.2",
"vite": "^5.0.8"
"eslint-plugin-react-refresh": "^0.4.6",
"typescript": "^5.4.3",
"vite": "^5.2.6"
}
}

View File

@ -3,10 +3,18 @@ import Person from "../../data/Person.ts";
import AuszahlungPage from "./AuszahlungPage.tsx";
import Posten from "../../data/Posten.ts";
import Verzeichnis from "./Verzeichnis.tsx";
import Bank from "../../data/Bank.ts";
const MyDocument = ({person, bankdaten, posten}: { person: Person, bankdaten: any, posten: Posten[] }) => {
const styles = {
document: {
fontFamily: 'Helvetica',
},
}
const MyDocument = ({person, bankdaten, posten}: { person: Person, bankdaten: Bank, posten: Posten[] }) => {
return (
<Document>
<Document style={styles.document}>
<AuszahlungPage person={person} bank={bankdaten} posten={posten}/>
<Verzeichnis posten={posten}/>
</Document>

View File

@ -20,9 +20,20 @@ const styles = StyleSheet.create({
postenGroup: {
marginBottom: 10,
},
posten: {
marginBottom: 2,
posten: {},
entryWithCheckbox: {
display: 'flex',
flexDirection: 'row',
marginBottom: 8,
},
checkbox: {
width: 12,
height: 12,
borderStyle: 'solid',
borderWidth: 1,
marginLeft: 5,
marginRight: 5,
}
});
const Verzeichnis = ({posten}: { posten: Posten[] }) => {
@ -31,22 +42,43 @@ const Verzeichnis = ({posten}: { posten: Posten[] }) => {
if (posten.getZahlungsart() === "Bar") {
return (
<View style={styles.postenGroup}>
<Text style={styles.posten}>{index++}. Originalrechnung für Posten Nr. {posten.getNummer()}</Text>
<View style={styles.entryWithCheckbox}>
<Text style={styles.posten}>{index++}. Originalrechnung für Posten
Nr. {posten.getNummer()}</Text>
<View style={styles.checkbox}></View>
</View>
</View>
)
} else if (posten.getZahlungsart() === "PayPal") {
return (
<View style={styles.postenGroup}>
<Text style={styles.posten}>{index++}. Originalrechnung für Posten Nr. {posten.getNummer()}</Text>
<Text style={styles.posten}>{index++}. PayPal Beleg für Posten Nr. {posten.getNummer()}</Text>
<Text style={styles.posten}>{index++}. Bankauszug für Posten Nr. {posten.getNummer()}</Text>
<View style={styles.entryWithCheckbox}>
<Text style={styles.posten}>{index++}. Originalrechnung für Posten
Nr. {posten.getNummer()}</Text>
<View style={styles.checkbox}></View>
</View>
<View style={styles.entryWithCheckbox}>
<Text style={styles.posten}>{index++}. PayPal Beleg für Posten Nr. {posten.getNummer()}</Text>
<View style={styles.checkbox}></View>
</View>
<View style={styles.entryWithCheckbox}>
<Text style={styles.posten}>{index++}. Bankauszug für Posten Nr. {posten.getNummer()}</Text>
<View style={styles.checkbox}></View>
</View>
</View>
)
} else {
return (
<View style={styles.postenGroup}>
<Text style={styles.posten}>{index++}. Originalrechnung für Posten Nr. {posten.getNummer()}</Text>
<Text style={styles.posten}>{index++}. Bankauszug für Posten Nr. {posten.getNummer()}</Text>
<View style={styles.entryWithCheckbox}>
<Text style={styles.posten}>{index++}. Originalrechnung für Posten
Nr. {posten.getNummer()}</Text>
<View style={styles.checkbox}></View>
</View>
<View style={styles.entryWithCheckbox}>
<Text style={styles.posten}>{index++}. Bankauszug für Posten Nr. {posten.getNummer()}</Text>
<View style={styles.checkbox}></View>
</View>
</View>
)
}
@ -60,6 +92,60 @@ const Verzeichnis = ({posten}: { posten: Posten[] }) => {
{verzeichnisList}
</View>
</View>
<View style={styles.section}>
<Text style={styles.h1}>Allgemeine Checkliste</Text>
<View style={styles.section}>
<View style={styles.entryWithCheckbox}>
<View style={styles.checkbox}></View>
<Text>Kassenbons sind getackert, nicht geklebt</Text>
</View>
<View style={styles.entryWithCheckbox}>
<View style={styles.checkbox}></View>
<Text>Bons, die länger als das Blatt sind, sind so gefaltet, dass sowohl Gesamtsumme als auch
Posten sichtbar sind</Text>
</View>
<View style={styles.entryWithCheckbox}>
<View style={styles.checkbox}></View>
<Text>Anhänge sind mit Posten Nr. nummeriert</Text>
</View>
<View style={styles.entryWithCheckbox}>
<View style={styles.checkbox}></View>
<Text>Rechnungen haben alle Rechnungssteller/in als Rechnungsadresse (nicht FaSTTUBe oder
TU)</Text>
</View>
<View style={styles.entryWithCheckbox}>
<View style={styles.checkbox}></View>
<Text>Alle Rechnungen haben eine Rechnungsnummer</Text>
</View>
<View style={styles.entryWithCheckbox}>
<View style={styles.checkbox}></View>
<Text>Alle Rechnungen haben eine Steuer ausgewiesen</Text>
</View>
<View style={styles.entryWithCheckbox}>
<View style={styles.checkbox}></View>
<Text>Alle Rechnungen sind echte Rechnungen (keine Proforma, keine Angebote, keine
Lieferscheine)</Text>
</View>
<View style={styles.entryWithCheckbox}>
<View style={styles.checkbox}></View>
<Text>Rechnungen in Auslandswährung haben entweder Umrechnungsfaktor auf dem Zahlungsbeleg oder
Nebenrechnung mit Umrechnungsfaktor des Rechnungsdatums ist angehängt</Text>
</View>
<View style={styles.entryWithCheckbox}>
<View style={styles.checkbox}></View>
<Text>Privateinkäufe sind per Nebenrechnung herausgerechnet</Text>
</View>
<View style={styles.entryWithCheckbox}>
<View style={styles.checkbox}></View>
<Text>Alles ist ausgedruckt und Deckblatt NUR oben links handschriftlich unterschrieben</Text>
</View>
<View style={styles.entryWithCheckbox}>
<View style={styles.checkbox}></View>
<Text>Alle Blätter sind mit Büroklammer zusammengeheftet und bei der Finanzleitung
abgegeben</Text>
</View>
</View>
</View>
</Page>
);
}