PageSourceSearch

https://intranet.freienwill.de/dist/js/ViolationList_kJrgzJD8.min.js

js freienwill.de collected 2026-09-25 10:59:38 UTC 10,113 bytes, 259 lines download raw bytes

1(function() {
2	try {
3		var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
4		e.SENTRY_RELEASE = { id: "live_2026-09-24-1148" };
5		var t = new e.Error().stack;
6		t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "379be75f-3238-416f-965e-947b89989ec1", e._sentryDebugIdIdentifier = "sentry-dbid-379be75f-3238-416f-965e-947b89989ec1");
7	} catch (e) {}
8})();
9import { Ac as e, Gr as t, Ha as n, Wr as r, bi as i, kc as a, pc as o, qc as s, sa as c, t as l, za as u, zo as d } from "./topMessageHandler_BfquHqnZ.min.js";
10import { F as f, L as p, N as m, R as h, T as ee, X as g, Y as _, _ as v, c as y, d as b, f as x, g as S, i as C, jt as w, l as T, lt as E, nt as D, tt as O, u as k, y as te } from "./runtime-core.esm-bundler_Bi-f_fgM.min.js";
11import { r as ne } from "./vuex.esm-bundler_BYiu1CGj.min.js";
12import { t as re } from "./ListPager_CDbzRUPQ.min.js";
13import { t as ie } from "./searchAbstract_D4oRJGb4.min.js";
14import { t as ae } from "./AppContent_CRi7sAir.min.js";
15import { t as A } from "./TableSearch_BvyCJS9P.min.js";
16//#region src/views/time-tracker/violation/ViolationList.vue?vue&type=script&setup=true&lang.ts
17var j = {
18	key: 0,
19	class: "row"
20}, M = { class: "col-lg-3" }, N = { class: "col-lg-3" }, P = { class: "portuna-table portuna-table-bordered spacer-15" }, F = { key: 0 }, I = { key: 1 }, L = { key: 0 }, R = {
21	key: 1,
22	class: "material-icons text-dimmed",
23	"aria-hidden": "true",
24	role: "img"
25}, z = { key: 0 }, B = {
26	key: 1,
27	class: "material-icons text-dimmed",
28	"aria-hidden": "true",
29	role: "img"
30}, V = {
31	key: 0,
32	"aria-label": "Zur Kenntnis nehmen"
33}, H = {
34	"aria-hidden": "true",
35	class: "material-icons text-success",
36	role: "img"
37}, U = /* @__PURE__ */ te({
38	__name: "ViolationList",
39	setup(te, { expose: U }) {
40		let W = s(), G = W.currentUser, K = c(), q = ne(), oe = y(() => [{
41			value: 0,
42			label: "Offen",
43			icon: "hourglass_empty"
44		}, {
45			value: 1,
46			label: "Zur Kenntnis genommen",
47			icon: "check",
48			iconColor: "#3b8136"
49		}]), se = O([
50			r(),
51			{
52				label: "Zeiterfassung",
53				href: { name: "time-tracker" }
54			},
55			{ label: "Arbeitszeitverstöße" }
56		]), J = D([]), Y = D({}), X = D([]), Z = D(!1), ce = t(), le = y(() => Object.entries(Y.value).map(([e, t]) => ({
57			value: parseInt(e),
58			label: t
59		}))), ue = (e) => {
60			e.checked = [0], e.employee_state = [1];
61		}, Q = (e) => {
62			Array.isArray(e.entities) && e.entities.length === 0 && delete e.entities;
63		}, de = () => q.dispatch("getPage", { url: "/employee/time-tracker/violation/fetch-list" }).then(({ data: { data: { entries: e, entities: t, editors: n, show_filters: r } } }) => {
64			J.value = e, Y.value = t, X.value = n, Z.value = r;
65		}).catch((e) => {
66			o(e), K.routerGoBack();
67		}), fe = (t) => {
68			a.show("Bitte warten ..."), e.post(`/employee/time-tracker/violation/change-status/id/${t}`).then(({ data: { status: e } }) => {
69				if (e === "OK") {
70					l.success("Der Verstoß wurde erfolgreich zur Kenntnis genommen.");
71					for (let e of J.value) e.id === t && (e.checked = 1, e.editor = G.value.id, e.edited = d("d.m.Y H:i", /* @__PURE__ */ new Date()));
72				} else l.error("Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später noc
72h einmal.");
73				a.hide();
74			}).catch(() => {
75				l.error("Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später noch einmal."), a.hide();
76			});
77		};
78		de();
79		let $ = ie({
80			emitter: W.emitter,
81			preInitSearch: ue,
82			preSearch: Q
83		});
84		return U(Object.assign({}, W, $.expose)), (e, t) => {
85			let r = p("router-link"), a = p("person-box-abstract"), o = h("tooltip"), s = h("interact");
86			return m(), k(ae, {
87				class: "module-time-tracker",
88				headline: "Zeiterfassung: Arbeitszeitverstöße",
89				breadcrumb: se
90			}, {
91				default: _(() => [v(re, ee(E($).properties, { entries: J.value }), {
92					default: _(({ listEntries: e }) => [
93						Z.value ? (m(), x("div", j, [
94							T("div", M, [v(u, {
95								modelValue: E($).model.employee_state,
96								"onUpdate:modelValue": t[0] || (t[0] = (e) => E($).model.employee_state = e),
97								options: E(ce),
98								"aria-label": "Auswahl Mitarbeiterstatus",
99								multiple: ""
100							}, {
101								placeholder: _(() => [...t[8] || (t[8] = [S("\n                            [Mitarbeiterstatus wählen]\n                        ", -1)])]),
102								_: 1
103							}, 8, ["modelValue", "options"])]),
104							t[10] || (t[10] = S()),
105							T("div", N, [v(u, {
106								modelValue: E($).model.entities,
107								"onUpdate:modelValue": t[1] || (t[1] = (e) => E($).model.entities = e),
108								options: le.value,
109								"aria-label": "Auswahl Abteilungen",
110								multiple: ""
111							}, {
112								placeholder: _(() => [...t[9] || (t[9] = [S("[Abteilung wählen]", -1)])]),
113								_: 1
114							}, 8, ["modelValue", "options"])])
115						])) : b("", !0),
116						t[34] || (t[34] = S()),
117						T("table", P, [
118							t[31] || (t[31] = T("colgroup", null, [
119								T("col", { style: { width: "45px" } }),
120								S(),
121								T("col", { style: { width: "25%" } }),
122								S(),
123								T("col"),
124								S(),
125								T("col"),
126								S(),
127								T("col"),
128								S(),
129								T("col"),
130								S(),
131								T("col", { style: { width: "80px" } })
132							], -1)),
133							t[32] || (t[32] = S()),
134							T("thead", null, [T("tr", null, [
135								t[11] || (t[11] = T("th", { class: "text-center background-dark" }, [T("i", {
136									class: "material-icons md-20 table-icon contrast-primary-light",
137									"aria-hidden": "true",
138									role: "img"
139								}, "view_list")], -1)),
140								t[12] || (t[12] = S()),
141								v(A, {
142									text: "Mitarbeiter",
143									"sort-field": "surname",
144									modelValue: E($).model.full_name,
145									"onUpdate:modelValue": t[2] || (t[2] = (e) => E($).model.full_name = e)
146								}, null, 8, ["modelValue"]),
147								t[13] || (t[13] = S()),
148								v(A, {
149									text: "Art",
150									"sort-field": "type",
151									modelValue: E($).model.type,
152									"onUpdate:modelValue": t[3] || (t[3] = (e) => E($).model.type = e)
153								}, null, 8, ["modelValue"]),
154								t[14] || (t[14] = S()),
155								v(A, {
156									text: "Datum",
157									"sort-field": "stamp",
158									modelValue: E($).model.stamp,
159									"onUpdate:modelValue": t[4] || (t[4] = (e) => E($).model.stamp = e),
160									datepicker: ""
161								}, null, 8, ["modelValue"]),
162								t[15] || (t[15] = S()),
163								v(A, {
164									text: "Bearbeiter",
165									"sort-field": "editor_surname",
166									modelValue: E($).model.editor,
167									"onUpdate:modelValue": t[5] || (t[5] = (e) => E($).model.editor = e),
168									options: X.value
169								}, null, 8, ["modelValue", "options"]),
170								t[16] || (t[16] = S()),
171								v(A, {
172									text: "Kenntnisnahme am",
173									"sort-field": "edited",
174									modelValue: E($).model.edited,
175									"onUpdate:modelValue": t[6] || (t[6] = (e) => E($).model.edited = e),
176									datepicker: ""
177								}, null, 8, ["modelValue"]),
178								t[17] || (t[17] = S()),
179								v(A, {
180									text: "Status",
181									"sort-field": "checked",
182									modelValue: E($).model.checked,
183									"onUpdate:modelValue": t[7] || (t[7] = (e) => E($).model.checked = e),
184									options: oe.value
185								}, null, 8, ["modelValue", "options"])
186							])]),
187							t[33] || (t[33] = S()),
188							T("tbody", null, [(m(!0), x(C, null, f(e, (e) => (m(), x("tr", null, [
189								t[24] || (t[24] = T("td", null, null, -1)),
190								t[25] || (t[25] = S()),
191								T("td", null, [
192									(m(), k(a, {
193										type: "employee",
194										id: e.employee_id,
195										class: "tiny",
196										key: `employee_${e.employee_id}`
197									}, {
198										name: _(({ username: t }) => [v(r, { to: {
199											name: "employee-view",
200											params: { id: e.employee_id }
201										} }, {
202											default: _(() => [T("strong", null, w(t), 1)]),
203											_: 2
204										}, 1032, ["to"])]),
205										_: 2
206									}, 1032, ["id"])),
207									t[19] || (t[19] = S()),
208									T("small", null, [(m(!0), x(C, null, f(e.entities.slice(0, 3), (r, i) => (m(), x(C, null, [
209										S(w(E(n)(r, "entity")) + " ", 1),
210										i !== 2 && e.entities.length - 1 > Number(i) ? (m(), x("span", F, ",")) : b("", !0),
211										t[18] || (t[18] = S()),
212										i === 2 && e.entities.length > 3 ? (m(), x("span", I, " [...]")) : b("", !0)
213									], 64))), 256))])
214								]),
215								t[26] || (t[26] = S()),
216								T("td", null, w(e.type), 1),
217								t[27] || (t[27] = S()),
218								T("td", null, w(E(d)("d.m.Y", e.stamp)), 1),
219								t[28] || (t[28] = S()),
220								T("td", null, [e.editor ? (m(), x("span", L, w(E(n)(e.editor)), 1)) : (m(), x("i", R, "remove"))]),
221								t[29] || (t[29] = S()),
222								T("td", null, [e.edited ? (m(), x("span", z, w(e.edited), 1)) : (m(), x("i", B, "remove"))]),
223								t[30] || (t[30] = S()),
224								T("td", null, [v(i, null, {
225									default: _(() => [
226										T("li", null, [e.is_allowed_edit && e.checked === 0 ? g((m(), x("div", V, [g((m(), x("i", H, [...t[20] || (t[20] = [S("check_circle", -1)])])), [[o]]), t[21] || (t[21] = S(" Zur Kenntnis nehmen\n                                ", -1))])), [[s, () => fe(e.id)]]) : b("", !0)]),
227										t[23] || (t[23] = S()),
228										T("li", null, [v(r, { to: {
229											name: "time-tracker-evaluation-view",
230											params: {
231												employee: e.employee_id,
232												week: e.from
233											}
234										} }, {
235											default: _(() => [...t[22] || (t[22] = [T("i", {
236												class: "material-icons pointer",
237												"aria-hidden": "true",
238												style: { color: "#666666" },
239												role: "img"
240											}, "date_range", -1), S(" Wochenübersicht öffnen\n                                ", -1)])]),
241											_: 1
242										}, 8, ["to"])])
243									]),
244									_: 2
245								}, 1024)])
246							]))), 256))])
247						])
248					]),
249					_: 1
250				}, 16, ["entries"])]),
251				_: 1
252			}, 8, ["breadcrumb"]);
253		};
254	}
255});
256//#endregion
257export { U as default };
258
259//# sourceMappingURL=ViolationList_kJrgzJD8.min.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.