@piveau/dpi 0.2.0-alpha.7 → 0.2.0-alpha.9
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/AboutProject.vue.js +20 -17
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/DPIHome.vue.js +4 -4
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ProjectTable.vue.js +45 -44
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ActionCard.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ActionCard.vue2.js +24 -22
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ButtonV3.vue.js +30 -29
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue2.js +119 -137
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataProcessing/BasicInformationStep.vue.js +7 -0
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataProcessing/BasicInformationStep.vue2.js +189 -0
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DpiModalBase.vue.js +3 -3
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/DiscoverabilityStep.vue.js +11 -11
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldFormKit.vue.js +25 -25
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue2.js +117 -117
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetForm.vue.js +5 -72
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetForm.vue2.js +72 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetStep.vue2.js +22 -22
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue2.js +9 -4
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/ProcessStepsOverviewStep.vue.js +12 -12
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareForm.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareForm.vue2.js +16 -15
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Projektphasen/InitiierenStep.vue.js +31 -26
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Projektphasen/PlanenStep.vue.js +32 -26
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Projektphasen/ProjektPhasenOverviewStep.vue.js +7 -7
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Projektphasen/UmstezenStep.vue.js +30 -25
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Projektphasen/WeiterdenkenStep.vue.js +67 -27
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ReviewStep/ReviewStep.vue.js +5 -932
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ReviewStep/ReviewStep.vue2.js +1053 -2
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/StateTag.vue.js +17 -13
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/SummaryBox.vue.js +1 -1
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/SummaryBox.vue2.js +14 -10
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/TableRowV3.vue.js +84 -73
- package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/TextAreaV3.vue.js +41 -46
- package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue2.js +41 -38
- package/dist/packages/dpi/src/data-provider-interface/components/TheCancelConfirmationDialog.vue.js +2 -2
- package/dist/packages/dpi/src/data-provider-interface/components/TheCancelConfirmationDialog.vue2.js +22 -22
- package/dist/packages/dpi/src/data-provider-interface/views/InputPageProject.vue.js +158 -156
- package/dist/packages/dpi/src/stories/components/LinkCard.vue.js +1 -1
- package/dist/packages/dpi/src/stories/components/LinkCard.vue2.js +6 -6
- package/dist/packages/dpi/src/stories/components/PartnerCard.vue.js +1 -1
- package/dist/packages/dpi/src/stories/components/PartnerCard.vue2.js +15 -12
- package/dist/packages/dpi/src/stories/components/ScreenshotCard.vue.js +2 -2
- package/dist/packages/dpi/src/stories/components/ScreenshotCard.vue2.js +1 -0
- package/package.json +1 -1
- package/dist/packages/dpi/src/stories/components/MethodsCard.vue.js +0 -7
- package/dist/packages/dpi/src/stories/components/MethodsCard.vue2.js +0 -45
|
@@ -1,4 +1,74 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { defineComponent as w, watch as y, createElementBlock as k, openBlock as B, createElementVNode as i, createVNode as l, mergeProps as _, unref as d, isRef as j, withCtx as A } from "vue";
|
|
2
|
+
import { toTypedSchema as C } from "../../../../../../../node_modules/.pnpm/@vee-validate_zod@4.15.1_vue@3.5.18_typescript@5.8.3__zod@3.25.76/node_modules/@vee-validate/zod/dist/vee-validate-zod.js";
|
|
3
|
+
import { useForm as E } from "vee-validate";
|
|
4
|
+
import * as D from "zod";
|
|
5
|
+
import I from "../Autocomplete/AutocompleteVocab.vue.js";
|
|
6
|
+
import N from "../ButtonV3.vue.js";
|
|
7
|
+
import R from "./RichOption.vue.js";
|
|
8
|
+
const W = { class: "dpi-project-process-step V3-typography" }, K = { class: "step-section" }, O = { class: "step-section-actions" }, H = /* @__PURE__ */ w({
|
|
9
|
+
__name: "DatasetForm",
|
|
10
|
+
props: {
|
|
11
|
+
exclude: { default: () => [] }
|
|
12
|
+
},
|
|
13
|
+
emits: ["submit"],
|
|
14
|
+
setup(v, { emit: z }) {
|
|
15
|
+
const S = v, g = z, V = D.object({ id: D.string() }), { defineField: x } = E({
|
|
16
|
+
validationSchema: C(V),
|
|
17
|
+
initialValues: { id: "" },
|
|
18
|
+
name: "datasetForm"
|
|
19
|
+
}), [s, F] = x("id");
|
|
20
|
+
return y(s, (m) => {
|
|
21
|
+
const n = String(m || "").trim();
|
|
22
|
+
n && g("submit", { id: n });
|
|
23
|
+
}), (m, n) => (B(), k("div", W, [
|
|
24
|
+
i("section", K, [
|
|
25
|
+
n[1] || (n[1] = i("h5", null, "Wählen Sie einen bestehenden Datensatz", -1)),
|
|
26
|
+
n[2] || (n[2] = i("p", null, "Falls der Datensatz schon in unserem System existiert, können Sie ihn hier auswählen.", -1)),
|
|
27
|
+
l(I, _({
|
|
28
|
+
modelValue: d(s),
|
|
29
|
+
"onUpdate:modelValue": n[0] || (n[0] = (e) => j(s) ? s.value = e : null)
|
|
30
|
+
}, d(F), {
|
|
31
|
+
"base-url": "https://twin.bydata.de/api/hub/search",
|
|
32
|
+
resource: "dataset",
|
|
33
|
+
label: "",
|
|
34
|
+
placeholder: "Wählen Sie einen Datensatz.",
|
|
35
|
+
name: "dataset",
|
|
36
|
+
"setup-fn": (e) => {
|
|
37
|
+
var t, r, o, u, p, c, f, h, b;
|
|
38
|
+
return {
|
|
39
|
+
id: e == null ? void 0 : e.id,
|
|
40
|
+
name: ((t = e == null ? void 0 : e.title) == null ? void 0 : t.de) || ((r = e == null ? void 0 : e.title) == null ? void 0 : r.en) || (e == null ? void 0 : e.id),
|
|
41
|
+
description: ((o = e == null ? void 0 : e.description) == null ? void 0 : o.de) || ((u = e == null ? void 0 : e.description) == null ? void 0 : u.en),
|
|
42
|
+
manufacturer: ((c = (p = e == null ? void 0 : e.publisher) == null ? void 0 : p.name) == null ? void 0 : c.de) || ((h = (f = e == null ? void 0 : e.publisher) == null ? void 0 : f.name) == null ? void 0 : h.en) || ((b = e == null ? void 0 : e.publisher) == null ? void 0 : b.name),
|
|
43
|
+
unavailable: S.exclude.includes(e == null ? void 0 : e.id)
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}), {
|
|
47
|
+
option: A(({ option: e, active: t, selected: r, disabled: o }) => [
|
|
48
|
+
l(R, {
|
|
49
|
+
name: e.name,
|
|
50
|
+
manufacturer: e.manufacturer,
|
|
51
|
+
description: e.description,
|
|
52
|
+
active: t,
|
|
53
|
+
selected: r,
|
|
54
|
+
disabled: o
|
|
55
|
+
}, null, 8, ["name", "manufacturer", "description", "active", "selected", "disabled"])
|
|
56
|
+
]),
|
|
57
|
+
_: 1
|
|
58
|
+
}, 16, ["modelValue", "setup-fn"]),
|
|
59
|
+
n[3] || (n[3] = i("h5", null, "oder", -1)),
|
|
60
|
+
n[4] || (n[4] = i("p", null, " Sollte der verwendete Datensatz noch nicht im Katalog verfügbar sein, legen Sie einen neuen Datensatz an. Der Datensatz kann zugeordnet werden, sobald er veröffentlicht ist. ", -1)),
|
|
61
|
+
i("div", O, [
|
|
62
|
+
l(N, {
|
|
63
|
+
"button-text": "Zur Datensatzanlage",
|
|
64
|
+
size: "medium",
|
|
65
|
+
variant: "secondary"
|
|
66
|
+
})
|
|
67
|
+
])
|
|
68
|
+
])
|
|
69
|
+
]));
|
|
70
|
+
}
|
|
71
|
+
});
|
|
2
72
|
export {
|
|
3
|
-
|
|
73
|
+
H as default
|
|
4
74
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { defineComponent as H, ref as I, computed as l, toRef as
|
|
1
|
+
import { defineComponent as H, ref as I, computed as l, toRef as M, createBlock as u, openBlock as r, withCtx as i, createVNode as o, createElementBlock as f, createElementVNode as v, unref as d, isRef as N, Fragment as T, renderList as $, createCommentVNode as h, createTextVNode as c, toDisplayString as D } from "vue";
|
|
2
2
|
import { FormKit as b } from "@formkit/vue";
|
|
3
3
|
import { schemaDataset as G } from "@piveau/sdk-core";
|
|
4
4
|
import { defineHubSearch as O, dcatApDataset as E } from "@piveau/sdk-vue";
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
5
|
+
import F from "../../../components/StepActionsSection.vue.js";
|
|
6
|
+
import P from "../ActionCard.vue.js";
|
|
7
|
+
import U from "../Card.vue.js";
|
|
8
|
+
import _ from "../SummaryBox.vue.js";
|
|
9
|
+
import W from "./AreYouSureToSkipCard.vue.js";
|
|
10
10
|
import L from "./DatasetForm.vue.js";
|
|
11
11
|
import K from "./ProcessStepBase.vue.js";
|
|
12
12
|
/* empty css */
|
|
@@ -24,7 +24,7 @@ const J = {
|
|
|
24
24
|
edit: { type: Boolean }
|
|
25
25
|
},
|
|
26
26
|
setup(g) {
|
|
27
|
-
const
|
|
27
|
+
const y = g, a = I([]), { useResources: k } = O({
|
|
28
28
|
baseUrl: "https://twin.bydata.de/api/hub/search",
|
|
29
29
|
index: "dataset",
|
|
30
30
|
indexDetails: "datasets",
|
|
@@ -57,7 +57,7 @@ const J = {
|
|
|
57
57
|
function R(n) {
|
|
58
58
|
a.value.push(n);
|
|
59
59
|
}
|
|
60
|
-
const { count: m, realCount: B } = j(
|
|
60
|
+
const { count: m, realCount: B } = j(y.stepGroup || "", M(y.edit)), A = l(() => a.value.length > 0 ? "Weiter" : "Weiter ohne Datensätze"), C = l(() => a.value.length > 0 ? "primary" : "secondary");
|
|
61
61
|
return (n, e) => (r(), u(K, {
|
|
62
62
|
title: "Geben Sie Informationen zu verwendeten Datensätzen an",
|
|
63
63
|
subtitle: "Geben Sie an, welche Datensätze Sie für diesen Prozessschritt verwendet haben. Sie können entweder einen bestehenden Datensatz auswählen oder einen Datensatz neu anlegen. Wenn Sie einen Datensatz neu anlegen, haben Sie die Möglichkeit die Sichtbarkeit des Datensatzes einzuschränken."
|
|
@@ -65,7 +65,7 @@ const J = {
|
|
|
65
65
|
default: i(({ confirm: s }) => [
|
|
66
66
|
o(d(b), {
|
|
67
67
|
modelValue: d(m),
|
|
68
|
-
"onUpdate:modelValue": e[0] || (e[0] = (t) =>
|
|
68
|
+
"onUpdate:modelValue": e[0] || (e[0] = (t) => N(m) ? m.value = t : null),
|
|
69
69
|
type: "hidden",
|
|
70
70
|
name: "__resourceCount",
|
|
71
71
|
hidden: "",
|
|
@@ -84,7 +84,7 @@ const J = {
|
|
|
84
84
|
"aria-hidden": ""
|
|
85
85
|
}, null, 8, ["modelValue"]),
|
|
86
86
|
S.value.length ? (r(), f("section", Q, [
|
|
87
|
-
(r(!0), f(
|
|
87
|
+
(r(!0), f(T, null, $(S.value, (t, p) => (r(), u(P, {
|
|
88
88
|
key: p,
|
|
89
89
|
class: "software-card",
|
|
90
90
|
"no-edit": !0,
|
|
@@ -95,36 +95,36 @@ const J = {
|
|
|
95
95
|
])),
|
|
96
96
|
default: i(() => [
|
|
97
97
|
v("div", X, [
|
|
98
|
-
o(
|
|
98
|
+
o(_, { title: "Name" }, {
|
|
99
99
|
default: i(() => [
|
|
100
|
-
c(
|
|
100
|
+
c(D(t.name), 1)
|
|
101
101
|
]),
|
|
102
102
|
_: 2
|
|
103
103
|
}, 1024),
|
|
104
|
-
t.manufacturer ? (r(), u(
|
|
104
|
+
t.manufacturer ? (r(), u(_, {
|
|
105
105
|
key: 0,
|
|
106
106
|
title: "Datenbereitsteller, Aktualisiert"
|
|
107
107
|
}, {
|
|
108
108
|
default: i(() => [
|
|
109
|
-
c(
|
|
109
|
+
c(D(t.manufacturer), 1)
|
|
110
110
|
]),
|
|
111
111
|
_: 2
|
|
112
|
-
}, 1024)) :
|
|
113
|
-
t.description ? (r(), u(
|
|
112
|
+
}, 1024)) : h("", !0),
|
|
113
|
+
t.description ? (r(), u(_, {
|
|
114
114
|
key: 1,
|
|
115
115
|
title: "Beschreibung"
|
|
116
116
|
}, {
|
|
117
117
|
default: i(() => [
|
|
118
|
-
c(
|
|
118
|
+
c(D(t.description), 1)
|
|
119
119
|
]),
|
|
120
120
|
_: 2
|
|
121
|
-
}, 1024)) :
|
|
121
|
+
}, 1024)) : h("", !0)
|
|
122
122
|
])
|
|
123
123
|
]),
|
|
124
124
|
_: 2
|
|
125
125
|
}, 1032, ["onDelete"]))), 128))
|
|
126
126
|
])) : (r(), f("section", J, [
|
|
127
|
-
o(
|
|
127
|
+
o(U, {
|
|
128
128
|
small: "",
|
|
129
129
|
class: "empty-card"
|
|
130
130
|
}, {
|
|
@@ -140,14 +140,14 @@ const J = {
|
|
|
140
140
|
onSubmit: R
|
|
141
141
|
}, null, 8, ["exclude"]),
|
|
142
142
|
v("section", Y, [
|
|
143
|
-
o(
|
|
143
|
+
o(F, {
|
|
144
144
|
"next-text": A.value,
|
|
145
145
|
"next-variant": C.value
|
|
146
146
|
}, null, 8, ["next-text", "next-variant"]),
|
|
147
|
-
d(B) === 0 ? (r(), u(
|
|
147
|
+
d(B) === 0 ? (r(), u(W, {
|
|
148
148
|
key: 0,
|
|
149
149
|
"resource-label": "Datensätze"
|
|
150
|
-
})) :
|
|
150
|
+
})) : h("", !0)
|
|
151
151
|
])
|
|
152
152
|
]),
|
|
153
153
|
_: 1
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./HardwareForm.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import r from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-
|
|
4
|
+
const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-017dbc28"]]);
|
|
5
5
|
export {
|
|
6
6
|
p as default
|
|
7
7
|
};
|
|
@@ -10,10 +10,13 @@ import ke from "../ListBox/Listbox.vue.js";
|
|
|
10
10
|
import ye from "../TextAreaV3.vue.js";
|
|
11
11
|
import H from "./ProcessStepInputCard.vue.js";
|
|
12
12
|
import bt from "./RichOption.vue.js";
|
|
13
|
-
const wt = { class: "dpi-project-process-step V3-typography" }, gt = { class: "step-section" }, kt = { key: 0 }, yt = { class: "step-section-actions" }, St = { class: "step-section
|
|
13
|
+
const wt = { class: "dpi-project-process-step V3-typography" }, gt = { class: "step-section" }, kt = { key: 0 }, yt = { class: "step-section-actions" }, St = { class: "step-section" }, Vt = {
|
|
14
14
|
key: 0,
|
|
15
15
|
class: "functionalities-container"
|
|
16
|
-
}, zt = ["id", "value"], It = { class: "step-section-actions" }, Ft = { class: "step-section" }, Ht = { class: "step-section" }, xt = { class: "step-section-actions" }, Bt = { class: "step-section" }, Ut = { class: "step-section-actions" }, $t = { class: "step-section" }, At = {
|
|
16
|
+
}, zt = ["id", "value"], It = { class: "step-section-actions" }, Ft = { class: "step-section" }, Ht = { class: "step-section" }, xt = { class: "step-section-actions" }, Bt = { class: "step-section" }, Ut = { class: "step-section-actions" }, $t = { class: "step-section" }, At = {
|
|
17
|
+
key: 0,
|
|
18
|
+
class: "functionalities-container"
|
|
19
|
+
}, Ct = ["id", "value"], Dt = { class: "step-section-actions" }, Pt = { class: "step-section" }, Zt = { class: "step-section-actions" }, Wt = { class: "step-section" }, Lt = { class: "step-section-actions" }, _t = { class: "step-section" }, Gt = { class: "step-section-actions" }, Rt = { class: "step-section-actions" }, Se = "Wählen Sie eine Funktionalität aus oder nennen Sie eine Funktionalität ein.", Ve = "Wählen Sie einen Zweck aus oder nennen Sie einen Zweck.", C = 500, en = /* @__PURE__ */ ft({
|
|
17
20
|
__name: "HardwareForm",
|
|
18
21
|
props: /* @__PURE__ */ he({
|
|
19
22
|
modelValue: {},
|
|
@@ -286,7 +289,8 @@ const wt = { class: "dpi-project-process-step V3-typography" }, gt = { class: "s
|
|
|
286
289
|
"@search": !1,
|
|
287
290
|
"@selected": !0
|
|
288
291
|
},
|
|
289
|
-
data: { "@value": e, URI: e }
|
|
292
|
+
data: { "@value": e, URI: e },
|
|
293
|
+
"select-value": !0
|
|
290
294
|
}, null, 8, ["for", "text", "data"])
|
|
291
295
|
]))), 128))
|
|
292
296
|
])) : F("", !0),
|
|
@@ -444,7 +448,8 @@ const wt = { class: "dpi-project-process-step V3-typography" }, gt = { class: "s
|
|
|
444
448
|
"@search": !1,
|
|
445
449
|
"@selected": !0
|
|
446
450
|
},
|
|
447
|
-
data: { "@value": e, URI: e }
|
|
451
|
+
data: { "@value": e, URI: e },
|
|
452
|
+
"select-value": !0
|
|
448
453
|
}, null, 8, ["for", "text", "data"])
|
|
449
454
|
]))), 128))
|
|
450
455
|
])) : F("", !0),
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { createElementBlock as s, openBlock as a, createStaticVNode as r, createElementVNode as e, createVNode as t, withCtx as i, unref as l } from "vue";
|
|
2
2
|
import { PhLightbulb as o } from "@phosphor-icons/vue";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import d from "../../../components/StepActionsSection.vue.js";
|
|
4
|
+
import u from "../Card.vue.js";
|
|
5
5
|
/* empty css */
|
|
6
|
-
import
|
|
7
|
-
const
|
|
6
|
+
import c from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
7
|
+
const f = { class: "dpiV3_page V3-typography" }, g = { class: "funny-section" }, v = { class: "funny-section process-footer-information" }, h = {
|
|
8
8
|
__name: "ProcessStepsOverviewStep",
|
|
9
|
-
setup(
|
|
10
|
-
return (
|
|
11
|
-
n[2] || (n[2] = r('<section class="funny-section" data-v-
|
|
12
|
-
e("section",
|
|
13
|
-
t(
|
|
9
|
+
setup(m) {
|
|
10
|
+
return (p, n) => (a(), s("div", f, [
|
|
11
|
+
n[2] || (n[2] = r('<section class="funny-section" data-v-29acf057><div class="funny-flex" data-v-29acf057><div data-v-29acf057><h4 data-v-29acf057> Geben Sie die Technischen Prozessschritte Ihres Projekts an </h4><div class="process-description-section" data-v-29acf057><span class="process-description" data-v-29acf057> Nachdem Sie anhand der Projektphasen geschildert haben, wie Sie von der Idee zur Umsetzung gekommen sind (optional), zeigen Sie in den technischen Prozessschritten detailliert, wie Sie mit den Daten gearbeitet haben – vom Erfassen über die Verarbeitung und Simulation bis zur Visualisierung. </span><span class="process-description strong" data-v-29acf057> Pro Projekt muss mindestens ein technischer Prozessschritt beschrieben werden. </span><span class="process-description strong" data-v-29acf057> Jedem Schritt muss mindestens eine Software, ein Datensatz oder eine Hardware zugeordnet werden, die verwendet wurden. </span><span class="process-description" data-v-29acf057> An unseren Beispielen für „Hochwasserschutzprogramm mit Prognosen“ sehen Sie, wie Sie vorgehen können. </span></div></div><div class="steps" data-v-29acf057><h5 data-v-29acf057> Welche der folgenden Schritte haben Sie in Ihrem Projekt durchlaufen? </h5><ul data-v-29acf057><li data-v-29acf057> Teilen Sie im Schritt der <strong data-v-29acf057>Datenerfassung</strong> mit anderen Kommunen, wie Sie relevante Daten, wie etwa Verwaltungs- oder Sensordaten, erhoben haben. </li><li data-v-29acf057> Beschreiben Sie im Schritt der <strong data-v-29acf057>Datenverarbeitung</strong>, wie Sie die Rohdaten zusammengeführt und aufbereitet haben. </li><li data-v-29acf057> Schildern Sie im Schritt der <strong data-v-29acf057>Datensimulation</strong>, ob und wie Sie auf Basis der verarbeiteten Daten Szenarien mithilfe von Simulationsmodellen nachgebildet und analysiert haben. </li><li data-v-29acf057> Führen Sie im Schritt der <strong data-v-29acf057>Datenvisualisierung</strong> aus, in welcher Form die Ergebnisse der Simulationen verständlich aufbereitet und visualisiert wurden. </li></ul></div></div></section>', 1)),
|
|
12
|
+
e("section", g, [
|
|
13
|
+
t(d, { "next-text": "Weiter zur Datenerfassung" })
|
|
14
14
|
]),
|
|
15
|
-
e("section",
|
|
16
|
-
t(
|
|
15
|
+
e("section", v, [
|
|
16
|
+
t(u, { variant: "default" }, {
|
|
17
17
|
icon: i(() => [
|
|
18
18
|
t(l(o), {
|
|
19
19
|
size: 32,
|
|
@@ -65,7 +65,7 @@ const g = { class: "dpiV3_page V3-typography" }, v = { class: "funny-section" },
|
|
|
65
65
|
])
|
|
66
66
|
]));
|
|
67
67
|
}
|
|
68
|
-
}, _ = /* @__PURE__ */
|
|
68
|
+
}, _ = /* @__PURE__ */ c(h, [["__scopeId", "data-v-29acf057"]]);
|
|
69
69
|
export {
|
|
70
70
|
_ as default
|
|
71
71
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./SoftwareForm.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import r from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-
|
|
4
|
+
const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-5a706c01"]]);
|
|
5
5
|
export {
|
|
6
6
|
f as default
|
|
7
7
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as re, mergeModels as _, useModel as ue, unref as i, watch as R, ref as ae, computed as
|
|
1
|
+
import { defineComponent as re, mergeModels as _, useModel as ue, unref as i, watch as R, ref as ae, computed as v, createElementBlock as f, openBlock as u, createElementVNode as o, createCommentVNode as y, createVNode as a, Fragment as x, mergeProps as g, isRef as w, withCtx as ce, renderList as de, withDirectives as fe, vModelCheckbox as me, createBlock as P } from "vue";
|
|
2
2
|
import { toTypedSchema as T } from "../../../../../../../node_modules/.pnpm/@vee-validate_zod@4.15.1_vue@3.5.18_typescript@5.8.3__zod@3.25.76/node_modules/@vee-validate/zod/dist/vee-validate-zod.js";
|
|
3
3
|
import { useForm as j, useFieldArray as pe } from "vee-validate";
|
|
4
4
|
import * as l from "zod";
|
|
@@ -6,9 +6,9 @@ import he from "../Autocomplete/AutocompleteVocab.vue.js";
|
|
|
6
6
|
import F from "../ButtonV3.vue.js";
|
|
7
7
|
import Se from "../Chip.vue.js";
|
|
8
8
|
import be from "../InputField.vue.js";
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
const ge = { class: "dpi-project-process-step V3-typography" }, we = { class: "step-section" }, Fe = { class: "step-section-actions" }, ke = { class: "step-section
|
|
9
|
+
import ve from "../ListBox/Listbox.vue.js";
|
|
10
|
+
import ye from "./RichOption.vue.js";
|
|
11
|
+
const ge = { class: "dpi-project-process-step V3-typography" }, we = { class: "step-section" }, Fe = { class: "step-section-actions" }, ke = { class: "step-section" }, Ve = {
|
|
12
12
|
key: 0,
|
|
13
13
|
class: "functionalities-container"
|
|
14
14
|
}, Ie = ["id", "value"], xe = { class: "step-section-actions" }, ze = { class: "step-section-actions" }, O = "Wählen Sie eine Funktionalität aus oder nennen Sie eine Funktionalität ein.", Te = /* @__PURE__ */ re({
|
|
@@ -57,10 +57,10 @@ const ge = { class: "dpi-project-process-step V3-typography" }, we = { class: "s
|
|
|
57
57
|
function ee(n) {
|
|
58
58
|
B.value = n;
|
|
59
59
|
}
|
|
60
|
-
const p =
|
|
60
|
+
const p = v(() => !!c.value), D = v(() => {
|
|
61
61
|
var n;
|
|
62
62
|
return (((n = r.value) == null ? void 0 : n.length) ?? 0) > 0;
|
|
63
|
-
}), te =
|
|
63
|
+
}), te = v(() => {
|
|
64
64
|
var n;
|
|
65
65
|
return ((n = B.value) == null ? void 0 : n.functionalities) ?? [];
|
|
66
66
|
}), ne = l.object({
|
|
@@ -92,7 +92,7 @@ const ge = { class: "dpi-project-process-step V3-typography" }, we = { class: "s
|
|
|
92
92
|
R(c, (n, t) => {
|
|
93
93
|
!!t && !!n && n !== t && (k(), r.value = []);
|
|
94
94
|
});
|
|
95
|
-
const [V, oe] = E("functionalitySelect"), [I, le] = E("functionalityInput"), L =
|
|
95
|
+
const [V, oe] = E("functionalitySelect"), [I, le] = E("functionalityInput"), L = v(() => Array.from(r.value || [])), M = H((n) => {
|
|
96
96
|
h ? A("patch", {
|
|
97
97
|
id: K,
|
|
98
98
|
software: {
|
|
@@ -110,7 +110,7 @@ const ge = { class: "dpi-project-process-step V3-typography" }, we = { class: "s
|
|
|
110
110
|
});
|
|
111
111
|
return (n, t) => (u(), f("div", ge, [
|
|
112
112
|
o("section", we, [
|
|
113
|
-
h ?
|
|
113
|
+
h ? y("", !0) : (u(), f(x, { key: 0 }, [
|
|
114
114
|
t[5] || (t[5] = o("h5", null, "Wählen Sie eine bestehende Software", -1)),
|
|
115
115
|
t[6] || (t[6] = o("p", null, "Falls die Software bereits angelegt wurde, können Sie sie hier auswählen.", -1))
|
|
116
116
|
], 64)),
|
|
@@ -138,7 +138,7 @@ const ge = { class: "dpi-project-process-step V3-typography" }, we = { class: "s
|
|
|
138
138
|
onSelect: ee
|
|
139
139
|
}), {
|
|
140
140
|
option: ce(({ option: e, active: s, selected: d, disabled: b }) => [
|
|
141
|
-
a(
|
|
141
|
+
a(ye, {
|
|
142
142
|
name: e.name,
|
|
143
143
|
manufacturer: e.manufacturer,
|
|
144
144
|
description: e.description,
|
|
@@ -149,7 +149,7 @@ const ge = { class: "dpi-project-process-step V3-typography" }, we = { class: "s
|
|
|
149
149
|
]),
|
|
150
150
|
_: 1
|
|
151
151
|
}, 16, ["modelValue", "setup-fn"]),
|
|
152
|
-
h ?
|
|
152
|
+
h ? y("", !0) : (u(), f(x, { key: 1 }, [
|
|
153
153
|
t[7] || (t[7] = o("h5", null, "oder", -1)),
|
|
154
154
|
t[8] || (t[8] = o("p", null, " Sollte die verwendete Software noch nicht im Katalog verfügbar sein, können Sie die Anlage bei uns beantragen. Damit Sie die Dokumentation Ihres Digitalen Zwillings dennoch abschließen können, ordnen Sie dem Prozessschritt vorübergehend den Platzhalter-Datensatz „Software in Beantragung“ zu. Sobald die gewünschten Daten im Katalog verfügbar sind, können Sie diesen Platzhalter durch den tatsächlichen Software-Datensatz ersetzen. ", -1)),
|
|
155
155
|
o("div", Fe, [
|
|
@@ -162,7 +162,7 @@ const ge = { class: "dpi-project-process-step V3-typography" }, we = { class: "s
|
|
|
162
162
|
], 64))
|
|
163
163
|
]),
|
|
164
164
|
o("section", ke, [
|
|
165
|
-
t[9] || (t[9] = o("h5", null, "Wie haben Sie die Software verwendet?", -1)),
|
|
165
|
+
t[9] || (t[9] = o("h5", null, " Wie haben Sie die Software verwendet? ", -1)),
|
|
166
166
|
t[10] || (t[10] = o("p", null, " Beschreiben Sie, wie Sie die angegebene Software verwendet haben. Wählen Sie hierzu die genutzten Funktionalitäten aus oder ergänzen Sie diese. ", -1)),
|
|
167
167
|
L.value.length > 0 ? (u(), f("div", Ve, [
|
|
168
168
|
(u(!0), f(x, null, de(L.value, (e, s) => (u(), f("div", {
|
|
@@ -190,11 +190,12 @@ const ge = { class: "dpi-project-process-step V3-typography" }, we = { class: "s
|
|
|
190
190
|
"@search": !1,
|
|
191
191
|
"@selected": !0
|
|
192
192
|
},
|
|
193
|
-
data: { "@value": e, URI: e }
|
|
193
|
+
data: { "@value": e, URI: e },
|
|
194
|
+
"select-value": !0
|
|
194
195
|
}, null, 8, ["for", "text", "data"])
|
|
195
196
|
]))), 128))
|
|
196
|
-
])) :
|
|
197
|
-
a(
|
|
197
|
+
])) : y("", !0),
|
|
198
|
+
a(ve, g({
|
|
198
199
|
modelValue: i(V),
|
|
199
200
|
"onUpdate:modelValue": t[2] || (t[2] = (e) => w(V) ? V.value = e : null),
|
|
200
201
|
options: te.value,
|
|
@@ -230,7 +231,7 @@ const ge = { class: "dpi-project-process-step V3-typography" }, we = { class: "s
|
|
|
230
231
|
}, null, 8, ["disabled", "onClick"])
|
|
231
232
|
])
|
|
232
233
|
]),
|
|
233
|
-
|
|
234
|
+
y("", !0),
|
|
234
235
|
o("section", ze, [
|
|
235
236
|
h ? (u(), P(F, {
|
|
236
237
|
key: 0,
|
|
@@ -1,64 +1,69 @@
|
|
|
1
|
-
import { reactive as
|
|
1
|
+
import { reactive as c, createElementBlock as h, openBlock as s, createElementVNode as i, createVNode as m, Fragment as g, renderList as p, unref as o, createBlock as b } from "vue";
|
|
2
2
|
import { FormKit as f } from "@formkit/vue";
|
|
3
|
-
import
|
|
3
|
+
import w from "../../../components/StepActionsSection.vue.js";
|
|
4
4
|
import k from "../TextArea/TextAreaDefinition.js";
|
|
5
5
|
/* empty css */
|
|
6
|
-
import
|
|
7
|
-
const
|
|
6
|
+
import z from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
7
|
+
const v = { class: "project-phasen-initiieren" }, B = { class: "project-phasen-initiieren-content" }, u = 1e3, S = {
|
|
8
8
|
__name: "InitiierenStep",
|
|
9
|
-
setup(
|
|
10
|
-
const n =
|
|
9
|
+
setup(j) {
|
|
10
|
+
const n = c({
|
|
11
11
|
questions: {
|
|
12
12
|
projectTriggers: {
|
|
13
|
-
question: "Was waren Auslöser für das
|
|
13
|
+
question: "Was waren Auslöser für das Projekt (z.B. rechtliche oder politische Vorgaben, intrinsische Motivation oder inspirierende Projekte aus anderen Kommunen)?",
|
|
14
|
+
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.",
|
|
14
15
|
answer: ""
|
|
15
16
|
},
|
|
16
17
|
involvedStakeholders: {
|
|
17
18
|
question: "Welche relevanten Akteure - innerhalb oder außerhalb Ihrer Organisation - haben Sie frühzeitig involviert (z.B. um politische Rückendeckung sicherzustellen)?",
|
|
19
|
+
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.",
|
|
18
20
|
answer: ""
|
|
19
21
|
},
|
|
20
22
|
dataCollectionMethod: {
|
|
21
23
|
question: "Wie haben Sie den Bestand vorhandener Daten erhoben?",
|
|
24
|
+
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.",
|
|
22
25
|
answer: ""
|
|
23
26
|
},
|
|
24
27
|
budgetPlanning: {
|
|
25
28
|
question: "Wie haben Sie das (erste) Budget berechnet und nachhaltig gesichert?",
|
|
29
|
+
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.",
|
|
26
30
|
answer: ""
|
|
27
31
|
}
|
|
28
32
|
}
|
|
29
|
-
}), d = Object.keys(n.questions).map((
|
|
30
|
-
name:
|
|
31
|
-
text: n.questions[
|
|
33
|
+
}), d = Object.keys(n.questions).map((t) => ({
|
|
34
|
+
name: t,
|
|
35
|
+
text: n.questions[t].question
|
|
32
36
|
}));
|
|
33
|
-
function
|
|
34
|
-
n.questions[
|
|
37
|
+
function l(t, r) {
|
|
38
|
+
n.questions[t].answer = r.slice(0, u);
|
|
35
39
|
}
|
|
36
|
-
return (
|
|
37
|
-
|
|
40
|
+
return (t, r) => (s(), h("div", v, [
|
|
41
|
+
r[1] || (r[1] = i("div", { class: "project-phasen-initiieren-header" }, [
|
|
38
42
|
i("h4", null, "Initiieren")
|
|
39
43
|
], -1)),
|
|
40
|
-
i("div",
|
|
41
|
-
|
|
42
|
-
(
|
|
44
|
+
i("div", B, [
|
|
45
|
+
r[0] || (r[0] = i("p", { class: "project-phasen-initiieren-description" }, " Von der Projektidee bis zum Projektplan. ", -1)),
|
|
46
|
+
(s(!0), h(g, null, p(o(d), (e) => (s(), b(o(f), {
|
|
43
47
|
id: e.name,
|
|
44
48
|
key: e.name,
|
|
45
49
|
modelValue: n.questions[e.name].answer,
|
|
46
50
|
"onUpdate:modelValue": (a) => n.questions[e.name].answer = a,
|
|
51
|
+
placeholder: n.questions[e.name].placeholder,
|
|
47
52
|
label: e.text,
|
|
48
|
-
type:
|
|
53
|
+
type: o(k),
|
|
49
54
|
name: e.name,
|
|
50
55
|
validation: "length:0,1000",
|
|
51
56
|
hint: "true",
|
|
52
|
-
help: `${n.questions[e.name].answer.length || 0} von ${
|
|
57
|
+
help: `${n.questions[e.name].answer.length || 0} von ${u} Zeichen`,
|
|
53
58
|
"count-hint": !0,
|
|
54
|
-
maxlength:
|
|
55
|
-
onInput: (a) =>
|
|
56
|
-
}, null, 8, ["id", "modelValue", "onUpdate:modelValue", "label", "type", "name", "help", "onInput"]))), 128))
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
maxlength: u,
|
|
60
|
+
onInput: (a) => l(e.name, a)
|
|
61
|
+
}, null, 8, ["id", "modelValue", "onUpdate:modelValue", "placeholder", "label", "type", "name", "help", "onInput"]))), 128))
|
|
62
|
+
]),
|
|
63
|
+
m(w)
|
|
59
64
|
]));
|
|
60
65
|
}
|
|
61
|
-
},
|
|
66
|
+
}, x = /* @__PURE__ */ z(S, [["__scopeId", "data-v-16f687f3"]]);
|
|
62
67
|
export {
|
|
63
|
-
|
|
68
|
+
x as default
|
|
64
69
|
};
|
|
@@ -1,64 +1,70 @@
|
|
|
1
|
-
import { reactive as
|
|
2
|
-
import { FormKit as
|
|
1
|
+
import { reactive as c, createElementBlock as d, openBlock as s, createElementVNode as i, createVNode as m, Fragment as p, renderList as g, unref as l, createBlock as b } from "vue";
|
|
2
|
+
import { FormKit as f } from "@formkit/vue";
|
|
3
3
|
import w from "../../../components/StepActionsSection.vue.js";
|
|
4
|
-
import
|
|
4
|
+
import k from "../TextArea/TextAreaDefinition.js";
|
|
5
5
|
/* empty css */
|
|
6
|
-
import
|
|
7
|
-
const
|
|
6
|
+
import z from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
7
|
+
const x = { class: "project-phasen-planen" }, A = { class: "project-phasen-planen-content" }, u = 1e3, V = {
|
|
8
8
|
__name: "PlanenStep",
|
|
9
|
-
setup(
|
|
10
|
-
const n =
|
|
9
|
+
setup(S) {
|
|
10
|
+
const n = c({
|
|
11
11
|
questions: {
|
|
12
12
|
requirementsGatherings: {
|
|
13
13
|
question: "Wie haben Sie die Anforderungen erhoben und dokumentiert (z.B. durch Markterkundung, externe Berater oder Workshops)?",
|
|
14
|
+
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.",
|
|
14
15
|
answer: ""
|
|
15
16
|
},
|
|
16
17
|
tenderFormat: {
|
|
17
18
|
question: "Welche Ausschreibungsform haben Sie gewählt und warum? Gab es eine Vorlage oder Muster-Leistungsbeschreibung, die hilfreich war und die Sie teilen können?",
|
|
19
|
+
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
|
+
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.`,
|
|
18
21
|
answer: ""
|
|
19
22
|
},
|
|
20
23
|
tenderTips: {
|
|
21
24
|
question: "Welche Tipps haben Sie für eine erfolgreiche Ausschreibung?",
|
|
25
|
+
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.",
|
|
22
26
|
answer: ""
|
|
23
27
|
},
|
|
24
28
|
resourcePlanning: {
|
|
25
29
|
question: "Wie haben Sie die Ressourcenplanung für die Entwicklung und den Betrieb Ihres Digitalen Zwillings gestaltet und gesichert?",
|
|
30
|
+
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.",
|
|
26
31
|
answer: ""
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
|
-
}),
|
|
30
|
-
name:
|
|
31
|
-
text: n.questions[
|
|
34
|
+
}), o = Object.keys(n.questions).map((t) => ({
|
|
35
|
+
name: t,
|
|
36
|
+
text: n.questions[t].question
|
|
32
37
|
}));
|
|
33
|
-
function
|
|
34
|
-
n.questions[
|
|
38
|
+
function h(t, r) {
|
|
39
|
+
n.questions[t].answer = r.slice(0, u);
|
|
35
40
|
}
|
|
36
|
-
return (
|
|
37
|
-
|
|
38
|
-
|
|
41
|
+
return (t, r) => (s(), d("div", x, [
|
|
42
|
+
r[1] || (r[1] = i("div", { class: "project-phasen-planen-header" }, [
|
|
43
|
+
i("h4", null, "Planen")
|
|
39
44
|
], -1)),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
(
|
|
45
|
+
i("div", A, [
|
|
46
|
+
r[0] || (r[0] = i("p", { class: "project-phasen-planen-description" }, " Von der Ausschreibung bis zur Vergabe. ", -1)),
|
|
47
|
+
(s(!0), d(p, null, g(l(o), (e) => (s(), b(l(f), {
|
|
43
48
|
key: e.name,
|
|
49
|
+
placeholder: n.questions[e.name].placeholder,
|
|
44
50
|
id: e.name,
|
|
45
51
|
modelValue: n.questions[e.name].answer,
|
|
46
52
|
"onUpdate:modelValue": (a) => n.questions[e.name].answer = a,
|
|
47
53
|
label: e.text,
|
|
48
|
-
type:
|
|
54
|
+
type: l(k),
|
|
49
55
|
name: e.name,
|
|
50
56
|
validation: "length:0,1000",
|
|
51
57
|
hint: "true",
|
|
52
|
-
help: `${n.questions[e.name].answer.length || 0} von ${
|
|
58
|
+
help: `${n.questions[e.name].answer.length || 0} von ${u} Zeichen`,
|
|
53
59
|
"count-hint": !0,
|
|
54
|
-
onInput: (a) =>
|
|
55
|
-
maxlength:
|
|
56
|
-
}, null, 8, ["id", "modelValue", "onUpdate:modelValue", "label", "type", "name", "help", "onInput"]))), 128))
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
onInput: (a) => h(e.name, a),
|
|
61
|
+
maxlength: u
|
|
62
|
+
}, null, 8, ["placeholder", "id", "modelValue", "onUpdate:modelValue", "label", "type", "name", "help", "onInput"]))), 128))
|
|
63
|
+
]),
|
|
64
|
+
m(w)
|
|
59
65
|
]));
|
|
60
66
|
}
|
|
61
|
-
}, P = /* @__PURE__ */
|
|
67
|
+
}, P = /* @__PURE__ */ z(V, [["__scopeId", "data-v-009303d2"]]);
|
|
62
68
|
export {
|
|
63
69
|
P as default
|
|
64
70
|
};
|