@codingfactory/inventory-locator-client 0.1.1 → 0.1.2
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/index.cjs +2 -2
- package/dist/index.js +774 -737
- package/dist/inventory-locator-client.css +1 -1
- package/package.json +1 -1
- package/src/components/dashboard/InventoryDashboard.vue +29 -18
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ref as $, computed as J, onUnmounted as st, inject as Qe, defineComponent as ae, useId as be, watch as _e, openBlock as t, createElementBlock as n, normalizeClass as ee, createElementVNode as e, createBlock as K, resolveDynamicComponent as ct, withCtx as k, createCommentVNode as
|
|
1
|
+
import { ref as $, computed as J, onUnmounted as st, inject as Qe, defineComponent as ae, useId as be, watch as _e, openBlock as t, createElementBlock as n, normalizeClass as ee, createElementVNode as e, createBlock as K, resolveDynamicComponent as ct, withCtx as k, createCommentVNode as M, toDisplayString as d, renderSlot as he, withDirectives as ye, vShow as We, onMounted as ue, Fragment as G, renderList as ne, createVNode as I, unref as x, createTextVNode as D, normalizeStyle as ke, createStaticVNode as xe, withModifiers as me, Transition as Ie, resolveComponent as dt, withKeys as Ne, nextTick as Te, onBeforeUnmount as Ze, Teleport as ut, reactive as De, vModelText as ze, vModelCheckbox as vt } from "vue";
|
|
2
2
|
import { defineStore as Je } from "pinia";
|
|
3
3
|
import _t from "axios";
|
|
4
4
|
import { useRouter as Le } from "vue-router";
|
|
@@ -485,8 +485,8 @@ function Ve() {
|
|
|
485
485
|
var b, B;
|
|
486
486
|
r.value = !0, m.value = null;
|
|
487
487
|
try {
|
|
488
|
-
const S = h ? `?status=${h}` : "",
|
|
489
|
-
a.value =
|
|
488
|
+
const S = h ? `?status=${h}` : "", L = await X().get(Y(`/counts${S}`));
|
|
489
|
+
a.value = L.data.data;
|
|
490
490
|
} catch (S) {
|
|
491
491
|
throw m.value = ((B = (b = S.response) == null ? void 0 : b.data) == null ? void 0 : B.message) || "Failed to load sessions", S;
|
|
492
492
|
} finally {
|
|
@@ -497,13 +497,13 @@ function Ve() {
|
|
|
497
497
|
var B, S;
|
|
498
498
|
r.value = !0, m.value = null;
|
|
499
499
|
try {
|
|
500
|
-
const
|
|
500
|
+
const z = (await X().post(Y("/counts"), {
|
|
501
501
|
name: h,
|
|
502
502
|
scope_location_id: b || null
|
|
503
503
|
})).data.data;
|
|
504
|
-
return a.value.unshift(
|
|
505
|
-
} catch (
|
|
506
|
-
throw m.value = ((S = (B =
|
|
504
|
+
return a.value.unshift(z), z;
|
|
505
|
+
} catch (L) {
|
|
506
|
+
throw m.value = ((S = (B = L.response) == null ? void 0 : B.data) == null ? void 0 : S.message) || "Failed to create session", L;
|
|
507
507
|
} finally {
|
|
508
508
|
r.value = !1;
|
|
509
509
|
}
|
|
@@ -524,10 +524,10 @@ function Ve() {
|
|
|
524
524
|
var B, S;
|
|
525
525
|
r.value = !0, m.value = null;
|
|
526
526
|
try {
|
|
527
|
-
const
|
|
528
|
-
s.value =
|
|
529
|
-
} catch (
|
|
530
|
-
throw m.value = ((S = (B =
|
|
527
|
+
const L = await X().patch(Y(`/counts/${h}`), { status: b });
|
|
528
|
+
s.value = L.data.data;
|
|
529
|
+
} catch (L) {
|
|
530
|
+
throw m.value = ((S = (B = L.response) == null ? void 0 : B.data) == null ? void 0 : S.message) || "Failed to update session", L;
|
|
531
531
|
} finally {
|
|
532
532
|
r.value = !1;
|
|
533
533
|
}
|
|
@@ -547,18 +547,18 @@ function Ve() {
|
|
|
547
547
|
var B, S;
|
|
548
548
|
r.value = !0, m.value = null;
|
|
549
549
|
try {
|
|
550
|
-
const
|
|
551
|
-
b != null && b.status &&
|
|
552
|
-
const
|
|
553
|
-
o.value =
|
|
554
|
-
} catch (
|
|
555
|
-
throw m.value = ((S = (B =
|
|
550
|
+
const L = new URLSearchParams();
|
|
551
|
+
b != null && b.status && L.set("status", b.status), b != null && b.location_id && L.set("location_id", String(b.location_id)), b != null && b.discrepancies_only && L.set("discrepancies_only", "1");
|
|
552
|
+
const z = await X().get(Y(`/counts/${h}/entries?${L}`));
|
|
553
|
+
o.value = z.data.data;
|
|
554
|
+
} catch (L) {
|
|
555
|
+
throw m.value = ((S = (B = L.response) == null ? void 0 : B.data) == null ? void 0 : S.message) || "Failed to load entries", L;
|
|
556
556
|
} finally {
|
|
557
557
|
r.value = !1;
|
|
558
558
|
}
|
|
559
559
|
}
|
|
560
560
|
async function _(h, b, B, S) {
|
|
561
|
-
var
|
|
561
|
+
var L, z;
|
|
562
562
|
m.value = null;
|
|
563
563
|
try {
|
|
564
564
|
const N = (await X().post(
|
|
@@ -567,19 +567,19 @@ function Ve() {
|
|
|
567
567
|
)).data.data, Q = o.value.findIndex((C) => C.id === b);
|
|
568
568
|
return Q !== -1 && (o.value[Q] = N), N;
|
|
569
569
|
} catch (T) {
|
|
570
|
-
throw m.value = ((
|
|
570
|
+
throw m.value = ((z = (L = T.response) == null ? void 0 : L.data) == null ? void 0 : z.message) || "Failed to submit count", T;
|
|
571
571
|
}
|
|
572
572
|
}
|
|
573
573
|
async function f(h, b) {
|
|
574
574
|
var B, S;
|
|
575
575
|
m.value = null;
|
|
576
576
|
try {
|
|
577
|
-
const
|
|
577
|
+
const z = (await X().post(
|
|
578
578
|
Y(`/counts/${h}/entries/${b}/verify`)
|
|
579
579
|
)).data.data, T = o.value.findIndex((N) => N.id === b);
|
|
580
|
-
return T !== -1 && (o.value[T] =
|
|
581
|
-
} catch (
|
|
582
|
-
throw m.value = ((S = (B =
|
|
580
|
+
return T !== -1 && (o.value[T] = z), z;
|
|
581
|
+
} catch (L) {
|
|
582
|
+
throw m.value = ((S = (B = L.response) == null ? void 0 : B.data) == null ? void 0 : S.message) || "Failed to verify entry", L;
|
|
583
583
|
}
|
|
584
584
|
}
|
|
585
585
|
async function y(h) {
|
|
@@ -729,7 +729,7 @@ function Ye() {
|
|
|
729
729
|
}
|
|
730
730
|
return { labelData: a, loading: s, error: o, fetchLabel: g, printLabel: r, printBatch: m };
|
|
731
731
|
}
|
|
732
|
-
function
|
|
732
|
+
function jr() {
|
|
733
733
|
const a = $([]);
|
|
734
734
|
function s(g) {
|
|
735
735
|
a.value = g;
|
|
@@ -805,10 +805,10 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
805
805
|
"stroke-linecap": "round",
|
|
806
806
|
"stroke-linejoin": "round"
|
|
807
807
|
}, null, -1)
|
|
808
|
-
])], 2)) :
|
|
808
|
+
])], 2)) : M("", !0),
|
|
809
809
|
e("div", null, [
|
|
810
|
-
a.title ? (t(), n("h3", yt, d(a.title), 1)) :
|
|
811
|
-
a.subtitle ? (t(), n("p", mt, d(a.subtitle), 1)) :
|
|
810
|
+
a.title ? (t(), n("h3", yt, d(a.title), 1)) : M("", !0),
|
|
811
|
+
a.subtitle ? (t(), n("p", mt, d(a.subtitle), 1)) : M("", !0)
|
|
812
812
|
])
|
|
813
813
|
]),
|
|
814
814
|
_: 1
|
|
@@ -816,8 +816,8 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
816
816
|
]),
|
|
817
817
|
v.$slots.actions ? (t(), n("div", gt, [
|
|
818
818
|
he(v.$slots, "actions", {}, void 0, !0)
|
|
819
|
-
])) :
|
|
820
|
-
], 2)) :
|
|
819
|
+
])) : M("", !0)
|
|
820
|
+
], 2)) : M("", !0),
|
|
821
821
|
ye(e("div", {
|
|
822
822
|
id: m.value,
|
|
823
823
|
class: "inv-card__body",
|
|
@@ -895,44 +895,67 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
895
895
|
], -1)
|
|
896
896
|
])])) : s.$slots["icon-left"] ? (t(), n("span", Lt, [
|
|
897
897
|
he(s.$slots, "icon-left", {}, void 0, !0)
|
|
898
|
-
])) :
|
|
898
|
+
])) : M("", !0),
|
|
899
899
|
e("span", xt, [
|
|
900
900
|
he(s.$slots, "default", {}, void 0, !0)
|
|
901
901
|
]),
|
|
902
902
|
s.$slots["icon-right"] ? (t(), n("span", St, [
|
|
903
903
|
he(s.$slots, "icon-right", {}, void 0, !0)
|
|
904
|
-
])) :
|
|
904
|
+
])) : M("", !0)
|
|
905
905
|
], 10, $t));
|
|
906
906
|
}
|
|
907
|
-
}), O = /* @__PURE__ */ oe(It, [["__scopeId", "data-v-6f9fc98e"]]), zt = {
|
|
907
|
+
}), O = /* @__PURE__ */ oe(It, [["__scopeId", "data-v-6f9fc98e"]]), zt = {
|
|
908
|
+
class: "inv-dashboard",
|
|
909
|
+
"data-testid": "page-inventory-dashboard"
|
|
910
|
+
}, Mt = {
|
|
911
|
+
class: "inv-dashboard__stats",
|
|
912
|
+
"data-testid": "panel-dashboard-stats"
|
|
913
|
+
}, Vt = {
|
|
914
|
+
class: "inv-dashboard__stat-card inv-dashboard__stat-card--primary",
|
|
915
|
+
"data-testid": "stat-total-locations"
|
|
916
|
+
}, Bt = {
|
|
908
917
|
key: 0,
|
|
909
918
|
class: "inv-dashboard__stat-shimmer"
|
|
910
|
-
}, At = { class: "inv-dashboard__stat-value" }, Pt = {
|
|
919
|
+
}, At = { class: "inv-dashboard__stat-value" }, Pt = {
|
|
920
|
+
class: "inv-dashboard__stat-card inv-dashboard__stat-card--success",
|
|
921
|
+
"data-testid": "stat-products-tracked"
|
|
922
|
+
}, Ft = {
|
|
911
923
|
key: 0,
|
|
912
924
|
class: "inv-dashboard__stat-shimmer"
|
|
913
|
-
}, Nt = { class: "inv-dashboard__stat-value" }, Tt = {
|
|
925
|
+
}, Nt = { class: "inv-dashboard__stat-value" }, Tt = {
|
|
926
|
+
class: "inv-dashboard__stat-card inv-dashboard__stat-card--info",
|
|
927
|
+
"data-testid": "stat-in-use"
|
|
928
|
+
}, Dt = {
|
|
914
929
|
key: 0,
|
|
915
930
|
class: "inv-dashboard__stat-shimmer"
|
|
916
|
-
}, Et = { class: "inv-dashboard__stat-value" }, Rt = {
|
|
931
|
+
}, Et = { class: "inv-dashboard__stat-value" }, Rt = {
|
|
932
|
+
class: "inv-dashboard__stat-card inv-dashboard__stat-card--warning",
|
|
933
|
+
"data-testid": "stat-empty-locations"
|
|
934
|
+
}, qt = {
|
|
917
935
|
key: 0,
|
|
918
936
|
class: "inv-dashboard__stat-shimmer"
|
|
919
|
-
}, Ht = { class: "inv-dashboard__stat-value" }, Ut = {
|
|
937
|
+
}, Ht = { class: "inv-dashboard__stat-value" }, Ut = {
|
|
938
|
+
class: "inv-dashboard__type-grid",
|
|
939
|
+
"data-testid": "panel-locations-by-type"
|
|
940
|
+
}, jt = ["data-testid"], Ot = { class: "inv-dashboard__type-count" }, Qt = { class: "inv-dashboard__type-label" }, Kt = { class: "inv-dashboard__actions-grid" }, Gt = ["data-testid", "onClick"], Wt = ["innerHTML"], Zt = { class: "inv-dashboard__action-label" }, Jt = {
|
|
920
941
|
key: 0,
|
|
921
942
|
class: "inv-dashboard__activity-list",
|
|
922
|
-
role: "list"
|
|
923
|
-
|
|
943
|
+
role: "list",
|
|
944
|
+
"data-testid": "list-recent-movements"
|
|
945
|
+
}, Xt = ["data-testid", "aria-label", "onClick"], Yt = { class: "inv-dashboard__activity-info" }, ea = { class: "inv-dashboard__activity-product" }, ta = { class: "inv-dashboard__activity-location" }, aa = { class: "inv-dashboard__activity-time" }, oa = {
|
|
924
946
|
key: 1,
|
|
925
947
|
class: "inv-dashboard__no-activity"
|
|
926
|
-
},
|
|
948
|
+
}, na = { class: "inv-dashboard__bottom-row" }, sa = {
|
|
927
949
|
key: 0,
|
|
928
950
|
class: "inv-dashboard__unlocated-content"
|
|
929
|
-
},
|
|
951
|
+
}, la = { class: "inv-dashboard__unlocated-text" }, ia = { "data-testid": "status-unlocated-count" }, ra = {
|
|
930
952
|
key: 1,
|
|
931
|
-
class: "inv-dashboard__unlocated-none"
|
|
932
|
-
|
|
953
|
+
class: "inv-dashboard__unlocated-none",
|
|
954
|
+
"data-testid": "status-all-located"
|
|
955
|
+
}, ca = { key: 0 }, da = ["data-testid"], ua = { class: "inv-dashboard__count-info" }, va = { class: "inv-dashboard__count-name" }, _a = ["aria-valuenow"], pa = { class: "inv-dashboard__count-progress-track" }, ha = { class: "inv-dashboard__count-pct" }, fa = {
|
|
933
956
|
key: 1,
|
|
934
957
|
class: "inv-dashboard__no-counts"
|
|
935
|
-
},
|
|
958
|
+
}, ya = /* @__PURE__ */ ae({
|
|
936
959
|
__name: "InventoryDashboard",
|
|
937
960
|
setup(a) {
|
|
938
961
|
const s = Le(), { movements: o, loading: g, fetchRecent: r } = Ke(), { sessions: m, fetchSessions: w } = Ve(), u = $(null), i = $(!0), v = $(0), l = [
|
|
@@ -953,7 +976,7 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
953
976
|
},
|
|
954
977
|
{
|
|
955
978
|
label: "Start Count",
|
|
956
|
-
route: "inventory-counts",
|
|
979
|
+
route: "inventory-package-counts",
|
|
957
980
|
icon: '<svg width="24" height="24" viewBox="0 0 24 24" fill="none"><rect x="4" y="4" width="16" height="16" rx="2" stroke="currentColor" stroke-width="1.5"/><path d="M8 8h2v2H8V8zm4 0h2v2h-2V8zm-4 4h2v2H8v-2zm4 0h2v2h-2v-2z" fill="currentColor"/></svg>'
|
|
958
981
|
},
|
|
959
982
|
{
|
|
@@ -981,10 +1004,10 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
981
1004
|
}
|
|
982
1005
|
}
|
|
983
1006
|
async function _() {
|
|
984
|
-
var S,
|
|
1007
|
+
var S, L;
|
|
985
1008
|
try {
|
|
986
|
-
const
|
|
987
|
-
v.value = ((S =
|
|
1009
|
+
const z = await X().get(Y("/dashboard/unlocated-products?limit=1"));
|
|
1010
|
+
v.value = ((S = z.data.meta) == null ? void 0 : S.total) ?? ((L = z.data.data) == null ? void 0 : L.length) ?? 0;
|
|
988
1011
|
} catch {
|
|
989
1012
|
}
|
|
990
1013
|
}
|
|
@@ -992,8 +1015,8 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
992
1015
|
s.push({ name: S });
|
|
993
1016
|
}
|
|
994
1017
|
function y(S) {
|
|
995
|
-
const
|
|
996
|
-
|
|
1018
|
+
const L = S.to_location || S.from_location;
|
|
1019
|
+
L && s.push({ name: "inventory-location", params: { code: L.full_code } });
|
|
997
1020
|
}
|
|
998
1021
|
function p(S) {
|
|
999
1022
|
return {
|
|
@@ -1007,7 +1030,7 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
1007
1030
|
}[S] ?? "?";
|
|
1008
1031
|
}
|
|
1009
1032
|
function h(S) {
|
|
1010
|
-
const
|
|
1033
|
+
const L = Date.now(), z = new Date(S).getTime(), T = L - z, N = Math.floor(T / 1e3);
|
|
1011
1034
|
if (N < 60) return "just now";
|
|
1012
1035
|
const Q = Math.floor(N / 60);
|
|
1013
1036
|
if (Q < 60) return `${Q} min ago`;
|
|
@@ -1020,35 +1043,38 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
1020
1043
|
return S.toLocaleString("en-US");
|
|
1021
1044
|
}
|
|
1022
1045
|
function B(S) {
|
|
1023
|
-
|
|
1046
|
+
const L = {
|
|
1047
|
+
shelf: "Shelves"
|
|
1048
|
+
}, z = S.toLowerCase();
|
|
1049
|
+
return L[z] ? L[z] : S.charAt(0).toUpperCase() + S.slice(1) + "s";
|
|
1024
1050
|
}
|
|
1025
|
-
return (S,
|
|
1026
|
-
var
|
|
1051
|
+
return (S, L) => {
|
|
1052
|
+
var z, T, N, Q;
|
|
1027
1053
|
return t(), n("div", zt, [
|
|
1028
|
-
|
|
1054
|
+
L[8] || (L[8] = e("h1", { class: "inv-dashboard__title" }, "Inventory Dashboard", -1)),
|
|
1029
1055
|
e("div", Mt, [
|
|
1030
1056
|
e("div", Vt, [
|
|
1031
1057
|
i.value ? (t(), n("div", Bt)) : (t(), n(G, { key: 1 }, [
|
|
1032
|
-
e("span", At, d(((
|
|
1033
|
-
|
|
1058
|
+
e("span", At, d(((z = u.value) == null ? void 0 : z.total_locations) ?? 0), 1),
|
|
1059
|
+
L[1] || (L[1] = e("span", { class: "inv-dashboard__stat-label" }, "Total Locations", -1))
|
|
1034
1060
|
], 64))
|
|
1035
1061
|
]),
|
|
1036
1062
|
e("div", Pt, [
|
|
1037
1063
|
i.value ? (t(), n("div", Ft)) : (t(), n(G, { key: 1 }, [
|
|
1038
1064
|
e("span", Nt, d(b(((T = u.value) == null ? void 0 : T.total_products_tracked) ?? 0)), 1),
|
|
1039
|
-
|
|
1065
|
+
L[2] || (L[2] = e("span", { class: "inv-dashboard__stat-label" }, "Products Tracked", -1))
|
|
1040
1066
|
], 64))
|
|
1041
1067
|
]),
|
|
1042
1068
|
e("div", Tt, [
|
|
1043
1069
|
i.value ? (t(), n("div", Dt)) : (t(), n(G, { key: 1 }, [
|
|
1044
1070
|
e("span", Et, d(((N = u.value) == null ? void 0 : N.locations_with_products) ?? 0), 1),
|
|
1045
|
-
|
|
1071
|
+
L[3] || (L[3] = e("span", { class: "inv-dashboard__stat-label" }, "In Use", -1))
|
|
1046
1072
|
], 64))
|
|
1047
1073
|
]),
|
|
1048
1074
|
e("div", Rt, [
|
|
1049
1075
|
i.value ? (t(), n("div", qt)) : (t(), n(G, { key: 1 }, [
|
|
1050
1076
|
e("span", Ht, d(((Q = u.value) == null ? void 0 : Q.empty_leaf_locations) ?? 0), 1),
|
|
1051
|
-
|
|
1077
|
+
L[4] || (L[4] = e("span", { class: "inv-dashboard__stat-label" }, "Empty", -1))
|
|
1052
1078
|
], 64))
|
|
1053
1079
|
])
|
|
1054
1080
|
]),
|
|
@@ -1062,34 +1088,38 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
1062
1088
|
e("div", Ut, [
|
|
1063
1089
|
(t(!0), n(G, null, ne(u.value.locations_by_type, (C, A) => (t(), n("div", {
|
|
1064
1090
|
key: A,
|
|
1065
|
-
class: "inv-dashboard__type-item"
|
|
1091
|
+
class: "inv-dashboard__type-item",
|
|
1092
|
+
"data-testid": `item-type-${A}`
|
|
1066
1093
|
}, [
|
|
1067
|
-
e("span",
|
|
1068
|
-
e("span",
|
|
1069
|
-
]))), 128))
|
|
1094
|
+
e("span", Ot, d(C), 1),
|
|
1095
|
+
e("span", Qt, d(B(A)), 1)
|
|
1096
|
+
], 8, jt))), 128))
|
|
1070
1097
|
])
|
|
1071
1098
|
]),
|
|
1072
1099
|
_: 1
|
|
1073
|
-
})) :
|
|
1100
|
+
})) : M("", !0),
|
|
1074
1101
|
I(se, {
|
|
1075
1102
|
title: "Quick Actions",
|
|
1076
1103
|
compact: "",
|
|
1077
|
-
class: "inv-dashboard__quick-actions"
|
|
1104
|
+
class: "inv-dashboard__quick-actions",
|
|
1105
|
+
"data-testid": "panel-quick-actions"
|
|
1078
1106
|
}, {
|
|
1079
1107
|
default: k(() => [
|
|
1080
|
-
e("div",
|
|
1108
|
+
e("div", Kt, [
|
|
1081
1109
|
(t(), n(G, null, ne(l, (C) => e("button", {
|
|
1082
1110
|
key: C.label,
|
|
1083
1111
|
type: "button",
|
|
1084
1112
|
class: "inv-dashboard__action-btn",
|
|
1113
|
+
"data-testid": `btn-action-${C.route}`,
|
|
1085
1114
|
onClick: (A) => f(C.route)
|
|
1086
1115
|
}, [
|
|
1087
1116
|
e("span", {
|
|
1088
1117
|
class: "inv-dashboard__action-icon",
|
|
1089
|
-
innerHTML: C.icon
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1118
|
+
innerHTML: C.icon,
|
|
1119
|
+
"aria-hidden": "true"
|
|
1120
|
+
}, null, 8, Wt),
|
|
1121
|
+
e("span", Zt, d(C.label), 1)
|
|
1122
|
+
], 8, Gt)), 64))
|
|
1093
1123
|
])
|
|
1094
1124
|
]),
|
|
1095
1125
|
_: 1
|
|
@@ -1097,78 +1127,85 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
1097
1127
|
I(se, {
|
|
1098
1128
|
title: "Recent Activity",
|
|
1099
1129
|
class: "inv-dashboard__activity",
|
|
1100
|
-
loading:
|
|
1130
|
+
loading: x(g),
|
|
1131
|
+
"data-testid": "panel-recent-activity"
|
|
1101
1132
|
}, {
|
|
1102
1133
|
default: k(() => [
|
|
1103
|
-
|
|
1104
|
-
(t(!0), n(G, null, ne(
|
|
1134
|
+
x(o).length > 0 ? (t(), n("div", Jt, [
|
|
1135
|
+
(t(!0), n(G, null, ne(x(o), (C) => (t(), n("button", {
|
|
1105
1136
|
key: C.id,
|
|
1106
1137
|
type: "button",
|
|
1107
1138
|
role: "listitem",
|
|
1108
1139
|
class: "inv-dashboard__activity-row",
|
|
1140
|
+
"data-testid": `item-movement-${C.id}`,
|
|
1141
|
+
"aria-label": `${C.product_name} — ${C.reason}`,
|
|
1109
1142
|
onClick: (A) => y(C)
|
|
1110
1143
|
}, [
|
|
1111
1144
|
e("span", {
|
|
1112
1145
|
class: ee(["inv-dashboard__activity-icon", `inv-dashboard__activity-icon--${C.reason}`]),
|
|
1113
1146
|
"aria-hidden": "true"
|
|
1114
1147
|
}, d(p(C.reason)), 3),
|
|
1115
|
-
e("div",
|
|
1116
|
-
e("span",
|
|
1117
|
-
e("span",
|
|
1148
|
+
e("div", Yt, [
|
|
1149
|
+
e("span", ea, d(C.product_name), 1),
|
|
1150
|
+
e("span", ta, [
|
|
1118
1151
|
C.reason === "moved" && C.from_location && C.to_location ? (t(), n(G, { key: 0 }, [
|
|
1119
1152
|
D(d(C.from_location.full_code) + " → " + d(C.to_location.full_code), 1)
|
|
1120
1153
|
], 64)) : C.to_location ? (t(), n(G, { key: 1 }, [
|
|
1121
1154
|
D(" → " + d(C.to_location.full_code), 1)
|
|
1122
1155
|
], 64)) : C.from_location ? (t(), n(G, { key: 2 }, [
|
|
1123
1156
|
D(" ← " + d(C.from_location.full_code), 1)
|
|
1124
|
-
], 64)) :
|
|
1157
|
+
], 64)) : M("", !0)
|
|
1125
1158
|
])
|
|
1126
1159
|
]),
|
|
1127
|
-
e("span",
|
|
1128
|
-
], 8,
|
|
1129
|
-
])) :
|
|
1160
|
+
e("span", aa, d(h(C.performed_at)), 1)
|
|
1161
|
+
], 8, Xt))), 128))
|
|
1162
|
+
])) : x(g) ? M("", !0) : (t(), n("p", oa, " No recent activity "))
|
|
1130
1163
|
]),
|
|
1131
1164
|
_: 1
|
|
1132
1165
|
}, 8, ["loading"]),
|
|
1133
|
-
e("div",
|
|
1166
|
+
e("div", na, [
|
|
1134
1167
|
I(se, {
|
|
1135
1168
|
title: "Unlocated Products",
|
|
1136
1169
|
compact: "",
|
|
1137
|
-
class: "inv-dashboard__unlocated-widget"
|
|
1170
|
+
class: "inv-dashboard__unlocated-widget",
|
|
1171
|
+
"data-testid": "panel-unlocated-products"
|
|
1138
1172
|
}, {
|
|
1139
1173
|
default: k(() => [
|
|
1140
|
-
v.value > 0 ? (t(), n("div",
|
|
1141
|
-
e("p",
|
|
1142
|
-
e("strong",
|
|
1143
|
-
|
|
1174
|
+
v.value > 0 ? (t(), n("div", sa, [
|
|
1175
|
+
e("p", la, [
|
|
1176
|
+
e("strong", ia, d(v.value), 1),
|
|
1177
|
+
L[5] || (L[5] = D(" products have no assigned location ", -1))
|
|
1144
1178
|
]),
|
|
1145
1179
|
I(O, {
|
|
1146
1180
|
variant: "secondary",
|
|
1147
1181
|
size: "sm",
|
|
1148
|
-
|
|
1182
|
+
"data-testid": "btn-view-unlocated",
|
|
1183
|
+
onClick: L[0] || (L[0] = (C) => x(s).push({ name: "inventory-unlocated" }))
|
|
1149
1184
|
}, {
|
|
1150
|
-
default: k(() => [...
|
|
1185
|
+
default: k(() => [...L[6] || (L[6] = [
|
|
1151
1186
|
D(" View All ", -1)
|
|
1152
1187
|
])]),
|
|
1153
1188
|
_: 1
|
|
1154
1189
|
})
|
|
1155
|
-
])) : (t(), n("p",
|
|
1190
|
+
])) : (t(), n("p", ra, " All products have assigned locations "))
|
|
1156
1191
|
]),
|
|
1157
1192
|
_: 1
|
|
1158
1193
|
}),
|
|
1159
1194
|
I(se, {
|
|
1160
1195
|
title: "Active Counts",
|
|
1161
1196
|
compact: "",
|
|
1162
|
-
class: "inv-dashboard__counts-widget"
|
|
1197
|
+
class: "inv-dashboard__counts-widget",
|
|
1198
|
+
"data-testid": "panel-active-counts"
|
|
1163
1199
|
}, {
|
|
1164
1200
|
default: k(() => [
|
|
1165
|
-
|
|
1166
|
-
(t(!0), n(G, null, ne(
|
|
1201
|
+
x(m).length > 0 ? (t(), n("div", ca, [
|
|
1202
|
+
(t(!0), n(G, null, ne(x(m), (C) => (t(), n("div", {
|
|
1167
1203
|
key: C.id,
|
|
1168
|
-
class: "inv-dashboard__count-row"
|
|
1204
|
+
class: "inv-dashboard__count-row",
|
|
1205
|
+
"data-testid": `item-count-${C.id}`
|
|
1169
1206
|
}, [
|
|
1170
|
-
e("div",
|
|
1171
|
-
e("span",
|
|
1207
|
+
e("div", ua, [
|
|
1208
|
+
e("span", va, d(C.name), 1),
|
|
1172
1209
|
e("div", {
|
|
1173
1210
|
class: "inv-dashboard__count-progress",
|
|
1174
1211
|
role: "progressbar",
|
|
@@ -1176,27 +1213,27 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
1176
1213
|
"aria-valuemin": "0",
|
|
1177
1214
|
"aria-valuemax": "100"
|
|
1178
1215
|
}, [
|
|
1179
|
-
e("div",
|
|
1216
|
+
e("div", pa, [
|
|
1180
1217
|
e("div", {
|
|
1181
1218
|
class: "inv-dashboard__count-progress-fill",
|
|
1182
1219
|
style: ke({ width: `${C.progress.percent_complete}%` })
|
|
1183
1220
|
}, null, 4)
|
|
1184
1221
|
]),
|
|
1185
|
-
e("span",
|
|
1186
|
-
], 8,
|
|
1222
|
+
e("span", ha, d(C.progress.percent_complete) + "% ", 1)
|
|
1223
|
+
], 8, _a)
|
|
1187
1224
|
]),
|
|
1188
1225
|
I(O, {
|
|
1189
1226
|
variant: "secondary",
|
|
1190
1227
|
size: "sm",
|
|
1191
|
-
onClick: (A) =>
|
|
1228
|
+
onClick: (A) => x(s).push({ name: "inventory-count-detail", params: { id: C.id } })
|
|
1192
1229
|
}, {
|
|
1193
|
-
default: k(() => [...
|
|
1230
|
+
default: k(() => [...L[7] || (L[7] = [
|
|
1194
1231
|
D(" Continue ", -1)
|
|
1195
1232
|
])]),
|
|
1196
1233
|
_: 1
|
|
1197
1234
|
}, 8, ["onClick"])
|
|
1198
|
-
]))), 128))
|
|
1199
|
-
])) : (t(), n("p",
|
|
1235
|
+
], 8, da))), 128))
|
|
1236
|
+
])) : (t(), n("p", fa, " No active count sessions "))
|
|
1200
1237
|
]),
|
|
1201
1238
|
_: 1
|
|
1202
1239
|
})
|
|
@@ -1204,16 +1241,16 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
1204
1241
|
]);
|
|
1205
1242
|
};
|
|
1206
1243
|
}
|
|
1207
|
-
}),
|
|
1244
|
+
}), Or = /* @__PURE__ */ oe(ya, [["__scopeId", "data-v-bb9b566d"]]), ma = {
|
|
1208
1245
|
class: "inv-empty-state",
|
|
1209
1246
|
role: "status"
|
|
1210
|
-
},
|
|
1247
|
+
}, ga = { class: "inv-empty-state__title" }, ba = {
|
|
1211
1248
|
key: 0,
|
|
1212
1249
|
class: "inv-empty-state__description"
|
|
1213
|
-
},
|
|
1250
|
+
}, ka = {
|
|
1214
1251
|
key: 1,
|
|
1215
1252
|
class: "inv-empty-state__action"
|
|
1216
|
-
},
|
|
1253
|
+
}, wa = /* @__PURE__ */ ae({
|
|
1217
1254
|
__name: "InvEmptyState",
|
|
1218
1255
|
props: {
|
|
1219
1256
|
title: {},
|
|
@@ -1223,23 +1260,23 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
1223
1260
|
emits: ["action"],
|
|
1224
1261
|
setup(a, { emit: s }) {
|
|
1225
1262
|
const o = s;
|
|
1226
|
-
return (g, r) => (t(), n("div",
|
|
1263
|
+
return (g, r) => (t(), n("div", ma, [
|
|
1227
1264
|
r[1] || (r[1] = xe('<svg class="inv-empty-state__icon" width="48" height="48" viewBox="0 0 48 48" fill="none" aria-hidden="true" data-v-c60a887a><rect x="6" y="10" width="36" height="28" rx="4" stroke="currentColor" stroke-width="2" fill="none" data-v-c60a887a></rect><path d="M6 18H42" stroke="currentColor" stroke-width="2" data-v-c60a887a></path><circle cx="12" cy="14" r="1.5" fill="currentColor" data-v-c60a887a></circle><circle cx="17" cy="14" r="1.5" fill="currentColor" data-v-c60a887a></circle><circle cx="22" cy="14" r="1.5" fill="currentColor" data-v-c60a887a></circle><path d="M18 28L22 24L26 28L30 22" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" opacity="0.4" data-v-c60a887a></path></svg>', 1)),
|
|
1228
|
-
e("h3",
|
|
1229
|
-
a.description ? (t(), n("p",
|
|
1230
|
-
g.$slots.action || a.actionLabel ? (t(), n("div",
|
|
1265
|
+
e("h3", ga, d(a.title), 1),
|
|
1266
|
+
a.description ? (t(), n("p", ba, d(a.description), 1)) : M("", !0),
|
|
1267
|
+
g.$slots.action || a.actionLabel ? (t(), n("div", ka, [
|
|
1231
1268
|
he(g.$slots, "action", {}, () => [
|
|
1232
1269
|
a.actionLabel ? (t(), n("button", {
|
|
1233
1270
|
key: 0,
|
|
1234
1271
|
type: "button",
|
|
1235
1272
|
class: "inv-empty-state__btn",
|
|
1236
1273
|
onClick: r[0] || (r[0] = (m) => o("action"))
|
|
1237
|
-
}, d(a.actionLabel), 1)) :
|
|
1274
|
+
}, d(a.actionLabel), 1)) : M("", !0)
|
|
1238
1275
|
], !0)
|
|
1239
|
-
])) :
|
|
1276
|
+
])) : M("", !0)
|
|
1240
1277
|
]));
|
|
1241
1278
|
}
|
|
1242
|
-
}), ge = /* @__PURE__ */ oe(
|
|
1279
|
+
}), ge = /* @__PURE__ */ oe(wa, [["__scopeId", "data-v-c60a887a"]]), tt = {
|
|
1243
1280
|
site: {
|
|
1244
1281
|
viewBox: "0 0 24 24",
|
|
1245
1282
|
path: "M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 010-5 2.5 2.5 0 010 5z"
|
|
@@ -1277,10 +1314,10 @@ const ft = { class: "inv-card__header-content" }, yt = {
|
|
|
1277
1314
|
path: "M2 18h2v2H2v-2zm4 0h2v2H6v-2zm4 0h2v2h-2v-2zm4 0h2v2h-2v-2zm4 0h2v2h-2v-2zM2 14h20v2H2v-2zm1-4h4v3H3v-3zm7 0h4v3h-4v-3zm7 0h4v3h-4v-3z"
|
|
1278
1315
|
}
|
|
1279
1316
|
};
|
|
1280
|
-
function
|
|
1317
|
+
function $a(a) {
|
|
1281
1318
|
return tt[a] || tt.building;
|
|
1282
1319
|
}
|
|
1283
|
-
const
|
|
1320
|
+
const Ca = ["width", "height", "viewBox"], La = ["d"], xa = /* @__PURE__ */ ae({
|
|
1284
1321
|
__name: "LocationTypeIcon",
|
|
1285
1322
|
props: {
|
|
1286
1323
|
type: {},
|
|
@@ -1291,7 +1328,7 @@ const ka = ["width", "height", "viewBox"], wa = ["d"], $a = /* @__PURE__ */ ae({
|
|
|
1291
1328
|
sm: 16,
|
|
1292
1329
|
md: 20,
|
|
1293
1330
|
lg: 24
|
|
1294
|
-
}, g = J(() =>
|
|
1331
|
+
}, g = J(() => $a(s.type));
|
|
1295
1332
|
return (r, m) => (t(), n("svg", {
|
|
1296
1333
|
class: ee(["location-type-icon", [`location-type-icon--${a.size}`]]),
|
|
1297
1334
|
width: o[a.size],
|
|
@@ -1303,22 +1340,22 @@ const ka = ["width", "height", "viewBox"], wa = ["d"], $a = /* @__PURE__ */ ae({
|
|
|
1303
1340
|
e("path", {
|
|
1304
1341
|
d: g.value.path,
|
|
1305
1342
|
fill: "currentColor"
|
|
1306
|
-
}, null, 8,
|
|
1307
|
-
], 10,
|
|
1343
|
+
}, null, 8, La)
|
|
1344
|
+
], 10, Ca));
|
|
1308
1345
|
}
|
|
1309
|
-
}), Ee = /* @__PURE__ */ oe(
|
|
1346
|
+
}), Ee = /* @__PURE__ */ oe(xa, [["__scopeId", "data-v-e96e218e"]]), Sa = { class: "location-search__input-wrapper" }, Ia = ["value", "placeholder", "aria-expanded", "aria-activedescendant"], za = {
|
|
1310
1347
|
key: 1,
|
|
1311
1348
|
class: "location-search__spinner",
|
|
1312
1349
|
"aria-hidden": "true"
|
|
1313
|
-
},
|
|
1350
|
+
}, Ma = ["aria-label"], Va = {
|
|
1314
1351
|
key: 0,
|
|
1315
1352
|
class: "location-search__dropdown-item location-search__dropdown-item--loading",
|
|
1316
1353
|
role: "presentation"
|
|
1317
|
-
},
|
|
1354
|
+
}, Ba = {
|
|
1318
1355
|
key: 1,
|
|
1319
1356
|
class: "location-search__dropdown-item location-search__dropdown-item--empty",
|
|
1320
1357
|
role: "presentation"
|
|
1321
|
-
},
|
|
1358
|
+
}, Aa = ["id", "aria-selected", "onMousedown", "onMouseenter"], Pa = { class: "location-search__result-info" }, Fa = { class: "location-search__result-name" }, Na = { class: "location-search__result-code" }, Ta = /* @__PURE__ */ ae({
|
|
1322
1359
|
__name: "LocationSearchInput",
|
|
1323
1360
|
props: {
|
|
1324
1361
|
modelValue: {},
|
|
@@ -1331,12 +1368,12 @@ const ka = ["width", "height", "viewBox"], wa = ["d"], $a = /* @__PURE__ */ ae({
|
|
|
1331
1368
|
if (!(i.value < 0))
|
|
1332
1369
|
return `${m}-option-${i.value}`;
|
|
1333
1370
|
});
|
|
1334
|
-
_e(() => o.modelValue, (
|
|
1335
|
-
i.value = -1, l.search(
|
|
1371
|
+
_e(() => o.modelValue, (L) => {
|
|
1372
|
+
i.value = -1, l.search(L);
|
|
1336
1373
|
});
|
|
1337
|
-
function f(
|
|
1338
|
-
const
|
|
1339
|
-
g("update:modelValue",
|
|
1374
|
+
function f(L) {
|
|
1375
|
+
const z = L.target;
|
|
1376
|
+
g("update:modelValue", z.value);
|
|
1340
1377
|
}
|
|
1341
1378
|
function y() {
|
|
1342
1379
|
v.value = !0, o.modelValue.length >= 2 && l.search(o.modelValue);
|
|
@@ -1347,45 +1384,45 @@ const ka = ["width", "height", "viewBox"], wa = ["d"], $a = /* @__PURE__ */ ae({
|
|
|
1347
1384
|
}, 150);
|
|
1348
1385
|
}
|
|
1349
1386
|
function h() {
|
|
1350
|
-
var
|
|
1351
|
-
g("update:modelValue", ""), l.clear(), i.value = -1, (
|
|
1387
|
+
var L;
|
|
1388
|
+
g("update:modelValue", ""), l.clear(), i.value = -1, (L = w.value) == null || L.focus();
|
|
1352
1389
|
}
|
|
1353
|
-
function b(
|
|
1354
|
-
g("select",
|
|
1390
|
+
function b(L) {
|
|
1391
|
+
g("select", L), g("update:modelValue", ""), l.clear(), i.value = -1, v.value = !1;
|
|
1355
1392
|
}
|
|
1356
|
-
function B(
|
|
1357
|
-
const
|
|
1358
|
-
if (!c.value ||
|
|
1359
|
-
|
|
1393
|
+
function B(L) {
|
|
1394
|
+
const z = l.results.value;
|
|
1395
|
+
if (!c.value || z.length === 0) {
|
|
1396
|
+
L.key === "Escape" && h();
|
|
1360
1397
|
return;
|
|
1361
1398
|
}
|
|
1362
|
-
switch (
|
|
1399
|
+
switch (L.key) {
|
|
1363
1400
|
case "ArrowDown":
|
|
1364
|
-
|
|
1401
|
+
L.preventDefault(), i.value = Math.min(i.value + 1, z.length - 1), S();
|
|
1365
1402
|
break;
|
|
1366
1403
|
case "ArrowUp":
|
|
1367
|
-
|
|
1404
|
+
L.preventDefault(), i.value = Math.max(i.value - 1, 0), S();
|
|
1368
1405
|
break;
|
|
1369
1406
|
case "Enter":
|
|
1370
|
-
|
|
1407
|
+
L.preventDefault(), i.value >= 0 && i.value < z.length && b(z[i.value]);
|
|
1371
1408
|
break;
|
|
1372
1409
|
case "Escape":
|
|
1373
|
-
|
|
1410
|
+
L.preventDefault(), v.value = !1, i.value = -1;
|
|
1374
1411
|
break;
|
|
1375
1412
|
}
|
|
1376
1413
|
}
|
|
1377
1414
|
function S() {
|
|
1378
1415
|
if (!u.value || i.value < 0) return;
|
|
1379
|
-
const
|
|
1380
|
-
|
|
1416
|
+
const z = u.value.querySelectorAll('[role="option"]')[i.value];
|
|
1417
|
+
z && z.scrollIntoView({ block: "nearest" });
|
|
1381
1418
|
}
|
|
1382
1419
|
return ue(() => {
|
|
1383
1420
|
o.autofocus && w.value && w.value.focus();
|
|
1384
|
-
}), (
|
|
1421
|
+
}), (L, z) => (t(), n("div", {
|
|
1385
1422
|
class: ee(["location-search", { "location-search--open": c.value }])
|
|
1386
1423
|
}, [
|
|
1387
|
-
e("div",
|
|
1388
|
-
|
|
1424
|
+
e("div", Sa, [
|
|
1425
|
+
z[2] || (z[2] = e("svg", {
|
|
1389
1426
|
class: "location-search__icon",
|
|
1390
1427
|
width: "18",
|
|
1391
1428
|
height: "18",
|
|
@@ -1417,14 +1454,14 @@ const ka = ["width", "height", "viewBox"], wa = ["d"], $a = /* @__PURE__ */ ae({
|
|
|
1417
1454
|
onKeydown: B,
|
|
1418
1455
|
onFocus: y,
|
|
1419
1456
|
onBlur: p
|
|
1420
|
-
}, null, 40,
|
|
1457
|
+
}, null, 40, Ia),
|
|
1421
1458
|
a.modelValue ? (t(), n("button", {
|
|
1422
1459
|
key: 0,
|
|
1423
1460
|
type: "button",
|
|
1424
1461
|
class: "location-search__clear",
|
|
1425
1462
|
"aria-label": "Clear search",
|
|
1426
1463
|
onMousedown: me(h, ["prevent"])
|
|
1427
|
-
}, [...
|
|
1464
|
+
}, [...z[0] || (z[0] = [
|
|
1428
1465
|
e("svg", {
|
|
1429
1466
|
width: "16",
|
|
1430
1467
|
height: "16",
|
|
@@ -1440,8 +1477,8 @@ const ka = ["width", "height", "viewBox"], wa = ["d"], $a = /* @__PURE__ */ ae({
|
|
|
1440
1477
|
"stroke-linejoin": "round"
|
|
1441
1478
|
})
|
|
1442
1479
|
], -1)
|
|
1443
|
-
])], 32)) :
|
|
1444
|
-
|
|
1480
|
+
])], 32)) : M("", !0),
|
|
1481
|
+
x(l).loading.value ? (t(), n("span", za, [...z[1] || (z[1] = [
|
|
1445
1482
|
e("svg", {
|
|
1446
1483
|
width: "16",
|
|
1447
1484
|
height: "16",
|
|
@@ -1463,7 +1500,7 @@ const ka = ["width", "height", "viewBox"], wa = ["d"], $a = /* @__PURE__ */ ae({
|
|
|
1463
1500
|
"stroke-linecap": "round"
|
|
1464
1501
|
})
|
|
1465
1502
|
], -1)
|
|
1466
|
-
])])) :
|
|
1503
|
+
])])) : M("", !0)
|
|
1467
1504
|
]),
|
|
1468
1505
|
I(Ie, { name: "location-search-dropdown" }, {
|
|
1469
1506
|
default: k(() => [
|
|
@@ -1476,12 +1513,12 @@ const ka = ["width", "height", "viewBox"], wa = ["d"], $a = /* @__PURE__ */ ae({
|
|
|
1476
1513
|
role: "listbox",
|
|
1477
1514
|
"aria-label": a.placeholder
|
|
1478
1515
|
}, [
|
|
1479
|
-
|
|
1516
|
+
x(l).loading.value && x(l).results.value.length === 0 ? (t(), n("li", Va, [...z[3] || (z[3] = [
|
|
1480
1517
|
e("span", null, "Searching...", -1)
|
|
1481
|
-
])])) : !
|
|
1518
|
+
])])) : !x(l).loading.value && x(l).results.value.length === 0 && a.modelValue.length >= 2 ? (t(), n("li", Ba, [...z[4] || (z[4] = [
|
|
1482
1519
|
e("span", null, "No locations found", -1)
|
|
1483
|
-
])])) :
|
|
1484
|
-
(t(!0), n(G, null, ne(
|
|
1520
|
+
])])) : M("", !0),
|
|
1521
|
+
(t(!0), n(G, null, ne(x(l).results.value, (T, N) => (t(), n("li", {
|
|
1485
1522
|
id: `${m}-option-${N}`,
|
|
1486
1523
|
key: T.id,
|
|
1487
1524
|
class: ee(["location-search__dropdown-item", { "location-search__dropdown-item--active": N === i.value }]),
|
|
@@ -1494,26 +1531,26 @@ const ka = ["width", "height", "viewBox"], wa = ["d"], $a = /* @__PURE__ */ ae({
|
|
|
1494
1531
|
type: T.type,
|
|
1495
1532
|
size: "sm"
|
|
1496
1533
|
}, null, 8, ["type"]),
|
|
1497
|
-
e("div",
|
|
1498
|
-
e("span",
|
|
1499
|
-
e("span",
|
|
1534
|
+
e("div", Pa, [
|
|
1535
|
+
e("span", Fa, d(T.name), 1),
|
|
1536
|
+
e("span", Na, d(T.full_code), 1)
|
|
1500
1537
|
])
|
|
1501
|
-
], 42,
|
|
1502
|
-
], 8,
|
|
1538
|
+
], 42, Aa))), 128))
|
|
1539
|
+
], 8, Ma)) : M("", !0)
|
|
1503
1540
|
]),
|
|
1504
1541
|
_: 1
|
|
1505
1542
|
})
|
|
1506
1543
|
], 2));
|
|
1507
1544
|
}
|
|
1508
|
-
}),
|
|
1509
|
-
function
|
|
1545
|
+
}), Da = /* @__PURE__ */ oe(Ta, [["__scopeId", "data-v-6191a2a0"]]);
|
|
1546
|
+
function Ea(a, s = 2, o = "-") {
|
|
1510
1547
|
const g = a.split(o);
|
|
1511
1548
|
return g.length <= s ? a : "…" + g.slice(-s).join(o);
|
|
1512
1549
|
}
|
|
1513
1550
|
function at(a) {
|
|
1514
1551
|
return Number.isInteger(a) ? String(a) : a.toFixed(2).replace(/\.?0+$/, "");
|
|
1515
1552
|
}
|
|
1516
|
-
function
|
|
1553
|
+
function Ra(a) {
|
|
1517
1554
|
const s = new Date(a), g = Math.floor(((/* @__PURE__ */ new Date()).getTime() - s.getTime()) / 1e3);
|
|
1518
1555
|
if (g < 60) return "just now";
|
|
1519
1556
|
const r = Math.floor(g / 60);
|
|
@@ -1523,7 +1560,7 @@ function Ta(a) {
|
|
|
1523
1560
|
const w = Math.floor(m / 24);
|
|
1524
1561
|
return w < 7 ? `${w}d ago` : s.toLocaleDateString();
|
|
1525
1562
|
}
|
|
1526
|
-
const
|
|
1563
|
+
const qa = ["title"], Ha = /* @__PURE__ */ ae({
|
|
1527
1564
|
__name: "LocationCodeBadge",
|
|
1528
1565
|
props: {
|
|
1529
1566
|
code: {},
|
|
@@ -1531,13 +1568,13 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1531
1568
|
maxSegments: { default: 2 }
|
|
1532
1569
|
},
|
|
1533
1570
|
setup(a) {
|
|
1534
|
-
const s = a, o = J(() => s.truncate ?
|
|
1571
|
+
const s = a, o = J(() => s.truncate ? Ea(s.code, s.maxSegments) : s.code);
|
|
1535
1572
|
return (g, r) => (t(), n("span", {
|
|
1536
1573
|
class: "location-code-badge",
|
|
1537
1574
|
title: a.code
|
|
1538
|
-
}, d(o.value), 9,
|
|
1575
|
+
}, d(o.value), 9, qa));
|
|
1539
1576
|
}
|
|
1540
|
-
}), fe = /* @__PURE__ */ oe(
|
|
1577
|
+
}), fe = /* @__PURE__ */ oe(Ha, [["__scopeId", "data-v-62592fe1"]]), Ua = ["data-testid"], ja = ["aria-expanded", "aria-selected", "aria-level"], Oa = ["aria-label"], Qa = {
|
|
1541
1578
|
key: 0,
|
|
1542
1579
|
class: "tree-node__spinner",
|
|
1543
1580
|
width: "14",
|
|
@@ -1545,14 +1582,14 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1545
1582
|
viewBox: "0 0 16 16",
|
|
1546
1583
|
fill: "none",
|
|
1547
1584
|
"aria-hidden": "true"
|
|
1548
|
-
},
|
|
1585
|
+
}, Ka = {
|
|
1549
1586
|
key: 1,
|
|
1550
1587
|
class: "tree-node__toggle-spacer",
|
|
1551
1588
|
"aria-hidden": "true"
|
|
1552
|
-
},
|
|
1589
|
+
}, Ga = { class: "tree-node__name" }, Wa = ["aria-label"], Za = {
|
|
1553
1590
|
key: 0,
|
|
1554
1591
|
role: "group"
|
|
1555
|
-
},
|
|
1592
|
+
}, Ja = /* @__PURE__ */ ae({
|
|
1556
1593
|
__name: "LocationTreeNode",
|
|
1557
1594
|
props: {
|
|
1558
1595
|
location: {},
|
|
@@ -1625,7 +1662,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1625
1662
|
tabindex: "-1",
|
|
1626
1663
|
onClick: me(c, ["stop"])
|
|
1627
1664
|
}, [
|
|
1628
|
-
w.value ? (t(), n("svg",
|
|
1665
|
+
w.value ? (t(), n("svg", Qa, [...y[2] || (y[2] = [
|
|
1629
1666
|
e("circle", {
|
|
1630
1667
|
cx: "8",
|
|
1631
1668
|
cy: "8",
|
|
@@ -1657,12 +1694,12 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1657
1694
|
"stroke-linejoin": "round"
|
|
1658
1695
|
}, null, -1)
|
|
1659
1696
|
])], 2))
|
|
1660
|
-
], 8,
|
|
1697
|
+
], 8, Oa)) : (t(), n("span", Ka)),
|
|
1661
1698
|
I(Ee, {
|
|
1662
1699
|
type: a.location.type,
|
|
1663
1700
|
size: "sm"
|
|
1664
1701
|
}, null, 8, ["type"]),
|
|
1665
|
-
e("span",
|
|
1702
|
+
e("span", Ga, d(a.location.name), 1),
|
|
1666
1703
|
I(fe, {
|
|
1667
1704
|
code: a.location.full_code,
|
|
1668
1705
|
truncate: "",
|
|
@@ -1672,9 +1709,9 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1672
1709
|
key: 2,
|
|
1673
1710
|
class: "tree-node__count",
|
|
1674
1711
|
"aria-label": `${a.location.product_count} products`
|
|
1675
|
-
}, d(a.location.product_count), 9,
|
|
1676
|
-
], 46,
|
|
1677
|
-
v.value && u.value.length > 0 ? (t(), n("div",
|
|
1712
|
+
}, d(a.location.product_count), 9, Wa)) : M("", !0)
|
|
1713
|
+
], 46, ja),
|
|
1714
|
+
v.value && u.value.length > 0 ? (t(), n("div", Za, [
|
|
1678
1715
|
(t(!0), n(G, null, ne(u.value, (h) => (t(), K(p, {
|
|
1679
1716
|
key: h.id,
|
|
1680
1717
|
location: h,
|
|
@@ -1683,19 +1720,19 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1683
1720
|
onSelect: y[0] || (y[0] = (b) => g("select", b)),
|
|
1684
1721
|
onToggle: y[1] || (y[1] = (b) => g("toggle", b))
|
|
1685
1722
|
}, null, 8, ["location", "depth", "selected-id"]))), 128))
|
|
1686
|
-
])) :
|
|
1687
|
-
], 8,
|
|
1723
|
+
])) : M("", !0)
|
|
1724
|
+
], 8, Ua);
|
|
1688
1725
|
};
|
|
1689
1726
|
}
|
|
1690
|
-
}),
|
|
1727
|
+
}), Xa = /* @__PURE__ */ oe(Ja, [["__scopeId", "data-v-b2045bb5"]]), Ya = {
|
|
1691
1728
|
class: "location-tree",
|
|
1692
1729
|
role: "tree",
|
|
1693
1730
|
"aria-label": "Location hierarchy"
|
|
1694
|
-
},
|
|
1731
|
+
}, eo = {
|
|
1695
1732
|
key: 0,
|
|
1696
1733
|
class: "location-tree__loading",
|
|
1697
1734
|
"aria-live": "polite"
|
|
1698
|
-
},
|
|
1735
|
+
}, to = { key: 2 }, ao = /* @__PURE__ */ ae({
|
|
1699
1736
|
__name: "LocationTree",
|
|
1700
1737
|
emits: ["select", "create"],
|
|
1701
1738
|
setup(a, { emit: s }) {
|
|
@@ -1718,8 +1755,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1718
1755
|
}
|
|
1719
1756
|
return ue(() => {
|
|
1720
1757
|
w();
|
|
1721
|
-
}), (v, l) => (t(), n("div",
|
|
1722
|
-
m.value ? (t(), n("div",
|
|
1758
|
+
}), (v, l) => (t(), n("div", Ya, [
|
|
1759
|
+
m.value ? (t(), n("div", eo, [
|
|
1723
1760
|
(t(), n(G, null, ne(5, (c) => e("div", {
|
|
1724
1761
|
key: c,
|
|
1725
1762
|
class: "location-tree__skeleton-row",
|
|
@@ -1730,40 +1767,40 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1730
1767
|
e("div", { class: "location-tree__skeleton-bar location-tree__skeleton-bar--code" }, null, -1)
|
|
1731
1768
|
])], 4)), 64)),
|
|
1732
1769
|
l[2] || (l[2] = e("span", { class: "sr-only" }, "Loading locations...", -1))
|
|
1733
|
-
])) :
|
|
1770
|
+
])) : x(g).roots.length === 0 ? (t(), K(ge, {
|
|
1734
1771
|
key: 1,
|
|
1735
1772
|
title: "No locations yet",
|
|
1736
1773
|
description: "Create your first warehouse or storage location to start organizing inventory.",
|
|
1737
1774
|
"action-label": "Create Location",
|
|
1738
1775
|
onAction: l[0] || (l[0] = (c) => o("create"))
|
|
1739
|
-
})) : (t(), n("div",
|
|
1740
|
-
(t(!0), n(G, null, ne(
|
|
1776
|
+
})) : (t(), n("div", to, [
|
|
1777
|
+
(t(!0), n(G, null, ne(x(g).roots, (c) => (t(), K(Xa, {
|
|
1741
1778
|
key: c.id,
|
|
1742
1779
|
location: c,
|
|
1743
1780
|
depth: 0,
|
|
1744
|
-
"selected-id":
|
|
1781
|
+
"selected-id": x(g).selectedLocationId,
|
|
1745
1782
|
onSelect: u,
|
|
1746
1783
|
onToggle: i
|
|
1747
1784
|
}, null, 8, ["location", "selected-id"]))), 128))
|
|
1748
1785
|
]))
|
|
1749
1786
|
]));
|
|
1750
1787
|
}
|
|
1751
|
-
}),
|
|
1788
|
+
}), oo = /* @__PURE__ */ oe(ao, [["__scopeId", "data-v-e21f92ca"]]), no = { class: "inv-table-wrapper" }, so = ["aria-busy"], lo = { class: "inv-table__head" }, io = ["aria-sort"], ro = ["onClick"], co = {
|
|
1752
1789
|
class: "inv-table__sort-icon",
|
|
1753
1790
|
width: "14",
|
|
1754
1791
|
height: "14",
|
|
1755
1792
|
viewBox: "0 0 14 14",
|
|
1756
1793
|
fill: "none",
|
|
1757
1794
|
"aria-hidden": "true"
|
|
1758
|
-
},
|
|
1795
|
+
}, uo = {
|
|
1759
1796
|
key: 0,
|
|
1760
1797
|
d: "M7 3L11 8H3L7 3Z",
|
|
1761
1798
|
fill: "currentColor"
|
|
1762
|
-
},
|
|
1799
|
+
}, vo = {
|
|
1763
1800
|
key: 1,
|
|
1764
1801
|
d: "M7 11L3 6H11L7 11Z",
|
|
1765
1802
|
fill: "currentColor"
|
|
1766
|
-
},
|
|
1803
|
+
}, _o = { key: 1 }, po = { class: "inv-table__body" }, ho = { key: 1 }, fo = ["colspan"], yo = { class: "inv-table__empty-text" }, mo = ["tabindex", "role", "onClick", "onKeydown"], go = /* @__PURE__ */ ae({
|
|
1767
1804
|
__name: "InvTable",
|
|
1768
1805
|
props: {
|
|
1769
1806
|
columns: {},
|
|
@@ -1786,13 +1823,13 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1786
1823
|
let u;
|
|
1787
1824
|
o.sortKey === w.key ? u = o.sortDir === "asc" ? "desc" : "asc" : u = "asc", g("sort", { key: w.key, direction: u });
|
|
1788
1825
|
}
|
|
1789
|
-
return (w, u) => (t(), n("div",
|
|
1826
|
+
return (w, u) => (t(), n("div", no, [
|
|
1790
1827
|
e("table", {
|
|
1791
1828
|
class: "inv-table",
|
|
1792
1829
|
role: "grid",
|
|
1793
1830
|
"aria-busy": a.loading
|
|
1794
1831
|
}, [
|
|
1795
|
-
e("thead",
|
|
1832
|
+
e("thead", lo, [
|
|
1796
1833
|
e("tr", null, [
|
|
1797
1834
|
(t(!0), n(G, null, ne(a.columns, (i) => (t(), n("th", {
|
|
1798
1835
|
key: i.key,
|
|
@@ -1811,8 +1848,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1811
1848
|
onClick: (v) => m(i)
|
|
1812
1849
|
}, [
|
|
1813
1850
|
e("span", null, d(i.label), 1),
|
|
1814
|
-
(t(), n("svg",
|
|
1815
|
-
a.sortKey === i.key && a.sortDir === "asc" ? (t(), n("path",
|
|
1851
|
+
(t(), n("svg", co, [
|
|
1852
|
+
a.sortKey === i.key && a.sortDir === "asc" ? (t(), n("path", uo)) : a.sortKey === i.key && a.sortDir === "desc" ? (t(), n("path", vo)) : (t(), n(G, { key: 2 }, [
|
|
1816
1853
|
u[0] || (u[0] = e("path", {
|
|
1817
1854
|
d: "M7 3L10 7H4L7 3Z",
|
|
1818
1855
|
fill: "currentColor",
|
|
@@ -1825,11 +1862,11 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1825
1862
|
}, null, -1))
|
|
1826
1863
|
], 64))
|
|
1827
1864
|
]))
|
|
1828
|
-
], 10,
|
|
1829
|
-
], 14,
|
|
1865
|
+
], 10, ro)) : (t(), n("span", _o, d(i.label), 1))
|
|
1866
|
+
], 14, io))), 128))
|
|
1830
1867
|
])
|
|
1831
1868
|
]),
|
|
1832
|
-
e("tbody",
|
|
1869
|
+
e("tbody", po, [
|
|
1833
1870
|
a.loading ? (t(), n(G, { key: 0 }, ne(5, (i) => e("tr", {
|
|
1834
1871
|
key: `skeleton-${i}`,
|
|
1835
1872
|
class: "inv-table__row inv-table__row--skeleton"
|
|
@@ -1840,15 +1877,15 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1840
1877
|
}, [...u[2] || (u[2] = [
|
|
1841
1878
|
e("div", { class: "inv-table__skeleton-bar" }, null, -1)
|
|
1842
1879
|
])]))), 128))
|
|
1843
|
-
])), 64)) : a.data.length === 0 ? (t(), n("tr",
|
|
1880
|
+
])), 64)) : a.data.length === 0 ? (t(), n("tr", ho, [
|
|
1844
1881
|
e("td", {
|
|
1845
1882
|
colspan: a.columns.length,
|
|
1846
1883
|
class: "inv-table__td inv-table__td--empty"
|
|
1847
1884
|
}, [
|
|
1848
1885
|
he(w.$slots, "empty", {}, () => [
|
|
1849
|
-
e("span",
|
|
1886
|
+
e("span", yo, d(a.emptyMessage), 1)
|
|
1850
1887
|
], !0)
|
|
1851
|
-
], 8,
|
|
1888
|
+
], 8, fo)
|
|
1852
1889
|
])) : (t(!0), n(G, { key: 2 }, ne(a.data, (i, v) => (t(), n("tr", {
|
|
1853
1890
|
key: v,
|
|
1854
1891
|
class: ee(["inv-table__row", {
|
|
@@ -1873,12 +1910,12 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1873
1910
|
D(d(i[l.key] ?? ""), 1)
|
|
1874
1911
|
], !0)
|
|
1875
1912
|
], 2))), 128))
|
|
1876
|
-
], 42,
|
|
1913
|
+
], 42, mo))), 128))
|
|
1877
1914
|
])
|
|
1878
|
-
], 8,
|
|
1915
|
+
], 8, so)
|
|
1879
1916
|
]));
|
|
1880
1917
|
}
|
|
1881
|
-
}), Ce = /* @__PURE__ */ oe(
|
|
1918
|
+
}), Ce = /* @__PURE__ */ oe(go, [["__scopeId", "data-v-59a6e64b"]]), bo = /* @__PURE__ */ ae({
|
|
1882
1919
|
__name: "InvBadge",
|
|
1883
1920
|
props: {
|
|
1884
1921
|
variant: { default: "default" },
|
|
@@ -1891,10 +1928,10 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1891
1928
|
he(s.$slots, "default", {}, void 0, !0)
|
|
1892
1929
|
], 2));
|
|
1893
1930
|
}
|
|
1894
|
-
}), ve = /* @__PURE__ */ oe(
|
|
1931
|
+
}), ve = /* @__PURE__ */ oe(bo, [["__scopeId", "data-v-f0803bf2"]]), ko = ["aria-describedby"], wo = { class: "inv-modal__header" }, $o = { class: "inv-modal__body" }, Co = {
|
|
1895
1932
|
key: 0,
|
|
1896
1933
|
class: "inv-modal__footer"
|
|
1897
|
-
},
|
|
1934
|
+
}, Lo = /* @__PURE__ */ ae({
|
|
1898
1935
|
__name: "InvModal",
|
|
1899
1936
|
props: {
|
|
1900
1937
|
show: { type: Boolean },
|
|
@@ -1968,7 +2005,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1968
2005
|
"aria-describedby": a.description ? w : void 0,
|
|
1969
2006
|
onKeydown: c
|
|
1970
2007
|
}, [
|
|
1971
|
-
e("div",
|
|
2008
|
+
e("div", wo, [
|
|
1972
2009
|
e("div", null, [
|
|
1973
2010
|
e("h2", {
|
|
1974
2011
|
id: m,
|
|
@@ -1978,7 +2015,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
1978
2015
|
key: 0,
|
|
1979
2016
|
id: w,
|
|
1980
2017
|
class: "inv-modal__description"
|
|
1981
|
-
}, d(a.description), 1)) :
|
|
2018
|
+
}, d(a.description), 1)) : M("", !0)
|
|
1982
2019
|
]),
|
|
1983
2020
|
e("button", {
|
|
1984
2021
|
type: "button",
|
|
@@ -2003,31 +2040,31 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2003
2040
|
], -1)
|
|
2004
2041
|
])])
|
|
2005
2042
|
]),
|
|
2006
|
-
e("div",
|
|
2043
|
+
e("div", $o, [
|
|
2007
2044
|
he(y.$slots, "default", {}, void 0, !0)
|
|
2008
2045
|
]),
|
|
2009
|
-
y.$slots.footer ? (t(), n("div",
|
|
2046
|
+
y.$slots.footer ? (t(), n("div", Co, [
|
|
2010
2047
|
he(y.$slots, "footer", {}, void 0, !0)
|
|
2011
|
-
])) :
|
|
2012
|
-
], 42,
|
|
2013
|
-
], 32)) :
|
|
2048
|
+
])) : M("", !0)
|
|
2049
|
+
], 42, ko)
|
|
2050
|
+
], 32)) : M("", !0)
|
|
2014
2051
|
]),
|
|
2015
2052
|
_: 3
|
|
2016
2053
|
})
|
|
2017
2054
|
]));
|
|
2018
2055
|
}
|
|
2019
|
-
}), qe = /* @__PURE__ */ oe(
|
|
2056
|
+
}), qe = /* @__PURE__ */ oe(Lo, [["__scopeId", "data-v-7484015c"]]), xo = {
|
|
2020
2057
|
class: "location-breadcrumb",
|
|
2021
2058
|
"aria-label": "Location path"
|
|
2022
|
-
},
|
|
2059
|
+
}, So = { class: "location-breadcrumb__list" }, Io = {
|
|
2023
2060
|
key: 0,
|
|
2024
2061
|
class: "location-breadcrumb__separator",
|
|
2025
2062
|
"aria-hidden": "true"
|
|
2026
|
-
},
|
|
2063
|
+
}, zo = ["aria-label", "onClick"], Mo = {
|
|
2027
2064
|
key: 2,
|
|
2028
2065
|
class: "location-breadcrumb__current",
|
|
2029
2066
|
"aria-current": "location"
|
|
2030
|
-
}, ot = 3,
|
|
2067
|
+
}, ot = 3, Vo = /* @__PURE__ */ ae({
|
|
2031
2068
|
__name: "LocationBreadcrumb",
|
|
2032
2069
|
props: {
|
|
2033
2070
|
path: {}
|
|
@@ -2038,8 +2075,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2038
2075
|
function w(u) {
|
|
2039
2076
|
return u === m.value.length - 1;
|
|
2040
2077
|
}
|
|
2041
|
-
return (u, i) => (t(), n("nav",
|
|
2042
|
-
e("ol",
|
|
2078
|
+
return (u, i) => (t(), n("nav", xo, [
|
|
2079
|
+
e("ol", So, [
|
|
2043
2080
|
r.value ? (t(), n(G, { key: 0 }, [
|
|
2044
2081
|
i[0] || (i[0] = e("li", { class: "location-breadcrumb__item location-breadcrumb__item--ellipsis" }, [
|
|
2045
2082
|
e("span", {
|
|
@@ -2053,24 +2090,24 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2053
2090
|
}, [
|
|
2054
2091
|
e("span", { class: "location-breadcrumb__separator" }, "›")
|
|
2055
2092
|
], -1))
|
|
2056
|
-
], 64)) :
|
|
2093
|
+
], 64)) : M("", !0),
|
|
2057
2094
|
(t(!0), n(G, null, ne(m.value, (v, l) => (t(), n("li", {
|
|
2058
2095
|
key: v.id,
|
|
2059
2096
|
class: "location-breadcrumb__item"
|
|
2060
2097
|
}, [
|
|
2061
|
-
l > 0 || r.value ? (t(), n("span",
|
|
2062
|
-
w(l) ? (t(), n("span",
|
|
2098
|
+
l > 0 || r.value ? (t(), n("span", Io, "›")) : M("", !0),
|
|
2099
|
+
w(l) ? (t(), n("span", Mo, d(v.name), 1)) : (t(), n("button", {
|
|
2063
2100
|
key: 1,
|
|
2064
2101
|
type: "button",
|
|
2065
2102
|
class: "location-breadcrumb__link",
|
|
2066
2103
|
"aria-label": `Navigate to ${v.name}`,
|
|
2067
2104
|
onClick: (c) => g("navigate", v)
|
|
2068
|
-
}, d(v.name), 9,
|
|
2105
|
+
}, d(v.name), 9, zo))
|
|
2069
2106
|
]))), 128))
|
|
2070
2107
|
])
|
|
2071
2108
|
]));
|
|
2072
2109
|
}
|
|
2073
|
-
}), et = /* @__PURE__ */ oe(
|
|
2110
|
+
}), et = /* @__PURE__ */ oe(Vo, [["__scopeId", "data-v-911e6f70"]]), Bo = ["type", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby"], Ao = /* @__PURE__ */ ae({
|
|
2074
2111
|
__name: "InvInput",
|
|
2075
2112
|
props: {
|
|
2076
2113
|
modelValue: {},
|
|
@@ -2097,7 +2134,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2097
2134
|
key: 0,
|
|
2098
2135
|
for: m,
|
|
2099
2136
|
class: "inv-input__label"
|
|
2100
|
-
}, d(a.label), 1)) :
|
|
2137
|
+
}, d(a.label), 1)) : M("", !0),
|
|
2101
2138
|
e("input", {
|
|
2102
2139
|
id: m,
|
|
2103
2140
|
ref_key: "inputRef",
|
|
@@ -2110,20 +2147,20 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2110
2147
|
"aria-invalid": !!a.error || void 0,
|
|
2111
2148
|
"aria-describedby": a.error ? w : void 0,
|
|
2112
2149
|
onInput: i
|
|
2113
|
-
}, null, 40,
|
|
2150
|
+
}, null, 40, Bo),
|
|
2114
2151
|
a.error ? (t(), n("p", {
|
|
2115
2152
|
key: 1,
|
|
2116
2153
|
id: w,
|
|
2117
2154
|
class: "inv-input__error",
|
|
2118
2155
|
role: "alert"
|
|
2119
|
-
}, d(a.error), 1)) :
|
|
2156
|
+
}, d(a.error), 1)) : M("", !0)
|
|
2120
2157
|
], 2));
|
|
2121
2158
|
}
|
|
2122
|
-
}), Fe = /* @__PURE__ */ oe(
|
|
2159
|
+
}), Fe = /* @__PURE__ */ oe(Ao, [["__scopeId", "data-v-b681751f"]]), Po = { class: "inv-select__wrapper" }, Fo = ["value", "disabled", "aria-invalid", "aria-describedby"], No = {
|
|
2123
2160
|
key: 0,
|
|
2124
2161
|
value: "",
|
|
2125
2162
|
disabled: ""
|
|
2126
|
-
},
|
|
2163
|
+
}, To = ["value"], Do = /* @__PURE__ */ ae({
|
|
2127
2164
|
__name: "InvSelect",
|
|
2128
2165
|
props: {
|
|
2129
2166
|
modelValue: {},
|
|
@@ -2149,8 +2186,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2149
2186
|
key: 0,
|
|
2150
2187
|
for: m,
|
|
2151
2188
|
class: "inv-select__label"
|
|
2152
|
-
}, d(a.label), 1)) :
|
|
2153
|
-
e("div",
|
|
2189
|
+
}, d(a.label), 1)) : M("", !0),
|
|
2190
|
+
e("div", Po, [
|
|
2154
2191
|
e("select", {
|
|
2155
2192
|
id: m,
|
|
2156
2193
|
class: "inv-select__field",
|
|
@@ -2160,12 +2197,12 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2160
2197
|
"aria-describedby": a.error ? w : void 0,
|
|
2161
2198
|
onChange: u
|
|
2162
2199
|
}, [
|
|
2163
|
-
a.placeholder ? (t(), n("option",
|
|
2200
|
+
a.placeholder ? (t(), n("option", No, d(a.placeholder), 1)) : M("", !0),
|
|
2164
2201
|
(t(!0), n(G, null, ne(a.options, (l) => (t(), n("option", {
|
|
2165
2202
|
key: l.value,
|
|
2166
2203
|
value: l.value
|
|
2167
|
-
}, d(l.label), 9,
|
|
2168
|
-
], 40,
|
|
2204
|
+
}, d(l.label), 9, To))), 128))
|
|
2205
|
+
], 40, Fo),
|
|
2169
2206
|
v[0] || (v[0] = e("svg", {
|
|
2170
2207
|
class: "inv-select__chevron",
|
|
2171
2208
|
width: "16",
|
|
@@ -2188,13 +2225,13 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2188
2225
|
id: w,
|
|
2189
2226
|
class: "inv-select__error",
|
|
2190
2227
|
role: "alert"
|
|
2191
|
-
}, d(a.error), 1)) :
|
|
2228
|
+
}, d(a.error), 1)) : M("", !0)
|
|
2192
2229
|
], 2));
|
|
2193
2230
|
}
|
|
2194
|
-
}), $e = /* @__PURE__ */ oe(
|
|
2231
|
+
}), $e = /* @__PURE__ */ oe(Do, [["__scopeId", "data-v-40ea769b"]]), Eo = { class: "location-form__field" }, Ro = {
|
|
2195
2232
|
key: 0,
|
|
2196
2233
|
class: "location-form__code-preview"
|
|
2197
|
-
},
|
|
2234
|
+
}, qo = { class: "location-form__field" }, Ho = /* @__PURE__ */ ae({
|
|
2198
2235
|
__name: "LocationForm",
|
|
2199
2236
|
props: {
|
|
2200
2237
|
show: { type: Boolean },
|
|
@@ -2235,13 +2272,13 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2235
2272
|
function S(C) {
|
|
2236
2273
|
_[C] = "";
|
|
2237
2274
|
}
|
|
2238
|
-
function
|
|
2275
|
+
function L() {
|
|
2239
2276
|
let C = !0;
|
|
2240
2277
|
return c.name.trim() ? c.name.trim().length > 255 && (_.name = "Name must be 255 characters or less", C = !1) : (_.name = "Name is required", C = !1), !f.value && !c.type && (_.type = "Type is required", C = !1), c.code && !b.test(c.code) && (_.code = "Only letters, numbers, and hyphens allowed", C = !1), C;
|
|
2241
2278
|
}
|
|
2242
|
-
async function
|
|
2279
|
+
async function z() {
|
|
2243
2280
|
var C, A;
|
|
2244
|
-
if (
|
|
2281
|
+
if (L()) {
|
|
2245
2282
|
v.value = !0;
|
|
2246
2283
|
try {
|
|
2247
2284
|
let V;
|
|
@@ -2315,7 +2352,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2315
2352
|
variant: "primary",
|
|
2316
2353
|
loading: v.value,
|
|
2317
2354
|
disabled: v.value,
|
|
2318
|
-
onClick:
|
|
2355
|
+
onClick: z
|
|
2319
2356
|
}, {
|
|
2320
2357
|
default: k(() => [
|
|
2321
2358
|
D(d(f.value ? "Save Changes" : "Create Location"), 1)
|
|
@@ -2326,7 +2363,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2326
2363
|
default: k(() => [
|
|
2327
2364
|
e("form", {
|
|
2328
2365
|
class: "location-form",
|
|
2329
|
-
onSubmit: me(
|
|
2366
|
+
onSubmit: me(z, ["prevent"])
|
|
2330
2367
|
}, [
|
|
2331
2368
|
I(Fe, {
|
|
2332
2369
|
modelValue: c.name,
|
|
@@ -2351,7 +2388,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2351
2388
|
error: _.type,
|
|
2352
2389
|
disabled: f.value
|
|
2353
2390
|
}, null, 8, ["modelValue", "options", "error", "disabled"]),
|
|
2354
|
-
e("div",
|
|
2391
|
+
e("div", Eo, [
|
|
2355
2392
|
I(Fe, {
|
|
2356
2393
|
modelValue: c.code,
|
|
2357
2394
|
"onUpdate:modelValue": [
|
|
@@ -2362,12 +2399,12 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2362
2399
|
placeholder: "Auto-generated if blank",
|
|
2363
2400
|
error: _.code
|
|
2364
2401
|
}, null, 8, ["modelValue", "error"]),
|
|
2365
|
-
p.value ? (t(), n("p",
|
|
2402
|
+
p.value ? (t(), n("p", Ro, [
|
|
2366
2403
|
A[8] || (A[8] = D(" Full code: ", -1)),
|
|
2367
2404
|
e("code", null, d(p.value), 1)
|
|
2368
|
-
])) :
|
|
2405
|
+
])) : M("", !0)
|
|
2369
2406
|
]),
|
|
2370
|
-
e("div",
|
|
2407
|
+
e("div", qo, [
|
|
2371
2408
|
e("label", {
|
|
2372
2409
|
for: m,
|
|
2373
2410
|
class: "location-form__label"
|
|
@@ -2394,62 +2431,62 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2394
2431
|
_: 1
|
|
2395
2432
|
}, 8, ["show", "title", "description"]));
|
|
2396
2433
|
}
|
|
2397
|
-
}), Ge = /* @__PURE__ */ oe(
|
|
2434
|
+
}), Ge = /* @__PURE__ */ oe(Ho, [["__scopeId", "data-v-7b871a38"]]), Uo = { class: "location-detail" }, jo = {
|
|
2398
2435
|
key: 0,
|
|
2399
2436
|
class: "location-detail__loading",
|
|
2400
2437
|
"aria-live": "polite"
|
|
2401
|
-
},
|
|
2438
|
+
}, Oo = { class: "location-detail__header" }, Qo = { class: "location-detail__title-row" }, Ko = { class: "location-detail__title-area" }, Go = { class: "location-detail__name" }, Wo = { class: "location-detail__actions" }, Zo = { class: "location-detail__info-grid" }, Jo = {
|
|
2402
2439
|
key: 0,
|
|
2403
2440
|
class: "location-detail__info-item"
|
|
2404
|
-
},
|
|
2441
|
+
}, Xo = { class: "location-detail__info-value" }, Yo = { class: "location-detail__info-item" }, en = { class: "location-detail__info-value" }, tn = { class: "location-detail__info-item" }, an = { class: "location-detail__info-value" }, on = {
|
|
2405
2442
|
key: 1,
|
|
2406
2443
|
class: "location-detail__info-item"
|
|
2407
|
-
},
|
|
2444
|
+
}, nn = { class: "location-detail__child-cell" }, sn = { class: "location-detail__count" }, ln = { class: "location-detail__product-count-label" }, rn = {
|
|
2408
2445
|
key: 0,
|
|
2409
2446
|
class: "location-detail__loading-inline"
|
|
2410
|
-
},
|
|
2447
|
+
}, cn = {
|
|
2411
2448
|
key: 1,
|
|
2412
2449
|
class: "location-detail__empty-inline"
|
|
2413
|
-
},
|
|
2450
|
+
}, dn = { class: "location-detail__product-cell" }, un = { class: "location-detail__product-name" }, vn = {
|
|
2414
2451
|
key: 0,
|
|
2415
2452
|
class: "location-detail__product-sku"
|
|
2416
|
-
},
|
|
2453
|
+
}, _n = {
|
|
2417
2454
|
key: 0,
|
|
2418
2455
|
class: "location-detail__loading-inline"
|
|
2419
|
-
},
|
|
2456
|
+
}, pn = {
|
|
2420
2457
|
key: 1,
|
|
2421
2458
|
class: "location-detail__empty-inline"
|
|
2422
|
-
},
|
|
2459
|
+
}, hn = {
|
|
2423
2460
|
key: 2,
|
|
2424
2461
|
class: "location-detail__movements-list"
|
|
2425
|
-
},
|
|
2462
|
+
}, fn = {
|
|
2426
2463
|
width: "14",
|
|
2427
2464
|
height: "14",
|
|
2428
2465
|
viewBox: "0 0 24 24",
|
|
2429
2466
|
fill: "none",
|
|
2430
2467
|
"aria-hidden": "true"
|
|
2431
|
-
},
|
|
2468
|
+
}, yn = {
|
|
2432
2469
|
key: 0,
|
|
2433
2470
|
d: "M12 5v14M5 12l7 7 7-7",
|
|
2434
2471
|
stroke: "currentColor",
|
|
2435
2472
|
"stroke-width": "2",
|
|
2436
2473
|
"stroke-linecap": "round",
|
|
2437
2474
|
"stroke-linejoin": "round"
|
|
2438
|
-
},
|
|
2475
|
+
}, mn = {
|
|
2439
2476
|
key: 1,
|
|
2440
2477
|
d: "M12 19V5M5 12l7-7 7 7",
|
|
2441
2478
|
stroke: "currentColor",
|
|
2442
2479
|
"stroke-width": "2",
|
|
2443
2480
|
"stroke-linecap": "round",
|
|
2444
2481
|
"stroke-linejoin": "round"
|
|
2445
|
-
},
|
|
2482
|
+
}, gn = {
|
|
2446
2483
|
key: 2,
|
|
2447
2484
|
d: "M5 12h14M12 5l7 7-7 7",
|
|
2448
2485
|
stroke: "currentColor",
|
|
2449
2486
|
"stroke-width": "2",
|
|
2450
2487
|
"stroke-linecap": "round",
|
|
2451
2488
|
"stroke-linejoin": "round"
|
|
2452
|
-
},
|
|
2489
|
+
}, bn = {
|
|
2453
2490
|
key: 3,
|
|
2454
2491
|
d: "M4 4l16 16M20 4L4 20",
|
|
2455
2492
|
stroke: "currentColor",
|
|
@@ -2457,13 +2494,13 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2457
2494
|
"stroke-linecap": "round",
|
|
2458
2495
|
"stroke-linejoin": "round",
|
|
2459
2496
|
opacity: "0.6"
|
|
2460
|
-
},
|
|
2497
|
+
}, kn = { class: "location-detail__movement-info" }, wn = { class: "location-detail__movement-primary" }, $n = { class: "location-detail__movement-qty" }, Cn = { class: "location-detail__movement-meta" }, Ln = {
|
|
2461
2498
|
key: 0,
|
|
2462
2499
|
class: "location-detail__label-preview"
|
|
2463
|
-
},
|
|
2500
|
+
}, xn = ["innerHTML"], Sn = { class: "location-detail__label-info" }, In = { class: "location-detail__label-code" }, zn = { class: "location-detail__label-path" }, Mn = {
|
|
2464
2501
|
key: 1,
|
|
2465
2502
|
class: "location-detail__empty-inline"
|
|
2466
|
-
},
|
|
2503
|
+
}, Vn = { class: "location-detail__delete-warning" }, Bn = /* @__PURE__ */ ae({
|
|
2467
2504
|
__name: "LocationDetail",
|
|
2468
2505
|
props: {
|
|
2469
2506
|
locationCode: { default: void 0 },
|
|
@@ -2471,7 +2508,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2471
2508
|
},
|
|
2472
2509
|
emits: ["navigate", "deleted"],
|
|
2473
2510
|
setup(a, { emit: s }) {
|
|
2474
|
-
const o = a, g = s, r = Me(), { fetchLocation: m, fetchChildren: w, remove: u } = we(), { fetchProducts: i } = Se(), { fetchByLocation: v } = Ke(), { fetchLabel: l, printLabel: c } = Ye(), _ = $(null), f = $(!1), y = $(null), p = $([]), h = $(!1), b = $([]), B = $(!1), S = $([]),
|
|
2511
|
+
const o = a, g = s, r = Me(), { fetchLocation: m, fetchChildren: w, remove: u } = we(), { fetchProducts: i } = Se(), { fetchByLocation: v } = Ke(), { fetchLabel: l, printLabel: c } = Ye(), _ = $(null), f = $(!1), y = $(null), p = $([]), h = $(!1), b = $([]), B = $(!1), S = $([]), L = $(!1), z = $(null), T = $(!1), N = $(!1), Q = $(!1), C = $(!1), A = $(!1), V = [
|
|
2475
2512
|
{ key: "name", label: "Name" },
|
|
2476
2513
|
{ key: "type_label", label: "Type", width: "100px" },
|
|
2477
2514
|
{ key: "full_code", label: "Code", width: "140px" },
|
|
@@ -2557,14 +2594,14 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2557
2594
|
}
|
|
2558
2595
|
}
|
|
2559
2596
|
async function H(ie) {
|
|
2560
|
-
|
|
2597
|
+
L.value = !0;
|
|
2561
2598
|
try {
|
|
2562
2599
|
const F = Ke();
|
|
2563
2600
|
await F.fetchByLocation(ie), S.value = F.movements.value.slice(0, 10);
|
|
2564
2601
|
} catch {
|
|
2565
2602
|
S.value = [];
|
|
2566
2603
|
} finally {
|
|
2567
|
-
|
|
2604
|
+
L.value = !1;
|
|
2568
2605
|
}
|
|
2569
2606
|
}
|
|
2570
2607
|
async function U() {
|
|
@@ -2572,7 +2609,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2572
2609
|
T.value = !0;
|
|
2573
2610
|
try {
|
|
2574
2611
|
const ie = await l(_.value.id);
|
|
2575
|
-
|
|
2612
|
+
z.value = ie;
|
|
2576
2613
|
} catch {
|
|
2577
2614
|
} finally {
|
|
2578
2615
|
T.value = !1;
|
|
@@ -2616,14 +2653,14 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2616
2653
|
return _e(
|
|
2617
2654
|
() => [o.locationId, o.locationCode],
|
|
2618
2655
|
() => {
|
|
2619
|
-
|
|
2656
|
+
z.value = null, P();
|
|
2620
2657
|
}
|
|
2621
2658
|
), ue(() => {
|
|
2622
2659
|
P();
|
|
2623
2660
|
}), (ie, F) => {
|
|
2624
2661
|
var de;
|
|
2625
|
-
return t(), n("div",
|
|
2626
|
-
f.value ? (t(), n("div",
|
|
2662
|
+
return t(), n("div", Uo, [
|
|
2663
|
+
f.value ? (t(), n("div", jo, [...F[6] || (F[6] = [
|
|
2627
2664
|
xe('<div class="location-detail__loading-header" data-v-388046b7><div class="location-detail__skeleton location-detail__skeleton--breadcrumb" data-v-388046b7></div><div class="location-detail__skeleton location-detail__skeleton--title" data-v-388046b7></div><div class="location-detail__skeleton location-detail__skeleton--badges" data-v-388046b7></div></div><div class="location-detail__skeleton location-detail__skeleton--card" data-v-388046b7></div><div class="location-detail__skeleton location-detail__skeleton--card" data-v-388046b7></div><span class="sr-only" data-v-388046b7>Loading location details...</span>', 4)
|
|
2628
2665
|
])])) : y.value ? (t(), K(ge, {
|
|
2629
2666
|
key: 1,
|
|
@@ -2632,19 +2669,19 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2632
2669
|
"action-label": "Retry",
|
|
2633
2670
|
onAction: P
|
|
2634
2671
|
}, null, 8, ["description"])) : _.value ? (t(), n(G, { key: 2 }, [
|
|
2635
|
-
e("header",
|
|
2672
|
+
e("header", Oo, [
|
|
2636
2673
|
_.value.path && _.value.path.length > 0 ? (t(), K(et, {
|
|
2637
2674
|
key: 0,
|
|
2638
2675
|
path: _.value.path,
|
|
2639
2676
|
onNavigate: le
|
|
2640
|
-
}, null, 8, ["path"])) :
|
|
2641
|
-
e("div",
|
|
2642
|
-
e("div",
|
|
2677
|
+
}, null, 8, ["path"])) : M("", !0),
|
|
2678
|
+
e("div", Qo, [
|
|
2679
|
+
e("div", Ko, [
|
|
2643
2680
|
I(Ee, {
|
|
2644
2681
|
type: _.value.type,
|
|
2645
2682
|
size: "lg"
|
|
2646
2683
|
}, null, 8, ["type"]),
|
|
2647
|
-
e("h1",
|
|
2684
|
+
e("h1", Go, d(_.value.name), 1),
|
|
2648
2685
|
I(fe, {
|
|
2649
2686
|
code: _.value.full_code
|
|
2650
2687
|
}, null, 8, ["code"]),
|
|
@@ -2667,7 +2704,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2667
2704
|
_: 1
|
|
2668
2705
|
}, 8, ["variant"])
|
|
2669
2706
|
]),
|
|
2670
|
-
e("div",
|
|
2707
|
+
e("div", Wo, [
|
|
2671
2708
|
I(O, {
|
|
2672
2709
|
variant: "secondary",
|
|
2673
2710
|
size: "sm",
|
|
@@ -2775,20 +2812,20 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2775
2812
|
compact: ""
|
|
2776
2813
|
}, {
|
|
2777
2814
|
default: k(() => [
|
|
2778
|
-
e("div",
|
|
2779
|
-
_.value.description ? (t(), n("div",
|
|
2815
|
+
e("div", Zo, [
|
|
2816
|
+
_.value.description ? (t(), n("div", Jo, [
|
|
2780
2817
|
F[13] || (F[13] = e("span", { class: "location-detail__info-label" }, "Description", -1)),
|
|
2781
|
-
e("p",
|
|
2782
|
-
])) :
|
|
2783
|
-
e("div",
|
|
2818
|
+
e("p", Xo, d(_.value.description), 1)
|
|
2819
|
+
])) : M("", !0),
|
|
2820
|
+
e("div", Yo, [
|
|
2784
2821
|
F[14] || (F[14] = e("span", { class: "location-detail__info-label" }, "Created", -1)),
|
|
2785
|
-
e("span",
|
|
2822
|
+
e("span", en, d(E(_.value.created_at)), 1)
|
|
2786
2823
|
]),
|
|
2787
|
-
e("div",
|
|
2824
|
+
e("div", tn, [
|
|
2788
2825
|
F[15] || (F[15] = e("span", { class: "location-detail__info-label" }, "Last Updated", -1)),
|
|
2789
|
-
e("span",
|
|
2826
|
+
e("span", an, d(E(_.value.updated_at)), 1)
|
|
2790
2827
|
]),
|
|
2791
|
-
_.value.is_mobile ? (t(), n("div",
|
|
2828
|
+
_.value.is_mobile ? (t(), n("div", on, [
|
|
2792
2829
|
F[17] || (F[17] = e("span", { class: "location-detail__info-label" }, "Mobile", -1)),
|
|
2793
2830
|
I(ve, {
|
|
2794
2831
|
variant: "info",
|
|
@@ -2799,11 +2836,11 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2799
2836
|
])]),
|
|
2800
2837
|
_: 1
|
|
2801
2838
|
})
|
|
2802
|
-
])) :
|
|
2839
|
+
])) : M("", !0)
|
|
2803
2840
|
])
|
|
2804
2841
|
]),
|
|
2805
2842
|
_: 1
|
|
2806
|
-
})) :
|
|
2843
|
+
})) : M("", !0),
|
|
2807
2844
|
p.value.length > 0 || _.value.children_count ? (t(), K(se, {
|
|
2808
2845
|
key: 1,
|
|
2809
2846
|
title: "Child Locations",
|
|
@@ -2832,7 +2869,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2832
2869
|
onRowClick: pe
|
|
2833
2870
|
}, {
|
|
2834
2871
|
"cell-name": k(({ row: j }) => [
|
|
2835
|
-
e("div",
|
|
2872
|
+
e("div", nn, [
|
|
2836
2873
|
I(Ee, {
|
|
2837
2874
|
type: j.type,
|
|
2838
2875
|
size: "sm"
|
|
@@ -2855,27 +2892,27 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2855
2892
|
I(fe, { code: j }, null, 8, ["code"])
|
|
2856
2893
|
]),
|
|
2857
2894
|
"cell-product_count": k(({ value: j }) => [
|
|
2858
|
-
e("span",
|
|
2895
|
+
e("span", sn, d(j ?? 0), 1)
|
|
2859
2896
|
]),
|
|
2860
2897
|
_: 1
|
|
2861
2898
|
}, 8, ["data", "loading"])
|
|
2862
2899
|
]),
|
|
2863
2900
|
_: 1
|
|
2864
|
-
})) :
|
|
2901
|
+
})) : M("", !0),
|
|
2865
2902
|
I(se, {
|
|
2866
2903
|
title: "Products",
|
|
2867
2904
|
compact: "",
|
|
2868
2905
|
"no-padding": ""
|
|
2869
2906
|
}, {
|
|
2870
2907
|
actions: k(() => [
|
|
2871
|
-
e("span",
|
|
2908
|
+
e("span", ln, d(b.value.length) + " " + d(b.value.length === 1 ? "product" : "products"), 1)
|
|
2872
2909
|
]),
|
|
2873
2910
|
default: k(() => [
|
|
2874
|
-
B.value ? (t(), n("div",
|
|
2911
|
+
B.value ? (t(), n("div", rn, [...F[19] || (F[19] = [
|
|
2875
2912
|
e("div", { class: "location-detail__skeleton location-detail__skeleton--row" }, null, -1),
|
|
2876
2913
|
e("div", { class: "location-detail__skeleton location-detail__skeleton--row" }, null, -1),
|
|
2877
2914
|
e("div", { class: "location-detail__skeleton location-detail__skeleton--row" }, null, -1)
|
|
2878
|
-
])])) : b.value.length === 0 ? (t(), n("div",
|
|
2915
|
+
])])) : b.value.length === 0 ? (t(), n("div", cn, [...F[20] || (F[20] = [
|
|
2879
2916
|
e("p", null, "No products at this location.", -1)
|
|
2880
2917
|
])])) : (t(), K(Ce, {
|
|
2881
2918
|
key: 2,
|
|
@@ -2884,13 +2921,13 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2884
2921
|
"empty-message": "No products at this location."
|
|
2885
2922
|
}, {
|
|
2886
2923
|
"cell-product_name": k(({ row: j }) => [
|
|
2887
|
-
e("div",
|
|
2888
|
-
e("span",
|
|
2889
|
-
j.product_sku ? (t(), n("span",
|
|
2924
|
+
e("div", dn, [
|
|
2925
|
+
e("span", un, d(j.product_name), 1),
|
|
2926
|
+
j.product_sku ? (t(), n("span", vn, d(j.product_sku), 1)) : M("", !0)
|
|
2890
2927
|
])
|
|
2891
2928
|
]),
|
|
2892
2929
|
"cell-quantity": k(({ value: j }) => [
|
|
2893
|
-
e("strong", null, d(
|
|
2930
|
+
e("strong", null, d(x(at)(j)), 1)
|
|
2894
2931
|
]),
|
|
2895
2932
|
"cell-is_primary": k(({ value: j }) => [
|
|
2896
2933
|
j ? (t(), K(ve, {
|
|
@@ -2902,7 +2939,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2902
2939
|
D("Primary", -1)
|
|
2903
2940
|
])]),
|
|
2904
2941
|
_: 1
|
|
2905
|
-
})) :
|
|
2942
|
+
})) : M("", !0)
|
|
2906
2943
|
]),
|
|
2907
2944
|
_: 1
|
|
2908
2945
|
}, 8, ["data"]))
|
|
@@ -2916,12 +2953,12 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2916
2953
|
collapsible: ""
|
|
2917
2954
|
}, {
|
|
2918
2955
|
default: k(() => [
|
|
2919
|
-
|
|
2956
|
+
L.value ? (t(), n("div", _n, [...F[22] || (F[22] = [
|
|
2920
2957
|
e("div", { class: "location-detail__skeleton location-detail__skeleton--row" }, null, -1),
|
|
2921
2958
|
e("div", { class: "location-detail__skeleton location-detail__skeleton--row" }, null, -1)
|
|
2922
|
-
])])) : S.value.length === 0 ? (t(), n("div",
|
|
2959
|
+
])])) : S.value.length === 0 ? (t(), n("div", pn, [...F[23] || (F[23] = [
|
|
2923
2960
|
e("p", null, "No recent movements.", -1)
|
|
2924
|
-
])])) : (t(), n("div",
|
|
2961
|
+
])])) : (t(), n("div", hn, [
|
|
2925
2962
|
(t(!0), n(G, null, ne(S.value, (j) => (t(), n("div", {
|
|
2926
2963
|
key: j.id,
|
|
2927
2964
|
class: "location-detail__movement"
|
|
@@ -2929,17 +2966,17 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2929
2966
|
e("div", {
|
|
2930
2967
|
class: ee(["location-detail__movement-icon", `location-detail__movement-icon--${j.reason}`])
|
|
2931
2968
|
}, [
|
|
2932
|
-
(t(), n("svg",
|
|
2933
|
-
j.reason === "placed" || j.reason === "received" ? (t(), n("path",
|
|
2969
|
+
(t(), n("svg", fn, [
|
|
2970
|
+
j.reason === "placed" || j.reason === "received" ? (t(), n("path", yn)) : j.reason === "picked" ? (t(), n("path", mn)) : j.reason === "moved" ? (t(), n("path", gn)) : (t(), n("path", bn))
|
|
2934
2971
|
]))
|
|
2935
2972
|
], 2),
|
|
2936
|
-
e("div",
|
|
2937
|
-
e("span",
|
|
2973
|
+
e("div", kn, [
|
|
2974
|
+
e("span", wn, [
|
|
2938
2975
|
e("strong", null, d(j.reason_label), 1),
|
|
2939
2976
|
D(" " + d(j.product_name) + " ", 1),
|
|
2940
|
-
e("span",
|
|
2977
|
+
e("span", $n, " (qty: " + d(x(at)(j.quantity)) + ") ", 1)
|
|
2941
2978
|
]),
|
|
2942
|
-
e("span",
|
|
2979
|
+
e("span", Cn, d(j.performer_name || "System") + " · " + d(x(Ra)(j.performed_at)), 1)
|
|
2943
2980
|
])
|
|
2944
2981
|
]))), 128))
|
|
2945
2982
|
]))
|
|
@@ -2965,18 +3002,18 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2965
3002
|
})
|
|
2966
3003
|
]),
|
|
2967
3004
|
default: k(() => [
|
|
2968
|
-
|
|
2969
|
-
|
|
3005
|
+
z.value ? (t(), n("div", Ln, [
|
|
3006
|
+
z.value.qr_code_svg ? (t(), n("div", {
|
|
2970
3007
|
key: 0,
|
|
2971
3008
|
class: "location-detail__label-qr",
|
|
2972
|
-
innerHTML:
|
|
2973
|
-
}, null, 8,
|
|
2974
|
-
e("div",
|
|
2975
|
-
e("strong", null, d(
|
|
2976
|
-
e("span",
|
|
2977
|
-
e("span",
|
|
3009
|
+
innerHTML: z.value.qr_code_svg
|
|
3010
|
+
}, null, 8, xn)) : M("", !0),
|
|
3011
|
+
e("div", Sn, [
|
|
3012
|
+
e("strong", null, d(z.value.location.name), 1),
|
|
3013
|
+
e("span", In, d(z.value.location.full_code), 1),
|
|
3014
|
+
e("span", zn, d(z.value.path), 1)
|
|
2978
3015
|
])
|
|
2979
|
-
])) : (t(), n("div",
|
|
3016
|
+
])) : (t(), n("div", Mn, [
|
|
2980
3017
|
e("p", null, [
|
|
2981
3018
|
I(O, {
|
|
2982
3019
|
variant: "secondary",
|
|
@@ -2994,7 +3031,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
2994
3031
|
]),
|
|
2995
3032
|
_: 1
|
|
2996
3033
|
})
|
|
2997
|
-
], 64)) :
|
|
3034
|
+
], 64)) : M("", !0),
|
|
2998
3035
|
I(Ge, {
|
|
2999
3036
|
show: N.value,
|
|
3000
3037
|
location: _.value,
|
|
@@ -3038,7 +3075,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3038
3075
|
default: k(() => {
|
|
3039
3076
|
var j;
|
|
3040
3077
|
return [
|
|
3041
|
-
e("p",
|
|
3078
|
+
e("p", Vn, [
|
|
3042
3079
|
F[26] || (F[26] = D(" Are you sure you want to delete ", -1)),
|
|
3043
3080
|
e("strong", null, d((j = _.value) == null ? void 0 : j.name), 1),
|
|
3044
3081
|
F[27] || (F[27] = D("? ", -1))
|
|
@@ -3050,7 +3087,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3050
3087
|
]);
|
|
3051
3088
|
};
|
|
3052
3089
|
}
|
|
3053
|
-
}),
|
|
3090
|
+
}), An = /* @__PURE__ */ oe(Bn, [["__scopeId", "data-v-388046b7"]]), Pn = { class: "inv-shell" }, Fn = { class: "inv-shell__header" }, Nn = { class: "inv-shell__header-left" }, Tn = ["aria-label", "aria-expanded"], Dn = { class: "inv-shell__header-actions" }, En = { class: "inv-shell__search-wrapper" }, Rn = { class: "inv-shell__body" }, qn = ["aria-hidden"], Hn = { class: "inv-shell__detail" }, Un = /* @__PURE__ */ ae({
|
|
3054
3091
|
__name: "InventoryLocatorShell",
|
|
3055
3092
|
setup(a) {
|
|
3056
3093
|
const s = Me(), o = Qe("router", null), g = Qe("route", null), r = $(""), m = $(!1), w = $(!0), u = $(typeof window < "u" ? window.innerWidth : 1200), i = J(() => u.value < 1024);
|
|
@@ -3094,14 +3131,14 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3094
3131
|
var T;
|
|
3095
3132
|
return (T = g == null ? void 0 : g.params) != null && T.code ? g.params.code : null;
|
|
3096
3133
|
}
|
|
3097
|
-
function
|
|
3134
|
+
function L() {
|
|
3098
3135
|
const T = S();
|
|
3099
3136
|
if (T) {
|
|
3100
|
-
const N =
|
|
3137
|
+
const N = z(T);
|
|
3101
3138
|
N && (s.selectLocation(N.id), b(N));
|
|
3102
3139
|
}
|
|
3103
3140
|
}
|
|
3104
|
-
function
|
|
3141
|
+
function z(T) {
|
|
3105
3142
|
const N = (Q) => {
|
|
3106
3143
|
for (const C of Q) {
|
|
3107
3144
|
if (C.full_code === T) return C;
|
|
@@ -3121,17 +3158,17 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3121
3158
|
},
|
|
3122
3159
|
(T) => {
|
|
3123
3160
|
if (T) {
|
|
3124
|
-
const N =
|
|
3161
|
+
const N = z(T);
|
|
3125
3162
|
N && (s.selectLocation(N.id), b(N));
|
|
3126
3163
|
}
|
|
3127
3164
|
}
|
|
3128
3165
|
), ue(() => {
|
|
3129
|
-
window.addEventListener("resize", v), v(),
|
|
3166
|
+
window.addEventListener("resize", v), v(), L();
|
|
3130
3167
|
}), st(() => {
|
|
3131
3168
|
window.removeEventListener("resize", v);
|
|
3132
|
-
}), (T, N) => (t(), n("div",
|
|
3133
|
-
e("header",
|
|
3134
|
-
e("div",
|
|
3169
|
+
}), (T, N) => (t(), n("div", Pn, [
|
|
3170
|
+
e("header", Fn, [
|
|
3171
|
+
e("div", Nn, [
|
|
3135
3172
|
e("button", {
|
|
3136
3173
|
type: "button",
|
|
3137
3174
|
class: "inv-shell__menu-toggle",
|
|
@@ -3154,12 +3191,12 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3154
3191
|
"stroke-linejoin": "round"
|
|
3155
3192
|
})
|
|
3156
3193
|
], -1)
|
|
3157
|
-
])], 8,
|
|
3194
|
+
])], 8, Tn),
|
|
3158
3195
|
N[7] || (N[7] = e("h1", { class: "inv-shell__title" }, "Inventory Locations", -1))
|
|
3159
3196
|
]),
|
|
3160
|
-
e("div",
|
|
3161
|
-
e("div",
|
|
3162
|
-
I(
|
|
3197
|
+
e("div", Dn, [
|
|
3198
|
+
e("div", En, [
|
|
3199
|
+
I(Da, {
|
|
3163
3200
|
modelValue: r.value,
|
|
3164
3201
|
"onUpdate:modelValue": N[1] || (N[1] = (Q) => r.value = Q),
|
|
3165
3202
|
placeholder: "Search locations...",
|
|
@@ -3228,14 +3265,14 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3228
3265
|
})
|
|
3229
3266
|
])
|
|
3230
3267
|
]),
|
|
3231
|
-
e("div",
|
|
3268
|
+
e("div", Rn, [
|
|
3232
3269
|
I(Ie, { name: "inv-shell-backdrop" }, {
|
|
3233
3270
|
default: k(() => [
|
|
3234
3271
|
w.value && i.value ? (t(), n("div", {
|
|
3235
3272
|
key: 0,
|
|
3236
3273
|
class: "inv-shell__backdrop",
|
|
3237
3274
|
onClick: N[3] || (N[3] = (Q) => w.value = !1)
|
|
3238
|
-
})) :
|
|
3275
|
+
})) : M("", !0)
|
|
3239
3276
|
]),
|
|
3240
3277
|
_: 1
|
|
3241
3278
|
}),
|
|
@@ -3246,15 +3283,15 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3246
3283
|
}]),
|
|
3247
3284
|
"aria-hidden": i.value && !w.value ? "true" : void 0
|
|
3248
3285
|
}, [
|
|
3249
|
-
I(
|
|
3286
|
+
I(oo, {
|
|
3250
3287
|
onSelect: c,
|
|
3251
3288
|
onCreate: N[4] || (N[4] = (Q) => m.value = !0)
|
|
3252
3289
|
})
|
|
3253
|
-
], 10,
|
|
3254
|
-
e("main",
|
|
3255
|
-
|
|
3290
|
+
], 10, qn),
|
|
3291
|
+
e("main", Hn, [
|
|
3292
|
+
x(s).selectedLocationId ? (t(), K(An, {
|
|
3256
3293
|
key: 0,
|
|
3257
|
-
"location-id":
|
|
3294
|
+
"location-id": x(s).selectedLocationId,
|
|
3258
3295
|
onNavigate: _,
|
|
3259
3296
|
onDeleted: f
|
|
3260
3297
|
}, null, 8, ["location-id"])) : (t(), K(ge, {
|
|
@@ -3271,22 +3308,22 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3271
3308
|
}, null, 8, ["show"])
|
|
3272
3309
|
]));
|
|
3273
3310
|
}
|
|
3274
|
-
}),
|
|
3311
|
+
}), Qr = /* @__PURE__ */ oe(Un, [["__scopeId", "data-v-e77a95d2"]]), jn = { class: "scan-result__body" }, On = {
|
|
3275
3312
|
key: 0,
|
|
3276
3313
|
class: "scan-result__path"
|
|
3277
|
-
},
|
|
3314
|
+
}, Qn = { class: "scan-result__location-info" }, Kn = {
|
|
3278
3315
|
key: 1,
|
|
3279
3316
|
class: "scan-result__products"
|
|
3280
|
-
},
|
|
3317
|
+
}, Gn = { class: "scan-result__products-label" }, Wn = {
|
|
3281
3318
|
class: "scan-result__product-list",
|
|
3282
3319
|
role: "list"
|
|
3283
|
-
},
|
|
3320
|
+
}, Zn = { class: "scan-result__product-name" }, Jn = { class: "scan-result__product-qty" }, Xn = {
|
|
3284
3321
|
key: 0,
|
|
3285
3322
|
class: "scan-result__products-more"
|
|
3286
|
-
},
|
|
3323
|
+
}, Yn = {
|
|
3287
3324
|
key: 2,
|
|
3288
3325
|
class: "scan-result__no-products"
|
|
3289
|
-
},
|
|
3326
|
+
}, es = { class: "scan-result__actions" }, ts = /* @__PURE__ */ ae({
|
|
3290
3327
|
__name: "ScanResult",
|
|
3291
3328
|
props: {
|
|
3292
3329
|
location: {},
|
|
@@ -3353,14 +3390,14 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3353
3390
|
class: "scan-result__title"
|
|
3354
3391
|
}, "Location Found")
|
|
3355
3392
|
]),
|
|
3356
|
-
e("div",
|
|
3357
|
-
a.location.path && a.location.path.length > 0 ? (t(), n("div",
|
|
3393
|
+
e("div", jn, [
|
|
3394
|
+
a.location.path && a.location.path.length > 0 ? (t(), n("div", On, [
|
|
3358
3395
|
I(et, {
|
|
3359
3396
|
path: a.location.path,
|
|
3360
3397
|
onNavigate: i
|
|
3361
3398
|
}, null, 8, ["path"])
|
|
3362
|
-
])) :
|
|
3363
|
-
e("div",
|
|
3399
|
+
])) : M("", !0),
|
|
3400
|
+
e("div", Qn, [
|
|
3364
3401
|
I(fe, {
|
|
3365
3402
|
code: a.location.full_code
|
|
3366
3403
|
}, null, 8, ["code"]),
|
|
@@ -3374,23 +3411,23 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3374
3411
|
_: 1
|
|
3375
3412
|
})
|
|
3376
3413
|
]),
|
|
3377
|
-
a.location.products && a.location.products.length > 0 ? (t(), n("div",
|
|
3378
|
-
e("p",
|
|
3379
|
-
e("ul",
|
|
3414
|
+
a.location.products && a.location.products.length > 0 ? (t(), n("div", Kn, [
|
|
3415
|
+
e("p", Gn, " Products: " + d(a.location.products.length) + " item" + d(a.location.products.length !== 1 ? "s" : ""), 1),
|
|
3416
|
+
e("ul", Wn, [
|
|
3380
3417
|
(t(!0), n(G, null, ne(u.value, (c) => (t(), n("li", {
|
|
3381
3418
|
key: c.id,
|
|
3382
3419
|
class: "scan-result__product-item"
|
|
3383
3420
|
}, [
|
|
3384
|
-
e("span",
|
|
3385
|
-
e("span",
|
|
3421
|
+
e("span", Zn, d(c.product_name), 1),
|
|
3422
|
+
e("span", Jn, "qty: " + d(c.quantity), 1)
|
|
3386
3423
|
]))), 128))
|
|
3387
3424
|
]),
|
|
3388
|
-
a.location.products.length > 5 ? (t(), n("p",
|
|
3389
|
-
])) : (t(), n("div",
|
|
3425
|
+
a.location.products.length > 5 ? (t(), n("p", Xn, " + " + d(a.location.products.length - 5) + " more ", 1)) : M("", !0)
|
|
3426
|
+
])) : (t(), n("div", Yn, [...l[6] || (l[6] = [
|
|
3390
3427
|
e("p", { class: "scan-result__no-products-text" }, "No products at this location", -1)
|
|
3391
3428
|
])]))
|
|
3392
3429
|
]),
|
|
3393
|
-
e("div",
|
|
3430
|
+
e("div", es, [
|
|
3394
3431
|
I(O, {
|
|
3395
3432
|
variant: "primary",
|
|
3396
3433
|
size: "md",
|
|
@@ -3423,18 +3460,18 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3423
3460
|
})
|
|
3424
3461
|
])
|
|
3425
3462
|
], 544)
|
|
3426
|
-
], 32)) :
|
|
3463
|
+
], 32)) : M("", !0)
|
|
3427
3464
|
]),
|
|
3428
3465
|
_: 1
|
|
3429
3466
|
}));
|
|
3430
3467
|
}
|
|
3431
|
-
}),
|
|
3468
|
+
}), as = /* @__PURE__ */ oe(ts, [["__scopeId", "data-v-575ebb3b"]]), os = {
|
|
3432
3469
|
key: 0,
|
|
3433
3470
|
class: "scan-history"
|
|
3434
|
-
},
|
|
3471
|
+
}, ns = {
|
|
3435
3472
|
class: "scan-history__list",
|
|
3436
3473
|
role: "list"
|
|
3437
|
-
},
|
|
3474
|
+
}, ss = ["aria-label", "onClick"], ls = { class: "scan-history__code" }, is = { class: "scan-history__name" }, rs = { class: "scan-history__time" }, cs = /* @__PURE__ */ ae({
|
|
3438
3475
|
__name: "ScanHistory",
|
|
3439
3476
|
props: {
|
|
3440
3477
|
limit: { default: 10 }
|
|
@@ -3461,9 +3498,9 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3461
3498
|
const y = Math.floor(f / 24);
|
|
3462
3499
|
return y === 1 ? "yesterday" : `${y}d ago`;
|
|
3463
3500
|
}
|
|
3464
|
-
return (u, i) => r.value.length > 0 ? (t(), n("div",
|
|
3501
|
+
return (u, i) => r.value.length > 0 ? (t(), n("div", os, [
|
|
3465
3502
|
i[0] || (i[0] = e("p", { class: "scan-history__title" }, "Recent scans", -1)),
|
|
3466
|
-
e("ul",
|
|
3503
|
+
e("ul", ns, [
|
|
3467
3504
|
(t(!0), n(G, null, ne(r.value, (v) => (t(), n("li", {
|
|
3468
3505
|
key: v.code + v.scannedAt,
|
|
3469
3506
|
class: "scan-history__item"
|
|
@@ -3474,54 +3511,54 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3474
3511
|
"aria-label": `Navigate to ${v.locationName} (${v.code})`,
|
|
3475
3512
|
onClick: (l) => m(v)
|
|
3476
3513
|
}, [
|
|
3477
|
-
e("span",
|
|
3478
|
-
e("span",
|
|
3479
|
-
e("span",
|
|
3480
|
-
], 8,
|
|
3514
|
+
e("span", ls, d(v.code), 1),
|
|
3515
|
+
e("span", is, d(v.locationName), 1),
|
|
3516
|
+
e("span", rs, d(w(v.scannedAt)), 1)
|
|
3517
|
+
], 8, ss)
|
|
3481
3518
|
]))), 128))
|
|
3482
3519
|
])
|
|
3483
|
-
])) :
|
|
3520
|
+
])) : M("", !0);
|
|
3484
3521
|
}
|
|
3485
|
-
}),
|
|
3522
|
+
}), ds = /* @__PURE__ */ oe(cs, [["__scopeId", "data-v-2eaec2d3"]]), us = { class: "scanner-overlay" }, vs = {
|
|
3486
3523
|
key: 0,
|
|
3487
3524
|
class: "scanner-overlay__counting-banner",
|
|
3488
3525
|
role: "status"
|
|
3489
|
-
},
|
|
3526
|
+
}, _s = { class: "scanner-overlay__counting-text" }, ps = { class: "scanner-overlay__header" }, hs = ["aria-label", "aria-pressed"], fs = {
|
|
3490
3527
|
width: "24",
|
|
3491
3528
|
height: "24",
|
|
3492
3529
|
viewBox: "0 0 24 24",
|
|
3493
3530
|
fill: "none",
|
|
3494
3531
|
"aria-hidden": "true"
|
|
3495
|
-
},
|
|
3532
|
+
}, ys = ["fill"], ms = {
|
|
3496
3533
|
key: 1,
|
|
3497
3534
|
class: "scanner-overlay__camera-area"
|
|
3498
|
-
},
|
|
3535
|
+
}, gs = {
|
|
3499
3536
|
key: 0,
|
|
3500
3537
|
class: "scanner-overlay__scan-guide",
|
|
3501
3538
|
"aria-hidden": "true"
|
|
3502
|
-
},
|
|
3539
|
+
}, bs = {
|
|
3503
3540
|
key: 1,
|
|
3504
3541
|
class: "scanner-overlay__starting",
|
|
3505
3542
|
role: "status"
|
|
3506
|
-
},
|
|
3543
|
+
}, ks = {
|
|
3507
3544
|
key: 2,
|
|
3508
3545
|
class: "scanner-overlay__error",
|
|
3509
3546
|
role: "alert"
|
|
3510
|
-
},
|
|
3547
|
+
}, ws = {
|
|
3511
3548
|
key: 2,
|
|
3512
3549
|
class: "scanner-overlay__no-camera",
|
|
3513
3550
|
role: "status"
|
|
3514
|
-
},
|
|
3551
|
+
}, $s = {
|
|
3515
3552
|
key: 3,
|
|
3516
3553
|
class: "scanner-overlay__instruction"
|
|
3517
|
-
},
|
|
3554
|
+
}, Cs = {
|
|
3518
3555
|
"aria-live": "polite",
|
|
3519
3556
|
class: "sr-only"
|
|
3520
|
-
},
|
|
3557
|
+
}, Ls = { key: 0 }, xs = { key: 1 }, Ss = { key: 2 }, Is = {
|
|
3521
3558
|
key: 4,
|
|
3522
3559
|
class: "scanner-overlay__toast scanner-overlay__toast--error",
|
|
3523
3560
|
role: "alert"
|
|
3524
|
-
},
|
|
3561
|
+
}, zs = { class: "scanner-overlay__manual" }, Ms = { class: "scanner-overlay__manual-row" }, Vs = ["disabled"], nt = "inv-scanner-feed", Bs = /* @__PURE__ */ ae({
|
|
3525
3562
|
__name: "ScannerOverlay",
|
|
3526
3563
|
setup(a) {
|
|
3527
3564
|
const s = Le(), o = ht(), g = we(), r = lt(), m = Xe(), w = $(""), u = $(null), i = $(!1), v = $(null);
|
|
@@ -3536,22 +3573,22 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3536
3573
|
async function c() {
|
|
3537
3574
|
o.error.value = null, await l();
|
|
3538
3575
|
}
|
|
3539
|
-
async function _(
|
|
3540
|
-
await o.stopScanning(), await y(
|
|
3576
|
+
async function _(L) {
|
|
3577
|
+
await o.stopScanning(), await y(L);
|
|
3541
3578
|
}
|
|
3542
3579
|
async function f() {
|
|
3543
|
-
const
|
|
3544
|
-
|
|
3580
|
+
const L = w.value.trim();
|
|
3581
|
+
L && await y(L);
|
|
3545
3582
|
}
|
|
3546
|
-
async function y(
|
|
3583
|
+
async function y(L) {
|
|
3547
3584
|
i.value = !0, v.value = null;
|
|
3548
3585
|
try {
|
|
3549
|
-
const
|
|
3550
|
-
|
|
3551
|
-
code:
|
|
3552
|
-
locationName:
|
|
3553
|
-
locationId:
|
|
3554
|
-
})) : (v.value = `No location found for code "${
|
|
3586
|
+
const z = await g.scanLookup(L);
|
|
3587
|
+
z ? (u.value = z, r.addToHistory({
|
|
3588
|
+
code: z.full_code,
|
|
3589
|
+
locationName: z.name,
|
|
3590
|
+
locationId: z.id
|
|
3591
|
+
})) : (v.value = `No location found for code "${L}"`, o.isSupported.value && await l());
|
|
3555
3592
|
} catch {
|
|
3556
3593
|
v.value = "Could not look up location. Check connection.", o.isSupported.value && await l();
|
|
3557
3594
|
} finally {
|
|
@@ -3564,10 +3601,10 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3564
3601
|
function h() {
|
|
3565
3602
|
u.value = null;
|
|
3566
3603
|
}
|
|
3567
|
-
function b(
|
|
3604
|
+
function b(L) {
|
|
3568
3605
|
u.value = null, s.push({
|
|
3569
3606
|
name: "inventory-location",
|
|
3570
|
-
params: { code:
|
|
3607
|
+
params: { code: L.full_code }
|
|
3571
3608
|
});
|
|
3572
3609
|
}
|
|
3573
3610
|
async function B() {
|
|
@@ -3576,9 +3613,9 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3576
3613
|
function S() {
|
|
3577
3614
|
s.back();
|
|
3578
3615
|
}
|
|
3579
|
-
return (
|
|
3580
|
-
|
|
3581
|
-
|
|
3616
|
+
return (L, z) => (t(), n("div", us, [
|
|
3617
|
+
x(m).isCountingMode ? (t(), n("div", vs, [
|
|
3618
|
+
z[2] || (z[2] = e("svg", {
|
|
3582
3619
|
width: "18",
|
|
3583
3620
|
height: "18",
|
|
3584
3621
|
viewBox: "0 0 18 18",
|
|
@@ -3599,15 +3636,15 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3599
3636
|
fill: "currentColor"
|
|
3600
3637
|
})
|
|
3601
3638
|
], -1)),
|
|
3602
|
-
e("span",
|
|
3603
|
-
])) :
|
|
3604
|
-
e("div",
|
|
3639
|
+
e("span", _s, " Counting: Session #" + d(x(m).activeSessionId), 1)
|
|
3640
|
+
])) : M("", !0),
|
|
3641
|
+
e("div", ps, [
|
|
3605
3642
|
e("button", {
|
|
3606
3643
|
type: "button",
|
|
3607
3644
|
class: "scanner-overlay__close-btn",
|
|
3608
3645
|
"aria-label": "Close scanner",
|
|
3609
3646
|
onClick: S
|
|
3610
|
-
}, [...
|
|
3647
|
+
}, [...z[3] || (z[3] = [
|
|
3611
3648
|
e("svg", {
|
|
3612
3649
|
width: "24",
|
|
3613
3650
|
height: "24",
|
|
@@ -3624,73 +3661,73 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3624
3661
|
})
|
|
3625
3662
|
], -1)
|
|
3626
3663
|
])]),
|
|
3627
|
-
|
|
3664
|
+
x(o).isScanning.value && x(o).isSupported.value ? (t(), n("button", {
|
|
3628
3665
|
key: 0,
|
|
3629
3666
|
type: "button",
|
|
3630
|
-
class: ee(["scanner-overlay__flash-btn", { "scanner-overlay__flash-btn--active":
|
|
3631
|
-
"aria-label":
|
|
3632
|
-
"aria-pressed":
|
|
3633
|
-
onClick:
|
|
3667
|
+
class: ee(["scanner-overlay__flash-btn", { "scanner-overlay__flash-btn--active": x(o).flashOn.value }]),
|
|
3668
|
+
"aria-label": x(o).flashOn.value ? "Turn off flash" : "Turn on flash",
|
|
3669
|
+
"aria-pressed": x(o).flashOn.value,
|
|
3670
|
+
onClick: z[0] || (z[0] = (T) => x(o).toggleFlash())
|
|
3634
3671
|
}, [
|
|
3635
|
-
(t(), n("svg",
|
|
3672
|
+
(t(), n("svg", fs, [
|
|
3636
3673
|
e("path", {
|
|
3637
3674
|
d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z",
|
|
3638
3675
|
stroke: "currentColor",
|
|
3639
3676
|
"stroke-width": "2",
|
|
3640
3677
|
"stroke-linecap": "round",
|
|
3641
3678
|
"stroke-linejoin": "round",
|
|
3642
|
-
fill:
|
|
3643
|
-
}, null, 8,
|
|
3679
|
+
fill: x(o).flashOn.value ? "currentColor" : "none"
|
|
3680
|
+
}, null, 8, ys)
|
|
3644
3681
|
]))
|
|
3645
|
-
], 10,
|
|
3682
|
+
], 10, hs)) : M("", !0)
|
|
3646
3683
|
]),
|
|
3647
|
-
|
|
3684
|
+
x(o).isSupported.value ? (t(), n("div", ms, [
|
|
3648
3685
|
ye(e("div", {
|
|
3649
3686
|
id: nt,
|
|
3650
3687
|
class: "scanner-overlay__camera-feed"
|
|
3651
3688
|
}, null, 512), [
|
|
3652
|
-
[We,
|
|
3689
|
+
[We, x(o).isScanning.value && !u.value]
|
|
3653
3690
|
]),
|
|
3654
|
-
|
|
3691
|
+
x(o).isScanning.value && !u.value ? (t(), n("div", gs, [...z[4] || (z[4] = [
|
|
3655
3692
|
xe('<div class="scanner-overlay__scan-box" data-v-e0f50099><span class="scanner-overlay__scan-corner scanner-overlay__scan-corner--tl" data-v-e0f50099></span><span class="scanner-overlay__scan-corner scanner-overlay__scan-corner--tr" data-v-e0f50099></span><span class="scanner-overlay__scan-corner scanner-overlay__scan-corner--bl" data-v-e0f50099></span><span class="scanner-overlay__scan-corner scanner-overlay__scan-corner--br" data-v-e0f50099></span></div>', 1)
|
|
3656
|
-
])])) :
|
|
3657
|
-
!
|
|
3693
|
+
])])) : M("", !0),
|
|
3694
|
+
!x(o).isScanning.value && !x(o).error.value && !u.value ? (t(), n("div", bs, [...z[5] || (z[5] = [
|
|
3658
3695
|
e("div", {
|
|
3659
3696
|
class: "scanner-overlay__spinner",
|
|
3660
3697
|
"aria-hidden": "true"
|
|
3661
3698
|
}, null, -1),
|
|
3662
3699
|
e("p", { class: "scanner-overlay__starting-text" }, "Starting camera...", -1)
|
|
3663
|
-
])])) :
|
|
3664
|
-
|
|
3665
|
-
|
|
3700
|
+
])])) : M("", !0),
|
|
3701
|
+
x(o).error.value && !u.value ? (t(), n("div", ks, [
|
|
3702
|
+
z[7] || (z[7] = xe('<svg width="32" height="32" viewBox="0 0 24 24" fill="none" aria-hidden="true" data-v-e0f50099><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="2" data-v-e0f50099></circle><path d="M15 9L9 15M9 9L15 15" stroke="currentColor" stroke-width="2" stroke-linecap="round" data-v-e0f50099></path></svg><p class="scanner-overlay__error-title" data-v-e0f50099>Camera access is required for scanning</p><p class="scanner-overlay__error-desc" data-v-e0f50099> Enable camera access in your browser or device settings, or use manual entry below. </p>', 3)),
|
|
3666
3703
|
I(O, {
|
|
3667
3704
|
variant: "secondary",
|
|
3668
3705
|
size: "sm",
|
|
3669
3706
|
onClick: c
|
|
3670
3707
|
}, {
|
|
3671
|
-
default: k(() => [...
|
|
3708
|
+
default: k(() => [...z[6] || (z[6] = [
|
|
3672
3709
|
D(" Try Again ", -1)
|
|
3673
3710
|
])]),
|
|
3674
3711
|
_: 1
|
|
3675
3712
|
})
|
|
3676
|
-
])) :
|
|
3677
|
-
])) : (t(), n("div",
|
|
3713
|
+
])) : M("", !0)
|
|
3714
|
+
])) : (t(), n("div", ws, [...z[8] || (z[8] = [
|
|
3678
3715
|
xe('<svg width="48" height="48" viewBox="0 0 24 24" fill="none" aria-hidden="true" data-v-e0f50099><rect x="2" y="6" width="20" height="14" rx="2" stroke="currentColor" stroke-width="1.5" data-v-e0f50099></rect><circle cx="12" cy="13" r="4" stroke="currentColor" stroke-width="1.5" data-v-e0f50099></circle><path d="M2 8L22 8" stroke="currentColor" stroke-width="1.5" data-v-e0f50099></path><path d="M3 3L21 21" stroke="currentColor" stroke-width="2" stroke-linecap="round" data-v-e0f50099></path></svg><p class="scanner-overlay__no-camera-text" data-v-e0f50099> No camera detected. Use manual entry to look up locations. </p>', 2)
|
|
3679
3716
|
])])),
|
|
3680
|
-
|
|
3681
|
-
e("div",
|
|
3682
|
-
i.value ? (t(), n("span",
|
|
3683
|
-
v.value ? (t(), n("span",
|
|
3684
|
-
u.value ? (t(), n("span",
|
|
3717
|
+
x(o).isSupported.value && x(o).isScanning.value && !u.value ? (t(), n("p", $s, " Point camera at QR code or barcode ")) : M("", !0),
|
|
3718
|
+
e("div", Cs, [
|
|
3719
|
+
i.value ? (t(), n("span", Ls, "Looking up scanned code...")) : M("", !0),
|
|
3720
|
+
v.value ? (t(), n("span", xs, d(v.value), 1)) : M("", !0),
|
|
3721
|
+
u.value ? (t(), n("span", Ss, "Location found: " + d(u.value.name), 1)) : M("", !0)
|
|
3685
3722
|
]),
|
|
3686
|
-
v.value ? (t(), n("div",
|
|
3723
|
+
v.value ? (t(), n("div", Is, [
|
|
3687
3724
|
e("span", null, d(v.value), 1),
|
|
3688
3725
|
e("button", {
|
|
3689
3726
|
type: "button",
|
|
3690
3727
|
class: "scanner-overlay__toast-dismiss",
|
|
3691
3728
|
"aria-label": "Dismiss error",
|
|
3692
3729
|
onClick: p
|
|
3693
|
-
}, [...
|
|
3730
|
+
}, [...z[9] || (z[9] = [
|
|
3694
3731
|
e("svg", {
|
|
3695
3732
|
width: "16",
|
|
3696
3733
|
height: "16",
|
|
@@ -3706,22 +3743,22 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3706
3743
|
})
|
|
3707
3744
|
], -1)
|
|
3708
3745
|
])])
|
|
3709
|
-
])) :
|
|
3710
|
-
e("div",
|
|
3711
|
-
|
|
3746
|
+
])) : M("", !0),
|
|
3747
|
+
e("div", zs, [
|
|
3748
|
+
z[11] || (z[11] = e("label", {
|
|
3712
3749
|
for: "scanner-manual-input",
|
|
3713
3750
|
class: "scanner-overlay__manual-label"
|
|
3714
3751
|
}, " Or enter code manually: ", -1)),
|
|
3715
|
-
e("div",
|
|
3752
|
+
e("div", Ms, [
|
|
3716
3753
|
ye(e("input", {
|
|
3717
3754
|
id: "scanner-manual-input",
|
|
3718
|
-
"onUpdate:modelValue":
|
|
3755
|
+
"onUpdate:modelValue": z[1] || (z[1] = (T) => w.value = T),
|
|
3719
3756
|
type: "text",
|
|
3720
3757
|
class: "scanner-overlay__manual-input",
|
|
3721
3758
|
placeholder: "e.g. WH1-A-01",
|
|
3722
3759
|
disabled: i.value,
|
|
3723
3760
|
onKeydown: Ne(f, ["enter"])
|
|
3724
|
-
}, null, 40,
|
|
3761
|
+
}, null, 40, Vs), [
|
|
3725
3762
|
[ze, w.value]
|
|
3726
3763
|
]),
|
|
3727
3764
|
I(O, {
|
|
@@ -3731,49 +3768,49 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3731
3768
|
disabled: !w.value.trim(),
|
|
3732
3769
|
onClick: f
|
|
3733
3770
|
}, {
|
|
3734
|
-
default: k(() => [...
|
|
3771
|
+
default: k(() => [...z[10] || (z[10] = [
|
|
3735
3772
|
D(" Go ", -1)
|
|
3736
3773
|
])]),
|
|
3737
3774
|
_: 1
|
|
3738
3775
|
}, 8, ["loading", "disabled"])
|
|
3739
3776
|
])
|
|
3740
3777
|
]),
|
|
3741
|
-
u.value ?
|
|
3778
|
+
u.value ? M("", !0) : (t(), K(ds, {
|
|
3742
3779
|
key: 5,
|
|
3743
3780
|
limit: 5,
|
|
3744
3781
|
class: "scanner-overlay__history"
|
|
3745
3782
|
})),
|
|
3746
|
-
u.value ? (t(), K(
|
|
3783
|
+
u.value ? (t(), K(as, {
|
|
3747
3784
|
key: 6,
|
|
3748
3785
|
location: u.value,
|
|
3749
3786
|
show: !!u.value,
|
|
3750
3787
|
onClose: h,
|
|
3751
3788
|
onNavigate: b,
|
|
3752
3789
|
onScanAgain: B
|
|
3753
|
-
}, null, 8, ["location", "show"])) :
|
|
3790
|
+
}, null, 8, ["location", "show"])) : M("", !0)
|
|
3754
3791
|
]));
|
|
3755
3792
|
}
|
|
3756
|
-
}),
|
|
3793
|
+
}), Kr = /* @__PURE__ */ oe(Bs, [["__scopeId", "data-v-e0f50099"]]), As = { class: "count-session-list" }, Ps = { class: "count-session-list__header" }, Fs = { class: "count-session-list__create-fields" }, Ns = { class: "count-session-list__scope-field" }, Ts = { class: "count-session-list__scope-input" }, Ds = {
|
|
3757
3794
|
key: 0,
|
|
3758
3795
|
class: "count-session-list__scope-results",
|
|
3759
3796
|
role: "listbox",
|
|
3760
3797
|
"aria-label": "Scope location results"
|
|
3761
|
-
},
|
|
3798
|
+
}, Es = ["aria-selected", "onClick"], Rs = {
|
|
3762
3799
|
key: 1,
|
|
3763
3800
|
class: "count-session-list__scope-selected"
|
|
3764
|
-
},
|
|
3801
|
+
}, qs = { class: "count-session-list__create-actions" }, Hs = {
|
|
3765
3802
|
key: 0,
|
|
3766
3803
|
class: "count-session-list__loading"
|
|
3767
|
-
},
|
|
3804
|
+
}, Us = {
|
|
3768
3805
|
key: 1,
|
|
3769
3806
|
class: "count-session-list__section"
|
|
3770
|
-
},
|
|
3807
|
+
}, js = { class: "count-session-list__cards" }, Os = { class: "count-session-list__card-header" }, Qs = { class: "count-session-list__card-name" }, Ks = ["aria-valuenow", "aria-label"], Gs = { class: "count-session-list__progress-track" }, Ws = { class: "count-session-list__progress-label" }, Zs = { class: "count-session-list__card-stats" }, Js = {
|
|
3771
3808
|
key: 0,
|
|
3772
3809
|
class: "count-session-list__card-meta"
|
|
3773
|
-
},
|
|
3810
|
+
}, Xs = { class: "count-session-list__card-actions" }, Ys = {
|
|
3774
3811
|
key: 2,
|
|
3775
3812
|
class: "count-session-list__section"
|
|
3776
|
-
},
|
|
3813
|
+
}, el = { class: "count-session-list__completed" }, tl = ["onClick"], al = { class: "count-session-list__completed-info" }, ol = { class: "count-session-list__completed-name" }, nl = { class: "count-session-list__completed-meta" }, sl = { key: 0 }, ll = { key: 1 }, il = { key: 2 }, rl = /* @__PURE__ */ ae({
|
|
3777
3814
|
__name: "CountSessionList",
|
|
3778
3815
|
setup(a) {
|
|
3779
3816
|
const s = Le(), {
|
|
@@ -3802,10 +3839,10 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3802
3839
|
function S() {
|
|
3803
3840
|
f.value = null, c.value = "", _.value = [];
|
|
3804
3841
|
}
|
|
3805
|
-
function
|
|
3842
|
+
function L() {
|
|
3806
3843
|
u.value = !1, i.value = "", v.value = void 0, S();
|
|
3807
3844
|
}
|
|
3808
|
-
async function
|
|
3845
|
+
async function z() {
|
|
3809
3846
|
var A, V, q;
|
|
3810
3847
|
const C = i.value.trim();
|
|
3811
3848
|
if (!C) {
|
|
@@ -3835,8 +3872,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3835
3872
|
year: "numeric"
|
|
3836
3873
|
});
|
|
3837
3874
|
}
|
|
3838
|
-
return (C, A) => (t(), n("div",
|
|
3839
|
-
e("div",
|
|
3875
|
+
return (C, A) => (t(), n("div", As, [
|
|
3876
|
+
e("div", Ps, [
|
|
3840
3877
|
A[6] || (A[6] = e("h1", { class: "count-session-list__title" }, "Cycle Counts", -1)),
|
|
3841
3878
|
I(O, {
|
|
3842
3879
|
variant: "primary",
|
|
@@ -3874,9 +3911,9 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3874
3911
|
}, {
|
|
3875
3912
|
default: k(() => [
|
|
3876
3913
|
e("form", {
|
|
3877
|
-
onSubmit: me(
|
|
3914
|
+
onSubmit: me(z, ["prevent"])
|
|
3878
3915
|
}, [
|
|
3879
|
-
e("div",
|
|
3916
|
+
e("div", Fs, [
|
|
3880
3917
|
I(Fe, {
|
|
3881
3918
|
modelValue: i.value,
|
|
3882
3919
|
"onUpdate:modelValue": A[1] || (A[1] = (V) => i.value = V),
|
|
@@ -3885,10 +3922,10 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3885
3922
|
error: v.value,
|
|
3886
3923
|
autofocus: ""
|
|
3887
3924
|
}, null, 8, ["modelValue", "error"]),
|
|
3888
|
-
e("div",
|
|
3925
|
+
e("div", Ns, [
|
|
3889
3926
|
A[8] || (A[8] = e("label", { class: "count-session-list__scope-label" }, " Scope (optional) ", -1)),
|
|
3890
3927
|
A[9] || (A[9] = e("p", { class: "count-session-list__scope-hint" }, " Limit count to a specific location and its children ", -1)),
|
|
3891
|
-
e("div",
|
|
3928
|
+
e("div", Ts, [
|
|
3892
3929
|
ye(e("input", {
|
|
3893
3930
|
"onUpdate:modelValue": A[2] || (A[2] = (V) => c.value = V),
|
|
3894
3931
|
type: "search",
|
|
@@ -3898,7 +3935,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3898
3935
|
}, null, 544), [
|
|
3899
3936
|
[ze, c.value]
|
|
3900
3937
|
]),
|
|
3901
|
-
_.value.length > 0 ? (t(), n("div",
|
|
3938
|
+
_.value.length > 0 ? (t(), n("div", Ds, [
|
|
3902
3939
|
(t(!0), n(G, null, ne(_.value, (V) => {
|
|
3903
3940
|
var q, E;
|
|
3904
3941
|
return t(), n("button", {
|
|
@@ -3913,10 +3950,10 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3913
3950
|
code: V.full_code
|
|
3914
3951
|
}, null, 8, ["code"]),
|
|
3915
3952
|
e("span", null, d(V.name), 1)
|
|
3916
|
-
], 10,
|
|
3953
|
+
], 10, Es);
|
|
3917
3954
|
}), 128))
|
|
3918
|
-
])) :
|
|
3919
|
-
f.value ? (t(), n("div",
|
|
3955
|
+
])) : M("", !0),
|
|
3956
|
+
f.value ? (t(), n("div", Rs, [
|
|
3920
3957
|
I(fe, {
|
|
3921
3958
|
code: f.value.full_code
|
|
3922
3959
|
}, null, 8, ["code"]),
|
|
@@ -3942,15 +3979,15 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3942
3979
|
})
|
|
3943
3980
|
], -1)
|
|
3944
3981
|
])])
|
|
3945
|
-
])) :
|
|
3982
|
+
])) : M("", !0)
|
|
3946
3983
|
])
|
|
3947
3984
|
])
|
|
3948
3985
|
]),
|
|
3949
|
-
e("div",
|
|
3986
|
+
e("div", qs, [
|
|
3950
3987
|
I(O, {
|
|
3951
3988
|
variant: "ghost",
|
|
3952
3989
|
size: "sm",
|
|
3953
|
-
onClick:
|
|
3990
|
+
onClick: L
|
|
3954
3991
|
}, {
|
|
3955
3992
|
default: k(() => [...A[10] || (A[10] = [
|
|
3956
3993
|
D(" Cancel ", -1)
|
|
@@ -3973,24 +4010,24 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
3973
4010
|
], 32)
|
|
3974
4011
|
]),
|
|
3975
4012
|
_: 1
|
|
3976
|
-
})) :
|
|
4013
|
+
})) : M("", !0)
|
|
3977
4014
|
]),
|
|
3978
4015
|
_: 1
|
|
3979
4016
|
}),
|
|
3980
|
-
|
|
4017
|
+
x(g) && x(o).length === 0 ? (t(), n("div", Hs, [
|
|
3981
4018
|
I(se, { loading: "" }),
|
|
3982
4019
|
I(se, { loading: "" })
|
|
3983
|
-
])) :
|
|
3984
|
-
y.value.length > 0 ? (t(), n("section",
|
|
4020
|
+
])) : M("", !0),
|
|
4021
|
+
y.value.length > 0 ? (t(), n("section", Us, [
|
|
3985
4022
|
A[14] || (A[14] = e("h2", { class: "count-session-list__section-title" }, "Active", -1)),
|
|
3986
|
-
e("div",
|
|
4023
|
+
e("div", js, [
|
|
3987
4024
|
(t(!0), n(G, null, ne(y.value, (V) => (t(), K(se, {
|
|
3988
4025
|
key: V.id,
|
|
3989
4026
|
class: "count-session-list__active-card"
|
|
3990
4027
|
}, {
|
|
3991
4028
|
default: k(() => [
|
|
3992
|
-
e("div",
|
|
3993
|
-
e("h3",
|
|
4029
|
+
e("div", Os, [
|
|
4030
|
+
e("h3", Qs, d(V.name), 1),
|
|
3994
4031
|
I(ve, {
|
|
3995
4032
|
variant: V.status === "in_progress" ? "default" : "muted"
|
|
3996
4033
|
}, {
|
|
@@ -4008,17 +4045,17 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4008
4045
|
"aria-valuemax": "100",
|
|
4009
4046
|
"aria-label": `Counting progress: ${V.progress.percent_complete}%`
|
|
4010
4047
|
}, [
|
|
4011
|
-
e("div",
|
|
4048
|
+
e("div", Gs, [
|
|
4012
4049
|
e("div", {
|
|
4013
4050
|
class: ee(["count-session-list__progress-fill", h(V.progress.percent_complete)]),
|
|
4014
4051
|
style: ke({ width: `${V.progress.percent_complete}%` })
|
|
4015
4052
|
}, null, 6)
|
|
4016
4053
|
]),
|
|
4017
|
-
e("span",
|
|
4018
|
-
], 8,
|
|
4019
|
-
e("p",
|
|
4020
|
-
V.started_at ? (t(), n("div",
|
|
4021
|
-
e("div",
|
|
4054
|
+
e("span", Ws, d(V.progress.percent_complete) + "% ", 1)
|
|
4055
|
+
], 8, Ks),
|
|
4056
|
+
e("p", Zs, d(V.progress.counted) + "/" + d(V.progress.total) + " locations counted, " + d(V.progress.discrepancies) + " discrepancies ", 1),
|
|
4057
|
+
V.started_at ? (t(), n("div", Js, " Started: " + d(Q(V.started_at)), 1)) : M("", !0),
|
|
4058
|
+
e("div", Xs, [
|
|
4022
4059
|
V.status === "in_progress" ? (t(), K(O, {
|
|
4023
4060
|
key: 0,
|
|
4024
4061
|
variant: "primary",
|
|
@@ -4029,7 +4066,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4029
4066
|
D(" Continue Counting ", -1)
|
|
4030
4067
|
])]),
|
|
4031
4068
|
_: 1
|
|
4032
|
-
}, 8, ["onClick"])) :
|
|
4069
|
+
}, 8, ["onClick"])) : M("", !0),
|
|
4033
4070
|
I(O, {
|
|
4034
4071
|
variant: "secondary",
|
|
4035
4072
|
size: "sm",
|
|
@@ -4045,18 +4082,18 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4045
4082
|
_: 2
|
|
4046
4083
|
}, 1024))), 128))
|
|
4047
4084
|
])
|
|
4048
|
-
])) :
|
|
4049
|
-
p.value.length > 0 ? (t(), n("section",
|
|
4085
|
+
])) : M("", !0),
|
|
4086
|
+
p.value.length > 0 ? (t(), n("section", Ys, [
|
|
4050
4087
|
A[15] || (A[15] = e("h2", { class: "count-session-list__section-title" }, "Recent", -1)),
|
|
4051
|
-
e("div",
|
|
4088
|
+
e("div", el, [
|
|
4052
4089
|
(t(!0), n(G, null, ne(p.value, (V) => (t(), n("button", {
|
|
4053
4090
|
key: V.id,
|
|
4054
4091
|
type: "button",
|
|
4055
4092
|
class: "count-session-list__completed-row",
|
|
4056
4093
|
onClick: (q) => T(V.id)
|
|
4057
4094
|
}, [
|
|
4058
|
-
e("div",
|
|
4059
|
-
e("span",
|
|
4095
|
+
e("div", al, [
|
|
4096
|
+
e("span", ol, d(V.name), 1),
|
|
4060
4097
|
I(ve, {
|
|
4061
4098
|
variant: V.status === "completed" ? "success" : "muted",
|
|
4062
4099
|
size: "sm"
|
|
@@ -4067,35 +4104,35 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4067
4104
|
_: 2
|
|
4068
4105
|
}, 1032, ["variant"])
|
|
4069
4106
|
]),
|
|
4070
|
-
e("div",
|
|
4071
|
-
V.status === "completed" && V.progress ? (t(), n("span",
|
|
4072
|
-
V.completed_at ? (t(), n("span",
|
|
4107
|
+
e("div", nl, [
|
|
4108
|
+
V.status === "completed" && V.progress ? (t(), n("span", sl, " Accuracy: " + d(V.progress.total > 0 ? ((V.progress.total - V.progress.discrepancies) / V.progress.total * 100).toFixed(1) : "0.0") + "% ", 1)) : M("", !0),
|
|
4109
|
+
V.completed_at ? (t(), n("span", ll, d(Q(V.completed_at)), 1)) : V.updated_at ? (t(), n("span", il, d(Q(V.updated_at)), 1)) : M("", !0)
|
|
4073
4110
|
])
|
|
4074
|
-
], 8,
|
|
4111
|
+
], 8, tl))), 128))
|
|
4075
4112
|
])
|
|
4076
|
-
])) :
|
|
4077
|
-
!
|
|
4113
|
+
])) : M("", !0),
|
|
4114
|
+
!x(g) && x(o).length === 0 ? (t(), K(ge, {
|
|
4078
4115
|
key: 3,
|
|
4079
4116
|
title: "No count sessions",
|
|
4080
4117
|
description: "Create a cycle count session to track inventory accuracy.",
|
|
4081
4118
|
"action-label": "Create Session",
|
|
4082
4119
|
onAction: A[3] || (A[3] = (V) => u.value = !0)
|
|
4083
|
-
})) :
|
|
4120
|
+
})) : M("", !0)
|
|
4084
4121
|
]));
|
|
4085
4122
|
}
|
|
4086
|
-
}),
|
|
4123
|
+
}), Gr = /* @__PURE__ */ oe(rl, [["__scopeId", "data-v-900e6502"]]), cl = { class: "count-detail" }, dl = { class: "count-detail__header" }, ul = { class: "count-detail__header-info" }, vl = { class: "count-detail__title" }, _l = { class: "count-detail__meta" }, pl = {
|
|
4087
4124
|
key: 0,
|
|
4088
4125
|
class: "count-detail__meta-item"
|
|
4089
|
-
},
|
|
4126
|
+
}, hl = {
|
|
4090
4127
|
key: 1,
|
|
4091
4128
|
class: "count-detail__meta-item"
|
|
4092
|
-
},
|
|
4129
|
+
}, fl = ["aria-valuenow", "aria-label"], yl = { class: "count-detail__progress-track" }, ml = { class: "count-detail__progress-pct" }, gl = { class: "count-detail__stats-grid" }, bl = { class: "count-detail__stat" }, kl = { class: "count-detail__stat-value" }, wl = { class: "count-detail__stat" }, $l = { class: "count-detail__stat-value" }, Cl = { class: "count-detail__stat" }, Ll = { class: "count-detail__stat-value" }, xl = { class: "count-detail__stat" }, Sl = { class: "count-detail__stat-value count-detail__stat-value--pending" }, Il = { class: "count-detail__stat" }, zl = { class: "count-detail__stat-value count-detail__stat-value--warning" }, Ml = { class: "count-detail__action-grid" }, Vl = { class: "count-detail__filters" }, Bl = { class: "count-detail__discrepancy-toggle" }, Al = ["title"], Pl = { class: "count-detail__entry-product" }, Fl = { class: "count-detail__entry-qty" }, Nl = {
|
|
4093
4130
|
key: 0,
|
|
4094
4131
|
class: "count-detail__entry-disc"
|
|
4095
|
-
},
|
|
4132
|
+
}, Tl = {
|
|
4096
4133
|
key: 1,
|
|
4097
4134
|
class: "count-detail__entry-pending"
|
|
4098
|
-
},
|
|
4135
|
+
}, Dl = /* @__PURE__ */ ae({
|
|
4099
4136
|
__name: "CountSessionDetail",
|
|
4100
4137
|
props: {
|
|
4101
4138
|
sessionId: {}
|
|
@@ -4112,7 +4149,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4112
4149
|
updateStatus: c,
|
|
4113
4150
|
applySession: _,
|
|
4114
4151
|
verifyEntry: f
|
|
4115
|
-
} = Ve(), y = $(!1), p = $(!1), h = $(!1), b = $(""), B = $(!1), S = $(!1),
|
|
4152
|
+
} = Ve(), y = $(!1), p = $(!1), h = $(!1), b = $(""), B = $(!1), S = $(!1), L = $(""), z = $(""), T = $(""), N = $(!1), Q = $(!1);
|
|
4116
4153
|
let C = null;
|
|
4117
4154
|
const A = [
|
|
4118
4155
|
{ key: "status", label: "Status", width: "60px", align: "center" },
|
|
@@ -4186,7 +4223,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4186
4223
|
B.value = !B.value;
|
|
4187
4224
|
}
|
|
4188
4225
|
function je() {
|
|
4189
|
-
|
|
4226
|
+
L.value = "Apply Adjustments", z.value = "This will adjust inventory quantities based on verified counts. This action cannot be undone.", T.value = "Apply", N.value = !1, C = async () => {
|
|
4190
4227
|
h.value = !0;
|
|
4191
4228
|
try {
|
|
4192
4229
|
await _(s.sessionId), await i(s.sessionId), await pe();
|
|
@@ -4196,7 +4233,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4196
4233
|
}, S.value = !0;
|
|
4197
4234
|
}
|
|
4198
4235
|
function Oe() {
|
|
4199
|
-
|
|
4236
|
+
L.value = "Cancel Session", z.value = "Are you sure you want to cancel this count session? Uncounted entries will be discarded.", T.value = "Cancel Session", N.value = !0, C = async () => {
|
|
4200
4237
|
await c(s.sessionId, "cancelled"), await i(s.sessionId);
|
|
4201
4238
|
}, S.value = !0;
|
|
4202
4239
|
}
|
|
@@ -4239,30 +4276,30 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4239
4276
|
year: "numeric"
|
|
4240
4277
|
});
|
|
4241
4278
|
}
|
|
4242
|
-
return (te, Z) => (t(), n("div",
|
|
4243
|
-
|
|
4279
|
+
return (te, Z) => (t(), n("div", cl, [
|
|
4280
|
+
x(w) && !x(r) ? (t(), K(se, {
|
|
4244
4281
|
key: 0,
|
|
4245
4282
|
loading: ""
|
|
4246
|
-
})) :
|
|
4283
|
+
})) : x(u) && !x(r) ? (t(), K(ge, {
|
|
4247
4284
|
key: 1,
|
|
4248
4285
|
title: "Could not load session",
|
|
4249
|
-
description:
|
|
4286
|
+
description: x(u),
|
|
4250
4287
|
"action-label": "Retry",
|
|
4251
4288
|
onAction: le
|
|
4252
|
-
}, null, 8, ["description"])) :
|
|
4253
|
-
|
|
4254
|
-
e("div",
|
|
4255
|
-
e("div",
|
|
4256
|
-
e("h1",
|
|
4257
|
-
e("div",
|
|
4289
|
+
}, null, 8, ["description"])) : M("", !0),
|
|
4290
|
+
x(r) ? (t(), n(G, { key: 2 }, [
|
|
4291
|
+
e("div", dl, [
|
|
4292
|
+
e("div", ul, [
|
|
4293
|
+
e("h1", vl, d(x(r).name), 1),
|
|
4294
|
+
e("div", _l, [
|
|
4258
4295
|
I(ve, { variant: q.value }, {
|
|
4259
4296
|
default: k(() => [
|
|
4260
4297
|
D(d(E.value), 1)
|
|
4261
4298
|
]),
|
|
4262
4299
|
_: 1
|
|
4263
4300
|
}, 8, ["variant"]),
|
|
4264
|
-
|
|
4265
|
-
|
|
4301
|
+
x(r).started_at ? (t(), n("span", pl, " Started: " + d(rt(x(r).started_at)), 1)) : M("", !0),
|
|
4302
|
+
x(r).scope_location_id ? (t(), n("span", hl, " Scope: Location #" + d(x(r).scope_location_id), 1)) : M("", !0)
|
|
4266
4303
|
])
|
|
4267
4304
|
])
|
|
4268
4305
|
]),
|
|
@@ -4274,38 +4311,38 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4274
4311
|
e("div", {
|
|
4275
4312
|
class: "count-detail__progress-bar",
|
|
4276
4313
|
role: "progressbar",
|
|
4277
|
-
"aria-valuenow":
|
|
4314
|
+
"aria-valuenow": x(r).progress.percent_complete,
|
|
4278
4315
|
"aria-valuemin": "0",
|
|
4279
4316
|
"aria-valuemax": "100",
|
|
4280
|
-
"aria-label": `${
|
|
4317
|
+
"aria-label": `${x(r).progress.percent_complete}% complete`
|
|
4281
4318
|
}, [
|
|
4282
|
-
e("div",
|
|
4319
|
+
e("div", yl, [
|
|
4283
4320
|
e("div", {
|
|
4284
4321
|
class: ee(["count-detail__progress-fill", P.value]),
|
|
4285
|
-
style: ke({ width: `${
|
|
4322
|
+
style: ke({ width: `${x(r).progress.percent_complete}%` })
|
|
4286
4323
|
}, null, 6)
|
|
4287
4324
|
]),
|
|
4288
|
-
e("span",
|
|
4289
|
-
], 8,
|
|
4290
|
-
e("div",
|
|
4291
|
-
e("div",
|
|
4292
|
-
e("span",
|
|
4325
|
+
e("span", ml, d(x(r).progress.percent_complete) + "% ", 1)
|
|
4326
|
+
], 8, fl),
|
|
4327
|
+
e("div", gl, [
|
|
4328
|
+
e("div", bl, [
|
|
4329
|
+
e("span", kl, d(x(r).progress.total), 1),
|
|
4293
4330
|
Z[5] || (Z[5] = e("span", { class: "count-detail__stat-label" }, "Total", -1))
|
|
4294
4331
|
]),
|
|
4295
|
-
e("div",
|
|
4296
|
-
e("span",
|
|
4332
|
+
e("div", wl, [
|
|
4333
|
+
e("span", $l, d(x(r).progress.counted), 1),
|
|
4297
4334
|
Z[6] || (Z[6] = e("span", { class: "count-detail__stat-label" }, "Counted", -1))
|
|
4298
4335
|
]),
|
|
4299
|
-
e("div",
|
|
4300
|
-
e("span",
|
|
4336
|
+
e("div", Cl, [
|
|
4337
|
+
e("span", Ll, d(x(r).progress.verified), 1),
|
|
4301
4338
|
Z[7] || (Z[7] = e("span", { class: "count-detail__stat-label" }, "Verified", -1))
|
|
4302
4339
|
]),
|
|
4303
|
-
e("div",
|
|
4304
|
-
e("span",
|
|
4340
|
+
e("div", xl, [
|
|
4341
|
+
e("span", Sl, d(x(r).progress.total - x(r).progress.counted), 1),
|
|
4305
4342
|
Z[8] || (Z[8] = e("span", { class: "count-detail__stat-label" }, "Pending", -1))
|
|
4306
4343
|
]),
|
|
4307
|
-
e("div",
|
|
4308
|
-
e("span",
|
|
4344
|
+
e("div", Il, [
|
|
4345
|
+
e("span", zl, d(x(r).progress.discrepancies), 1),
|
|
4309
4346
|
Z[9] || (Z[9] = e("span", { class: "count-detail__stat-label" }, "Discrepancies", -1))
|
|
4310
4347
|
])
|
|
4311
4348
|
])
|
|
@@ -4317,7 +4354,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4317
4354
|
class: "count-detail__actions-card"
|
|
4318
4355
|
}, {
|
|
4319
4356
|
default: k(() => [
|
|
4320
|
-
e("div",
|
|
4357
|
+
e("div", Ml, [
|
|
4321
4358
|
R.value ? (t(), K(O, {
|
|
4322
4359
|
key: 0,
|
|
4323
4360
|
variant: "secondary",
|
|
@@ -4329,7 +4366,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4329
4366
|
D(" Generate Entries ", -1)
|
|
4330
4367
|
])]),
|
|
4331
4368
|
_: 1
|
|
4332
|
-
}, 8, ["loading"])) :
|
|
4369
|
+
}, 8, ["loading"])) : M("", !0),
|
|
4333
4370
|
ce.value ? (t(), K(O, {
|
|
4334
4371
|
key: 1,
|
|
4335
4372
|
variant: "primary",
|
|
@@ -4340,7 +4377,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4340
4377
|
D(" Start Counting ", -1)
|
|
4341
4378
|
])]),
|
|
4342
4379
|
_: 1
|
|
4343
|
-
})) :
|
|
4380
|
+
})) : M("", !0),
|
|
4344
4381
|
W.value ? (t(), K(O, {
|
|
4345
4382
|
key: 2,
|
|
4346
4383
|
variant: "secondary",
|
|
@@ -4351,7 +4388,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4351
4388
|
D(d(B.value ? "Show All" : "Review Discrepancies"), 1)
|
|
4352
4389
|
]),
|
|
4353
4390
|
_: 1
|
|
4354
|
-
})) :
|
|
4391
|
+
})) : M("", !0),
|
|
4355
4392
|
H.value ? (t(), K(O, {
|
|
4356
4393
|
key: 3,
|
|
4357
4394
|
variant: "primary",
|
|
@@ -4363,8 +4400,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4363
4400
|
D(" Apply Adjustments ", -1)
|
|
4364
4401
|
])]),
|
|
4365
4402
|
_: 1
|
|
4366
|
-
}, 8, ["loading"])) :
|
|
4367
|
-
|
|
4403
|
+
}, 8, ["loading"])) : M("", !0),
|
|
4404
|
+
x(r).status === "completed" ? (t(), K(O, {
|
|
4368
4405
|
key: 4,
|
|
4369
4406
|
variant: "secondary",
|
|
4370
4407
|
size: "md",
|
|
@@ -4374,8 +4411,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4374
4411
|
D(" View Report ", -1)
|
|
4375
4412
|
])]),
|
|
4376
4413
|
_: 1
|
|
4377
|
-
})) :
|
|
4378
|
-
|
|
4414
|
+
})) : M("", !0),
|
|
4415
|
+
x(r).status !== "completed" && x(r).status !== "cancelled" ? (t(), K(O, {
|
|
4379
4416
|
key: 5,
|
|
4380
4417
|
variant: "danger",
|
|
4381
4418
|
size: "md",
|
|
@@ -4385,7 +4422,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4385
4422
|
D(" Cancel ", -1)
|
|
4386
4423
|
])]),
|
|
4387
4424
|
_: 1
|
|
4388
|
-
})) :
|
|
4425
|
+
})) : M("", !0)
|
|
4389
4426
|
])
|
|
4390
4427
|
]),
|
|
4391
4428
|
_: 1
|
|
@@ -4396,14 +4433,14 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4396
4433
|
"no-padding": ""
|
|
4397
4434
|
}, {
|
|
4398
4435
|
actions: k(() => [
|
|
4399
|
-
e("div",
|
|
4436
|
+
e("div", Vl, [
|
|
4400
4437
|
I($e, {
|
|
4401
4438
|
modelValue: b.value,
|
|
4402
4439
|
"onUpdate:modelValue": Z[0] || (Z[0] = (re) => b.value = re),
|
|
4403
4440
|
options: V,
|
|
4404
4441
|
placeholder: "All Statuses"
|
|
4405
4442
|
}, null, 8, ["modelValue"]),
|
|
4406
|
-
e("label",
|
|
4443
|
+
e("label", Bl, [
|
|
4407
4444
|
ye(e("input", {
|
|
4408
4445
|
"onUpdate:modelValue": Z[1] || (Z[1] = (re) => B.value = re),
|
|
4409
4446
|
type: "checkbox",
|
|
@@ -4428,13 +4465,13 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4428
4465
|
e("span", {
|
|
4429
4466
|
class: "count-detail__entry-status",
|
|
4430
4467
|
title: Ae(re)
|
|
4431
|
-
}, d(j(re)), 9,
|
|
4468
|
+
}, d(j(re)), 9, Al)
|
|
4432
4469
|
]),
|
|
4433
4470
|
"cell-product_name": k(({ value: re }) => [
|
|
4434
|
-
e("span",
|
|
4471
|
+
e("span", Pl, d(re), 1)
|
|
4435
4472
|
]),
|
|
4436
4473
|
"cell-expected_quantity": k(({ value: re }) => [
|
|
4437
|
-
e("span",
|
|
4474
|
+
e("span", Fl, d(re ?? "-"), 1)
|
|
4438
4475
|
]),
|
|
4439
4476
|
"cell-counted_quantity": k(({ row: re }) => [
|
|
4440
4477
|
re.counted_quantity !== null ? (t(), n("span", {
|
|
@@ -4445,19 +4482,19 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4445
4482
|
}])
|
|
4446
4483
|
}, [
|
|
4447
4484
|
D(d(re.counted_quantity) + " ", 1),
|
|
4448
|
-
re.discrepancy !== null && re.discrepancy !== 0 ? (t(), n("span",
|
|
4449
|
-
], 2)) : (t(), n("span",
|
|
4485
|
+
re.discrepancy !== null && re.discrepancy !== 0 ? (t(), n("span", Nl, " (" + d(re.discrepancy > 0 ? "+" : "") + d(re.discrepancy) + ") ", 1)) : M("", !0)
|
|
4486
|
+
], 2)) : (t(), n("span", Tl, "pending"))
|
|
4450
4487
|
]),
|
|
4451
4488
|
_: 1
|
|
4452
4489
|
}, 8, ["data", "loading"])
|
|
4453
4490
|
]),
|
|
4454
4491
|
_: 1
|
|
4455
4492
|
})
|
|
4456
|
-
], 64)) :
|
|
4493
|
+
], 64)) : M("", !0),
|
|
4457
4494
|
I(qe, {
|
|
4458
4495
|
show: S.value,
|
|
4459
|
-
title:
|
|
4460
|
-
description:
|
|
4496
|
+
title: L.value,
|
|
4497
|
+
description: z.value,
|
|
4461
4498
|
size: "sm",
|
|
4462
4499
|
"onUpdate:show": Z[3] || (Z[3] = (re) => S.value = re),
|
|
4463
4500
|
onClose: Z[4] || (Z[4] = (re) => S.value = !1)
|
|
@@ -4489,48 +4526,48 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4489
4526
|
}, 8, ["show", "title", "description"])
|
|
4490
4527
|
]));
|
|
4491
4528
|
}
|
|
4492
|
-
}),
|
|
4529
|
+
}), Wr = /* @__PURE__ */ oe(Dl, [["__scopeId", "data-v-faf8e3d1"]]), El = { class: "count-entry" }, Rl = { class: "count-entry__header" }, ql = {
|
|
4493
4530
|
key: 0,
|
|
4494
4531
|
class: "count-entry__session-name"
|
|
4495
|
-
},
|
|
4532
|
+
}, Hl = {
|
|
4496
4533
|
key: 1,
|
|
4497
4534
|
class: "count-entry__location-count"
|
|
4498
|
-
},
|
|
4535
|
+
}, Ul = {
|
|
4499
4536
|
key: 0,
|
|
4500
4537
|
class: "count-entry__connectivity-dot count-entry__connectivity-dot--online",
|
|
4501
4538
|
"aria-hidden": "true"
|
|
4502
|
-
},
|
|
4539
|
+
}, jl = {
|
|
4503
4540
|
key: 1,
|
|
4504
4541
|
class: "count-entry__connectivity-dot count-entry__connectivity-dot--offline",
|
|
4505
4542
|
"aria-hidden": "true"
|
|
4506
|
-
},
|
|
4543
|
+
}, Ol = {
|
|
4507
4544
|
key: 0,
|
|
4508
4545
|
class: "count-entry__no-location"
|
|
4509
|
-
},
|
|
4546
|
+
}, Ql = { class: "count-entry__no-location-actions" }, Kl = { class: "count-entry__search-row" }, Gl = {
|
|
4510
4547
|
key: 0,
|
|
4511
4548
|
class: "count-entry__search-results",
|
|
4512
4549
|
role: "listbox",
|
|
4513
4550
|
"aria-label": "Location search results"
|
|
4514
|
-
},
|
|
4551
|
+
}, Wl = ["onClick"], Zl = { class: "count-entry__location-card" }, Jl = { class: "count-entry__location-details" }, Xl = { class: "count-entry__location-name" }, Yl = {
|
|
4515
4552
|
class: "count-entry__products",
|
|
4516
4553
|
role: "list",
|
|
4517
4554
|
"aria-label": "Products to count"
|
|
4518
|
-
},
|
|
4555
|
+
}, ei = {
|
|
4519
4556
|
key: 0,
|
|
4520
4557
|
class: "count-entry__no-entries"
|
|
4521
|
-
},
|
|
4558
|
+
}, ti = ["onClick"], ai = { class: "count-entry__product-info" }, oi = { class: "count-entry__product-name" }, ni = { class: "count-entry__product-expected" }, si = { class: "count-entry__product-count" }, li = ["for"], ii = ["id", "value", "onFocus"], ri = {
|
|
4522
4559
|
key: 0,
|
|
4523
4560
|
class: "count-entry__status-icon count-entry__status-icon--match",
|
|
4524
4561
|
"aria-label": "Match"
|
|
4525
|
-
},
|
|
4562
|
+
}, ci = {
|
|
4526
4563
|
key: 1,
|
|
4527
4564
|
class: "count-entry__status-icon count-entry__status-icon--discrepancy",
|
|
4528
4565
|
"aria-label": "Discrepancy"
|
|
4529
|
-
},
|
|
4566
|
+
}, di = {
|
|
4530
4567
|
class: "count-entry__keypad",
|
|
4531
4568
|
role: "group",
|
|
4532
4569
|
"aria-label": "Numeric keypad"
|
|
4533
|
-
},
|
|
4570
|
+
}, ui = ["aria-label", "disabled", "onClick"], vi = { class: "count-entry__bottom-actions" }, _i = /* @__PURE__ */ ae({
|
|
4534
4571
|
__name: "CountEntryForm",
|
|
4535
4572
|
props: {
|
|
4536
4573
|
sessionId: {},
|
|
@@ -4556,7 +4593,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4556
4593
|
{ label: ".", value: ".", ariaLabel: "Decimal point" },
|
|
4557
4594
|
{ label: "0", value: "0" },
|
|
4558
4595
|
{ label: "⌫", value: "backspace", ariaLabel: "Backspace" }
|
|
4559
|
-
],
|
|
4596
|
+
], L = J(() => c.value ? m.value.filter((W) => W.location_id === c.value.id) : []), z = J(() => L.value.length === 0 ? !1 : f.value.every((W) => W !== ""));
|
|
4560
4597
|
ue(async () => {
|
|
4561
4598
|
if (g.loadQueue(), window.addEventListener("online", T), window.addEventListener("offline", N), await w(s.sessionId), await u(s.sessionId), s.locationId)
|
|
4562
4599
|
try {
|
|
@@ -4566,7 +4603,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4566
4603
|
}
|
|
4567
4604
|
}), Ze(() => {
|
|
4568
4605
|
window.removeEventListener("online", T), window.removeEventListener("offline", N);
|
|
4569
|
-
}), _e(
|
|
4606
|
+
}), _e(L, (W) => {
|
|
4570
4607
|
f.value = W.map(
|
|
4571
4608
|
(H) => H.counted_quantity !== null ? String(H.counted_quantity) : ""
|
|
4572
4609
|
), _.value = W.findIndex((H) => H.counted_quantity === null), _.value === -1 && W.length > 0 && (_.value = 0);
|
|
@@ -4604,7 +4641,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4604
4641
|
f.value[H] = U + ".";
|
|
4605
4642
|
return;
|
|
4606
4643
|
}
|
|
4607
|
-
const le =
|
|
4644
|
+
const le = L.value[H];
|
|
4608
4645
|
if (le.counted_quantity !== null && U === String(le.counted_quantity)) {
|
|
4609
4646
|
f.value[H] = W;
|
|
4610
4647
|
return;
|
|
@@ -4614,10 +4651,10 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4614
4651
|
async function q() {
|
|
4615
4652
|
p.value = !0;
|
|
4616
4653
|
try {
|
|
4617
|
-
for (let W = 0; W <
|
|
4654
|
+
for (let W = 0; W < L.value.length; W++) {
|
|
4618
4655
|
const H = f.value[W];
|
|
4619
4656
|
if (H === "") continue;
|
|
4620
|
-
const U =
|
|
4657
|
+
const U = L.value[W], le = parseFloat(H);
|
|
4621
4658
|
if (!isNaN(le) && !(U.counted_quantity !== null && U.counted_quantity === le))
|
|
4622
4659
|
if (h.value)
|
|
4623
4660
|
try {
|
|
@@ -4654,8 +4691,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4654
4691
|
const H = await v.fetchLocation(W.id);
|
|
4655
4692
|
C(H), b.value = "", B.value = [];
|
|
4656
4693
|
}
|
|
4657
|
-
return (W, H) => (t(), n("div",
|
|
4658
|
-
e("div",
|
|
4694
|
+
return (W, H) => (t(), n("div", El, [
|
|
4695
|
+
e("div", Rl, [
|
|
4659
4696
|
e("button", {
|
|
4660
4697
|
type: "button",
|
|
4661
4698
|
class: "count-entry__back-btn",
|
|
@@ -4679,21 +4716,21 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4679
4716
|
], -1),
|
|
4680
4717
|
e("span", null, "Back", -1)
|
|
4681
4718
|
])]),
|
|
4682
|
-
|
|
4683
|
-
|
|
4719
|
+
x(r) ? (t(), n("span", ql, d(x(r).name), 1)) : M("", !0),
|
|
4720
|
+
x(r) ? (t(), n("span", Hl, d(x(r).progress.counted) + "/" + d(x(r).progress.total) + " locations ", 1)) : M("", !0)
|
|
4684
4721
|
]),
|
|
4685
4722
|
e("div", {
|
|
4686
4723
|
class: ee(["count-entry__connectivity", { "count-entry__connectivity--offline": !h.value }]),
|
|
4687
4724
|
role: "status"
|
|
4688
4725
|
}, [
|
|
4689
|
-
h.value ? (t(), n("span",
|
|
4726
|
+
h.value ? (t(), n("span", Ul)) : (t(), n("span", jl)),
|
|
4690
4727
|
e("span", null, d(h.value ? "Online" : "Offline -- counts will sync when connected"), 1)
|
|
4691
4728
|
], 2),
|
|
4692
|
-
c.value ?
|
|
4729
|
+
c.value ? M("", !0) : (t(), n("div", Ol, [
|
|
4693
4730
|
I(se, { title: "Select Location" }, {
|
|
4694
4731
|
default: k(() => [
|
|
4695
4732
|
H[4] || (H[4] = e("p", { class: "count-entry__no-location-text" }, " Scan a QR code or search for a location to begin counting. ", -1)),
|
|
4696
|
-
e("div",
|
|
4733
|
+
e("div", Ql, [
|
|
4697
4734
|
I(O, {
|
|
4698
4735
|
variant: "primary",
|
|
4699
4736
|
size: "lg",
|
|
@@ -4750,7 +4787,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4750
4787
|
]),
|
|
4751
4788
|
_: 1
|
|
4752
4789
|
}),
|
|
4753
|
-
e("div",
|
|
4790
|
+
e("div", Kl, [
|
|
4754
4791
|
ye(e("input", {
|
|
4755
4792
|
"onUpdate:modelValue": H[0] || (H[0] = (U) => b.value = U),
|
|
4756
4793
|
type: "search",
|
|
@@ -4761,7 +4798,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4761
4798
|
[ze, b.value]
|
|
4762
4799
|
])
|
|
4763
4800
|
]),
|
|
4764
|
-
B.value.length > 0 ? (t(), n("ul",
|
|
4801
|
+
B.value.length > 0 ? (t(), n("ul", Gl, [
|
|
4765
4802
|
(t(!0), n(G, null, ne(B.value, (U) => (t(), n("li", {
|
|
4766
4803
|
key: U.id,
|
|
4767
4804
|
role: "option",
|
|
@@ -4776,32 +4813,32 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4776
4813
|
code: U.full_code
|
|
4777
4814
|
}, null, 8, ["code"]),
|
|
4778
4815
|
e("span", null, d(U.name), 1)
|
|
4779
|
-
], 8,
|
|
4816
|
+
], 8, Wl)
|
|
4780
4817
|
]))), 128))
|
|
4781
|
-
])) :
|
|
4818
|
+
])) : M("", !0)
|
|
4782
4819
|
])
|
|
4783
4820
|
]),
|
|
4784
4821
|
_: 1
|
|
4785
4822
|
})
|
|
4786
4823
|
])),
|
|
4787
4824
|
c.value ? (t(), n(G, { key: 1 }, [
|
|
4788
|
-
e("div",
|
|
4825
|
+
e("div", Zl, [
|
|
4789
4826
|
I(fe, {
|
|
4790
4827
|
code: c.value.full_code
|
|
4791
4828
|
}, null, 8, ["code"]),
|
|
4792
|
-
e("div",
|
|
4793
|
-
e("h2",
|
|
4829
|
+
e("div", Jl, [
|
|
4830
|
+
e("h2", Xl, d(c.value.name), 1),
|
|
4794
4831
|
c.value.path && c.value.path.length > 0 ? (t(), K(et, {
|
|
4795
4832
|
key: 0,
|
|
4796
4833
|
path: c.value.path,
|
|
4797
4834
|
onNavigate: () => {
|
|
4798
4835
|
}
|
|
4799
|
-
}, null, 8, ["path"])) :
|
|
4836
|
+
}, null, 8, ["path"])) : M("", !0)
|
|
4800
4837
|
])
|
|
4801
4838
|
]),
|
|
4802
|
-
e("div",
|
|
4803
|
-
|
|
4804
|
-
(t(!0), n(G, null, ne(
|
|
4839
|
+
e("div", Yl, [
|
|
4840
|
+
L.value.length === 0 ? (t(), n("p", ei, " No entries for this location. Generate entries first. ")) : M("", !0),
|
|
4841
|
+
(t(!0), n(G, null, ne(L.value, (U, le) => (t(), n("div", {
|
|
4805
4842
|
key: U.id,
|
|
4806
4843
|
role: "listitem",
|
|
4807
4844
|
class: ee(["count-entry__product-row", {
|
|
@@ -4811,15 +4848,15 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4811
4848
|
}]),
|
|
4812
4849
|
onClick: (pe) => A(le)
|
|
4813
4850
|
}, [
|
|
4814
|
-
e("div", Yl, [
|
|
4815
|
-
e("span", ei, d(U.product_name), 1),
|
|
4816
|
-
e("span", ti, " Expected: " + d(U.expected_quantity ?? "-"), 1)
|
|
4817
|
-
]),
|
|
4818
4851
|
e("div", ai, [
|
|
4852
|
+
e("span", oi, d(U.product_name), 1),
|
|
4853
|
+
e("span", ni, " Expected: " + d(U.expected_quantity ?? "-"), 1)
|
|
4854
|
+
]),
|
|
4855
|
+
e("div", si, [
|
|
4819
4856
|
e("label", {
|
|
4820
4857
|
for: `count-input-${U.id}`,
|
|
4821
4858
|
class: "sr-only"
|
|
4822
|
-
}, " Counted quantity for " + d(U.product_name), 9,
|
|
4859
|
+
}, " Counted quantity for " + d(U.product_name), 9, li),
|
|
4823
4860
|
e("input", {
|
|
4824
4861
|
id: `count-input-${U.id}`,
|
|
4825
4862
|
ref_for: !0,
|
|
@@ -4835,12 +4872,12 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4835
4872
|
value: f.value[le],
|
|
4836
4873
|
readonly: "",
|
|
4837
4874
|
onFocus: (pe) => A(le)
|
|
4838
|
-
}, null, 42,
|
|
4839
|
-
U.counted_quantity !== null && U.discrepancy === 0 ? (t(), n("span",
|
|
4875
|
+
}, null, 42, ii),
|
|
4876
|
+
U.counted_quantity !== null && U.discrepancy === 0 ? (t(), n("span", ri, " ✓ ")) : U.counted_quantity !== null && U.discrepancy !== null && U.discrepancy !== 0 ? (t(), n("span", ci, " ⚠ ")) : M("", !0)
|
|
4840
4877
|
])
|
|
4841
|
-
], 10,
|
|
4878
|
+
], 10, ti))), 128))
|
|
4842
4879
|
]),
|
|
4843
|
-
e("div",
|
|
4880
|
+
e("div", di, [
|
|
4844
4881
|
(t(), n(G, null, ne(S, (U) => e("button", {
|
|
4845
4882
|
key: U.label,
|
|
4846
4883
|
type: "button",
|
|
@@ -4848,13 +4885,13 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4848
4885
|
"aria-label": U.ariaLabel || U.label,
|
|
4849
4886
|
disabled: _.value === null,
|
|
4850
4887
|
onClick: (le) => V(U.value)
|
|
4851
|
-
}, d(U.label), 9,
|
|
4888
|
+
}, d(U.label), 9, ui)), 64))
|
|
4852
4889
|
]),
|
|
4853
|
-
e("div",
|
|
4890
|
+
e("div", vi, [
|
|
4854
4891
|
I(O, {
|
|
4855
4892
|
variant: "primary",
|
|
4856
4893
|
size: "lg",
|
|
4857
|
-
disabled: !
|
|
4894
|
+
disabled: !z.value,
|
|
4858
4895
|
loading: p.value,
|
|
4859
4896
|
class: "count-entry__complete-btn",
|
|
4860
4897
|
onClick: q
|
|
@@ -4922,10 +4959,10 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4922
4959
|
_: 1
|
|
4923
4960
|
})
|
|
4924
4961
|
])
|
|
4925
|
-
], 64)) :
|
|
4962
|
+
], 64)) : M("", !0)
|
|
4926
4963
|
]));
|
|
4927
4964
|
}
|
|
4928
|
-
}),
|
|
4965
|
+
}), Zr = /* @__PURE__ */ oe(_i, [["__scopeId", "data-v-b11de393"]]), pi = { class: "count-report" }, hi = { class: "count-report__header" }, fi = { class: "count-report__title" }, yi = { class: "count-report__actions" }, mi = { class: "count-report__summary-grid" }, gi = { class: "count-report__summary-stat" }, bi = { class: "count-report__summary-value" }, ki = { class: "count-report__summary-stat" }, wi = { class: "count-report__summary-value" }, $i = { class: "count-report__summary-stat" }, Ci = { class: "count-report__summary-value" }, Li = { class: "count-report__summary-stat" }, xi = { class: "count-report__summary-value count-report__summary-value--muted" }, Si = { class: "count-report__summary-stat" }, Ii = { class: "count-report__summary-stat" }, zi = { class: "count-report__totals" }, Mi = { class: "count-report__total-row" }, Vi = { class: "count-report__total-value" }, Bi = { class: "count-report__total-row" }, Ai = { class: "count-report__total-value" }, Pi = { class: "count-report__total-row count-report__total-row--net" }, Fi = { class: "count-report__disc-location" }, Ni = { class: "count-report__disc-product" }, Ti = { class: "count-report__disc-qty" }, Di = { class: "count-report__disc-qty" }, Ei = /* @__PURE__ */ ae({
|
|
4929
4966
|
__name: "CountReport",
|
|
4930
4967
|
props: {
|
|
4931
4968
|
sessionId: {}
|
|
@@ -4971,21 +5008,21 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
4971
5008
|
function l() {
|
|
4972
5009
|
window.print();
|
|
4973
5010
|
}
|
|
4974
|
-
return (c, _) => (t(), n("div",
|
|
4975
|
-
|
|
5011
|
+
return (c, _) => (t(), n("div", pi, [
|
|
5012
|
+
x(g) && !x(o) ? (t(), K(se, {
|
|
4976
5013
|
key: 0,
|
|
4977
5014
|
loading: ""
|
|
4978
|
-
})) :
|
|
5015
|
+
})) : x(r) && !x(o) ? (t(), K(ge, {
|
|
4979
5016
|
key: 1,
|
|
4980
5017
|
title: "Could not load report",
|
|
4981
|
-
description:
|
|
5018
|
+
description: x(r) || "An unknown error occurred",
|
|
4982
5019
|
"action-label": "Retry",
|
|
4983
5020
|
onAction: u
|
|
4984
|
-
}, null, 8, ["description"])) :
|
|
4985
|
-
|
|
4986
|
-
e("div",
|
|
4987
|
-
e("h1",
|
|
4988
|
-
e("div",
|
|
5021
|
+
}, null, 8, ["description"])) : M("", !0),
|
|
5022
|
+
x(o) ? (t(), n(G, { key: 2 }, [
|
|
5023
|
+
e("div", hi, [
|
|
5024
|
+
e("h1", fi, " Count Report: " + d(x(o).session.name), 1),
|
|
5025
|
+
e("div", yi, [
|
|
4989
5026
|
I(O, {
|
|
4990
5027
|
variant: "secondary",
|
|
4991
5028
|
size: "sm",
|
|
@@ -5073,53 +5110,53 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5073
5110
|
class: "count-report__summary"
|
|
5074
5111
|
}, {
|
|
5075
5112
|
default: k(() => [
|
|
5076
|
-
e("div",
|
|
5077
|
-
e("div",
|
|
5078
|
-
e("span",
|
|
5113
|
+
e("div", mi, [
|
|
5114
|
+
e("div", gi, [
|
|
5115
|
+
e("span", bi, d(x(o).summary.total_entries), 1),
|
|
5079
5116
|
_[4] || (_[4] = e("span", { class: "count-report__summary-label" }, "Total Items", -1))
|
|
5080
5117
|
]),
|
|
5081
|
-
e("div",
|
|
5082
|
-
e("span",
|
|
5118
|
+
e("div", ki, [
|
|
5119
|
+
e("span", wi, d(x(o).summary.counted), 1),
|
|
5083
5120
|
_[5] || (_[5] = e("span", { class: "count-report__summary-label" }, "Counted", -1))
|
|
5084
5121
|
]),
|
|
5085
|
-
e("div",
|
|
5086
|
-
e("span",
|
|
5122
|
+
e("div", $i, [
|
|
5123
|
+
e("span", Ci, d(x(o).summary.verified), 1),
|
|
5087
5124
|
_[6] || (_[6] = e("span", { class: "count-report__summary-label" }, "Verified", -1))
|
|
5088
5125
|
]),
|
|
5089
|
-
e("div",
|
|
5090
|
-
e("span",
|
|
5126
|
+
e("div", Li, [
|
|
5127
|
+
e("span", xi, d(x(o).summary.pending), 1),
|
|
5091
5128
|
_[7] || (_[7] = e("span", { class: "count-report__summary-label" }, "Pending", -1))
|
|
5092
5129
|
]),
|
|
5093
|
-
e("div",
|
|
5130
|
+
e("div", Si, [
|
|
5094
5131
|
e("span", {
|
|
5095
|
-
class: ee(["count-report__summary-value",
|
|
5096
|
-
}, d(
|
|
5132
|
+
class: ee(["count-report__summary-value", x(o).summary.with_discrepancies > 0 ? "count-report__summary-value--warning" : "count-report__summary-value--success"])
|
|
5133
|
+
}, d(x(o).summary.with_discrepancies), 3),
|
|
5097
5134
|
_[8] || (_[8] = e("span", { class: "count-report__summary-label" }, "Discrepancies", -1))
|
|
5098
5135
|
]),
|
|
5099
|
-
e("div",
|
|
5136
|
+
e("div", Ii, [
|
|
5100
5137
|
e("span", {
|
|
5101
|
-
class: ee(["count-report__summary-value",
|
|
5102
|
-
}, d(
|
|
5138
|
+
class: ee(["count-report__summary-value", x(o).summary.accuracy_percent >= 95 ? "count-report__summary-value--success" : x(o).summary.accuracy_percent >= 90 ? "count-report__summary-value--warning" : "count-report__summary-value--error"])
|
|
5139
|
+
}, d(x(o).summary.accuracy_percent.toFixed(1)) + "% ", 3),
|
|
5103
5140
|
_[9] || (_[9] = e("span", { class: "count-report__summary-label" }, "Accuracy", -1))
|
|
5104
5141
|
])
|
|
5105
5142
|
]),
|
|
5106
|
-
e("div",
|
|
5107
|
-
e("div",
|
|
5143
|
+
e("div", zi, [
|
|
5144
|
+
e("div", Mi, [
|
|
5108
5145
|
_[10] || (_[10] = e("span", { class: "count-report__total-label" }, "Total Expected", -1)),
|
|
5109
|
-
e("span",
|
|
5146
|
+
e("span", Vi, d(i(x(o).summary.total_expected)), 1)
|
|
5110
5147
|
]),
|
|
5111
|
-
e("div",
|
|
5148
|
+
e("div", Bi, [
|
|
5112
5149
|
_[11] || (_[11] = e("span", { class: "count-report__total-label" }, "Total Counted", -1)),
|
|
5113
|
-
e("span",
|
|
5150
|
+
e("span", Ai, d(i(x(o).summary.total_counted)), 1)
|
|
5114
5151
|
]),
|
|
5115
|
-
e("div",
|
|
5152
|
+
e("div", Pi, [
|
|
5116
5153
|
_[12] || (_[12] = e("span", { class: "count-report__total-label" }, "Net Discrepancy", -1)),
|
|
5117
5154
|
e("span", {
|
|
5118
5155
|
class: ee(["count-report__total-value", {
|
|
5119
|
-
"count-report__total-value--positive":
|
|
5120
|
-
"count-report__total-value--negative":
|
|
5156
|
+
"count-report__total-value--positive": x(o).summary.net_discrepancy > 0,
|
|
5157
|
+
"count-report__total-value--negative": x(o).summary.net_discrepancy < 0
|
|
5121
5158
|
}])
|
|
5122
|
-
}, d(
|
|
5159
|
+
}, d(x(o).summary.net_discrepancy > 0 ? "+" : "") + d(i(x(o).summary.net_discrepancy)), 3)
|
|
5123
5160
|
])
|
|
5124
5161
|
])
|
|
5125
5162
|
]),
|
|
@@ -5133,20 +5170,20 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5133
5170
|
default: k(() => [
|
|
5134
5171
|
I(Ce, {
|
|
5135
5172
|
columns: w,
|
|
5136
|
-
data:
|
|
5173
|
+
data: x(o).top_discrepancies,
|
|
5137
5174
|
"empty-message": "No discrepancies found."
|
|
5138
5175
|
}, {
|
|
5139
5176
|
"cell-location": k(({ value: f }) => [
|
|
5140
|
-
e("span",
|
|
5177
|
+
e("span", Fi, d(f), 1)
|
|
5141
5178
|
]),
|
|
5142
5179
|
"cell-product": k(({ value: f }) => [
|
|
5143
|
-
e("span",
|
|
5180
|
+
e("span", Ni, d(f), 1)
|
|
5144
5181
|
]),
|
|
5145
5182
|
"cell-expected": k(({ value: f }) => [
|
|
5146
|
-
e("span",
|
|
5183
|
+
e("span", Ti, d(f), 1)
|
|
5147
5184
|
]),
|
|
5148
5185
|
"cell-counted": k(({ value: f }) => [
|
|
5149
|
-
e("span",
|
|
5186
|
+
e("span", Di, d(f), 1)
|
|
5150
5187
|
]),
|
|
5151
5188
|
"cell-discrepancy": k(({ value: f }) => [
|
|
5152
5189
|
e("span", {
|
|
@@ -5161,13 +5198,13 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5161
5198
|
]),
|
|
5162
5199
|
_: 1
|
|
5163
5200
|
})
|
|
5164
|
-
], 64)) :
|
|
5201
|
+
], 64)) : M("", !0)
|
|
5165
5202
|
]));
|
|
5166
5203
|
}
|
|
5167
|
-
}),
|
|
5204
|
+
}), Jr = /* @__PURE__ */ oe(Ei, [["__scopeId", "data-v-e12a8dba"]]), Ri = { class: "label-batch" }, qi = { class: "label-batch__format" }, Hi = { class: "label-batch__quick-selectors" }, Ui = ["onClick"], ji = { class: "label-batch__filter-row" }, Oi = ["onClick"], Qi = ["checked", "indeterminate", "aria-label", "onClick"], Ki = { class: "label-batch__group-name" }, Gi = { class: "label-batch__group-count" }, Wi = { class: "label-batch__group-items" }, Zi = ["checked", "onChange"], Ji = { class: "label-batch__location-name" }, Xi = {
|
|
5168
5205
|
key: 3,
|
|
5169
5206
|
class: "label-batch__footer"
|
|
5170
|
-
},
|
|
5207
|
+
}, Yi = { class: "label-batch__selected-count" }, er = { class: "label-batch__footer-actions" }, tr = /* @__PURE__ */ ae({
|
|
5171
5208
|
__name: "LabelBatchPrint",
|
|
5172
5209
|
setup(a) {
|
|
5173
5210
|
const { fetchRoots: s, locations: o } = we(), { printBatch: g } = Ye(), r = $("standard"), m = De(/* @__PURE__ */ new Set()), w = De(/* @__PURE__ */ new Set()), u = $(!0), i = $(!1), v = $(""), l = $(""), c = $([]), _ = [
|
|
@@ -5234,10 +5271,10 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5234
5271
|
function S(E) {
|
|
5235
5272
|
w.has(E) ? w.delete(E) : w.add(E);
|
|
5236
5273
|
}
|
|
5237
|
-
function
|
|
5274
|
+
function L(E) {
|
|
5238
5275
|
m.has(E) ? m.delete(E) : m.add(E);
|
|
5239
5276
|
}
|
|
5240
|
-
function
|
|
5277
|
+
function z(E) {
|
|
5241
5278
|
return E.locations.every((P) => m.has(P.id));
|
|
5242
5279
|
}
|
|
5243
5280
|
function T(E) {
|
|
@@ -5245,7 +5282,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5245
5282
|
return P > 0 && P < E.locations.length;
|
|
5246
5283
|
}
|
|
5247
5284
|
function N(E) {
|
|
5248
|
-
|
|
5285
|
+
z(E) ? E.locations.forEach((P) => m.delete(P.id)) : E.locations.forEach((P) => m.add(P.id));
|
|
5249
5286
|
}
|
|
5250
5287
|
function Q(E) {
|
|
5251
5288
|
p.value.filter((P) => P.type === E).forEach((P) => m.add(P.id));
|
|
@@ -5269,11 +5306,11 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5269
5306
|
function q() {
|
|
5270
5307
|
V();
|
|
5271
5308
|
}
|
|
5272
|
-
return (E, P) => (t(), n("div",
|
|
5309
|
+
return (E, P) => (t(), n("div", Ri, [
|
|
5273
5310
|
P[6] || (P[6] = e("div", { class: "label-batch__header" }, [
|
|
5274
5311
|
e("h1", { class: "label-batch__title" }, "Print Labels")
|
|
5275
5312
|
], -1)),
|
|
5276
|
-
e("div",
|
|
5313
|
+
e("div", qi, [
|
|
5277
5314
|
I($e, {
|
|
5278
5315
|
modelValue: r.value,
|
|
5279
5316
|
"onUpdate:modelValue": P[0] || (P[0] = (R) => r.value = R),
|
|
@@ -5286,15 +5323,15 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5286
5323
|
class: "label-batch__selectors"
|
|
5287
5324
|
}, {
|
|
5288
5325
|
default: k(() => [
|
|
5289
|
-
e("div",
|
|
5326
|
+
e("div", Hi, [
|
|
5290
5327
|
(t(!0), n(G, null, ne(b.value, (R) => (t(), n("button", {
|
|
5291
5328
|
key: R.label,
|
|
5292
5329
|
type: "button",
|
|
5293
5330
|
class: "label-batch__quick-btn",
|
|
5294
5331
|
onClick: R.action
|
|
5295
|
-
}, d(R.label), 9,
|
|
5332
|
+
}, d(R.label), 9, Ui))), 128))
|
|
5296
5333
|
]),
|
|
5297
|
-
e("div",
|
|
5334
|
+
e("div", ji, [
|
|
5298
5335
|
I($e, {
|
|
5299
5336
|
modelValue: v.value,
|
|
5300
5337
|
"onUpdate:modelValue": P[1] || (P[1] = (R) => v.value = R),
|
|
@@ -5331,14 +5368,14 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5331
5368
|
}, [
|
|
5332
5369
|
e("input", {
|
|
5333
5370
|
type: "checkbox",
|
|
5334
|
-
checked:
|
|
5371
|
+
checked: z(R),
|
|
5335
5372
|
indeterminate: T(R),
|
|
5336
5373
|
class: "label-batch__checkbox",
|
|
5337
5374
|
"aria-label": `Select all in ${R.parentName}`,
|
|
5338
5375
|
onClick: me((ce) => N(R), ["stop"])
|
|
5339
|
-
}, null, 8,
|
|
5340
|
-
e("span",
|
|
5341
|
-
e("span",
|
|
5376
|
+
}, null, 8, Qi),
|
|
5377
|
+
e("span", Ki, d(R.parentName), 1),
|
|
5378
|
+
e("span", Gi, d(R.locations.length), 1),
|
|
5342
5379
|
(t(), n("svg", {
|
|
5343
5380
|
class: ee(["label-batch__group-chevron", { "label-batch__group-chevron--collapsed": !w.has(R.parentName) }]),
|
|
5344
5381
|
width: "16",
|
|
@@ -5355,8 +5392,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5355
5392
|
"stroke-linejoin": "round"
|
|
5356
5393
|
}, null, -1)
|
|
5357
5394
|
])], 2))
|
|
5358
|
-
], 8,
|
|
5359
|
-
ye(e("div",
|
|
5395
|
+
], 8, Oi),
|
|
5396
|
+
ye(e("div", Wi, [
|
|
5360
5397
|
(t(!0), n(G, null, ne(R.locations, (ce) => (t(), n("label", {
|
|
5361
5398
|
key: ce.id,
|
|
5362
5399
|
class: "label-batch__location-row"
|
|
@@ -5365,12 +5402,12 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5365
5402
|
type: "checkbox",
|
|
5366
5403
|
checked: m.has(ce.id),
|
|
5367
5404
|
class: "label-batch__checkbox",
|
|
5368
|
-
onChange: (W) =>
|
|
5369
|
-
}, null, 40,
|
|
5405
|
+
onChange: (W) => L(ce.id)
|
|
5406
|
+
}, null, 40, Zi),
|
|
5370
5407
|
I(fe, {
|
|
5371
5408
|
code: ce.full_code
|
|
5372
5409
|
}, null, 8, ["code"]),
|
|
5373
|
-
e("span",
|
|
5410
|
+
e("span", Ji, d(ce.name), 1),
|
|
5374
5411
|
I(ve, {
|
|
5375
5412
|
variant: "muted",
|
|
5376
5413
|
size: "sm"
|
|
@@ -5387,14 +5424,14 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5387
5424
|
]))), 128))
|
|
5388
5425
|
]),
|
|
5389
5426
|
_: 1
|
|
5390
|
-
})) : u.value ?
|
|
5427
|
+
})) : u.value ? M("", !0) : (t(), K(ge, {
|
|
5391
5428
|
key: 2,
|
|
5392
5429
|
title: "No locations found",
|
|
5393
5430
|
description: "Create locations first to generate labels."
|
|
5394
5431
|
})),
|
|
5395
|
-
m.size > 0 ? (t(), n("div",
|
|
5396
|
-
e("span",
|
|
5397
|
-
e("div",
|
|
5432
|
+
m.size > 0 ? (t(), n("div", Xi, [
|
|
5433
|
+
e("span", Yi, " Selected: " + d(m.size) + " label" + d(m.size !== 1 ? "s" : ""), 1),
|
|
5434
|
+
e("div", er, [
|
|
5398
5435
|
I(O, {
|
|
5399
5436
|
variant: "secondary",
|
|
5400
5437
|
size: "md",
|
|
@@ -5454,10 +5491,10 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5454
5491
|
_: 1
|
|
5455
5492
|
}, 8, ["loading"])
|
|
5456
5493
|
])
|
|
5457
|
-
])) :
|
|
5494
|
+
])) : M("", !0)
|
|
5458
5495
|
]));
|
|
5459
5496
|
}
|
|
5460
|
-
}),
|
|
5497
|
+
}), Xr = /* @__PURE__ */ oe(tr, [["__scopeId", "data-v-1eb7f5c2"]]), ar = ["aria-label", "onClick"], or = { class: "pll-location-path" }, nr = { class: "pll-quantity" }, sr = {
|
|
5461
5498
|
key: 0,
|
|
5462
5499
|
class: "pll-primary-star",
|
|
5463
5500
|
width: "18",
|
|
@@ -5466,11 +5503,11 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5466
5503
|
fill: "none",
|
|
5467
5504
|
role: "img",
|
|
5468
5505
|
"aria-label": "Primary location"
|
|
5469
|
-
},
|
|
5506
|
+
}, lr = {
|
|
5470
5507
|
key: 1,
|
|
5471
5508
|
class: "pll-no-primary",
|
|
5472
5509
|
"aria-label": "Not primary location"
|
|
5473
|
-
},
|
|
5510
|
+
}, ir = { class: "pll-footer" }, rr = { class: "pll-total-value" }, cr = /* @__PURE__ */ ae({
|
|
5474
5511
|
__name: "ProductLocationList",
|
|
5475
5512
|
props: {
|
|
5476
5513
|
productId: {}
|
|
@@ -5508,15 +5545,15 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5508
5545
|
{ immediate: !0 }
|
|
5509
5546
|
), (f, y) => (t(), K(se, {
|
|
5510
5547
|
title: "Locations",
|
|
5511
|
-
loading:
|
|
5548
|
+
loading: x(r),
|
|
5512
5549
|
"no-padding": ""
|
|
5513
5550
|
}, {
|
|
5514
5551
|
default: k(() => [
|
|
5515
|
-
!
|
|
5552
|
+
!x(r) && w.value.length === 0 ? (t(), K(ge, {
|
|
5516
5553
|
key: 0,
|
|
5517
5554
|
title: "No locations tracked",
|
|
5518
5555
|
description: "This product is not currently tracked at any location."
|
|
5519
|
-
})) :
|
|
5556
|
+
})) : x(r) ? M("", !0) : (t(), n(G, { key: 1 }, [
|
|
5520
5557
|
I(Ce, {
|
|
5521
5558
|
columns: u,
|
|
5522
5559
|
data: w.value,
|
|
@@ -5531,8 +5568,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5531
5568
|
"aria-label": `Navigate to ${((h = p.location) == null ? void 0 : h.name) ?? "location"}`,
|
|
5532
5569
|
onClick: (b) => c(p)
|
|
5533
5570
|
}, [
|
|
5534
|
-
e("span",
|
|
5535
|
-
], 8,
|
|
5571
|
+
e("span", or, d(l(p)), 1)
|
|
5572
|
+
], 8, ar)
|
|
5536
5573
|
];
|
|
5537
5574
|
}),
|
|
5538
5575
|
"cell-code": k(({ row: p }) => {
|
|
@@ -5556,14 +5593,14 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5556
5593
|
D(d(p.location.code), 1)
|
|
5557
5594
|
]),
|
|
5558
5595
|
_: 2
|
|
5559
|
-
}, 1024)) :
|
|
5596
|
+
}, 1024)) : M("", !0)
|
|
5560
5597
|
];
|
|
5561
5598
|
}),
|
|
5562
5599
|
"cell-quantity": k(({ row: p }) => [
|
|
5563
|
-
e("span",
|
|
5600
|
+
e("span", nr, d(v(p.quantity)), 1)
|
|
5564
5601
|
]),
|
|
5565
5602
|
"cell-is_primary": k(({ row: p }) => [
|
|
5566
|
-
p.is_primary ? (t(), n("svg",
|
|
5603
|
+
p.is_primary ? (t(), n("svg", sr, [...y[0] || (y[0] = [
|
|
5567
5604
|
e("path", {
|
|
5568
5605
|
d: "M9 1.5L11.3 6.2L16.5 6.9L12.75 10.55L13.6 15.75L9 13.3L4.4 15.75L5.25 10.55L1.5 6.9L6.7 6.2L9 1.5Z",
|
|
5569
5606
|
fill: "currentColor",
|
|
@@ -5572,34 +5609,34 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5572
5609
|
"stroke-linecap": "round",
|
|
5573
5610
|
"stroke-linejoin": "round"
|
|
5574
5611
|
}, null, -1)
|
|
5575
|
-
])])) : (t(), n("span",
|
|
5612
|
+
])])) : (t(), n("span", lr))
|
|
5576
5613
|
]),
|
|
5577
5614
|
_: 1
|
|
5578
5615
|
}, 8, ["data"]),
|
|
5579
|
-
e("div",
|
|
5616
|
+
e("div", ir, [
|
|
5580
5617
|
y[1] || (y[1] = e("span", { class: "pll-total-label" }, "Total:", -1)),
|
|
5581
|
-
e("span",
|
|
5618
|
+
e("span", rr, d(v(i.value)) + " across " + d(w.value.length) + " location" + d(w.value.length !== 1 ? "s" : ""), 1)
|
|
5582
5619
|
])
|
|
5583
5620
|
], 64))
|
|
5584
5621
|
]),
|
|
5585
5622
|
_: 1
|
|
5586
5623
|
}, 8, ["loading"]));
|
|
5587
5624
|
}
|
|
5588
|
-
}),
|
|
5625
|
+
}), Yr = /* @__PURE__ */ oe(cr, [["__scopeId", "data-v-47c4cd6e"]]), dr = { class: "label-preview" }, ur = { class: "label-preview__controls" }, vr = {
|
|
5589
5626
|
key: 0,
|
|
5590
5627
|
class: "label-preview__loading",
|
|
5591
5628
|
role: "status"
|
|
5592
|
-
},
|
|
5629
|
+
}, _r = {
|
|
5593
5630
|
key: 1,
|
|
5594
5631
|
class: "label-preview__error",
|
|
5595
5632
|
role: "alert"
|
|
5596
|
-
},
|
|
5633
|
+
}, pr = { class: "label-preview__error-text" }, hr = {
|
|
5597
5634
|
key: 2,
|
|
5598
5635
|
class: "label-preview__container"
|
|
5599
|
-
},
|
|
5636
|
+
}, fr = { class: "label-preview__path" }, yr = { class: "label-preview__code" }, mr = { class: "label-preview__name" }, gr = ["innerHTML"], br = ["innerHTML"], kr = {
|
|
5600
5637
|
key: 3,
|
|
5601
5638
|
class: "label-preview__print"
|
|
5602
|
-
},
|
|
5639
|
+
}, wr = /* @__PURE__ */ ae({
|
|
5603
5640
|
__name: "LabelPreview",
|
|
5604
5641
|
props: {
|
|
5605
5642
|
locationId: {},
|
|
@@ -5634,8 +5671,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5634
5671
|
l.value = !1;
|
|
5635
5672
|
}
|
|
5636
5673
|
}
|
|
5637
|
-
return (p, h) => (t(), n("div",
|
|
5638
|
-
e("div",
|
|
5674
|
+
return (p, h) => (t(), n("div", dr, [
|
|
5675
|
+
e("div", ur, [
|
|
5639
5676
|
I($e, {
|
|
5640
5677
|
modelValue: v.value,
|
|
5641
5678
|
"onUpdate:modelValue": h[0] || (h[0] = (b) => v.value = b),
|
|
@@ -5643,14 +5680,14 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5643
5680
|
label: "Format"
|
|
5644
5681
|
}, null, 8, ["modelValue"])
|
|
5645
5682
|
]),
|
|
5646
|
-
|
|
5683
|
+
x(m) ? (t(), n("div", vr, [...h[1] || (h[1] = [
|
|
5647
5684
|
e("div", {
|
|
5648
5685
|
class: "label-preview__loading-spinner",
|
|
5649
5686
|
"aria-hidden": "true"
|
|
5650
5687
|
}, null, -1),
|
|
5651
5688
|
e("span", { class: "sr-only" }, "Loading label...", -1)
|
|
5652
|
-
])])) :
|
|
5653
|
-
e("p",
|
|
5689
|
+
])])) : x(w) ? (t(), n("div", _r, [
|
|
5690
|
+
e("p", pr, d(x(w)), 1),
|
|
5654
5691
|
I(O, {
|
|
5655
5692
|
variant: "secondary",
|
|
5656
5693
|
size: "sm",
|
|
@@ -5661,29 +5698,29 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5661
5698
|
])]),
|
|
5662
5699
|
_: 1
|
|
5663
5700
|
})
|
|
5664
|
-
])) :
|
|
5701
|
+
])) : x(r) ? (t(), n("div", hr, [
|
|
5665
5702
|
e("div", {
|
|
5666
5703
|
class: "label-preview__label",
|
|
5667
5704
|
style: ke(_.value)
|
|
5668
5705
|
}, [
|
|
5669
|
-
e("p",
|
|
5670
|
-
e("p",
|
|
5671
|
-
e("p",
|
|
5672
|
-
|
|
5706
|
+
e("p", fr, d(x(r).path), 1),
|
|
5707
|
+
e("p", yr, d(x(r).location.full_code), 1),
|
|
5708
|
+
e("p", mr, d(x(r).location.name), 1),
|
|
5709
|
+
x(r).barcode_svg ? (t(), n("div", {
|
|
5673
5710
|
key: 0,
|
|
5674
5711
|
class: "label-preview__barcode",
|
|
5675
5712
|
"aria-label": "Barcode",
|
|
5676
|
-
innerHTML:
|
|
5677
|
-
}, null, 8,
|
|
5678
|
-
|
|
5713
|
+
innerHTML: x(r).barcode_svg
|
|
5714
|
+
}, null, 8, gr)) : M("", !0),
|
|
5715
|
+
x(r).qr_code_svg ? (t(), n("div", {
|
|
5679
5716
|
key: 1,
|
|
5680
5717
|
class: "label-preview__qr",
|
|
5681
5718
|
"aria-label": "QR code",
|
|
5682
|
-
innerHTML:
|
|
5683
|
-
}, null, 8,
|
|
5719
|
+
innerHTML: x(r).qr_code_svg
|
|
5720
|
+
}, null, 8, br)) : M("", !0)
|
|
5684
5721
|
], 4)
|
|
5685
|
-
])) :
|
|
5686
|
-
|
|
5722
|
+
])) : M("", !0),
|
|
5723
|
+
x(r) ? (t(), n("div", kr, [
|
|
5687
5724
|
I(O, {
|
|
5688
5725
|
variant: "primary",
|
|
5689
5726
|
size: "md",
|
|
@@ -5732,33 +5769,33 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5732
5769
|
]),
|
|
5733
5770
|
_: 1
|
|
5734
5771
|
}, 8, ["loading"])
|
|
5735
|
-
])) :
|
|
5772
|
+
])) : M("", !0)
|
|
5736
5773
|
]));
|
|
5737
5774
|
}
|
|
5738
|
-
}),
|
|
5775
|
+
}), ec = /* @__PURE__ */ oe(wr, [["__scopeId", "data-v-c9c4e755"]]), $r = { class: "unlocated-products" }, Cr = { class: "unlocated-products__header" }, Lr = {
|
|
5739
5776
|
key: 0,
|
|
5740
5777
|
class: "unlocated-products__subtitle"
|
|
5741
|
-
},
|
|
5778
|
+
}, xr = { class: "unlocated-products__product-name" }, Sr = {
|
|
5742
5779
|
key: 0,
|
|
5743
5780
|
class: "unlocated-products__sku"
|
|
5744
|
-
},
|
|
5781
|
+
}, Ir = {
|
|
5745
5782
|
key: 1,
|
|
5746
5783
|
class: "unlocated-products__no-sku"
|
|
5747
|
-
},
|
|
5784
|
+
}, zr = {
|
|
5748
5785
|
key: 0,
|
|
5749
5786
|
class: "unlocated-products__load-more"
|
|
5750
|
-
},
|
|
5787
|
+
}, Mr = { class: "unlocated-products__showing" }, Vr = { class: "unlocated-products__locate-form" }, Br = { class: "unlocated-products__locate-search" }, Ar = {
|
|
5751
5788
|
key: 0,
|
|
5752
5789
|
class: "unlocated-products__locate-results",
|
|
5753
5790
|
role: "listbox",
|
|
5754
5791
|
"aria-label": "Location search results"
|
|
5755
|
-
},
|
|
5792
|
+
}, Pr = ["aria-selected"], Fr = ["onClick"], Nr = { class: "unlocated-products__locate-option-name" }, Tr = {
|
|
5756
5793
|
key: 1,
|
|
5757
5794
|
class: "unlocated-products__locate-no-results"
|
|
5758
|
-
},
|
|
5795
|
+
}, Dr = {
|
|
5759
5796
|
key: 2,
|
|
5760
5797
|
class: "unlocated-products__locate-selected"
|
|
5761
|
-
},
|
|
5798
|
+
}, Er = /* @__PURE__ */ ae({
|
|
5762
5799
|
__name: "UnlocatedProducts",
|
|
5763
5800
|
props: {
|
|
5764
5801
|
limit: { default: 50 }
|
|
@@ -5770,8 +5807,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5770
5807
|
{ key: "sku", label: "SKU", width: "150px" },
|
|
5771
5808
|
{ key: "actions", label: "", width: "100px", align: "right" }
|
|
5772
5809
|
], S = J(() => w.value.length < u.value);
|
|
5773
|
-
ue(() =>
|
|
5774
|
-
async function
|
|
5810
|
+
ue(() => L());
|
|
5811
|
+
async function L(V = !1) {
|
|
5775
5812
|
var q;
|
|
5776
5813
|
V ? v.value = !0 : i.value = !0;
|
|
5777
5814
|
try {
|
|
@@ -5784,8 +5821,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5784
5821
|
i.value = !1, v.value = !1;
|
|
5785
5822
|
}
|
|
5786
5823
|
}
|
|
5787
|
-
function
|
|
5788
|
-
l.value++,
|
|
5824
|
+
function z() {
|
|
5825
|
+
l.value++, L(!0);
|
|
5789
5826
|
}
|
|
5790
5827
|
function T(V) {
|
|
5791
5828
|
_.value = V, c.value = !0, f.value = "", y.value = [], p.value = null, g("locate", { id: V.id, name: V.name });
|
|
@@ -5821,11 +5858,11 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5821
5858
|
}
|
|
5822
5859
|
return (V, q) => {
|
|
5823
5860
|
var E;
|
|
5824
|
-
return t(), n("div",
|
|
5825
|
-
e("div",
|
|
5861
|
+
return t(), n("div", $r, [
|
|
5862
|
+
e("div", Cr, [
|
|
5826
5863
|
e("div", null, [
|
|
5827
5864
|
q[2] || (q[2] = e("h2", { class: "unlocated-products__title" }, "Unlocated Products", -1)),
|
|
5828
|
-
u.value > 0 ? (t(), n("p",
|
|
5865
|
+
u.value > 0 ? (t(), n("p", Lr, d(u.value) + " product" + d(u.value !== 1 ? "s" : "") + " have no assigned warehouse location ", 1)) : M("", !0)
|
|
5829
5866
|
])
|
|
5830
5867
|
]),
|
|
5831
5868
|
i.value && w.value.length === 0 ? (t(), K(se, {
|
|
@@ -5842,10 +5879,10 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5842
5879
|
"empty-message": "All products have assigned locations."
|
|
5843
5880
|
}, {
|
|
5844
5881
|
"cell-name": k(({ row: P }) => [
|
|
5845
|
-
e("span",
|
|
5882
|
+
e("span", xr, d(P.name), 1)
|
|
5846
5883
|
]),
|
|
5847
5884
|
"cell-sku": k(({ row: P }) => [
|
|
5848
|
-
P.sku ? (t(), n("span",
|
|
5885
|
+
P.sku ? (t(), n("span", Sr, d(P.sku), 1)) : (t(), n("span", Ir, "no SKU"))
|
|
5849
5886
|
]),
|
|
5850
5887
|
"cell-actions": k(({ row: P }) => [
|
|
5851
5888
|
I(O, {
|
|
@@ -5861,20 +5898,20 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5861
5898
|
]),
|
|
5862
5899
|
_: 1
|
|
5863
5900
|
}, 8, ["data"]),
|
|
5864
|
-
S.value ? (t(), n("div",
|
|
5865
|
-
e("p",
|
|
5901
|
+
S.value ? (t(), n("div", zr, [
|
|
5902
|
+
e("p", Mr, " Showing " + d(w.value.length) + " of " + d(u.value), 1),
|
|
5866
5903
|
I(O, {
|
|
5867
5904
|
variant: "ghost",
|
|
5868
5905
|
size: "sm",
|
|
5869
5906
|
loading: v.value,
|
|
5870
|
-
onClick:
|
|
5907
|
+
onClick: z
|
|
5871
5908
|
}, {
|
|
5872
5909
|
default: k(() => [...q[4] || (q[4] = [
|
|
5873
5910
|
D(" Load More ", -1)
|
|
5874
5911
|
])]),
|
|
5875
5912
|
_: 1
|
|
5876
5913
|
}, 8, ["loading"])
|
|
5877
|
-
])) :
|
|
5914
|
+
])) : M("", !0)
|
|
5878
5915
|
]),
|
|
5879
5916
|
_: 1
|
|
5880
5917
|
})) : (t(), K(ge, {
|
|
@@ -5915,8 +5952,8 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5915
5952
|
}, 8, ["disabled", "loading"])
|
|
5916
5953
|
]),
|
|
5917
5954
|
default: k(() => [
|
|
5918
|
-
e("div",
|
|
5919
|
-
e("div",
|
|
5955
|
+
e("div", Vr, [
|
|
5956
|
+
e("div", Br, [
|
|
5920
5957
|
q[5] || (q[5] = e("label", {
|
|
5921
5958
|
for: "locate-search-input",
|
|
5922
5959
|
class: "unlocated-products__locate-label"
|
|
@@ -5932,7 +5969,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5932
5969
|
[ze, f.value]
|
|
5933
5970
|
])
|
|
5934
5971
|
]),
|
|
5935
|
-
y.value.length > 0 ? (t(), n("ul",
|
|
5972
|
+
y.value.length > 0 ? (t(), n("ul", Ar, [
|
|
5936
5973
|
(t(!0), n(G, null, ne(y.value, (P) => {
|
|
5937
5974
|
var R, ce;
|
|
5938
5975
|
return t(), n("li", {
|
|
@@ -5948,7 +5985,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5948
5985
|
I(fe, {
|
|
5949
5986
|
code: P.full_code
|
|
5950
5987
|
}, null, 8, ["code"]),
|
|
5951
|
-
e("span",
|
|
5988
|
+
e("span", Nr, d(P.name), 1),
|
|
5952
5989
|
I(ve, {
|
|
5953
5990
|
variant: "muted",
|
|
5954
5991
|
size: "sm"
|
|
@@ -5958,18 +5995,18 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5958
5995
|
]),
|
|
5959
5996
|
_: 2
|
|
5960
5997
|
}, 1024)
|
|
5961
|
-
], 10,
|
|
5962
|
-
], 8,
|
|
5998
|
+
], 10, Fr)
|
|
5999
|
+
], 8, Pr);
|
|
5963
6000
|
}), 128))
|
|
5964
|
-
])) :
|
|
5965
|
-
f.value.length >= 2 && y.value.length === 0 && !h.value ? (t(), n("p",
|
|
5966
|
-
p.value ? (t(), n("div",
|
|
6001
|
+
])) : M("", !0),
|
|
6002
|
+
f.value.length >= 2 && y.value.length === 0 && !h.value ? (t(), n("p", Tr, " No locations found ")) : M("", !0),
|
|
6003
|
+
p.value ? (t(), n("div", Dr, [
|
|
5967
6004
|
q[6] || (q[6] = e("span", { class: "unlocated-products__locate-selected-label" }, "Assign to:", -1)),
|
|
5968
6005
|
I(fe, {
|
|
5969
6006
|
code: p.value.full_code
|
|
5970
6007
|
}, null, 8, ["code"]),
|
|
5971
6008
|
e("span", null, d(p.value.name), 1)
|
|
5972
|
-
])) :
|
|
6009
|
+
])) : M("", !0)
|
|
5973
6010
|
])
|
|
5974
6011
|
]),
|
|
5975
6012
|
_: 1
|
|
@@ -5977,7 +6014,7 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5977
6014
|
]);
|
|
5978
6015
|
};
|
|
5979
6016
|
}
|
|
5980
|
-
}),
|
|
6017
|
+
}), tc = /* @__PURE__ */ oe(Er, [["__scopeId", "data-v-9a21fb9b"]]), ac = {
|
|
5981
6018
|
install(a, s = {}) {
|
|
5982
6019
|
pt({
|
|
5983
6020
|
prefix: s.apiPrefix || "/api/inventory-locator/v1"
|
|
@@ -5985,31 +6022,31 @@ const Da = ["title"], Ea = /* @__PURE__ */ ae({
|
|
|
5985
6022
|
}
|
|
5986
6023
|
};
|
|
5987
6024
|
export {
|
|
5988
|
-
|
|
5989
|
-
|
|
5990
|
-
|
|
5991
|
-
|
|
5992
|
-
|
|
5993
|
-
|
|
5994
|
-
|
|
5995
|
-
|
|
5996
|
-
|
|
6025
|
+
Zr as CountEntryForm,
|
|
6026
|
+
Jr as CountReport,
|
|
6027
|
+
Wr as CountSessionDetail,
|
|
6028
|
+
Gr as CountSessionList,
|
|
6029
|
+
Or as InventoryDashboard,
|
|
6030
|
+
ac as InventoryLocatorPlugin,
|
|
6031
|
+
Qr as InventoryLocatorShell,
|
|
6032
|
+
Xr as LabelBatchPrint,
|
|
6033
|
+
ec as LabelPreview,
|
|
5997
6034
|
et as LocationBreadcrumb,
|
|
5998
6035
|
fe as LocationCodeBadge,
|
|
5999
|
-
|
|
6000
|
-
|
|
6001
|
-
|
|
6036
|
+
An as LocationDetail,
|
|
6037
|
+
Da as LocationSearchInput,
|
|
6038
|
+
oo as LocationTree,
|
|
6002
6039
|
Ee as LocationTypeIcon,
|
|
6003
|
-
|
|
6004
|
-
|
|
6005
|
-
|
|
6006
|
-
|
|
6007
|
-
|
|
6040
|
+
Yr as ProductLocationList,
|
|
6041
|
+
ds as ScanHistory,
|
|
6042
|
+
as as ScanResult,
|
|
6043
|
+
Kr as ScannerOverlay,
|
|
6044
|
+
tc as UnlocatedProducts,
|
|
6008
6045
|
pt as configureApiClient,
|
|
6009
6046
|
Ve as useCountSessions,
|
|
6010
6047
|
Xe as useCountStore,
|
|
6011
6048
|
Ye as useLabelPrinting,
|
|
6012
|
-
|
|
6049
|
+
jr as useLocationBreadcrumbs,
|
|
6013
6050
|
Se as useLocationProducts,
|
|
6014
6051
|
Re as useLocationSearch,
|
|
6015
6052
|
Me as useLocationStore,
|