@piveau/dpi 0.2.0-alpha.63 → 0.2.0-alpha.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/dpi.css +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/Organisation.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/Organisation.vue2.js +42 -38
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue2.js +83 -80
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Projektphasen/InitiierenStep.vue.js +26 -25
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Projektphasen/PlanenStep.vue.js +26 -25
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Projektphasen/UmstezenStep.vue.js +27 -26
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Projektphasen/WeiterdenkenStep.vue.js +40 -39
- package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/decodeProject.js +116 -135
- package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/encodeProject.js +208 -227
- package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/questions.js +27 -0
- package/package.json +1 -1
package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/Organisation.vue.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./Organisation.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-f383bec8"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
i as default
|
|
7
7
|
};
|
package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/Organisation.vue2.js
CHANGED
|
@@ -1,69 +1,73 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useOrganizationInfo as
|
|
3
|
-
import { useTwinbyUser as
|
|
4
|
-
const
|
|
1
|
+
import { defineComponent as m, computed as n, createElementBlock as t, openBlock as a, createElementVNode as i, unref as f, Fragment as k, toDisplayString as l } from "vue";
|
|
2
|
+
import { useOrganizationInfo as y } from "../composables/useOrganizationInfo.js";
|
|
3
|
+
import { useTwinbyUser as b } from "../composables/useTwinbyUser.js";
|
|
4
|
+
const V = { class: "dpiV3_organisation" }, T = { class: "dpiV3_organisationInfo" }, I = { key: 0 }, O = { key: 0 }, E = {
|
|
5
5
|
key: 1,
|
|
6
6
|
class: "not-available"
|
|
7
|
-
},
|
|
7
|
+
}, S = { class: "dpiV3_organisationData" }, C = {
|
|
8
8
|
key: 0,
|
|
9
9
|
class: "dpiV3_organisationTitle"
|
|
10
|
-
},
|
|
10
|
+
}, D = ["src"], F = { key: 1 }, L = { class: "info-wrapper" }, w = { class: "dpiV3_organisationTitle" }, x = { key: 0 }, z = {
|
|
11
11
|
key: 1,
|
|
12
12
|
class: "not-available"
|
|
13
|
-
},
|
|
13
|
+
}, B = { key: 2 }, N = {
|
|
14
14
|
key: 3,
|
|
15
15
|
class: "not-available"
|
|
16
|
-
},
|
|
16
|
+
}, W = { class: "dpiV3_organisationTitle" }, M = { key: 0 }, P = {
|
|
17
17
|
key: 1,
|
|
18
18
|
class: "not-available"
|
|
19
|
-
},
|
|
19
|
+
}, G = /* @__PURE__ */ m({
|
|
20
20
|
__name: "Organisation",
|
|
21
21
|
setup(U) {
|
|
22
|
-
const { organization: p, authToken: v, startFetchPermissions: u } =
|
|
22
|
+
const { organization: p, authToken: v, startFetchPermissions: u } = b();
|
|
23
23
|
u();
|
|
24
|
-
const { resultEnhanced:
|
|
24
|
+
const { resultEnhanced: r, isLoading: g } = y({
|
|
25
25
|
id: p,
|
|
26
26
|
authToken: v
|
|
27
|
-
}), d =
|
|
27
|
+
}), d = n(
|
|
28
28
|
() => {
|
|
29
|
-
var
|
|
30
|
-
return ((e = (
|
|
29
|
+
var s, e;
|
|
30
|
+
return ((e = (s = r.value) == null ? void 0 : s.publisher) == null ? void 0 : e.name) || "";
|
|
31
31
|
}
|
|
32
|
-
), c =
|
|
32
|
+
), c = n(
|
|
33
33
|
() => {
|
|
34
|
-
var
|
|
35
|
-
return ((e = (
|
|
34
|
+
var s, e;
|
|
35
|
+
return ((e = (s = r.value) == null ? void 0 : s.catalogueFavIcon) == null ? void 0 : e[0]) || "";
|
|
36
36
|
}
|
|
37
|
-
), o =
|
|
38
|
-
var
|
|
39
|
-
return ((e = (
|
|
40
|
-
}), _ =
|
|
41
|
-
var
|
|
42
|
-
return ((
|
|
37
|
+
), o = n(() => {
|
|
38
|
+
var s, e;
|
|
39
|
+
return ((e = (s = r.value) == null ? void 0 : s.publisher) == null ? void 0 : e.address) || {};
|
|
40
|
+
}), _ = n(() => {
|
|
41
|
+
var s;
|
|
42
|
+
return ((s = r.value) == null ? void 0 : s.publisher) || {};
|
|
43
|
+
}), h = n(() => {
|
|
44
|
+
var e;
|
|
45
|
+
const s = ((e = _.value) == null ? void 0 : e.email) || "";
|
|
46
|
+
return s.startsWith("mailto:") ? s.substring(7) : s;
|
|
43
47
|
});
|
|
44
|
-
return (
|
|
48
|
+
return (s, e) => (a(), t("div", V, [
|
|
45
49
|
e[2] || (e[2] = i("h3", { class: "dpiV3_organisationTitle" }, " Ihre Organisation ", -1)),
|
|
46
50
|
e[3] || (e[3] = i("p", { class: "dpiV3_organisationDescription" }, " Wenn Sie die Informationen Ihrer Organisation ändern möchten, kontaktieren Sie uns gerne. ", -1)),
|
|
47
|
-
i("div",
|
|
48
|
-
|
|
49
|
-
d.value ? (
|
|
50
|
-
i("div",
|
|
51
|
-
c.value ? (
|
|
51
|
+
i("div", T, [
|
|
52
|
+
f(g) ? (a(), t("p", I, "Lade Organisationsdaten...")) : (a(), t(k, { key: 1 }, [
|
|
53
|
+
d.value ? (a(), t("p", O, l(d.value), 1)) : (a(), t("p", E, " Name nicht verfügbar ")),
|
|
54
|
+
i("div", S, [
|
|
55
|
+
c.value ? (a(), t("div", C, [
|
|
52
56
|
i("img", {
|
|
53
57
|
src: c.value,
|
|
54
58
|
alt: ""
|
|
55
|
-
}, null, 8,
|
|
56
|
-
])) : (
|
|
59
|
+
}, null, 8, D)
|
|
60
|
+
])) : (a(), t("div", F, e[0] || (e[0] = [
|
|
57
61
|
i("div", { class: "avatar-circle" }, null, -1)
|
|
58
62
|
]))),
|
|
59
|
-
i("div",
|
|
60
|
-
i("div",
|
|
61
|
-
o.value.street ? (
|
|
62
|
-
o.value.postalCode || o.value.locality ? (
|
|
63
|
+
i("div", L, [
|
|
64
|
+
i("div", w, [
|
|
65
|
+
o.value.street ? (a(), t("p", x, l(o.value.street), 1)) : (a(), t("p", z, " Straße nicht verfügbar ")),
|
|
66
|
+
o.value.postalCode || o.value.locality ? (a(), t("p", B, l(o.value.postalCode || "") + " " + l(o.value.locality || ""), 1)) : (a(), t("p", N, " Ort nicht verfügbar "))
|
|
63
67
|
]),
|
|
64
|
-
i("div",
|
|
68
|
+
i("div", W, [
|
|
65
69
|
e[1] || (e[1] = i("p", { class: "not-available" }, " Telefon nicht verfügbar ", -1)),
|
|
66
|
-
_.value.email ? (
|
|
70
|
+
_.value.email ? (a(), t("p", M, l(h.value), 1)) : (a(), t("p", P, " E-Mail nicht verfügbar "))
|
|
67
71
|
])
|
|
68
72
|
])
|
|
69
73
|
])
|
|
@@ -73,5 +77,5 @@ const b = { class: "dpiV3_organisation" }, V = { class: "dpiV3_organisationInfo"
|
|
|
73
77
|
}
|
|
74
78
|
});
|
|
75
79
|
export {
|
|
76
|
-
|
|
80
|
+
G as default
|
|
77
81
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./ProjectOrganisationStep.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-71f0876f"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
i as default
|
|
7
7
|
};
|
|
@@ -1,104 +1,107 @@
|
|
|
1
|
-
import { defineComponent as q, computed as
|
|
1
|
+
import { defineComponent as q, computed as r, createElementBlock as a, openBlock as s, createElementVNode as n, createCommentVNode as z, renderSlot as T, unref as i, Fragment as w, toDisplayString as c, createVNode as o, withCtx as d, createTextVNode as D } from "vue";
|
|
2
2
|
import { FormKit as m } from "@formkit/vue";
|
|
3
|
-
import { PhLightbulb as
|
|
4
|
-
import
|
|
5
|
-
import { generateIsRequiredMsg as
|
|
6
|
-
import
|
|
7
|
-
import { useOrganizationInfo as
|
|
8
|
-
import { useTwinbyUser as
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
const
|
|
3
|
+
import { PhLightbulb as M } from "@phosphor-icons/vue";
|
|
4
|
+
import N from "../../../../stories/components/PartnerCard.vue.js";
|
|
5
|
+
import { generateIsRequiredMsg as p, requireAllIfAny as f, generateIsInvalidMsg as y } from "../../../../utils/twinbyUtils.js";
|
|
6
|
+
import P from "../../../components/StepActionsSection.vue.js";
|
|
7
|
+
import { useOrganizationInfo as O } from "../../../composables/useOrganizationInfo.js";
|
|
8
|
+
import { useTwinbyUser as x } from "../../../composables/useTwinbyUser.js";
|
|
9
|
+
import C from "../Card.vue.js";
|
|
10
|
+
import v from "../InputField/InputFieldDefinition.js";
|
|
11
|
+
const B = { class: "dpiV3_page V3-typography" }, F = { class: "funny-section" }, V = { class: "funny-flex" }, L = { class: "funny-section" }, j = { class: "contact-container" }, G = {
|
|
12
12
|
key: 0,
|
|
13
13
|
class: "contact-title"
|
|
14
|
-
},
|
|
14
|
+
}, W = {
|
|
15
15
|
key: 0,
|
|
16
16
|
class: "contact-title"
|
|
17
|
-
},
|
|
17
|
+
}, K = {
|
|
18
18
|
key: 1,
|
|
19
19
|
class: "contact-title not-available"
|
|
20
|
-
},
|
|
20
|
+
}, R = { class: "contact-wrapper" }, $ = {
|
|
21
21
|
key: 0,
|
|
22
22
|
class: "contact-logo-wrapper"
|
|
23
|
-
},
|
|
23
|
+
}, U = ["src"], H = { key: 1 }, J = { class: "info-wrapper" }, Q = { class: "contact-grid" }, X = { class: "contact-col" }, Y = {
|
|
24
24
|
key: 0,
|
|
25
25
|
class: "contact-info"
|
|
26
|
-
},
|
|
26
|
+
}, Z = {
|
|
27
27
|
key: 1,
|
|
28
28
|
class: "contact-info not-available"
|
|
29
|
-
},
|
|
29
|
+
}, ee = {
|
|
30
30
|
key: 2,
|
|
31
31
|
class: "contact-info"
|
|
32
|
-
},
|
|
32
|
+
}, ne = {
|
|
33
33
|
key: 3,
|
|
34
34
|
class: "contact-info not-available"
|
|
35
|
-
},
|
|
35
|
+
}, te = { class: "contact-col" }, ie = {
|
|
36
|
+
key: 0,
|
|
37
|
+
class: "contact-info"
|
|
38
|
+
}, ae = {
|
|
36
39
|
key: 1,
|
|
37
40
|
class: "contact-info not-available"
|
|
38
|
-
},
|
|
41
|
+
}, se = { class: "funny-section" }, oe = { class: "contact-section" }, le = { class: "funny-section" }, re = { class: "funny-section" }, ce = { class: "funny-flex" }, Ae = /* @__PURE__ */ q({
|
|
39
42
|
__name: "ProjectOrganisationStep",
|
|
40
43
|
props: {
|
|
41
44
|
isWip: { type: Boolean }
|
|
42
45
|
},
|
|
43
|
-
setup(
|
|
44
|
-
const { organization: b, authToken: A, startFetchPermissions: k } =
|
|
46
|
+
setup(de) {
|
|
47
|
+
const { organization: b, authToken: A, startFetchPermissions: k } = x();
|
|
45
48
|
k();
|
|
46
|
-
const { resultEnhanced:
|
|
49
|
+
const { resultEnhanced: u, isLoading: I } = O({
|
|
47
50
|
id: b,
|
|
48
51
|
authToken: A
|
|
49
|
-
}),
|
|
52
|
+
}), g = r(
|
|
50
53
|
() => {
|
|
51
54
|
var t, e;
|
|
52
|
-
return ((e = (t =
|
|
55
|
+
return ((e = (t = u.value) == null ? void 0 : t.publisher) == null ? void 0 : e.name) || "";
|
|
53
56
|
}
|
|
54
|
-
),
|
|
57
|
+
), h = r(
|
|
55
58
|
() => {
|
|
56
59
|
var t, e;
|
|
57
|
-
return ((e = (t =
|
|
60
|
+
return ((e = (t = u.value) == null ? void 0 : t.catalogueFavIcon) == null ? void 0 : e[0]) || "";
|
|
58
61
|
}
|
|
59
|
-
), l =
|
|
62
|
+
), l = r(() => {
|
|
60
63
|
var t, e;
|
|
61
|
-
return ((e = (t =
|
|
62
|
-
}),
|
|
64
|
+
return ((e = (t = u.value) == null ? void 0 : t.publisher) == null ? void 0 : e.address) || {};
|
|
65
|
+
}), _ = r(() => {
|
|
63
66
|
var t;
|
|
64
|
-
return ((t =
|
|
67
|
+
return ((t = u.value) == null ? void 0 : t.publisher) || {};
|
|
68
|
+
}), S = r(() => {
|
|
69
|
+
var e;
|
|
70
|
+
const t = ((e = _.value) == null ? void 0 : e.email) || "";
|
|
71
|
+
return t.startsWith("mailto:") ? t.substring(7) : t;
|
|
65
72
|
});
|
|
66
|
-
function
|
|
73
|
+
function E(t) {
|
|
67
74
|
return t._value === null || t._value === void 0 ? !0 : typeof t._value != "string" ? !1 : /^\d*$/.test(t._value);
|
|
68
75
|
}
|
|
69
|
-
return (t, e) => (s(), a("div",
|
|
70
|
-
n("section",
|
|
71
|
-
n("div",
|
|
76
|
+
return (t, e) => (s(), a("div", B, [
|
|
77
|
+
n("section", F, [
|
|
78
|
+
n("div", V, [
|
|
72
79
|
e[2] || (e[2] = n("h4", null, "Informationen zu Ihrer Organisation", -1)),
|
|
73
80
|
e[3] || (e[3] = n("span", { class: "copy-large-regular" }, " Die Angaben zur durchführenden Organisation werden nicht hier bei der Projektdokumentation erfasst. Diese Daten werden automatisch aus den Kontoinformationen übernommen, die bei uns hinterlegt sind. So wird sichergestellt, dass die Angaben zu Ihrer Organisation stets konsistent und aktuell bleiben, ohne dass sie mehrfach eingegeben werden müssen. ", -1)),
|
|
74
|
-
|
|
75
|
-
n("section",
|
|
76
|
-
n("div",
|
|
77
|
-
i(I) ? (s(), a("p",
|
|
78
|
-
|
|
79
|
-
n("div",
|
|
80
|
-
|
|
81
|
+
T(t.$slots, "organization", {}, () => [
|
|
82
|
+
n("section", L, [
|
|
83
|
+
n("div", j, [
|
|
84
|
+
i(I) ? (s(), a("p", G, " Lade Organisationsdaten... ")) : (s(), a(w, { key: 1 }, [
|
|
85
|
+
g.value ? (s(), a("p", W, c(g.value), 1)) : (s(), a("p", K, " Name nicht verfügbar ")),
|
|
86
|
+
n("div", R, [
|
|
87
|
+
h.value ? (s(), a("div", $, [
|
|
81
88
|
n("img", {
|
|
82
89
|
class: "contact-logo",
|
|
83
|
-
src:
|
|
90
|
+
src: h.value,
|
|
84
91
|
alt: "Organisation Logo"
|
|
85
|
-
}, null, 8,
|
|
86
|
-
])) : (s(), a("div",
|
|
92
|
+
}, null, 8, U)
|
|
93
|
+
])) : (s(), a("div", H, e[0] || (e[0] = [
|
|
87
94
|
n("div", { class: "avatar-circle" }, null, -1)
|
|
88
95
|
]))),
|
|
89
|
-
n("div",
|
|
90
|
-
n("div",
|
|
91
|
-
n("div",
|
|
92
|
-
l.value.street ? (s(), a("span",
|
|
93
|
-
l.value.postalCode || l.value.locality ? (s(), a("span",
|
|
96
|
+
n("div", J, [
|
|
97
|
+
n("div", Q, [
|
|
98
|
+
n("div", X, [
|
|
99
|
+
l.value.street ? (s(), a("span", Y, c(l.value.street), 1)) : (s(), a("span", Z, "Straße nicht verfügbar")),
|
|
100
|
+
l.value.postalCode || l.value.locality ? (s(), a("span", ee, c(l.value.postalCode || "") + " " + c(l.value.locality || ""), 1)) : (s(), a("span", ne, "Ort nicht verfügbar"))
|
|
94
101
|
]),
|
|
95
|
-
n("div",
|
|
102
|
+
n("div", te, [
|
|
96
103
|
e[1] || (e[1] = n("span", { class: "contact-info not-available" }, "Telefon nicht verfügbar", -1)),
|
|
97
|
-
|
|
98
|
-
key: 0,
|
|
99
|
-
class: "contact-info",
|
|
100
|
-
href: `mailto:${f.value.email}`
|
|
101
|
-
}, r(f.value.email), 9, te)) : (s(), a("span", ie, "E-Mail nicht verfügbar"))
|
|
104
|
+
_.value.email ? (s(), a("span", ie, c(S.value), 1)) : (s(), a("span", ae, "E-Mail nicht verfügbar"))
|
|
102
105
|
])
|
|
103
106
|
])
|
|
104
107
|
])
|
|
@@ -110,32 +113,32 @@ const C = { class: "dpiV3_page V3-typography" }, B = { class: "funny-section" },
|
|
|
110
113
|
])
|
|
111
114
|
]),
|
|
112
115
|
z("", !0),
|
|
113
|
-
n("section",
|
|
114
|
-
n("div",
|
|
116
|
+
n("section", se, [
|
|
117
|
+
n("div", oe, [
|
|
115
118
|
e[6] || (e[6] = n("h5", null, "Projektkontakt (optional)", -1)),
|
|
116
119
|
e[7] || (e[7] = n("span", { class: "copy-large-regular" }, " Bitte nennen Sie eine allgemeine E-Mail-Adresse oder Funktionsadresse, unter der interessierte Personen Rückfragen zum Projekt stellen können. Bitte geben Sie keine personenbezogenen Daten an. ", -1)),
|
|
117
|
-
o(
|
|
118
|
-
default:
|
|
120
|
+
o(N, null, {
|
|
121
|
+
default: d(() => [
|
|
119
122
|
o(i(m), {
|
|
120
123
|
type: "group",
|
|
121
124
|
name: "contact"
|
|
122
125
|
}, {
|
|
123
|
-
default:
|
|
126
|
+
default: d(() => [
|
|
124
127
|
o(i(m), {
|
|
125
|
-
type: i(
|
|
128
|
+
type: i(v),
|
|
126
129
|
name: "name",
|
|
127
130
|
"text-label": "Name",
|
|
128
131
|
placeholder: "Geben Sie einen Namen an.",
|
|
129
132
|
validation: "+requireAllIfAny",
|
|
130
133
|
"validation-label": "Name",
|
|
131
134
|
"validation-visibility": "submit",
|
|
132
|
-
"validation-rules": { requireAllIfAny: i(
|
|
135
|
+
"validation-rules": { requireAllIfAny: i(f) },
|
|
133
136
|
"validation-messages": {
|
|
134
|
-
requireAllIfAny: i(
|
|
137
|
+
requireAllIfAny: i(p)("Name")
|
|
135
138
|
}
|
|
136
139
|
}, null, 8, ["type", "validation-rules", "validation-messages"]),
|
|
137
140
|
o(i(m), {
|
|
138
|
-
type: i(
|
|
141
|
+
type: i(v),
|
|
139
142
|
name: "mail",
|
|
140
143
|
"text-label": "E-Mail-Adresse",
|
|
141
144
|
placeholder: "Geben Sie eine E-Mail-Adresse an.",
|
|
@@ -144,22 +147,22 @@ const C = { class: "dpiV3_page V3-typography" }, B = { class: "funny-section" },
|
|
|
144
147
|
"validation-label": "E-Mail-Adresse",
|
|
145
148
|
"validation-messages": {
|
|
146
149
|
email: i(y)("E-Mail-Adresse"),
|
|
147
|
-
requireAllIfAny: i(
|
|
150
|
+
requireAllIfAny: i(p)("E-Mail-Adresse")
|
|
148
151
|
},
|
|
149
|
-
"validation-rules": { requireAllIfAny: i(
|
|
152
|
+
"validation-rules": { requireAllIfAny: i(f) }
|
|
150
153
|
}, null, 8, ["type", "validation-messages", "validation-rules"]),
|
|
151
154
|
o(i(m), {
|
|
152
|
-
type: i(
|
|
155
|
+
type: i(v),
|
|
153
156
|
name: "phone",
|
|
154
157
|
"text-label": "Telefonnummer",
|
|
155
158
|
placeholder: "Geben Sie eine Telefonnummer an.",
|
|
156
|
-
"validation-rules": { numeric:
|
|
159
|
+
"validation-rules": { numeric: E, requireAllIfAny: i(f) },
|
|
157
160
|
validation: "numeric|+requireAllIfAny",
|
|
158
161
|
"validation-label": "Telefonnummer",
|
|
159
162
|
"validation-visibility": "submit",
|
|
160
163
|
"validation-messages": {
|
|
161
164
|
numeric: i(y)("Telefonnummer"),
|
|
162
|
-
requireAllIfAny: i(
|
|
165
|
+
requireAllIfAny: i(p)("Telefonnummer")
|
|
163
166
|
}
|
|
164
167
|
}, null, 8, ["type", "validation-rules", "validation-messages"])
|
|
165
168
|
]),
|
|
@@ -170,22 +173,22 @@ const C = { class: "dpiV3_page V3-typography" }, B = { class: "funny-section" },
|
|
|
170
173
|
})
|
|
171
174
|
])
|
|
172
175
|
]),
|
|
173
|
-
n("section", oe, [
|
|
174
|
-
o(N)
|
|
175
|
-
]),
|
|
176
176
|
n("section", le, [
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
177
|
+
o(P)
|
|
178
|
+
]),
|
|
179
|
+
n("section", re, [
|
|
180
|
+
n("div", ce, [
|
|
181
|
+
o(C, { variant: "default" }, {
|
|
182
|
+
icon: d(() => [
|
|
183
|
+
o(i(M), {
|
|
181
184
|
size: 32,
|
|
182
185
|
color: "#009fe3"
|
|
183
186
|
})
|
|
184
187
|
]),
|
|
185
|
-
title:
|
|
186
|
-
|
|
188
|
+
title: d(() => e[8] || (e[8] = [
|
|
189
|
+
D(" Wichtig! ", -1)
|
|
187
190
|
])),
|
|
188
|
-
default:
|
|
191
|
+
default: d(() => [
|
|
189
192
|
e[9] || (e[9] = n("div", { class: "copy-large-regular" }, [
|
|
190
193
|
n("p", null, "Bitte geben Sie keine persönlichen Daten preis! Diese dürfen auf unserer Plattform nicht veröffentlicht werden."),
|
|
191
194
|
n("p", null, "Dazu zählen Namen, E-Mail-Adresse oder auch Telefonnummern von realen Personen."),
|
|
@@ -201,5 +204,5 @@ const C = { class: "dpiV3_page V3-typography" }, B = { class: "funny-section" },
|
|
|
201
204
|
}
|
|
202
205
|
});
|
|
203
206
|
export {
|
|
204
|
-
|
|
207
|
+
Ae as default
|
|
205
208
|
};
|
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
import { reactive as
|
|
2
|
-
import { FormKit as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
1
|
+
import { reactive as m, createElementBlock as l, openBlock as o, createElementVNode as i, createVNode as g, Fragment as p, renderList as b, unref as u, createBlock as f } from "vue";
|
|
2
|
+
import { FormKit as w } from "@formkit/vue";
|
|
3
|
+
import k from "../../../components/StepActionsSection.vue.js";
|
|
4
|
+
import { initiierenQuestions as a } from "../../../composables/project-transformer/questions.js";
|
|
5
|
+
import z from "../TextArea/TextAreaDefinition.js";
|
|
5
6
|
/* empty css */
|
|
6
|
-
import
|
|
7
|
-
const
|
|
7
|
+
import v from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
8
|
+
const B = { class: "project-phasen-initiieren" }, S = { class: "project-phasen-initiieren-content" }, d = 1e3, _ = {
|
|
8
9
|
__name: "InitiierenStep",
|
|
9
10
|
setup(j) {
|
|
10
|
-
const n =
|
|
11
|
+
const n = m({
|
|
11
12
|
questions: {
|
|
12
13
|
projectTriggers: {
|
|
13
|
-
question:
|
|
14
|
+
question: a.projectTriggers,
|
|
14
15
|
placeholder: "Wir haben in den letzten Jahren immer häufiger mit Starkregenereignissen und den daraus resultierenden Überflutungen zu kämpfen gehabt. Darüber hinaus mussten wir bereits in der Vergangenheit im Rahmen der EU-Hochwasserrichtlinie Hochwassergefahren- und Risikokarten erstellen und regelmäßig aktualisieren. Beides hat uns verdeutlicht, dass wir in der Pflicht sind, Hochwasserschutz und Prävention aktiv weiterzuentwickeln. Beispiele aus anderen Kommunen haben zudem spürbare Vorteile durch vorausschauende Systeme aufgezeigt.",
|
|
15
16
|
answer: ""
|
|
16
17
|
},
|
|
17
18
|
involvedStakeholders: {
|
|
18
|
-
question:
|
|
19
|
+
question: a.involvedStakeholders,
|
|
19
20
|
placeholder: "Bereits zu Beginn des Projekts haben wir unser Umweltamt, das die Federführung übernommen hat, und das Bauamt, insbesondere wegen der Schnittstellen zur Stadtentwässerung und Flächenplanung, involviert. Darüber hinaus haben wir frühzeitig die Feuerwehr und das Amt für Informations- und Kommunikationstechnik eingebunden. Von politischer Seite waren der Bürgermeister und die zuständigen Ausschüsse (z. B. Umwelt- und Bauausschuss) von Anfang an informiert.",
|
|
20
21
|
answer: ""
|
|
21
22
|
},
|
|
22
23
|
dataCollectionMethod: {
|
|
23
|
-
question:
|
|
24
|
+
question: a.dataCollectionMethod,
|
|
24
25
|
placeholder: "Wir haben zunächst eine bereichsübergreifende Arbeitsgruppe gegründet, die alle relevanten Fachabteilungen (u.a. Umweltamt, Katastrophenschutz, Tiefbau, IT) einbezogen hat. In gemeinsamen Workshops haben wir systematisch erfasst, welche hydrologischen, geografischen und technischen Daten bereits vorliegen und welche von externen Partnern (z.B. Wasserwirtschaftsämter, Wetterdienste, Landesämter) bezogen werden können. Wir haben die Daten dokumentiert und bewertet (z.B. Aktualität, Genauigkeit, Formatierung, Zugriffsrechte). So konnten wir identifizieren, dass wir für einige Bachläufe noch Messgeräte zur kontinuierlichen Datenerhebung benötigen.",
|
|
25
26
|
answer: ""
|
|
26
27
|
},
|
|
27
28
|
budgetPlanning: {
|
|
28
|
-
question:
|
|
29
|
+
question: a.budgetPlanning,
|
|
29
30
|
placeholder: "Zu Beginn haben wir gemeinsam mit den beteiligten Ämtern eine Bedarfserhebung durchgeführt, um die voraussichtlichen Kosten möglichst realistisch einschätzen zu können. Wir haben außerdem andere Kommunen und Anbieter angefragt, um Erfahrungswerte und Angebote für vergleichbare Projekte einzuholen. Das Budget wurde größtenteils über ein Landesförderprogramm für kommunalen Hochwasserschutz gesichert. Schon vor Auslaufen der Förderung haben wir den weiteren Betrieb kalkuliert und technisch so aufgestellt, dass wir ihn langfristig finanzieren können.",
|
|
30
31
|
answer: ""
|
|
31
32
|
}
|
|
@@ -34,37 +35,37 @@ const v = { class: "project-phasen-initiieren" }, B = { class: "project-phasen-i
|
|
|
34
35
|
name: t,
|
|
35
36
|
text: n.questions[t].question
|
|
36
37
|
}));
|
|
37
|
-
function
|
|
38
|
-
n.questions[t].answer = r.slice(0,
|
|
38
|
+
function c(t, r) {
|
|
39
|
+
n.questions[t].answer = r.slice(0, d);
|
|
39
40
|
}
|
|
40
|
-
return (t, r) => (
|
|
41
|
+
return (t, r) => (o(), l("div", B, [
|
|
41
42
|
r[1] || (r[1] = i("div", { class: "project-phasen-initiieren-header" }, [
|
|
42
43
|
i("h4", null, "Initiieren")
|
|
43
44
|
], -1)),
|
|
44
|
-
i("div",
|
|
45
|
+
i("div", S, [
|
|
45
46
|
r[0] || (r[0] = i("p", { class: "project-phasen-initiieren-description" }, " Von der Projektidee bis zum Projektplan. ", -1)),
|
|
46
|
-
(
|
|
47
|
+
(o(!0), l(p, null, b(u(h), (e) => (o(), f(u(w), {
|
|
47
48
|
id: e.name,
|
|
48
49
|
key: e.name,
|
|
49
50
|
modelValue: n.questions[e.name].answer,
|
|
50
|
-
"onUpdate:modelValue": (
|
|
51
|
+
"onUpdate:modelValue": (s) => n.questions[e.name].answer = s,
|
|
51
52
|
placeholder: n.questions[e.name].placeholder,
|
|
52
53
|
label: e.text,
|
|
53
|
-
type:
|
|
54
|
+
type: u(z),
|
|
54
55
|
name: e.name,
|
|
55
56
|
validation: "length:0,1000",
|
|
56
57
|
hint: "true",
|
|
57
|
-
|
|
58
|
-
help: `${n.questions[e.name].answer.length || 0} von ${
|
|
58
|
+
"label-weight": "bold",
|
|
59
|
+
help: `${n.questions[e.name].answer.length || 0} von ${d} Zeichen`,
|
|
59
60
|
"count-hint": !0,
|
|
60
|
-
maxlength:
|
|
61
|
-
onInput: (
|
|
61
|
+
maxlength: d,
|
|
62
|
+
onInput: (s) => c(e.name, s)
|
|
62
63
|
}, null, 8, ["id", "modelValue", "onUpdate:modelValue", "placeholder", "label", "type", "name", "help", "onInput"]))), 128))
|
|
63
64
|
]),
|
|
64
|
-
|
|
65
|
+
g(k)
|
|
65
66
|
]));
|
|
66
67
|
}
|
|
67
|
-
},
|
|
68
|
+
}, q = /* @__PURE__ */ v(_, [["__scopeId", "data-v-e43d49ab"]]);
|
|
68
69
|
export {
|
|
69
|
-
|
|
70
|
+
q as default
|
|
70
71
|
};
|
|
@@ -1,71 +1,72 @@
|
|
|
1
|
-
import { reactive as
|
|
2
|
-
import { FormKit as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
1
|
+
import { reactive as m, createElementBlock as u, openBlock as l, createElementVNode as i, createVNode as p, Fragment as b, renderList as g, unref as o, createBlock as f } from "vue";
|
|
2
|
+
import { FormKit as w } from "@formkit/vue";
|
|
3
|
+
import { planenQuestions as a } from "../../../composables/project-transformer/questions.js";
|
|
4
|
+
import z from "../../../components/StepActionsSection.vue.js";
|
|
5
|
+
import x from "../TextArea/TextAreaDefinition.js";
|
|
5
6
|
/* empty css */
|
|
6
|
-
import
|
|
7
|
-
const
|
|
7
|
+
import k from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
8
|
+
const V = { class: "project-phasen-planen" }, A = { class: "project-phasen-planen-content" }, d = 1e3, _ = {
|
|
8
9
|
__name: "PlanenStep",
|
|
9
|
-
setup(
|
|
10
|
-
const n =
|
|
10
|
+
setup(v) {
|
|
11
|
+
const n = m({
|
|
11
12
|
questions: {
|
|
12
13
|
requirementsGatherings: {
|
|
13
|
-
question:
|
|
14
|
+
question: a.requirementsGatherings,
|
|
14
15
|
placeholder: "Wir haben die Anforderungen in mehreren interdisziplinären Workshops gemeinsam mit allen betroffenen Fachämtern und externen Beteiligten erhoben. Zudem haben wir Interviews mit den späteren Nutzergruppen geführt, um Praxisbedarfe zu erfassen. Alle Ergebnisse haben wir strukturiert in einem Lastenheft dokumentiert, das als zentrale Arbeitsgrundlage für die Ausschreibung diente.",
|
|
15
16
|
answer: ""
|
|
16
17
|
},
|
|
17
18
|
tenderFormat: {
|
|
18
|
-
question:
|
|
19
|
+
question: a.tenderFormat,
|
|
19
20
|
placeholder: `Wir haben uns für eine öffentliche, europaweite Ausschreibung (offenes Verfahren) entschieden, da die Schätzsumme für das Projekt über dem EU-Schwellenwert lag. Damit konnten wir ein möglichst breites Feld an Anbietern ansprechen und gleichzeitig die rechtlichen Vorgaben einhalten.
|
|
20
21
|
Wir haben uns an einer Muster-Leistungsbeschreibung einer Nachbarkommune orientiert, die bereits ein ähnliches System eingeführt hatte. Grundsätzlich empfehlen wir, auf bestehende Leitfäden von Fachverbänden oder Landesbehörden zurückzugreifen.`,
|
|
21
22
|
answer: ""
|
|
22
23
|
},
|
|
23
24
|
tenderTips: {
|
|
24
|
-
question:
|
|
25
|
+
question: a.tenderTips,
|
|
25
26
|
placeholder: "Auf jeden Fall frühzeitig die Vergabeexperten einbinden. Die Zusammenarbeit mit unserer Vergabestelle bzw. externen Fachjuristen hat geholfen, die Ausschreibung rechtssicher und praxistauglich zu gestalten.",
|
|
26
27
|
answer: ""
|
|
27
28
|
},
|
|
28
29
|
resourcePlanning: {
|
|
29
|
-
question:
|
|
30
|
+
question: a.resourcePlanning,
|
|
30
31
|
placeholder: "Wir haben zunächst die Aufgaben und den Personalbedarf analysiert und mit allen beteiligten Fachbereichen abgestimmt. Anschließend haben wir ein bereichsübergreifendes Projektteam gebildet und externe Unterstützung für spezielle IT-Themen eingeplant. Das Budget haben wir über eine Kombination aus Eigenmitteln und Fördergeldern gedeckt, und für den dauerhaften Betrieb eine feste Stelle sowie ein jährliches Wartungsbudget vorgesehen.",
|
|
31
32
|
answer: ""
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
|
-
}),
|
|
35
|
+
}), h = Object.keys(n.questions).map((t) => ({
|
|
35
36
|
name: t,
|
|
36
37
|
text: n.questions[t].question
|
|
37
38
|
}));
|
|
38
|
-
function
|
|
39
|
-
n.questions[t].answer = r.slice(0,
|
|
39
|
+
function c(t, r) {
|
|
40
|
+
n.questions[t].answer = r.slice(0, d);
|
|
40
41
|
}
|
|
41
|
-
return (t, r) => (
|
|
42
|
+
return (t, r) => (l(), u("div", V, [
|
|
42
43
|
r[1] || (r[1] = i("div", { class: "project-phasen-planen-header" }, [
|
|
43
44
|
i("h4", null, "Planen")
|
|
44
45
|
], -1)),
|
|
45
46
|
i("div", A, [
|
|
46
47
|
r[0] || (r[0] = i("p", { class: "project-phasen-planen-description" }, " Von der Ausschreibung bis zur Vergabe. ", -1)),
|
|
47
|
-
(
|
|
48
|
+
(l(!0), u(b, null, g(o(h), (e) => (l(), f(o(w), {
|
|
48
49
|
key: e.name,
|
|
49
50
|
placeholder: n.questions[e.name].placeholder,
|
|
50
51
|
id: e.name,
|
|
51
52
|
modelValue: n.questions[e.name].answer,
|
|
52
|
-
"onUpdate:modelValue": (
|
|
53
|
+
"onUpdate:modelValue": (s) => n.questions[e.name].answer = s,
|
|
53
54
|
labelWeight: "bold",
|
|
54
55
|
label: e.text,
|
|
55
|
-
type:
|
|
56
|
+
type: o(x),
|
|
56
57
|
name: e.name,
|
|
57
58
|
validation: "length:0,1000",
|
|
58
59
|
hint: "true",
|
|
59
|
-
help: `${n.questions[e.name].answer.length || 0} von ${
|
|
60
|
+
help: `${n.questions[e.name].answer.length || 0} von ${d} Zeichen`,
|
|
60
61
|
"count-hint": !0,
|
|
61
|
-
onInput: (
|
|
62
|
-
maxlength:
|
|
62
|
+
onInput: (s) => c(e.name, s),
|
|
63
|
+
maxlength: d
|
|
63
64
|
}, null, 8, ["placeholder", "id", "modelValue", "onUpdate:modelValue", "label", "type", "name", "help", "onInput"]))), 128))
|
|
64
65
|
]),
|
|
65
|
-
|
|
66
|
+
p(z)
|
|
66
67
|
]));
|
|
67
68
|
}
|
|
68
|
-
},
|
|
69
|
+
}, I = /* @__PURE__ */ k(_, [["__scopeId", "data-v-d7c30e1a"]]);
|
|
69
70
|
export {
|
|
70
|
-
|
|
71
|
+
I as default
|
|
71
72
|
};
|