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.