PageSourceSearch

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

js freienwill.de collected 2026-10-03 00:42:26 UTC 13,424 bytes, 347 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-10-01-1531" };
5		var t = new e.Error().stack;
6		t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "81fcab8c-5c00-44e6-ab28-4f41698785f1", e._sentryDebugIdIdentifier = "sentry-dbid-81fcab8c-5c00-44e6-ab28-4f41698785f1");
7	} catch (e) {}
8})();
9import { Ac as e, Ba as t, Bo as n, Gr as r, Jc as i, Pi as ee, Ua as a, Vs as o, ca as s, jc as c, mc as l, t as u } from "./topMessageHandler_CaWydTPF.min.js";
10import { F as d, L as f, N as p, R as m, T as te, X as h, Y as g, _, c as v, d as y, f as b, g as x, i as S, jt as C, l as w, lt as T, nt as E, tt as ne, u as D, y as re } from "./runtime-core.esm-bundler_DscPLG0X.min.js";
11import { r as ie } from "./vuex.esm-bundler_ByHC_Vqx.min.js";
12import { t as ae } from "./ListPager_ClTN-8nC.min.js";
13import { t as oe } from "./searchAbstract_DeMDx6Lx.min.js";
14import { t as se } from "./AppContent_DtiJZ3PY.min.js";
15import { t as ce } from "./CreditViewPopup_Di8IWCS5.min.js";
16import { t as le } from "./RelativeDateTime_DVxgQc0c.min.js";
17import { t as O } from "./TableSearch_Cq1hc2fH.min.js";
18import { t as k } from "./CreditRequestPopup_BLIthfYg.min.js";
19//#region src/views/time-tracker/overtime/OvertimeCreditList.vue?vue&type=script&setup=true&lang.ts
20var A = { class: "row" }, j = {
21	key: 0,
22	class: "col-lg-3"
23}, M = {
24	key: 1,
25	class: "col-lg-3"
26}, N = { class: "portuna-table portuna-table-bordered spacer-15" }, P = { class: "text-center" }, F = { class: "text-center" }, I = { class: "text-center" }, L = { key: 0 }, R = { key: 0 }, z = {
27	key: 1,
28	class: "label"
29}, B = { class: "text-center" }, V = { class: "text-center" }, H = { class: "text-center" }, U = { class: "text-center" }, W = { key: 0 }, ue = { key: 1 }, de = { class: "text-center" }, fe = { key: 0 }, pe = { key: 1 }, me = { key: 2 }, he = { key: 3 }, ge = {
30	key: 0,
31	"aria-label": "Antrag annehmen",
32	class: "icon-interact"
33}, _e = {
34	"aria-hidden": "true",
35	class: "material-icons text-success",
36	title: "Antrag annehmen",
37	role: "img"
38}, ve = {
39	key: 1,
40	"aria-label": "Antrag ablehnen",
41	class: "icon-interact"
42}, ye = {
43	"aria-hidden": "true",
44	class: "material-icons text-danger",
45	title: "Antrag ablehnen",
46	role: "img"
47}, be = {
48	key: 1,
49	"aria-label": "Antrag zurückziehen",
50	class: "icon-interact"
51}, xe = {
52	"aria-hidden": "true",
53	class: "material-icons text-warning",
54	title: "Antrag zurückziehen",
55	role: "img"
56}, Se = {
57	"aria-label": "Antrag anzeigen",
58	class: "icon-interact"
59}, Ce = {
60	"aria-hidden": "true",
61	class: "material-icons",
62	title: "Antrag anzeigen",
63	role: "img"
64}, we = { key: 1 }, G = /* @__PURE__ */ re({
65	__name: "OvertimeCreditList",
66	setup(re, { expose: G }) {
67		let K = i(), q = K.currentUser, Te = s(), Ee = ie(), De = v(() => "employee-time-tracker-overtime-credit-list"), Oe = v(() => [
68			{
69				value: 0,
70				label: "Beantragt",
71				icon: "hourglass_empty",
72				iconColor: ""
73			},
74			{
75				value: 1,
76				label: "Antrag angenommen",
77				icon: "check",
78				iconColor: "#26a665"
79			},
80			{
81				value: 2,
82				label: "Antrag abgelehnt",
83				icon: "clear",
84				iconColor: "#d9534f"
85			},
86			{
87				value: 3,
88				label: "Antrag zurückgezogen",
89				icon: "undo",
90				iconColor: "#f0ad4e"
91			}
92		]), J = E(), ke = ne([
93			r(),
94			{
95				label: "Zeiterfassung",
96				href: { name: "time-tracker" }
97			},
98			{ label: "Stundengutschriften" }
99		]), Y = E([]), X = E([]), Z = E(!1), Ae = v(() => {
100			let e = X.value;
101			return e.push({
102				label: "Ohne Abteilung",
103				value: 0
104			}), e;
105		}), je = () => Ee.dispatch("getPage", { url: "/employee/time-tracker/overtime/fetch-credit-list" }).then(({ data: { data: e } }) => {
106			Y.value = e.entries, X.value = e.entities, Z.value = e.has_allowed;
107		}).catch((e) => {
108			l(e), Te.routerGoBack();
109		}), Q = (t = 0, n = !1, r = null) => {
110			if (n) e.show("Bitte warten ..."), c.post(`/employee/time-tracker/overtime/request-credit/id/${t}/type/3`).then(({ data: { data: n } }) => {
111				let r = Array.from(Y.value);
112				for (let e in r) r.hasOwnProperty(e) && r[e].id === t && (r[e] = Object.assign({}, r[e], n.entry));
113				Y.value = r, e.hide();
114			});
115			else {
116				let e = new o({
117					title: "Stundengutschrift beantragen",
118					titleIcon: "access_time",
119					size: "small",
120					component: k,
121					componentProps: {
122						id: t,
123						actionType: r
124					},
125					events: {
126						add: (t) => {
127							let n = Array.from(Y.value);
128							n.unshift(t), Y.value = n, e.close();
129						},
130						update: (n) => {
131							u.success("Der Antrag wurde erfolgreich bearbeitet.");
132							let r = Array.from(Y.value);
133							for (let e in r) r.hasOwnProperty(e) && r[e].id === t && (r[e] = Object.assign({}, r[e], n));
134							Y.value = r, e.close();
135						}
136					}
137				});
138				e.open();
139			}
140		}, Me = (e) => {
141			let t = new o({
142				title: "Antrag für Stundengutschrift anzeigen",
143				titleIcon: "access_time",
144				size: "small",
145				component: ce,
146				componentProps: { id: e }
147			});
148			t.Instance.emitter.on("update", (n) => {
149				let r = Array.from(Y.value);
150				for (let t = 0; t < r.length; t++) r[t].id === e && (r[t] = Object.assign({}, r[t], n));
151				Y.value = r, t.close();
152			}), t.open();
153		};
154		je();
155		let $ = oe({
156			emitter: K.emitter,
157			searchStorageScope: De
158		});
159		return G(Object.assign({}, K, $.expose)), (e, r) => {
160			let i = f("router-link"), o = f("person-box-abstract"), s = m("sort"), c = m("tooltip"), l = m("interact");
161			return p(), D(se, {
162				class: "module-time-tracker",
163				headline: "Zeiterfassung: Stundengutschriften",
164				breadcrumb: ke
165			}, {
166				default: g(() => [_(ae, te(T($).properties, {
167					entries: Y.value,
168					ref_key: "list",
169					ref: J
170				}), {
171					default: g(({ listEntries: e, loading: u }) => [
172						w("div", A, [
173							T(q).employeeId || T(q).isSupport ? (p(), b("div", j, [w("button", {
174								class: "button button-primary button-block",
175								onClick: r[0] || (r[0] = (e) => Q(0))
176							}, [...r[5] || (r[5] = [
177								w("i", {
178									class: "material-icons",
179									"aria-hidden": "true",
180									role: "img"
181								}, "assignment", -1),
182								x(),
183								w("span", null, "Stundengutschrift beantragen", -1)
184							])])])) : y("", !0),
185							r[7] || (r[7] = x()),
186							Z.value ? (p(), b("div", M, [_(t, {
187								modelValue: T($).model.entities,
188								"onUpdate:modelValue": r[1] || (r[1] = (e) => T($).model.entities = e),
189								options: Ae.value,
190								"aria-label": "Auswahl Abteilungen",
191								multiple: ""
192							}, {
193								placeholder: g(() => [...r[6] || (r[6] = [x("\n                            [Abteilung wählen]\n                        ", -1)])]),
194								_: 1
195							}, 8, ["modelValue", "options"])])) : y("", !0)
196						]),
197						r[45] || (r[45] = x()),
198						w("table", N, [
199							r[42] || (r[42] = w("colgroup", null, [
200								w("col", { style: { width: "45px" } }),
201								x(),
202								w("col"),
203								x(),
204								w("col"),
205								x(),
206								w("col"),
207								x(),
208								w("col"),
209								x(),
210								w("col"),
211								x(),
212								w("col", { style: { width: "160px" } }),
213								x(),
214								w("col", { style: { width: "100px" } })
215							], -1)),
216							r[43] || (r[43] = x()),
217							w("thead", null, [w("tr", null, [
218								r[11] || (r[11] = w("th", { class: "text-center background-dark" }, [w("i", {
219									class: "material-icons md-20 table-icon contrast-primary-light",
220									"aria-hidden": "true",
221									role: "img"
222								}, "timelapse")], -1)),
223								r[12] || (r[12] = x()),
224								_(O, {
225									text: "Mitarbeiter",
226									"sort-field": "name",
227									modelValue: T($).model.name,
228									"onUpdate:modelValue": r[2] || (r[2] = (e) => T($).model.name = e)
229								}, null, 8, ["modelValue"]),
230								r[13] || (r[13] = x()),
231								h((p(), b("th", P, [...r[8] || (r[8] = [x("Arbeitstag", -1)])])), [[s, "work_day"]]),
232								r[14] || (r[14] = x()),
233								h((p(), b("th", F, [...r[9] || (r[9] = [x("Beantragte Änderung", -1)])])), [[s, "requested_minutes"]]),
234								r[15] || (r[15] = x()),
235								h((p(), b("th", I, [...r[10] || (r[10] = [x("Erstellt", -1)])])), [[s, "created"]]),
236								r[16] || (r[16] = x()),
237								_(O, {
238									class: "text-center",
239									text: "Bearbeiter",
240									"sort-field": "editor_name",
241									modelValue: T($).model.editor_name,
242									"onUpdate:modelValue": r[3] || (r[3] = (e) => T($).model.editor_name = e)
243								}, null, 8, ["modelValue"]),
244								r[17] || (r[17] = x()),
245								_(O, {
246									class: "text-center",
247									text: "Status",
248									"sort-field": "state",
249									modelValue: T($).model.state,
250									"onUpdate:modelValue": r[4] || (r[4] = (e) => T($).model.state = e),
251									options: Oe.value
252								}, null, 8, ["modelValue", "options"]),
253								r[18] || (r[18] = x()),
254								r[19] || (r[19] = w("td", null, null, -1))
255							])]),
256							r[44] || (r[44] = x()),
257							e.length ? (p(), b("tbody", L, [(p(!0), b(S, null, d(e, (e) => (p(), b("tr", null, [
258								r[33] || (r[33] = w("td", null, null, -1)),
259								r[34] || (r[34] = x()),
260								w("td", null, [
261									(p(), D(o, {
262										type: "employee",
263										id: e.employee_id,
264										class: "tiny",
265										key: `employee_${e.employee_id}`
266									}, {
267										name: g(({ username: t }) => [_(i, { to: {
268											name: "employee-view",
269											params: { id: e.employee_id }
270										} }, {
271											default: g(() => [w("strong", null, C(t), 1)]),
272											_: 2
273										}, 1032, ["to"])]),
274										_: 2
275									}, 1032, ["id"])),
276									r[20] || (r[20] = x()),
277									w("small", null, [(p(!0), b(S, null, d(e.entities.slice(0, 3), (t, n) => (p(), b(S, null, [x(C(t ? T(a)(t, "entity") : "Ohne Abteilung"), 1), n !== 2 && e.entities.length - 1 > n ? (p(), b("span", R, ",")) : n === 2 && e.entities.length > 3 ? h((p(), b("span", z, [x(C("+" + (e.entities.length - 3)), 1)])), [[c, T(ee)(e.entities, "entity")]]) : y("", !0)], 64))), 256))])
278								]),
279								r[35] || (r[35] = x()),
280								w("td", B, C(T(n)("d.m.Y", e.work_day)), 1),
281								r[36] || (r[36] = x()),
282								w("td", V, C(e.requested_minutes < 0 ? "-" : "") + " " + C(e.requested), 1),
283								r[37] || (r[37] = x()),
284								w("td", H, [_(le, {
285									date: e.created,
286									tag: "span"
287								}, null, 8, ["date"])]),
288								r[38] || (r[38] = x()),
289								w("td", U, [e.editor ? (p(), b("span", W, C(T(a)(e.editor)), 1)) : (p(), b("span", ue, [...r[21] || (r[21] = [w("i", {
290									class: "material-icons",
291									"aria-hidden": "true",
292									role: "img"
293								}, "remove", -1)])]))]),
294								r[39] || (r[39] = x()),
295								w("td", de, [e.state === 0 ? h((p(), b("span", fe, [...r[22] || (r[22] = [w("i", {
296									class: "material-icons",
297									"aria-hidden": "true",
298									role: "img"
299								}, "hourglass_empty", -1)])])), [[c, "Antrag gestellt"]]) : e.state === 1 ? h((p(), b("span", pe, [...r[23] || (r[23] = [w("i", {
300									class: "material-icons text-success",
301									"aria-hidden": "true",
302									role: "img"
303								}, "check", -1)])])), [[c, "Antrag angenommen"]]) : e.state === 2 ? h((p(), b("span", me, [...r[24] || (r[24] = [w("i", {
304									class: "material-icons text-danger",
305									"aria-hidden": "true",
306									role: "img"
307								}
307, "clear", -1)])])), [[c, "Antrag abgelehnt"]]) : e.state === 3 ? h((p(), b("span", he, [...r[25] || (r[25] = [w("i", {
308									class: "material-icons text-warning",
309									"aria-hidden": "true",
310									role: "img"
311								}, "undo", -1)])])), [[c, "Antrag zurückgezogen"]]) : y("", !0)]),
312								r[40] || (r[40] = x()),
313								w("td", null, [
314									e.isAllowedEdit ? (p(), b(S, { key: 0 }, [
315										e.state === 0 ? h((p(), b("span", ge, [h((p(), b("i", _e, [...r[26] || (r[26] = [x("check_circle", -1)])])), [[c]])])), [[l, () => Q(e.id, !1, 1)]]) : y("", !0),
316										r[28] || (r[28] = x()),
317										e.state === 0 && e.employee_id !== T(q).employeeId ? h((p(), b("span", ve, [h((p(), b("i", ye, [...r[27] || (r[27] = [x("remove_circle", -1)])])), [[c]])])), [[l, () => Q(e.id, !1, 2)]]) : y("", !0)
318									], 64)) : y("", !0),
319									r[31] || (r[31] = x()),
320									e.state === 0 && e.employee_id === T(q).employeeId ? h((p(), b("span", be, [h((p(), b("i", xe, [...r[29] || (r[29] = [x("undo", -1)])])), [[c]])])), [[l, () => Q(e.id, !0)]]) : y("", !0),
321									r[32] || (r[32] = x()),
322									h((p(), b("span", Se, [h((p(), b("i", Ce, [...r[30] || (r[30] = [x("assignment", -1)])])), [[c]])])), [[l, () => Me(e.id)]])
323								])
324							]))), 256))])) : u ? y("", !0) : (p(), b("tr", we, [...r[41] || (r[41] = [w("td", { colspan: "8" }, [w("div", { class: "start-page-container text-center" }, [w("div", null, [
325								w("i", {
326									"aria-hidden": "true",
327									class: "material-icons start-page-icon",
328									role: "img"
329								}, "timelapse"),
330								x(),
331								w("div", { class: "start-page-title" }, "Stundengutschriften"),
332								x(),
333								w("div", { class: "start-page-description" }, "Es wurden keine Stundengutschriften gefunden.")
334							])])], -1)])]))
335						])
336					]),
337					_: 1
338				}, 16, ["entries"])]),
339				_: 1
340			}, 8, ["breadcrumb"]);
341		};
342	}
343});
344//#endregion
345export { G as default };
346
347//# sourceMappingURL=OvertimeCreditList_OQLtUMCJ.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.