diff --git a/package-lock.json b/package-lock.json index 1832b1d..7db4d7f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,8 @@ "dependencies": { "@oruga-ui/oruga-next": "^0.4.5", "@popperjs/core": "^2.10.2", + "@vuelidate/core": "^2.0.0-alpha.30", + "@vuelidate/validators": "^2.0.0-alpha.24", "axios": "^0.23.0", "bootstrap": "^5.1.3", "bootstrap-icons": "^1.6.0", @@ -321,6 +323,72 @@ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.20.tgz", "integrity": "sha512-FbpX+hD5BvXCQerEYO7jtAGHlhAkhTQ4KIV73kmLWNlawWhTiVuQxizgVb0BOkX5oG9cIRZ42EG++d/k/Efp0w==" }, + "node_modules/@vuelidate/core": { + "version": "2.0.0-alpha.30", + "resolved": "https://registry.npmjs.org/@vuelidate/core/-/core-2.0.0-alpha.30.tgz", + "integrity": "sha512-J4OO/IqzBP/qlUJJssm+Af9aVIGCemCASiwvXOSHQoW0rUo9aeSsUQ/+14yBHZ7vQ5I1MLgTYMkgql0ejBXK1g==", + "dependencies": { + "vue-demi": "^0.11.3" + } + }, + "node_modules/@vuelidate/core/node_modules/vue-demi": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.11.4.tgz", + "integrity": "sha512-/3xFwzSykLW2HiiLie43a+FFgNOcokbBJ+fzvFXd0r2T8MYohqvphUyDQ8lbAwzQ3Dlcrb1c9ykifGkhSIAk6A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vuelidate/validators": { + "version": "2.0.0-alpha.24", + "resolved": "https://registry.npmjs.org/@vuelidate/validators/-/validators-2.0.0-alpha.24.tgz", + "integrity": "sha512-LjZGP2dK9848Xw+KLDb6RlaeN3crIdl+z2TZYyg+BqrJhWAV1ZUnpgzGKf4wefsqF5dQ4bWAZY/xnBKn2naIfg==", + "dependencies": { + "vue-demi": "^0.11.3" + } + }, + "node_modules/@vuelidate/validators/node_modules/vue-demi": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.11.4.tgz", + "integrity": "sha512-/3xFwzSykLW2HiiLie43a+FFgNOcokbBJ+fzvFXd0r2T8MYohqvphUyDQ8lbAwzQ3Dlcrb1c9ykifGkhSIAk6A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -2001,6 +2069,38 @@ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.20.tgz", "integrity": "sha512-FbpX+hD5BvXCQerEYO7jtAGHlhAkhTQ4KIV73kmLWNlawWhTiVuQxizgVb0BOkX5oG9cIRZ42EG++d/k/Efp0w==" }, + "@vuelidate/core": { + "version": "2.0.0-alpha.30", + "resolved": "https://registry.npmjs.org/@vuelidate/core/-/core-2.0.0-alpha.30.tgz", + "integrity": "sha512-J4OO/IqzBP/qlUJJssm+Af9aVIGCemCASiwvXOSHQoW0rUo9aeSsUQ/+14yBHZ7vQ5I1MLgTYMkgql0ejBXK1g==", + "requires": { + "vue-demi": "^0.11.3" + }, + "dependencies": { + "vue-demi": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.11.4.tgz", + "integrity": "sha512-/3xFwzSykLW2HiiLie43a+FFgNOcokbBJ+fzvFXd0r2T8MYohqvphUyDQ8lbAwzQ3Dlcrb1c9ykifGkhSIAk6A==", + "requires": {} + } + } + }, + "@vuelidate/validators": { + "version": "2.0.0-alpha.24", + "resolved": "https://registry.npmjs.org/@vuelidate/validators/-/validators-2.0.0-alpha.24.tgz", + "integrity": "sha512-LjZGP2dK9848Xw+KLDb6RlaeN3crIdl+z2TZYyg+BqrJhWAV1ZUnpgzGKf4wefsqF5dQ4bWAZY/xnBKn2naIfg==", + "requires": { + "vue-demi": "^0.11.3" + }, + "dependencies": { + "vue-demi": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.11.4.tgz", + "integrity": "sha512-/3xFwzSykLW2HiiLie43a+FFgNOcokbBJ+fzvFXd0r2T8MYohqvphUyDQ8lbAwzQ3Dlcrb1c9ykifGkhSIAk6A==", + "requires": {} + } + } + }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", diff --git a/package.json b/package.json index 8b459b9..7b71667 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,8 @@ "dependencies": { "@oruga-ui/oruga-next": "^0.4.5", "@popperjs/core": "^2.10.2", + "@vuelidate/core": "^2.0.0-alpha.30", + "@vuelidate/validators": "^2.0.0-alpha.24", "axios": "^0.23.0", "bootstrap": "^5.1.3", "bootstrap-icons": "^1.6.0", diff --git a/src/components/VProfileControls.vue b/src/components/VProfileControls.vue index 02c137a..75ab74c 100644 --- a/src/components/VProfileControls.vue +++ b/src/components/VProfileControls.vue @@ -1,20 +1,23 @@ @@ -28,12 +31,12 @@ function onCancel() { - Bearbeiten + Mitarbeiter bearbeiten - Speichern + Mitarbeiter speichern diff --git a/src/views/EmployeesDetails.vue b/src/views/EmployeesDetails.vue index 2843fd7..32331ab 100644 --- a/src/views/EmployeesDetails.vue +++ b/src/views/EmployeesDetails.vue @@ -1,3 +1,102 @@ + + + + + + + + Persönliche Informationen + + Vorname: + + + {{error.$message}} + + + Nachname: + + + Kürzel: + + + + Kontaktdaten + Telefonnummer: + + Handynummer: + + E-Mail-Adresse: + + + {{error.$message}} + + + + + + + Vertragsinformationen: + Wochenstunden: + + + {{error.$message}} + + + + Benutzerinformationen: + + Benutzername: + + Neues Passwort: + + + {{}} + + Neues Passwort wiederholen: + + + {{error.$message}} + + + + + + Benutzer speichern + + + + Abbrecchen + + + + + + Kein Benutzer vorhanden + Benutzer erstellen + + + + + + + + - - - -{{employee}} - -{{user}} - - - - - Persönliche Informationen - - Vorname: - - - Nachname: - - - Kürzel: - - - - Kontaktdaten - Telefonnummer: - - Handynummer: - - E-Mail-Adresse: - - - - - - - Vertragsinformationen: - Wochenstunden: - - - - - Benutzerinformationen: - Benutzername: - - Passwort: - - Passwort wiederholen: - - - - - - - - - -
Kein Benutzer vorhanden