@feedmepos/mf-inventory-portal 0.0.25-dev.6 → 0.0.25-dev.8
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/{App-CbfxkgwK.js → App-CKLQeRNl.js} +1 -1
- package/dist/{ApprovalView-ELDEWMap.js → ApprovalView-BWO2tkbO.js} +6 -6
- package/dist/{BindingsDialog-BtCjzX36.js → BindingsDialog-C0kTZLOn.js} +9 -9
- package/dist/{BindingsPicker-DP6FdglZ.js → BindingsPicker-DjcS3uTL.js} +10 -10
- package/dist/{BindingsTable-amcmKpj_.js → BindingsTable-Ctpv958D.js} +10 -10
- package/dist/{ClosingDraftView-DO_14oDG.js → ClosingDraftView-CsAPSZPc.js} +2 -2
- package/dist/{ClosingTemplateView-BMsQpdg7.js → ClosingTemplateView-D0HWVhk3.js} +478 -493
- package/dist/{FmCustomAttribute.vue_vue_type_script_setup_true_lang-DUXkuq24.js → FmCustomAttribute.vue_vue_type_script_setup_true_lang-BF0lKP9Y.js} +1 -1
- package/dist/FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-DJfBmiRt.js +211 -0
- package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-iPM-EQny.js → FmUnitInput.vue_vue_type_script_setup_true_lang-qZ7Kx-KR.js} +1 -1
- package/dist/{IngredientGroupView-Coo5z0LR.js → IngredientGroupView-Dc3glXN3.js} +1 -1
- package/dist/{IngredientsView-CeQXaN2p.js → IngredientsView-btzrUQ1-.js} +392 -382
- package/dist/{IntegrationView-md4hgi8k.js → IntegrationView-DO1SF1Ca.js} +660 -623
- package/dist/{InventoryBindingForm-CwsppNrg.js → InventoryBindingForm-_2p-YetL.js} +1 -1
- package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-CLR61V6f.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-B7ump1tl.js} +5 -5
- package/dist/{InventoryBindingSummary-DMvVMPfD.js → InventoryBindingSummary-CEdLu3d9.js} +1 -1
- package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-ByQXRxdh.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-kLdZ5acK.js} +1 -1
- package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-DPmIQEPN.js → PremiumBadge.vue_vue_type_script_setup_true_lang-Da0gmGST.js} +1 -1
- package/dist/{PublishView-27Kqj9Pl.js → PublishView-CXTiPWIx.js} +2 -2
- package/dist/{PurchaseOrderPrintPreview-aa4spvmG.js → PurchaseOrderPrintPreview-DBviMTyA.js} +1 -1
- package/dist/{ReceiveRequestView-D9U4Vea4.js → ReceiveRequestView-Ct1AQDGK.js} +8 -8
- package/dist/{RecipeView-A8xhUvgI.js → RecipeView-C0HiPNvf.js} +3 -3
- package/dist/{StockView-Dw3H-6FB.js → StockView-BG8jsV_X.js} +7 -7
- package/dist/{SupplierView-B5T1mml-.js → SupplierView-th75_ohq.js} +3 -3
- package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-C8Q0rIlP.js → TransferDetails.vue_vue_type_script_setup_true_lang-n7fH8GRs.js} +19 -19
- package/dist/{TransferTemplateView-BByKikfy.js → TransferTemplateView-Dcz6xGR_.js} +443 -458
- package/dist/{UnitView-BPm-9Ouy.js → UnitView-lnoMsoBN.js} +3 -3
- package/dist/{WarehouseView-B6kMLEnU.js → WarehouseView-ChXcNnmp.js} +1 -1
- package/dist/{app-DLEGCGlp.js → app-B4RHEuan.js} +6206 -6131
- package/dist/app.js +1 -1
- package/dist/components/FmLockableField.vue.d.ts +3 -0
- package/dist/components/FmMultiselectDialog.vue.d.ts +9 -1
- package/dist/components/FmMultiselectDialogProps.d.ts +2 -0
- package/dist/{decimal-Ivbuwf48.js → decimal-BocxWSo6.js} +1 -1
- package/dist/{format-unit-display-DWEQ-Uq0.js → format-unit-display-E_NtfEtV.js} +256 -253
- package/dist/helper/fuzzy.d.ts +10 -0
- package/dist/{index-CjaT65-H.js → index-B-MhJgPv.js} +3 -3
- package/dist/{index-D9ACNHSL.js → index-ro6xANOo.js} +1 -1
- package/dist/{stock-IxIBNyKi.js → stock-DpmweZQd.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/{supplier-5uoaiSy6.js → supplier--P-eubcS.js} +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/use-ingredient-select-dialog-C7WZf5D4.js +52 -0
- package/dist/{use-inventory-binding-dialog-Bv4zc_sy.js → use-inventory-binding-dialog-DW_kAtLh.js} +1 -1
- package/dist/views/ingredients/composables/use-ingredient-select-dialog.d.ts +16 -0
- package/dist/views/transfer-template/components/transfer-template-form/composables/use-transfer-template-items.d.ts +0 -1
- package/dist/{vue-i18n-CW-Rmr2v.js → vue-i18n-SeWrkOlu.js} +335 -335
- package/package.json +3 -3
- package/dist/FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-BZQxtTDj.js +0 -286
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { defineComponent as X, onMounted as ce, computed as R, ref as U, watch as pe, inject as
|
|
2
|
-
import { H as Ne, ay as ue, t as
|
|
1
|
+
import { defineComponent as X, onMounted as ce, computed as R, ref as U, watch as pe, inject as Ze, resolveComponent as O, openBlock as D, createElementBlock as G, createElementVNode as t, createVNode as c, withCtx as B, renderSlot as Oe, withDirectives as Ve, normalizeClass as J, vModelText as De, reactive as Je, h as Z, toDisplayString as $, unref as e, createBlock as W, mergeProps as Ee, isRef as Ue, createCommentVNode as ee, Fragment as qe, renderList as Xe, normalizeStyle as Ye, Teleport as et, normalizeProps as tt, guardReactiveProps as ot } from "vue";
|
|
2
|
+
import { H as Ne, ay as ue, t as Re, I as st, az as lt, aA as nt, j as K, aB as at, b as ze, $ as Ae, m as de, a as He, P as ie, L as rt, A as me, M as it, c as je, G as Q, u as Qe, ac as ut, V as dt, E as Ke, K as mt, e as te, aC as ae, a9 as ct, a1 as pt, z as ft, i as Pe, _ as yt, B as vt } from "./app-B4RHEuan.js";
|
|
3
3
|
import { useI18n as Y } from "@feedmepos/mf-common";
|
|
4
|
-
import { P as H, a as
|
|
5
|
-
import { components as re, useDialog as
|
|
4
|
+
import { P as H, a as bt, f as xt, t as _t, b as Le, u as ht } from "./format-unit-display-E_NtfEtV.js";
|
|
5
|
+
import { components as re, useDialog as gt, useSnackbar as Tt, useProxiedModel as Ge, useBreakpoints as kt } from "@feedmepos/ui-library";
|
|
6
6
|
import { storeToRefs as Be } from "pinia";
|
|
7
|
-
import { _ as
|
|
8
|
-
import { c as $t, u as
|
|
9
|
-
import { u as
|
|
10
|
-
|
|
7
|
+
import { _ as Ft, b as wt, F as St, a as Ct } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-qZ7Kx-KR.js";
|
|
8
|
+
import { c as $t, u as Mt, _ as It } from "./FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-DJfBmiRt.js";
|
|
9
|
+
import { u as Ot } from "./supplier--P-eubcS.js";
|
|
10
|
+
import { u as Vt } from "./use-ingredient-select-dialog-C7WZf5D4.js";
|
|
11
|
+
const Dt = { class: "flex flex-col" }, Rt = { class: "flex flex-col" }, At = { class: "flex-1" }, Pt = { class: "flex items-center" }, Lt = { class: "flex-1" }, Bt = { class: "flex-1" }, Et = /* @__PURE__ */ X({
|
|
11
12
|
__name: "FmMinMaxInput",
|
|
12
13
|
props: {
|
|
13
14
|
rules: {},
|
|
@@ -45,79 +46,79 @@ const At = { class: "flex flex-col" }, Dt = { class: "flex flex-col" }, Rt = { c
|
|
|
45
46
|
helperState: {}
|
|
46
47
|
},
|
|
47
48
|
setup(y) {
|
|
48
|
-
const
|
|
49
|
+
const g = y, u = Ne("modelValue"), o = st();
|
|
49
50
|
ce(() => {
|
|
50
|
-
const { min:
|
|
51
|
-
if (!(!
|
|
52
|
-
const
|
|
51
|
+
const { min: m, max: r } = u ?? {};
|
|
52
|
+
if (!(!m || !r) && m.precision !== r.precision) {
|
|
53
|
+
const T = Math.max(m.precision, r.precision), a = ue(m, T), f = ue(r, T);
|
|
53
54
|
u.min = a, u.max = f;
|
|
54
55
|
}
|
|
55
56
|
});
|
|
56
|
-
const
|
|
57
|
-
const { min:
|
|
58
|
-
return Math.max((
|
|
59
|
-
}),
|
|
60
|
-
if (!
|
|
61
|
-
const r = lt(
|
|
57
|
+
const p = R(() => {
|
|
58
|
+
const { min: m, max: r } = u ?? {};
|
|
59
|
+
return Math.max((m == null ? void 0 : m.precision) ?? 0, (r == null ? void 0 : r.precision) ?? 0, g.precision ?? 0);
|
|
60
|
+
}), S = (m) => {
|
|
61
|
+
if (!m) return "";
|
|
62
|
+
const r = lt(m), T = p.value, a = ue(r, T);
|
|
62
63
|
return nt(
|
|
63
|
-
+
|
|
64
|
+
+K(a),
|
|
64
65
|
a.precision
|
|
65
66
|
);
|
|
66
|
-
}, i = U(
|
|
67
|
-
pe([i, l], ([
|
|
68
|
-
const
|
|
69
|
-
if (
|
|
70
|
-
const
|
|
71
|
-
|
|
67
|
+
}, i = U(S(u.min)), l = U(S(u.max));
|
|
68
|
+
pe([i, l], ([m, r]) => {
|
|
69
|
+
const T = u ?? {}, a = o(m), f = o(r), w = p.value;
|
|
70
|
+
if (m !== "" && a === !0) {
|
|
71
|
+
const s = Re(+m, w);
|
|
72
|
+
T.min = s;
|
|
72
73
|
} else
|
|
73
|
-
|
|
74
|
+
T.min = null;
|
|
74
75
|
if (r !== "" && f === !0) {
|
|
75
|
-
const
|
|
76
|
-
|
|
76
|
+
const s = Re(+r, w);
|
|
77
|
+
T.max = s;
|
|
77
78
|
} else
|
|
78
|
-
|
|
79
|
-
u.min =
|
|
79
|
+
T.max = null;
|
|
80
|
+
u.min = T.min, u.max = T.max;
|
|
80
81
|
});
|
|
81
|
-
const d = Symbol.for("fm:form-state"),
|
|
82
|
+
const d = Symbol.for("fm:form-state"), x = Ze(d, null), C = R(() => g.disabled ?? (x == null ? void 0 : x.getDisabled()) ?? !1), V = U(), k = U(), v = U(!1), F = U(!1), M = R(() => v.value || F.value), E = R(() => [...[
|
|
82
83
|
function() {
|
|
83
|
-
return typeof
|
|
84
|
+
return typeof o(i.value) == "string" || typeof o(l.value) == "string" ? "Must be a number" : !0;
|
|
84
85
|
},
|
|
85
|
-
function(
|
|
86
|
-
return !
|
|
86
|
+
function(T) {
|
|
87
|
+
return !T || !T.min || !T.max ? !0 : +K(T.min) > +K(T.max) ? "Min must be less than or equal to max" : !0;
|
|
87
88
|
}
|
|
88
|
-
], ...
|
|
89
|
-
return (
|
|
90
|
-
const
|
|
91
|
-
return D(),
|
|
92
|
-
t("div",
|
|
93
|
-
t("div",
|
|
94
|
-
c(
|
|
95
|
-
label:
|
|
96
|
-
disabled:
|
|
97
|
-
required:
|
|
98
|
-
optional:
|
|
89
|
+
], ...g.rules ?? []]);
|
|
90
|
+
return (m, r) => {
|
|
91
|
+
const T = O("FmLabel"), a = O("FmField"), f = O("FmFormGroup");
|
|
92
|
+
return D(), G("div", Dt, [
|
|
93
|
+
t("div", Rt, [
|
|
94
|
+
t("div", At, [
|
|
95
|
+
c(T, {
|
|
96
|
+
label: m.label,
|
|
97
|
+
disabled: m.disabled,
|
|
98
|
+
required: m.labelMark === "required",
|
|
99
|
+
optional: m.labelMark === "optional"
|
|
99
100
|
}, null, 8, ["label", "disabled", "required", "optional"])
|
|
100
101
|
]),
|
|
101
|
-
c(a, { focused:
|
|
102
|
+
c(a, { focused: M.value }, {
|
|
102
103
|
default: B(() => [
|
|
103
104
|
t("div", Pt, [
|
|
104
|
-
Oe(
|
|
105
|
+
Oe(m.$slots, "prepend"),
|
|
105
106
|
r[6] || (r[6] = t("div", { class: "text-fm-color-typo-secondary fm-typo-en-body-lg-400 pr-4" }, "Min.", -1)),
|
|
106
107
|
t("div", Lt, [
|
|
107
108
|
Ve(t("input", {
|
|
108
109
|
type: "text",
|
|
109
110
|
ref_key: "minInputRef",
|
|
110
|
-
ref:
|
|
111
|
+
ref: V,
|
|
111
112
|
onFocus: r[0] || (r[0] = () => v.value = !0),
|
|
112
113
|
onBlur: r[1] || (r[1] = () => v.value = !1),
|
|
113
114
|
"onUpdate:modelValue": r[2] || (r[2] = (w) => i.value = w),
|
|
114
|
-
class:
|
|
115
|
+
class: J({
|
|
115
116
|
"fm-text-field--input fm-typo-en-body-lg-400": !0,
|
|
116
|
-
"text-fm-color-typo-primary": !
|
|
117
|
-
"text-fm-color-typo-disabled":
|
|
117
|
+
"text-fm-color-typo-primary": !C.value,
|
|
118
|
+
"text-fm-color-typo-disabled": C.value
|
|
118
119
|
})
|
|
119
120
|
}, null, 34), [
|
|
120
|
-
[
|
|
121
|
+
[De, i.value]
|
|
121
122
|
])
|
|
122
123
|
]),
|
|
123
124
|
r[7] || (r[7] = t("div", { class: "block h-32 mx-4 w-[1px] bg-fm-color-neutral-gray-200" }, null, -1)),
|
|
@@ -126,20 +127,20 @@ const At = { class: "flex flex-col" }, Dt = { class: "flex flex-col" }, Rt = { c
|
|
|
126
127
|
Ve(t("input", {
|
|
127
128
|
type: "text",
|
|
128
129
|
ref_key: "maxInputRef",
|
|
129
|
-
ref:
|
|
130
|
+
ref: k,
|
|
130
131
|
onFocus: r[3] || (r[3] = () => F.value = !0),
|
|
131
132
|
onBlur: r[4] || (r[4] = () => F.value = !1),
|
|
132
133
|
"onUpdate:modelValue": r[5] || (r[5] = (w) => l.value = w),
|
|
133
|
-
class:
|
|
134
|
+
class: J({
|
|
134
135
|
"fm-text-field--input fm-typo-en-body-lg-400": !0,
|
|
135
|
-
"text-fm-color-typo-primary": !
|
|
136
|
-
"text-fm-color-typo-disabled":
|
|
136
|
+
"text-fm-color-typo-primary": !C.value,
|
|
137
|
+
"text-fm-color-typo-disabled": C.value
|
|
137
138
|
})
|
|
138
139
|
}, null, 34), [
|
|
139
|
-
[
|
|
140
|
+
[De, l.value]
|
|
140
141
|
])
|
|
141
142
|
]),
|
|
142
|
-
Oe(
|
|
143
|
+
Oe(m.$slots, "append")
|
|
143
144
|
])
|
|
144
145
|
]),
|
|
145
146
|
_: 3
|
|
@@ -147,55 +148,55 @@ const At = { class: "flex flex-col" }, Dt = { class: "flex flex-col" }, Rt = { c
|
|
|
147
148
|
]),
|
|
148
149
|
c(f, {
|
|
149
150
|
class: "flex-1",
|
|
150
|
-
"model-value":
|
|
151
|
-
info:
|
|
151
|
+
"model-value": m.modelValue,
|
|
152
|
+
info: m.labelInfo,
|
|
152
153
|
rules: E.value,
|
|
153
|
-
"helper-text":
|
|
154
|
-
"helper-state":
|
|
154
|
+
"helper-text": m.helperText,
|
|
155
|
+
"helper-state": m.helperState
|
|
155
156
|
}, null, 8, ["model-value", "info", "rules", "helper-text", "helper-state"])
|
|
156
157
|
]);
|
|
157
158
|
};
|
|
158
159
|
}
|
|
159
160
|
});
|
|
160
|
-
function Ut({ min: y, max:
|
|
161
|
-
return function(
|
|
162
|
-
return !
|
|
161
|
+
function Ut({ min: y, max: g } = { min: !0, max: !0 }) {
|
|
162
|
+
return function(o) {
|
|
163
|
+
return !o || !o.min && y != !1 || !o.max && g != !1 ? "Required" : !0;
|
|
163
164
|
};
|
|
164
165
|
}
|
|
165
|
-
function qt(y,
|
|
166
|
-
return function(
|
|
167
|
-
return !
|
|
166
|
+
function qt(y, g) {
|
|
167
|
+
return function(o) {
|
|
168
|
+
return !o || !o.min || !o.max ? !0 : +K(o.min) < y ? `Must be between ${y} and ${g}` : +K(o.max) > g ? `Must be between ${y} and ${g}` : !0;
|
|
168
169
|
};
|
|
169
170
|
}
|
|
170
171
|
function Nt(y) {
|
|
171
|
-
const
|
|
172
|
-
return function(
|
|
173
|
-
const
|
|
174
|
-
return !
|
|
172
|
+
const g = at(y), u = K(y);
|
|
173
|
+
return function(p) {
|
|
174
|
+
const S = !(p != null && p.min) || g(p.min) === !0, i = !(p != null && p.max) || g(p.max) === !0;
|
|
175
|
+
return !S && !i ? `Min & max must be a multiple of ${u}` : S ? i ? !0 : `Max must be a multiple of ${u}` : `Min must be a multiple of ${u}`;
|
|
175
176
|
};
|
|
176
177
|
}
|
|
177
|
-
var L = /* @__PURE__ */ ((y) => (y.Code = "Code", y.Name = "Name", y.DefaultAmount = "DefaultAmount", y.Limit = "Limit", y.
|
|
178
|
+
var L = /* @__PURE__ */ ((y) => (y.Code = "Code", y.Name = "Name", y.DefaultAmount = "DefaultAmount", y.Limit = "Limit", y.Step = "Step", y.Cost = "Cost", y.Delete = "Delete", y))(L || {});
|
|
178
179
|
function zt(y) {
|
|
179
|
-
const { t:
|
|
180
|
+
const { t: g } = Y(), u = ze(), o = Je({});
|
|
180
181
|
ce(() => {
|
|
181
182
|
for (const i of y.items) {
|
|
182
183
|
if (!i.totalCost)
|
|
183
184
|
continue;
|
|
184
185
|
const l = $t(i.sku, i.quantity, i.measurement, {
|
|
185
186
|
supplier: y.supplier
|
|
186
|
-
}), d = i.totalCost ??
|
|
187
|
-
l ?
|
|
187
|
+
}), d = i.totalCost ?? Ae.reset();
|
|
188
|
+
l ? o[i.sku._id] = l.amount !== d.amount || l.precision !== d.precision : o[i.sku._id] = !0;
|
|
188
189
|
}
|
|
189
190
|
});
|
|
190
|
-
const
|
|
191
|
+
const p = [
|
|
191
192
|
{
|
|
192
193
|
id: "Code",
|
|
193
|
-
header: () =>
|
|
194
|
+
header: () => g("inventory.transfer.form.items.table.Code"),
|
|
194
195
|
accessorKey: "code",
|
|
195
196
|
size: 180,
|
|
196
197
|
cell(i) {
|
|
197
198
|
const l = i.row.original;
|
|
198
|
-
return
|
|
199
|
+
return Z(re.FmTextField, {
|
|
199
200
|
modelValue: l.code,
|
|
200
201
|
"onUpdate:modelValue": (d) => {
|
|
201
202
|
y.updateItem({
|
|
@@ -204,7 +205,7 @@ function zt(y) {
|
|
|
204
205
|
});
|
|
205
206
|
},
|
|
206
207
|
key: l.sku._id,
|
|
207
|
-
rules: [
|
|
208
|
+
rules: [de()],
|
|
208
209
|
labelMark: "required"
|
|
209
210
|
});
|
|
210
211
|
},
|
|
@@ -212,11 +213,11 @@ function zt(y) {
|
|
|
212
213
|
},
|
|
213
214
|
{
|
|
214
215
|
id: "Name",
|
|
215
|
-
header: () =>
|
|
216
|
+
header: () => g("inventory.transfer.form.items.table.Name"),
|
|
216
217
|
minSize: 300,
|
|
217
218
|
cell(i) {
|
|
218
219
|
const l = i.row.original;
|
|
219
|
-
return
|
|
220
|
+
return Z(re.FmTextField, {
|
|
220
221
|
modelValue: l.name,
|
|
221
222
|
"onUpdate:modelValue": (d) => {
|
|
222
223
|
y.updateItem({
|
|
@@ -225,7 +226,7 @@ function zt(y) {
|
|
|
225
226
|
});
|
|
226
227
|
},
|
|
227
228
|
key: l.sku._id,
|
|
228
|
-
rules: [
|
|
229
|
+
rules: [de()],
|
|
229
230
|
labelMark: "required"
|
|
230
231
|
});
|
|
231
232
|
},
|
|
@@ -233,57 +234,59 @@ function zt(y) {
|
|
|
233
234
|
},
|
|
234
235
|
{
|
|
235
236
|
id: "DefaultAmount",
|
|
236
|
-
header: () =>
|
|
237
|
+
header: () => g("inventory.transfer.form.items.table.DefaultAmount"),
|
|
237
238
|
minSize: 200,
|
|
238
239
|
cell(i) {
|
|
239
240
|
var v;
|
|
240
|
-
const l = i.row.original, d = He(),
|
|
241
|
-
var
|
|
242
|
-
return ((
|
|
243
|
-
}),
|
|
244
|
-
return
|
|
241
|
+
const l = i.row.original, d = He(), x = d.skuById[l.sku._id], C = d.unitById[(v = x.unit) == null ? void 0 : v._id], V = C.measurements.find((F) => {
|
|
242
|
+
var M;
|
|
243
|
+
return ((M = l.measurement) == null ? void 0 : M.id) === F.id;
|
|
244
|
+
}), k = l.sku.unit._id !== x.unit._id || !C || l.measurement && !V;
|
|
245
|
+
return Z(Ft, {
|
|
245
246
|
style: {
|
|
246
247
|
flex: "1 1 0%"
|
|
247
248
|
},
|
|
248
249
|
modelValue: {
|
|
249
250
|
amount: l.quantity ?? { amount: 1, precision: 0 },
|
|
250
251
|
// NOTE: leave this reading from row.sku.unit and row.measurement instead,
|
|
251
|
-
measurement: l.measurement ?? (l.sku.unit._id !==
|
|
252
|
+
measurement: l.measurement ?? (l.sku.unit._id !== x.unit._id ? { ...l.sku.unit, id: "", conversion: { amount: 1, precision: 0 } } : null)
|
|
252
253
|
},
|
|
253
254
|
disabled: y.disabled,
|
|
254
255
|
key: l.sku._id,
|
|
255
|
-
unit:
|
|
256
|
+
unit: C,
|
|
256
257
|
"onUpdate:modelValue": (F) => {
|
|
257
258
|
var E;
|
|
258
|
-
let
|
|
259
|
+
let M = l.code;
|
|
259
260
|
if (u.isEnabled) {
|
|
260
|
-
const
|
|
261
|
-
|
|
261
|
+
const m = u.getItemPKTCode(x, (E = F.measurement) == null ? void 0 : E.id);
|
|
262
|
+
m && (M = m);
|
|
262
263
|
}
|
|
263
264
|
y.updateItem({
|
|
264
265
|
...l,
|
|
265
|
-
code:
|
|
266
|
-
sku:
|
|
266
|
+
code: M,
|
|
267
|
+
sku: x,
|
|
267
268
|
quantity: F.amount,
|
|
268
269
|
measurement: F.measurement
|
|
269
270
|
});
|
|
270
271
|
},
|
|
271
272
|
rules: [
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
273
|
+
wt(l.quantityStep),
|
|
274
|
+
...+K(l.quantity) ? [
|
|
275
|
+
St(
|
|
276
|
+
+K(
|
|
277
|
+
l.minimumQuantity ?? {
|
|
278
|
+
amount: 1,
|
|
279
|
+
// NOTE: leave this reading from row.sku.unit and row.measurement instead,
|
|
280
|
+
precision: ie(l.sku.unit, l.measurement)
|
|
281
|
+
}
|
|
282
|
+
)
|
|
280
283
|
)
|
|
284
|
+
] : [],
|
|
285
|
+
Ct(
|
|
286
|
+
l.maximumQuantity ? +K(l.maximumQuantity) : 1 / 0
|
|
281
287
|
),
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
),
|
|
285
|
-
function(O) {
|
|
286
|
-
return T ? "This item is no longer valid due to change in unit. Please reapply unit." : !0;
|
|
288
|
+
function(M) {
|
|
289
|
+
return k ? "This item is no longer valid due to change in unit. Please reapply unit." : !0;
|
|
287
290
|
}
|
|
288
291
|
],
|
|
289
292
|
applyDefaultRules: !0
|
|
@@ -298,7 +301,7 @@ function zt(y) {
|
|
|
298
301
|
minSize: 280,
|
|
299
302
|
cell(i) {
|
|
300
303
|
const l = i.row.original;
|
|
301
|
-
return
|
|
304
|
+
return Z(Et, {
|
|
302
305
|
style: {
|
|
303
306
|
flex: "1 1 0%"
|
|
304
307
|
},
|
|
@@ -310,14 +313,14 @@ function zt(y) {
|
|
|
310
313
|
key: l.sku._id,
|
|
311
314
|
unit: l.sku.unit,
|
|
312
315
|
"onUpdate:modelValue": (d) => {
|
|
313
|
-
const
|
|
314
|
-
d != null && d.min ?
|
|
316
|
+
const x = { ...l };
|
|
317
|
+
d != null && d.min ? x.minimumQuantity = d.min : x.minimumQuantity = null, d != null && d.max ? x.maximumQuantity = d.max : x.maximumQuantity = null, y.updateItem(x);
|
|
315
318
|
},
|
|
316
319
|
rules: [
|
|
317
320
|
Ut({ max: !1 }),
|
|
318
321
|
Nt(l.quantityStep),
|
|
319
322
|
qt(
|
|
320
|
-
+
|
|
323
|
+
+K({
|
|
321
324
|
amount: 0,
|
|
322
325
|
precision: ie(l.sku.unit, l.measurement)
|
|
323
326
|
}),
|
|
@@ -331,12 +334,12 @@ function zt(y) {
|
|
|
331
334
|
},
|
|
332
335
|
{
|
|
333
336
|
id: "Step",
|
|
334
|
-
header: () =>
|
|
337
|
+
header: () => g("inventory.transfer.form.items.table.Step"),
|
|
335
338
|
minSize: 100,
|
|
336
339
|
cell(i) {
|
|
337
340
|
const l = i.row.original;
|
|
338
|
-
return
|
|
339
|
-
modelValue:
|
|
341
|
+
return Z(re.FmTextField, {
|
|
342
|
+
modelValue: K(l.quantityStep ?? Ae.reset(), !1),
|
|
340
343
|
key: l.sku._id,
|
|
341
344
|
"onUpdate:modelValue": (d) => {
|
|
342
345
|
y.updateItem({
|
|
@@ -345,7 +348,7 @@ function zt(y) {
|
|
|
345
348
|
});
|
|
346
349
|
},
|
|
347
350
|
rules: [
|
|
348
|
-
|
|
351
|
+
me({
|
|
349
352
|
amount: 1,
|
|
350
353
|
precision: ie(l.sku.unit, l.measurement)
|
|
351
354
|
}),
|
|
@@ -360,7 +363,7 @@ function zt(y) {
|
|
|
360
363
|
header: "",
|
|
361
364
|
cell(i) {
|
|
362
365
|
const l = i.row.original;
|
|
363
|
-
return
|
|
366
|
+
return Z(re.FmButton, {
|
|
364
367
|
class: "delete-button",
|
|
365
368
|
key: l.sku._id,
|
|
366
369
|
type: "button",
|
|
@@ -382,87 +385,87 @@ function zt(y) {
|
|
|
382
385
|
}
|
|
383
386
|
];
|
|
384
387
|
return {
|
|
385
|
-
columnDefs: R(() => je().enableTotalCost && y.transferType === H.PURCHASE ?
|
|
388
|
+
columnDefs: R(() => je().enableTotalCost && y.transferType === H.PURCHASE ? p : p.filter((l) => l.id !== "Cost"))
|
|
386
389
|
};
|
|
387
390
|
}
|
|
388
|
-
const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-center" }, Qt = { class: "flex-1 flex gap-1 items-center" }, Kt = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Gt = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, Wt = { class: "flex gap-8 w-full" },
|
|
391
|
+
const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-center" }, Qt = { class: "flex-1 flex gap-1 items-center" }, Kt = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Gt = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, Wt = { class: "flex gap-8 w-full" }, Zt = { class: "flex-1 flex flex-col gap-4" }, Jt = { class: "flex-1 flex flex-col gap-4" }, Xt = { class: "flex gap-8 w-full" }, Yt = { class: "flex-1 flex flex-col gap-4" }, eo = { class: "flex-1 flex flex-col gap-4" }, to = { class: "flex gap-8 w-full" }, oo = { class: "flex-1 flex flex-col gap-4" }, so = /* @__PURE__ */ X({
|
|
389
392
|
__name: "TransferTemplateItem",
|
|
390
393
|
props: {
|
|
391
394
|
cellByColId: {},
|
|
392
395
|
row: {}
|
|
393
396
|
},
|
|
394
397
|
setup(y) {
|
|
395
|
-
const { t:
|
|
396
|
-
return (u,
|
|
397
|
-
var
|
|
398
|
-
const
|
|
399
|
-
return D(),
|
|
398
|
+
const { t: g } = Y();
|
|
399
|
+
return (u, o) => {
|
|
400
|
+
var S, i, l, d, x, C, V, k, v, F, M, E, m, r, T, a, f, w, s, n, A, I, _, b, P, q, z, j, h, N;
|
|
401
|
+
const p = O("FmLabel");
|
|
402
|
+
return D(), G("div", Ht, [
|
|
400
403
|
t("div", jt, [
|
|
401
404
|
t("div", Qt, [
|
|
402
|
-
t("span", Kt, " (" +
|
|
403
|
-
t("span", Gt,
|
|
405
|
+
t("span", Kt, " (" + $(u.row.original.sku.code) + ") ", 1),
|
|
406
|
+
t("span", Gt, $(u.row.original.sku.name), 1)
|
|
404
407
|
]),
|
|
405
408
|
t("div", null, [
|
|
406
409
|
c(e(Q), {
|
|
407
|
-
render: (l = (i = (
|
|
408
|
-
props: (
|
|
410
|
+
render: (l = (i = (S = u.cellByColId.Delete) == null ? void 0 : S.column) == null ? void 0 : i.columnDef) == null ? void 0 : l.cell,
|
|
411
|
+
props: (x = (d = u.cellByColId.Delete) == null ? void 0 : d.getContext) == null ? void 0 : x.call(d)
|
|
409
412
|
}, null, 8, ["render", "props"])
|
|
410
413
|
])
|
|
411
414
|
]),
|
|
412
415
|
t("div", Wt, [
|
|
413
|
-
t("div",
|
|
414
|
-
c(
|
|
415
|
-
label: e(
|
|
416
|
+
t("div", Zt, [
|
|
417
|
+
c(p, {
|
|
418
|
+
label: e(g)(`inventory.transfer.form.items.table.${e(L).Code}`)
|
|
416
419
|
}, null, 8, ["label"]),
|
|
417
420
|
c(e(Q), {
|
|
418
|
-
render: (
|
|
421
|
+
render: (k = (V = (C = u.cellByColId[e(L).Code]) == null ? void 0 : C.column) == null ? void 0 : V.columnDef) == null ? void 0 : k.cell,
|
|
419
422
|
props: (F = (v = u.cellByColId[e(L).Code]) == null ? void 0 : v.getContext) == null ? void 0 : F.call(v)
|
|
420
423
|
}, null, 8, ["render", "props"]),
|
|
421
|
-
|
|
424
|
+
o[0] || (o[0] = t("div", { class: "fm-typo-en-body-md-600 text-fm-color-primary" }, null, -1))
|
|
422
425
|
]),
|
|
423
|
-
t("div",
|
|
424
|
-
c(
|
|
425
|
-
label: e(
|
|
426
|
+
t("div", Jt, [
|
|
427
|
+
c(p, {
|
|
428
|
+
label: e(g)(`inventory.transfer.form.items.table.${e(L).Name}`)
|
|
426
429
|
}, null, 8, ["label"]),
|
|
427
430
|
c(e(Q), {
|
|
428
|
-
render: (
|
|
429
|
-
props: (
|
|
431
|
+
render: (m = (E = (M = u.cellByColId[e(L).Name]) == null ? void 0 : M.column) == null ? void 0 : E.columnDef) == null ? void 0 : m.cell,
|
|
432
|
+
props: (T = (r = u.cellByColId[e(L).Name]) == null ? void 0 : r.getContext) == null ? void 0 : T.call(r)
|
|
430
433
|
}, null, 8, ["render", "props"]),
|
|
431
|
-
|
|
434
|
+
o[1] || (o[1] = t("div", { class: "fm-typo-en-body-md-600 text-fm-color-primary" }, null, -1))
|
|
432
435
|
])
|
|
433
436
|
]),
|
|
434
437
|
t("div", Xt, [
|
|
435
438
|
t("div", Yt, [
|
|
436
|
-
c(
|
|
437
|
-
label: e(
|
|
439
|
+
c(p, {
|
|
440
|
+
label: e(g)(`inventory.transfer.form.items.table.${e(L).DefaultAmount}`)
|
|
438
441
|
}, null, 8, ["label"]),
|
|
439
442
|
c(e(Q), {
|
|
440
443
|
render: (w = (f = (a = u.cellByColId[e(L).DefaultAmount]) == null ? void 0 : a.column) == null ? void 0 : f.columnDef) == null ? void 0 : w.cell,
|
|
441
|
-
props: (n = (
|
|
444
|
+
props: (n = (s = u.cellByColId[e(L).DefaultAmount]) == null ? void 0 : s.getContext) == null ? void 0 : n.call(s)
|
|
442
445
|
}, null, 8, ["render", "props"]),
|
|
443
|
-
|
|
446
|
+
o[2] || (o[2] = t("div", { class: "fm-typo-en-body-md-600 text-fm-color-primary" }, null, -1))
|
|
444
447
|
]),
|
|
445
448
|
t("div", eo, [
|
|
446
|
-
c(
|
|
447
|
-
label: e(
|
|
449
|
+
c(p, {
|
|
450
|
+
label: e(g)(`inventory.transfer.form.items.table.${e(L).Step}`)
|
|
448
451
|
}, null, 8, ["label"]),
|
|
449
452
|
c(e(Q), {
|
|
450
|
-
render: (
|
|
451
|
-
props: (P = (
|
|
453
|
+
render: (_ = (I = (A = u.cellByColId[e(L).Step]) == null ? void 0 : A.column) == null ? void 0 : I.columnDef) == null ? void 0 : _.cell,
|
|
454
|
+
props: (P = (b = u.cellByColId[e(L).Step]) == null ? void 0 : b.getContext) == null ? void 0 : P.call(b)
|
|
452
455
|
}, null, 8, ["render", "props"]),
|
|
453
|
-
|
|
456
|
+
o[3] || (o[3] = t("div", { class: "fm-typo-en-body-md-600 text-fm-color-primary" }, null, -1))
|
|
454
457
|
])
|
|
455
458
|
]),
|
|
456
459
|
t("div", to, [
|
|
457
460
|
t("div", oo, [
|
|
458
|
-
c(
|
|
459
|
-
label: e(
|
|
461
|
+
c(p, {
|
|
462
|
+
label: e(g)(`inventory.transfer.form.items.table.${e(L).Limit}`)
|
|
460
463
|
}, null, 8, ["label"]),
|
|
461
464
|
c(e(Q), {
|
|
462
465
|
render: (j = (z = (q = u.cellByColId[e(L).Limit]) == null ? void 0 : q.column) == null ? void 0 : z.columnDef) == null ? void 0 : j.cell,
|
|
463
|
-
props: (N = (
|
|
466
|
+
props: (N = (h = u.cellByColId[e(L).Limit]) == null ? void 0 : h.getContext) == null ? void 0 : N.call(h)
|
|
464
467
|
}, null, 8, ["render", "props"]),
|
|
465
|
-
|
|
468
|
+
o[4] || (o[4] = t("div", { class: "fm-typo-en-body-md-600 text-fm-color-primary" }, null, -1))
|
|
466
469
|
])
|
|
467
470
|
])
|
|
468
471
|
]);
|
|
@@ -474,97 +477,97 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
474
477
|
modelValue: {},
|
|
475
478
|
disabled: { type: Boolean }
|
|
476
479
|
},
|
|
477
|
-
setup(y, { expose:
|
|
478
|
-
const u = y,
|
|
480
|
+
setup(y, { expose: g }) {
|
|
481
|
+
const u = y, o = Ne(), { t: p } = Y(), S = Qe(), i = He(), l = Ot(), d = ze();
|
|
479
482
|
pe(
|
|
480
483
|
() => u.modelValue,
|
|
481
|
-
(
|
|
482
|
-
console.log("TransferTemplateForm.model",
|
|
484
|
+
(s) => {
|
|
485
|
+
console.log("TransferTemplateForm.model", s);
|
|
483
486
|
}
|
|
484
|
-
),
|
|
485
|
-
location && (
|
|
486
|
-
});
|
|
487
|
-
const
|
|
488
|
-
() =>
|
|
489
|
-
(
|
|
490
|
-
|
|
491
|
-
...
|
|
492
|
-
supplier:
|
|
487
|
+
), S.watchLocation(async () => {
|
|
488
|
+
location && (o.purchaseOrder.supplier || (o.purchaseOrder.supplier = l.suppliers.find((s) => s) ?? o.purchaseOrder.supplier));
|
|
489
|
+
}), gt();
|
|
490
|
+
const x = Mt(
|
|
491
|
+
() => o.purchaseOrder,
|
|
492
|
+
(s) => {
|
|
493
|
+
o.purchaseOrder = {
|
|
494
|
+
...o.purchaseOrder,
|
|
495
|
+
supplier: s.supplier ?? (o == null ? void 0 : o.purchaseOrder.supplier)
|
|
493
496
|
};
|
|
494
497
|
}
|
|
495
|
-
),
|
|
498
|
+
), C = R({
|
|
496
499
|
get() {
|
|
497
|
-
var
|
|
498
|
-
return typeof ((n = (
|
|
500
|
+
var s, n;
|
|
501
|
+
return typeof ((n = (s = o.purchaseOrder) == null ? void 0 : s.supplier) == null ? void 0 : n.internal) == "string" ? H.TRANSFER : H.PURCHASE;
|
|
499
502
|
},
|
|
500
|
-
set(
|
|
501
|
-
var
|
|
502
|
-
const n = typeof ((
|
|
503
|
-
|
|
503
|
+
set(s) {
|
|
504
|
+
var A, I;
|
|
505
|
+
const n = typeof ((I = (A = o.purchaseOrder) == null ? void 0 : A.supplier) == null ? void 0 : I.internal) == "string" ? H.TRANSFER : H.PURCHASE;
|
|
506
|
+
s !== n && (o.purchaseOrder.supplier = s === H.PURCHASE ? x.locationOptionsTypePurchase.value[0] : x.locationOptionsTypeTransfer.value[0]);
|
|
504
507
|
}
|
|
505
|
-
}),
|
|
508
|
+
}), V = R(() => x.transferLocationOptions.value), k = R({
|
|
506
509
|
get() {
|
|
507
|
-
var
|
|
508
|
-
return (
|
|
510
|
+
var s;
|
|
511
|
+
return (s = o.purchaseOrder.supplier) == null ? void 0 : s._id;
|
|
509
512
|
},
|
|
510
|
-
set(
|
|
511
|
-
|
|
513
|
+
set(s) {
|
|
514
|
+
x.transferLocationModel.value = s;
|
|
512
515
|
}
|
|
513
516
|
}), {
|
|
514
|
-
promptSelectLocations:
|
|
515
|
-
columnDefs:
|
|
516
|
-
rowData:
|
|
517
|
+
promptSelectLocations: v,
|
|
518
|
+
columnDefs: F,
|
|
519
|
+
rowData: M
|
|
517
520
|
} = ut({
|
|
518
521
|
getLocations() {
|
|
519
|
-
return
|
|
522
|
+
return o.locations;
|
|
520
523
|
},
|
|
521
|
-
setLocations(
|
|
522
|
-
|
|
524
|
+
setLocations(s) {
|
|
525
|
+
o.locations = s;
|
|
523
526
|
}
|
|
524
527
|
});
|
|
525
|
-
function
|
|
526
|
-
var
|
|
527
|
-
return (
|
|
528
|
-
var
|
|
529
|
-
return ((
|
|
530
|
-
}) ? `Location ${(n =
|
|
528
|
+
function E() {
|
|
529
|
+
var s, n;
|
|
530
|
+
return (s = o.locations) != null && s.find((A) => {
|
|
531
|
+
var I, _;
|
|
532
|
+
return ((I = A.doc) == null ? void 0 : I._id) === ((_ = o.purchaseOrder.supplier) == null ? void 0 : _._id);
|
|
533
|
+
}) ? `Location ${(n = o.purchaseOrder.supplier) == null ? void 0 : n.name} must be removed because template cannot be used to transfer to itself.` : !0;
|
|
531
534
|
}
|
|
532
|
-
const
|
|
535
|
+
const m = R({
|
|
533
536
|
get() {
|
|
534
|
-
return
|
|
537
|
+
return o.purchaseOrder.remark ?? void 0;
|
|
535
538
|
},
|
|
536
|
-
set(
|
|
537
|
-
|
|
539
|
+
set(s) {
|
|
540
|
+
o.purchaseOrder.remark = s;
|
|
538
541
|
}
|
|
539
|
-
}),
|
|
540
|
-
|
|
542
|
+
}), r = U();
|
|
543
|
+
g({
|
|
541
544
|
validateInputs: () => {
|
|
542
|
-
var
|
|
543
|
-
(n = (
|
|
545
|
+
var s, n;
|
|
546
|
+
(n = (s = r.value) == null ? void 0 : s.validateInputs) == null || n.call(s);
|
|
544
547
|
},
|
|
545
548
|
resetInputsValidation: () => {
|
|
546
|
-
var
|
|
547
|
-
(n = (
|
|
549
|
+
var s, n;
|
|
550
|
+
(n = (s = r.value) == null ? void 0 : s.resetInputsValidation) == null || n.call(s);
|
|
548
551
|
},
|
|
549
552
|
resetInputs: () => {
|
|
550
|
-
var
|
|
551
|
-
(n = (
|
|
553
|
+
var s, n;
|
|
554
|
+
(n = (s = r.value) == null ? void 0 : s.resetInputs) == null || n.call(s);
|
|
552
555
|
}
|
|
553
556
|
});
|
|
554
|
-
const
|
|
555
|
-
updateItem: (
|
|
556
|
-
|
|
557
|
+
const T = zt({
|
|
558
|
+
updateItem: (s) => {
|
|
559
|
+
o.purchaseOrder.items = o.purchaseOrder.items.map((n) => n.sku._id !== s.sku._id ? n : s);
|
|
557
560
|
},
|
|
558
|
-
deleteItem: (
|
|
559
|
-
|
|
560
|
-
(n) => n.sku._id !==
|
|
561
|
+
deleteItem: (s) => {
|
|
562
|
+
o.purchaseOrder.items = o.purchaseOrder.items.filter(
|
|
563
|
+
(n) => n.sku._id !== s.sku._id
|
|
561
564
|
);
|
|
562
565
|
},
|
|
563
566
|
get supplier() {
|
|
564
|
-
return
|
|
567
|
+
return o.purchaseOrder.supplier;
|
|
565
568
|
},
|
|
566
569
|
get items() {
|
|
567
|
-
return
|
|
570
|
+
return o.purchaseOrder.items;
|
|
568
571
|
},
|
|
569
572
|
get transferType() {
|
|
570
573
|
return H.PURCHASE;
|
|
@@ -572,172 +575,154 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
572
575
|
get disabled() {
|
|
573
576
|
return u.disabled;
|
|
574
577
|
}
|
|
575
|
-
}),
|
|
576
|
-
function w() {
|
|
577
|
-
const
|
|
578
|
-
label:
|
|
579
|
-
sublabel:
|
|
580
|
-
value:
|
|
581
|
-
}))
|
|
582
|
-
var
|
|
583
|
-
return (
|
|
584
|
-
}).map((
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
contentComponent: dt,
|
|
589
|
-
contentComponentProps: {
|
|
590
|
-
modelValue: n,
|
|
591
|
-
items: o,
|
|
592
|
-
virtualScroll: !0
|
|
593
|
-
},
|
|
594
|
-
primaryActions: {
|
|
595
|
-
text: m("common.confirm"),
|
|
596
|
-
close: !0
|
|
597
|
-
},
|
|
598
|
-
secondaryActions: {
|
|
599
|
-
text: m("common.close"),
|
|
600
|
-
close: !0,
|
|
601
|
-
variant: "tertiary"
|
|
602
|
-
}
|
|
603
|
-
}).onPrimary((S) => {
|
|
604
|
-
const $ = s.purchaseOrder.items ?? [], M = S.map((h) => {
|
|
605
|
-
const P = $.find((x) => x.sku._id === h._id);
|
|
578
|
+
}), a = R(() => T.columnDefs.value), { promptSelectIngredients: f } = Vt();
|
|
579
|
+
async function w() {
|
|
580
|
+
const n = i.skus.map((_) => ({
|
|
581
|
+
label: _.name,
|
|
582
|
+
sublabel: _.code,
|
|
583
|
+
value: _
|
|
584
|
+
})).filter((_) => {
|
|
585
|
+
var b;
|
|
586
|
+
return (b = o.purchaseOrder.items) == null ? void 0 : b.find((P) => P.sku._id === _.value._id);
|
|
587
|
+
}).map((_) => _.value), A = o.purchaseOrder.items ?? [], I = await f(
|
|
588
|
+
n.map((_) => _._id),
|
|
589
|
+
(_) => {
|
|
590
|
+
const b = i.skuById[_], P = A.find((h) => h.sku._id === b._id);
|
|
606
591
|
if (P)
|
|
607
592
|
return P;
|
|
608
|
-
let q =
|
|
593
|
+
let q = b.code;
|
|
609
594
|
if (d.isEnabled) {
|
|
610
|
-
const
|
|
611
|
-
|
|
595
|
+
const h = d.getItemPKTCode(b);
|
|
596
|
+
h && (q = h);
|
|
612
597
|
}
|
|
613
|
-
const z = { amount: 1, precision: ie(
|
|
598
|
+
const z = { amount: 1, precision: ie(b.unit) };
|
|
614
599
|
return {
|
|
615
|
-
sku:
|
|
600
|
+
sku: b,
|
|
616
601
|
code: q,
|
|
617
|
-
name:
|
|
602
|
+
name: b.name,
|
|
618
603
|
quantity: z,
|
|
619
604
|
minimumQuantity: z,
|
|
620
|
-
maximumQuantity:
|
|
605
|
+
maximumQuantity: mt(z, {
|
|
621
606
|
amount: 100,
|
|
622
607
|
precision: 0
|
|
623
608
|
}),
|
|
624
609
|
quantityStep: z
|
|
625
610
|
};
|
|
626
|
-
}
|
|
627
|
-
|
|
628
|
-
|
|
611
|
+
}
|
|
612
|
+
);
|
|
613
|
+
I && (I.sort((_, b) => _.sku.code.localeCompare(b.sku.code)), o.purchaseOrder.items = I);
|
|
629
614
|
}
|
|
630
|
-
return (
|
|
631
|
-
const
|
|
615
|
+
return (s, n) => {
|
|
616
|
+
const A = O("FmTextField"), I = O("FmSelect"), _ = O("FmTextarea"), b = O("FmButton"), P = O("FmTable"), q = O("FmFormGroup"), z = O("FmForm");
|
|
632
617
|
return D(), W(z, {
|
|
633
618
|
ref_key: "formRef",
|
|
634
|
-
ref:
|
|
619
|
+
ref: r,
|
|
635
620
|
class: "flex flex-col gap-32",
|
|
636
|
-
disabled:
|
|
621
|
+
disabled: s.disabled
|
|
637
622
|
}, {
|
|
638
623
|
default: B(() => {
|
|
639
624
|
var j;
|
|
640
625
|
return [
|
|
641
626
|
t("div", lo, [
|
|
642
627
|
t("div", no, [
|
|
643
|
-
c(
|
|
644
|
-
label: e(
|
|
628
|
+
c(A, {
|
|
629
|
+
label: e(p)("inventory.transfer.form.name"),
|
|
645
630
|
"label-mark": "required",
|
|
646
|
-
modelValue: e(
|
|
647
|
-
"onUpdate:modelValue": n[0] || (n[0] = (
|
|
648
|
-
rules: [e(
|
|
631
|
+
modelValue: e(o).name,
|
|
632
|
+
"onUpdate:modelValue": n[0] || (n[0] = (h) => e(o).name = h),
|
|
633
|
+
rules: [e(de)()]
|
|
649
634
|
}, null, 8, ["label", "modelValue", "rules"]),
|
|
650
|
-
c(
|
|
651
|
-
label: e(
|
|
652
|
-
"model-value":
|
|
653
|
-
"onUpdate:modelValue": n[1] || (n[1] = (
|
|
635
|
+
c(I, {
|
|
636
|
+
label: e(p)("inventory.transfer.form.type.title"),
|
|
637
|
+
"model-value": C.value,
|
|
638
|
+
"onUpdate:modelValue": n[1] || (n[1] = (h) => C.value = h),
|
|
654
639
|
items: [
|
|
655
640
|
{
|
|
656
|
-
label: e(
|
|
641
|
+
label: e(p)("inventory.transfer.form.type.purchase"),
|
|
657
642
|
value: e(H).PURCHASE,
|
|
658
|
-
disabled: !e(
|
|
659
|
-
sublabel: e(
|
|
643
|
+
disabled: !e(x).locationOptionsTypePurchase.value.length,
|
|
644
|
+
sublabel: e(x).locationOptionsTypePurchase.value.length ? void 0 : e(p)("inventory.transfer.form.noSupplierAvailable")
|
|
660
645
|
},
|
|
661
646
|
{
|
|
662
|
-
label: e(
|
|
647
|
+
label: e(p)("inventory.transfer.form.type.transfer"),
|
|
663
648
|
value: e(H).TRANSFER,
|
|
664
|
-
disabled: !e(
|
|
665
|
-
sublabel: e(
|
|
649
|
+
disabled: !e(x).locationOptionsTypeTransfer.value.length,
|
|
650
|
+
sublabel: e(x).locationOptionsTypeTransfer.value.length ? void 0 : e(p)("inventory.transfer.form.noLocationAvailable")
|
|
666
651
|
}
|
|
667
652
|
],
|
|
668
|
-
rules: [e(
|
|
653
|
+
rules: [e(me)(1)(V.value)]
|
|
669
654
|
}, {
|
|
670
655
|
default: B(() => [
|
|
671
656
|
t("span", {
|
|
672
|
-
class:
|
|
657
|
+
class: J([
|
|
673
658
|
"line-clamp-1 fm-typo-en-body-lg-400",
|
|
674
|
-
|
|
659
|
+
s.disabled ? "text-fm-color-typo-disabled" : "text-fm-color-typo-primary"
|
|
675
660
|
])
|
|
676
|
-
},
|
|
661
|
+
}, $(e(dt)(C.value)), 3)
|
|
677
662
|
]),
|
|
678
663
|
_: 1
|
|
679
664
|
}, 8, ["label", "model-value", "items", "rules"]),
|
|
680
|
-
c(
|
|
681
|
-
label:
|
|
682
|
-
modelValue:
|
|
683
|
-
"onUpdate:modelValue": n[2] || (n[2] = (
|
|
684
|
-
items:
|
|
665
|
+
c(I, {
|
|
666
|
+
label: C.value === e(H).PURCHASE ? e(p)("inventory.transfer.form.purchaseFrom") : e(p)("inventory.transfer.form.transferFrom"),
|
|
667
|
+
modelValue: k.value,
|
|
668
|
+
"onUpdate:modelValue": n[2] || (n[2] = (h) => k.value = h),
|
|
669
|
+
items: V.value
|
|
685
670
|
}, {
|
|
686
|
-
"menu-wrapper": B((
|
|
671
|
+
"menu-wrapper": B((h) => {
|
|
687
672
|
var N;
|
|
688
673
|
return [
|
|
689
|
-
c(
|
|
690
|
-
items:
|
|
691
|
-
"model-value": (N =
|
|
674
|
+
c(It, Ee(h, {
|
|
675
|
+
items: V.value,
|
|
676
|
+
"model-value": (N = s.modelValue.purchaseOrder.supplier) == null ? void 0 : N._id
|
|
692
677
|
}), null, 16, ["items", "model-value"])
|
|
693
678
|
];
|
|
694
679
|
}),
|
|
695
680
|
default: B(() => {
|
|
696
|
-
var
|
|
681
|
+
var h;
|
|
697
682
|
return [
|
|
698
683
|
t("span", {
|
|
699
|
-
class:
|
|
684
|
+
class: J([
|
|
700
685
|
"line-clamp-1 fm-typo-en-body-lg-400",
|
|
701
|
-
|
|
686
|
+
s.disabled ? "text-fm-color-typo-disabled" : "text-fm-color-typo-primary"
|
|
702
687
|
])
|
|
703
|
-
},
|
|
688
|
+
}, $((h = V.value.find((N) => N.value === k.value)) == null ? void 0 : h.label), 3)
|
|
704
689
|
];
|
|
705
690
|
}),
|
|
706
691
|
_: 1
|
|
707
692
|
}, 8, ["label", "modelValue", "items"]),
|
|
708
|
-
c(
|
|
709
|
-
label: e(
|
|
693
|
+
c(A, {
|
|
694
|
+
label: e(p)("inventory.transfer.form.reference"),
|
|
710
695
|
"label-mark": "optional",
|
|
711
|
-
modelValue: e(
|
|
712
|
-
"onUpdate:modelValue": n[3] || (n[3] = (
|
|
696
|
+
modelValue: e(o).purchaseOrder.ref,
|
|
697
|
+
"onUpdate:modelValue": n[3] || (n[3] = (h) => e(o).purchaseOrder.ref = h)
|
|
713
698
|
}, null, 8, ["label", "modelValue"]),
|
|
714
|
-
c(
|
|
715
|
-
label: e(
|
|
699
|
+
c(_, {
|
|
700
|
+
label: e(p)("inventory.transfer.form.remark"),
|
|
716
701
|
"label-mark": "optional",
|
|
717
702
|
"max-length": 240,
|
|
718
|
-
modelValue:
|
|
719
|
-
"onUpdate:modelValue": n[4] || (n[4] = (
|
|
720
|
-
class:
|
|
703
|
+
modelValue: m.value,
|
|
704
|
+
"onUpdate:modelValue": n[4] || (n[4] = (h) => m.value = h),
|
|
705
|
+
class: J({ "text-fm-color-typo-disabled": s.disabled })
|
|
721
706
|
}, null, 8, ["label", "modelValue", "class"])
|
|
722
707
|
])
|
|
723
708
|
]),
|
|
724
709
|
t("div", ao, [
|
|
725
710
|
t("div", ro, [
|
|
726
711
|
n[6] || (n[6] = t("div", { class: "flex-1 fm-typo-en-title-sm-600" }, "Locations", -1)),
|
|
727
|
-
c(
|
|
728
|
-
disabled:
|
|
712
|
+
c(b, {
|
|
713
|
+
disabled: s.disabled,
|
|
729
714
|
label: "Select location",
|
|
730
715
|
"prepend-icon": "add",
|
|
731
716
|
variant: "plain",
|
|
732
717
|
class: "border-2 rounded-lg border-fm-color-primary",
|
|
733
|
-
onClick: e(
|
|
718
|
+
onClick: e(v)
|
|
734
719
|
}, null, 8, ["disabled", "onClick"])
|
|
735
720
|
]),
|
|
736
721
|
c(P, {
|
|
737
|
-
"column-defs": e(
|
|
738
|
-
"row-data": e(
|
|
722
|
+
"column-defs": e(F),
|
|
723
|
+
"row-data": e(M),
|
|
739
724
|
"shrink-at": 9999,
|
|
740
|
-
onRowClick: e(
|
|
725
|
+
onRowClick: e(v),
|
|
741
726
|
"hide-footer": ""
|
|
742
727
|
}, null, 8, ["column-defs", "row-data", "onRowClick"]),
|
|
743
728
|
t("div", io, [
|
|
@@ -746,38 +731,38 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
746
731
|
(j = u.modelValue.purchaseOrder.supplier) == null ? void 0 : j._id,
|
|
747
732
|
...u.modelValue.locations ?? []
|
|
748
733
|
].join(","),
|
|
749
|
-
rules: [
|
|
734
|
+
rules: [E]
|
|
750
735
|
}, null, 8, ["model-value", "rules"])
|
|
751
736
|
])
|
|
752
737
|
]),
|
|
753
738
|
t("div", uo, [
|
|
754
739
|
t("div", mo, [
|
|
755
|
-
t("div", co,
|
|
756
|
-
c(
|
|
757
|
-
disabled:
|
|
758
|
-
label: e(
|
|
740
|
+
t("div", co, $(e(p)("inventory.transfer.form.items.title")), 1),
|
|
741
|
+
c(b, {
|
|
742
|
+
disabled: s.disabled,
|
|
743
|
+
label: e(p)("inventory.transfer.form.items.addItem"),
|
|
759
744
|
"prepend-icon": "add",
|
|
760
745
|
variant: "plain",
|
|
761
746
|
class: "border-2 rounded-lg border-fm-color-primary",
|
|
762
|
-
onClick: n[5] || (n[5] = (
|
|
747
|
+
onClick: n[5] || (n[5] = (h) => w()),
|
|
763
748
|
size: "md"
|
|
764
749
|
}, null, 8, ["disabled", "label"])
|
|
765
750
|
]),
|
|
766
751
|
(D(), W(P, {
|
|
767
|
-
"column-defs":
|
|
768
|
-
"row-data": e(
|
|
769
|
-
key: e(
|
|
752
|
+
"column-defs": a.value,
|
|
753
|
+
"row-data": e(o).purchaseOrder.items,
|
|
754
|
+
key: e(o).purchaseOrder.items.map((h) => h.sku._id).join("."),
|
|
770
755
|
"hide-footer": "",
|
|
771
|
-
"page-size": e(
|
|
756
|
+
"page-size": e(o).purchaseOrder.items.length
|
|
772
757
|
}, {
|
|
773
|
-
"list-row": B((
|
|
758
|
+
"list-row": B((h) => [
|
|
774
759
|
(D(), W(Ke, {
|
|
775
|
-
row:
|
|
776
|
-
key: e(
|
|
760
|
+
row: h,
|
|
761
|
+
key: e(o).purchaseOrder.items.map((N) => N.sku._id).join(".")
|
|
777
762
|
}, {
|
|
778
763
|
default: B((N) => [
|
|
779
764
|
c(so, {
|
|
780
|
-
row:
|
|
765
|
+
row: h,
|
|
781
766
|
"cell-by-col-id": N
|
|
782
767
|
}, null, 8, ["row", "cell-by-col-id"])
|
|
783
768
|
]),
|
|
@@ -787,8 +772,8 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
787
772
|
_: 1
|
|
788
773
|
}, 8, ["column-defs", "row-data", "page-size"])),
|
|
789
774
|
c(q, {
|
|
790
|
-
"model-value": e(
|
|
791
|
-
rules: [e(
|
|
775
|
+
"model-value": e(o).purchaseOrder.items.length,
|
|
776
|
+
rules: [e(me)(1)]
|
|
792
777
|
}, null, 8, ["model-value", "rules"])
|
|
793
778
|
])
|
|
794
779
|
];
|
|
@@ -805,10 +790,10 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
805
790
|
show: { type: Boolean }
|
|
806
791
|
},
|
|
807
792
|
emits: ["update:show", "submitted"],
|
|
808
|
-
setup(y, { expose:
|
|
809
|
-
var
|
|
810
|
-
const
|
|
811
|
-
function
|
|
793
|
+
setup(y, { expose: g, emit: u }) {
|
|
794
|
+
var T;
|
|
795
|
+
const o = y, p = u, S = bt(), i = Tt(), { t: l } = Y(), d = Ge(o, "show");
|
|
796
|
+
function x() {
|
|
812
797
|
return {
|
|
813
798
|
_id: "",
|
|
814
799
|
name: "",
|
|
@@ -838,16 +823,16 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
838
823
|
}
|
|
839
824
|
};
|
|
840
825
|
}
|
|
841
|
-
const
|
|
826
|
+
const C = U(o.modelValue ?? x()), V = U(((T = o.modelValue) == null ? void 0 : T._id) ?? `${Math.random()}`);
|
|
842
827
|
pe(
|
|
843
|
-
() =>
|
|
828
|
+
() => o.show,
|
|
844
829
|
(a) => {
|
|
845
830
|
var f;
|
|
846
|
-
a && (
|
|
831
|
+
a && (C.value = o.modelValue ?? x(), V.value = ((f = o.modelValue) == null ? void 0 : f._id) ?? `${Math.random()}`);
|
|
847
832
|
}
|
|
848
833
|
);
|
|
849
|
-
const
|
|
850
|
-
switch (
|
|
834
|
+
const k = U(!1), v = R(() => {
|
|
835
|
+
switch (o.mode) {
|
|
851
836
|
case te.READ:
|
|
852
837
|
return "";
|
|
853
838
|
case te.CREATE:
|
|
@@ -857,7 +842,7 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
857
842
|
}
|
|
858
843
|
return "";
|
|
859
844
|
}), F = U();
|
|
860
|
-
|
|
845
|
+
g({
|
|
861
846
|
validateInputs: () => {
|
|
862
847
|
var a, f;
|
|
863
848
|
(f = (a = F.value) == null ? void 0 : a.validateInputs) == null || f.call(a);
|
|
@@ -871,58 +856,58 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
871
856
|
(f = (a = F.value) == null ? void 0 : a.resetInputs) == null || f.call(a);
|
|
872
857
|
}
|
|
873
858
|
});
|
|
874
|
-
async function
|
|
859
|
+
async function M() {
|
|
875
860
|
var f, w;
|
|
876
|
-
const a =
|
|
861
|
+
const a = C.value;
|
|
877
862
|
if (a) {
|
|
878
|
-
|
|
879
|
-
({ totalCost:
|
|
863
|
+
k.value = !0, (((f = a.purchaseOrder.supplier) == null ? void 0 : f.internal) === ae.enum.warehouse || ((w = a.purchaseOrder.supplier) == null ? void 0 : w.internal) === ae.enum.restaurant) && (a.purchaseOrder.items = a.purchaseOrder.items.map(
|
|
864
|
+
({ totalCost: s, ...n }) => n
|
|
880
865
|
));
|
|
881
866
|
try {
|
|
882
|
-
await
|
|
867
|
+
await S.createTemplate(a), await new Promise((s) => setTimeout(s, 1e3)), i.open({
|
|
883
868
|
title: l("inventory.transfer.template.create.success"),
|
|
884
869
|
message: l("inventory.transfer.template.create.successMessage"),
|
|
885
870
|
type: "success"
|
|
886
|
-
}),
|
|
887
|
-
} catch (
|
|
871
|
+
}), p("update:show", !1), p("submitted");
|
|
872
|
+
} catch (s) {
|
|
888
873
|
i.open({
|
|
889
874
|
title: l("inventory.transfer.template.create.error"),
|
|
890
875
|
message: l("inventory.transfer.template.create.errorMessage"),
|
|
891
876
|
type: "error"
|
|
892
|
-
}), console.error("Error in creating transfer template",
|
|
877
|
+
}), console.error("Error in creating transfer template", s);
|
|
893
878
|
} finally {
|
|
894
|
-
|
|
879
|
+
k.value = !1;
|
|
895
880
|
}
|
|
896
881
|
}
|
|
897
882
|
}
|
|
898
883
|
async function E() {
|
|
899
884
|
var f, w;
|
|
900
|
-
const a =
|
|
885
|
+
const a = C.value;
|
|
901
886
|
if (a) {
|
|
902
|
-
|
|
903
|
-
({ totalCost:
|
|
887
|
+
k.value = !0, (((f = a.purchaseOrder.supplier) == null ? void 0 : f.internal) === ae.enum.warehouse || ((w = a.purchaseOrder.supplier) == null ? void 0 : w.internal) === ae.enum.restaurant) && (a.purchaseOrder.items = a.purchaseOrder.items.map(
|
|
888
|
+
({ totalCost: s, ...n }) => n
|
|
904
889
|
));
|
|
905
890
|
try {
|
|
906
|
-
await
|
|
891
|
+
await S.updateTemplate(a), await new Promise((s) => setTimeout(s, 1e3)), i.open({
|
|
907
892
|
title: l("inventory.transfer.template.update.success"),
|
|
908
893
|
message: l("inventory.transfer.template.update.successMessage"),
|
|
909
894
|
type: "success"
|
|
910
|
-
}),
|
|
911
|
-
} catch (
|
|
895
|
+
}), p("update:show", !1), p("submitted");
|
|
896
|
+
} catch (s) {
|
|
912
897
|
i.open({
|
|
913
898
|
title: l("inventory.transfer.template.update.error"),
|
|
914
899
|
message: l("inventory.transfer.template.update.errorMessage"),
|
|
915
900
|
type: "error"
|
|
916
|
-
}), console.error("Error in updating transfer template",
|
|
901
|
+
}), console.error("Error in updating transfer template", s);
|
|
917
902
|
} finally {
|
|
918
|
-
|
|
903
|
+
k.value = !1;
|
|
919
904
|
}
|
|
920
905
|
}
|
|
921
906
|
}
|
|
922
|
-
function
|
|
923
|
-
switch (
|
|
907
|
+
function m() {
|
|
908
|
+
switch (o.mode) {
|
|
924
909
|
case te.CREATE:
|
|
925
|
-
return
|
|
910
|
+
return M();
|
|
926
911
|
case te.UPDATE:
|
|
927
912
|
return E();
|
|
928
913
|
}
|
|
@@ -932,8 +917,8 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
932
917
|
(f = (a = F.value) == null ? void 0 : a.validateInputs) == null || f.call(a);
|
|
933
918
|
}
|
|
934
919
|
return (a, f) => {
|
|
935
|
-
const w =
|
|
936
|
-
return D(), W(
|
|
920
|
+
const w = O("FmButton"), s = O("FmSideSheet");
|
|
921
|
+
return D(), W(s, {
|
|
937
922
|
modelValue: e(d),
|
|
938
923
|
"onUpdate:modelValue": f[2] || (f[2] = (n) => Ue(d) ? d.value = n : null),
|
|
939
924
|
"dismiss-away": "",
|
|
@@ -942,7 +927,7 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
942
927
|
}, {
|
|
943
928
|
"side-sheet-header": B(() => [
|
|
944
929
|
t("div", fo, [
|
|
945
|
-
t("div", yo,
|
|
930
|
+
t("div", yo, $(v.value), 1)
|
|
946
931
|
])
|
|
947
932
|
]),
|
|
948
933
|
default: B(() => [
|
|
@@ -950,25 +935,25 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
950
935
|
class: "w-full",
|
|
951
936
|
ref_key: "formRef",
|
|
952
937
|
ref: F,
|
|
953
|
-
onValidationSuccess:
|
|
954
|
-
"model-value":
|
|
955
|
-
"onUpdate:modelValue": f[0] || (f[0] = (n) =>
|
|
956
|
-
disabled:
|
|
957
|
-
key:
|
|
938
|
+
onValidationSuccess: m,
|
|
939
|
+
"model-value": C.value,
|
|
940
|
+
"onUpdate:modelValue": f[0] || (f[0] = (n) => C.value = n),
|
|
941
|
+
disabled: k.value,
|
|
942
|
+
key: V.value
|
|
958
943
|
}, null, 8, ["model-value", "disabled"]))
|
|
959
944
|
]),
|
|
960
945
|
"side-sheet-footer": B(() => [
|
|
961
946
|
t("div", vo, [
|
|
962
947
|
c(w, {
|
|
963
|
-
loading:
|
|
948
|
+
loading: k.value,
|
|
964
949
|
label: e(l)("common.save"),
|
|
965
950
|
onClick: r
|
|
966
951
|
}, null, 8, ["loading", "label"]),
|
|
967
952
|
c(w, {
|
|
968
|
-
disabled:
|
|
953
|
+
disabled: k.value,
|
|
969
954
|
variant: "tertiary",
|
|
970
955
|
label: e(l)("common.close"),
|
|
971
|
-
onClick: f[1] || (f[1] = (n) =>
|
|
956
|
+
onClick: f[1] || (f[1] = (n) => p("update:show", !1))
|
|
972
957
|
}, null, 8, ["disabled", "label"])
|
|
973
958
|
])
|
|
974
959
|
]),
|
|
@@ -976,16 +961,16 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
976
961
|
}, 8, ["modelValue"]);
|
|
977
962
|
};
|
|
978
963
|
}
|
|
979
|
-
}), xo = { class: "flex flex-col gap-16 w-full h-full overflow-y-auto" }, _o = { class: "flex justify-between" }, ho = { class: "fm-typo-en-body-lg-600" }, go = { class: "fm-status-badge fm-status-badge-info-secondary" }, To = { class: "flex flex-col gap-8" },
|
|
964
|
+
}), xo = { class: "flex flex-col gap-16 w-full h-full overflow-y-auto" }, _o = { class: "flex justify-between" }, ho = { class: "fm-typo-en-body-lg-600" }, go = { class: "fm-status-badge fm-status-badge-info-secondary" }, To = { class: "flex flex-col gap-8" }, ko = { class: "flex flex-col gap-4" }, Fo = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, wo = { class: "flex gap-1" }, So = { class: "fm-typo-en-body-lg-600" }, Co = {
|
|
980
965
|
key: 0,
|
|
981
966
|
class: "flex flex-col gap-4"
|
|
982
|
-
},
|
|
967
|
+
}, $o = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Mo = { class: "fm-typo-en-body-lg-600" }, Io = {
|
|
983
968
|
key: 1,
|
|
984
969
|
class: "flex flex-col gap-4"
|
|
985
|
-
}, Oo = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Vo = { class: "fm-typo-en-body-lg-600" },
|
|
970
|
+
}, Oo = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Vo = { class: "fm-typo-en-body-lg-600" }, Do = {
|
|
986
971
|
key: 2,
|
|
987
972
|
class: "flex flex-col gap-4"
|
|
988
|
-
},
|
|
973
|
+
}, Ro = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Ao = { class: "fm-typo-en-body-lg-600" }, Po = { class: "border border-fm-color-neutral-gray-200 fm-corner-radius-lg p-16" }, Lo = { class: "flex flex-col gap-8" }, Bo = { class: "fm-typo-en-body-lg-600" }, Eo = { class: "flex w-full gap-4" }, Uo = { class: "grow fm-typo-en-body-lg-400 line-clamp-2" }, qo = { class: "fm-typo-en-body-lg-600 shrink-0" }, No = { class: "flex w-full gap-4 fm-typo-en-body-sm-400" }, zo = { class: "grow fm-typo-en-body-lg-400 text-fm-color-typo-secondary line-clamp-2" }, Ho = {
|
|
989
974
|
key: 0,
|
|
990
975
|
class: "shrink-0 fm-typo-en-body-lg-400 text-fm-color-typo-secondary"
|
|
991
976
|
}, jo = {
|
|
@@ -998,67 +983,67 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
998
983
|
show: { type: Boolean }
|
|
999
984
|
},
|
|
1000
985
|
emits: ["update:show", "action:edit"],
|
|
1001
|
-
setup(y, { emit:
|
|
1002
|
-
const u = y,
|
|
1003
|
-
var
|
|
1004
|
-
return (
|
|
986
|
+
setup(y, { emit: g }) {
|
|
987
|
+
const u = y, o = g, p = je(), { t: S } = Y(), i = R(() => {
|
|
988
|
+
var k;
|
|
989
|
+
return (k = u.template) == null ? void 0 : k.purchaseOrder;
|
|
1005
990
|
}), l = [
|
|
1006
991
|
{ accessorKey: "name", header: () => "Name" },
|
|
1007
992
|
{ accessorKey: "type", header: () => "Type" }
|
|
1008
|
-
], d = U(""),
|
|
993
|
+
], d = U(""), x = R(
|
|
1009
994
|
() => {
|
|
1010
|
-
var
|
|
1011
|
-
return ((v = (
|
|
995
|
+
var k, v, F, M;
|
|
996
|
+
return ((v = (k = i.value) == null ? void 0 : k.supplier) == null ? void 0 : v.internal) === "restaurant" || ((M = (F = i.value) == null ? void 0 : F.supplier) == null ? void 0 : M.internal) === "warehouse" ? H.TRANSFER : H.PURCHASE;
|
|
1012
997
|
}
|
|
1013
|
-
),
|
|
1014
|
-
return (
|
|
998
|
+
), C = U(!0), V = Ge(u, "show");
|
|
999
|
+
return (k, v) => {
|
|
1015
1000
|
var f;
|
|
1016
|
-
const F =
|
|
1001
|
+
const F = O("FmMenuDivider"), M = O("FmCard"), E = O("FmIcon"), m = O("FmTextField"), r = O("FmTable"), T = O("FmButton"), a = O("FmSideSheet");
|
|
1017
1002
|
return D(), W(a, {
|
|
1018
|
-
header: e(
|
|
1019
|
-
modelValue: e(
|
|
1020
|
-
"onUpdate:modelValue": v[2] || (v[2] = (w) => Ue(
|
|
1021
|
-
"dismiss-away":
|
|
1003
|
+
header: e(S)("inventory.transfer.template.details.view", { template: (f = k.template) == null ? void 0 : f.name }),
|
|
1004
|
+
modelValue: e(V),
|
|
1005
|
+
"onUpdate:modelValue": v[2] || (v[2] = (w) => Ue(V) ? V.value = w : null),
|
|
1006
|
+
"dismiss-away": C.value,
|
|
1022
1007
|
"close-button": "",
|
|
1023
1008
|
"max-width": 500
|
|
1024
1009
|
}, {
|
|
1025
1010
|
default: B(() => {
|
|
1026
|
-
var w,
|
|
1011
|
+
var w, s;
|
|
1027
1012
|
return [
|
|
1028
1013
|
t("div", xo, [
|
|
1029
1014
|
t("div", null, [
|
|
1030
|
-
c(
|
|
1015
|
+
c(M, {
|
|
1031
1016
|
variant: "outlined",
|
|
1032
1017
|
class: "flex flex-col gap-8 px-12 py-16"
|
|
1033
1018
|
}, {
|
|
1034
1019
|
default: B(() => {
|
|
1035
|
-
var n,
|
|
1020
|
+
var n, A, I, _, b, P, q;
|
|
1036
1021
|
return [
|
|
1037
1022
|
t("div", _o, [
|
|
1038
|
-
t("div", ho,
|
|
1039
|
-
t("div", go,
|
|
1040
|
-
`inventory.transfer.receiveRequest.details.type.${
|
|
1023
|
+
t("div", ho, $(e(S)("inventory.transfer.template.details.templateSummary")), 1),
|
|
1024
|
+
t("div", go, $(e(S)(
|
|
1025
|
+
`inventory.transfer.receiveRequest.details.type.${x.value.toLocaleLowerCase("en-US")}`
|
|
1041
1026
|
)), 1)
|
|
1042
1027
|
]),
|
|
1043
1028
|
c(F),
|
|
1044
1029
|
t("div", To, [
|
|
1045
|
-
t("div",
|
|
1046
|
-
t("div",
|
|
1047
|
-
t("div",
|
|
1030
|
+
t("div", ko, [
|
|
1031
|
+
t("div", Fo, [
|
|
1032
|
+
t("div", wo, $(e(S)("inventory.transfer.receiveRequest.details.createdAt")), 1)
|
|
1048
1033
|
]),
|
|
1049
|
-
t("div",
|
|
1034
|
+
t("div", So, $(e(ct)(((n = k.template) == null ? void 0 : n._id) ?? "")), 1)
|
|
1050
1035
|
]),
|
|
1051
|
-
(
|
|
1052
|
-
t("div",
|
|
1053
|
-
t("div",
|
|
1036
|
+
(I = (A = i.value) == null ? void 0 : A.supplier) != null && I.name ? (D(), G("div", Co, [
|
|
1037
|
+
t("div", $o, $(e(S)("inventory.transfer.receiveRequest.details.from")), 1),
|
|
1038
|
+
t("div", Mo, $((b = (_ = i.value) == null ? void 0 : _.supplier) == null ? void 0 : b.name), 1)
|
|
1054
1039
|
])) : ee("", !0),
|
|
1055
|
-
(P = i.value) != null && P.ref ? (D(),
|
|
1056
|
-
t("div", Oo,
|
|
1057
|
-
t("div", Vo,
|
|
1040
|
+
(P = i.value) != null && P.ref ? (D(), G("div", Io, [
|
|
1041
|
+
t("div", Oo, $(e(S)("inventory.transfer.receiveRequest.details.reference")), 1),
|
|
1042
|
+
t("div", Vo, $(i.value.ref), 1)
|
|
1058
1043
|
])) : ee("", !0),
|
|
1059
|
-
(q = i.value) != null && q.remark ? (D(),
|
|
1060
|
-
t("div",
|
|
1061
|
-
t("div",
|
|
1044
|
+
(q = i.value) != null && q.remark ? (D(), G("div", Do, [
|
|
1045
|
+
t("div", Ro, $(e(S)("inventory.transfer.receiveRequest.details.remark")), 1),
|
|
1046
|
+
t("div", Ao, $(i.value.remark), 1)
|
|
1062
1047
|
])) : ee("", !0)
|
|
1063
1048
|
])
|
|
1064
1049
|
];
|
|
@@ -1068,21 +1053,21 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
1068
1053
|
]),
|
|
1069
1054
|
t("div", Po, [
|
|
1070
1055
|
t("div", Lo, [
|
|
1071
|
-
t("div", Bo,
|
|
1072
|
-
(D(!0),
|
|
1056
|
+
t("div", Bo, $(e(S)("inventory.transfer.receiveRequest.details.requestedItems")), 1),
|
|
1057
|
+
(D(!0), G(qe, null, Xe(((w = i.value) == null ? void 0 : w.items) ?? [], (n) => (D(), G("div", {
|
|
1073
1058
|
key: n.code,
|
|
1074
1059
|
class: "flex flex-col"
|
|
1075
1060
|
}, [
|
|
1076
1061
|
t("div", Eo, [
|
|
1077
|
-
t("div", Uo,
|
|
1062
|
+
t("div", Uo, $(n.name), 1),
|
|
1078
1063
|
v[3] || (v[3] = t("div", { class: "flex-1 min-w-32" }, null, -1)),
|
|
1079
|
-
t("div", qo,
|
|
1064
|
+
t("div", qo, $(e(xt)(n.quantity, n.sku.unit, n.measurement)), 1)
|
|
1080
1065
|
]),
|
|
1081
1066
|
t("div", No, [
|
|
1082
|
-
t("div", zo,
|
|
1083
|
-
n.totalCost && e(
|
|
1067
|
+
t("div", zo, $(n.code), 1),
|
|
1068
|
+
n.totalCost && e(p).enableTotalCost ? (D(), G("div", Ho, " (" + $(e(pt)(n.totalCost)) + ") ", 1)) : ee("", !0)
|
|
1084
1069
|
]),
|
|
1085
|
-
e(
|
|
1070
|
+
e(_t)(n) ? (D(), G("div", jo, [
|
|
1086
1071
|
c(E, {
|
|
1087
1072
|
name: "error",
|
|
1088
1073
|
color: "system-error-300",
|
|
@@ -1101,7 +1086,7 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
1101
1086
|
t("div", { class: "fm-typo-en-body-sm-400 text-fm-color-typo-secondary" }, " This template is only usable for the following locations. ")
|
|
1102
1087
|
], -1)),
|
|
1103
1088
|
t("div", Ko, [
|
|
1104
|
-
c(
|
|
1089
|
+
c(m, {
|
|
1105
1090
|
modelValue: d.value,
|
|
1106
1091
|
"onUpdate:modelValue": v[0] || (v[0] = (n) => d.value = n),
|
|
1107
1092
|
placeholder: "Filter locations",
|
|
@@ -1112,7 +1097,7 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
1112
1097
|
style: { height: "500px" },
|
|
1113
1098
|
"column-defs": l,
|
|
1114
1099
|
"search-value": d.value,
|
|
1115
|
-
"row-data": ((
|
|
1100
|
+
"row-data": ((s = u.template) == null ? void 0 : s.locations) ?? [{ name: "All locations" }]
|
|
1116
1101
|
}, null, 8, ["search-value", "row-data"])
|
|
1117
1102
|
])
|
|
1118
1103
|
])
|
|
@@ -1121,9 +1106,9 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
1121
1106
|
}),
|
|
1122
1107
|
"side-sheet-footer": B(() => [
|
|
1123
1108
|
t("div", Go, [
|
|
1124
|
-
c(
|
|
1125
|
-
label: e(
|
|
1126
|
-
onClick: v[1] || (v[1] = (w) =>
|
|
1109
|
+
c(T, {
|
|
1110
|
+
label: e(S)("common.edit"),
|
|
1111
|
+
onClick: v[1] || (v[1] = (w) => o("action:edit")),
|
|
1127
1112
|
variant: "tertiary"
|
|
1128
1113
|
}, null, 8, ["label"])
|
|
1129
1114
|
])
|
|
@@ -1132,32 +1117,32 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
1132
1117
|
}, 8, ["header", "modelValue", "dismiss-away"]);
|
|
1133
1118
|
};
|
|
1134
1119
|
}
|
|
1135
|
-
}),
|
|
1120
|
+
}), Zo = { class: "flex-1 flex flex-col gap-8" }, Jo = { class: "flex flex-col" }, Xo = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, Yo = { class: "fm-typo-en-body-lg-600 text-fm-color-typo-primary" }, es = { class: "fm-typo-en-body-lg-400" }, ts = { class: "fm-typo-en-body-lg-400 line-clamp-1" }, os = { class: "fm-typo-en-body-lg-400 line-clamp-2" }, ps = /* @__PURE__ */ X({
|
|
1136
1121
|
__name: "TransferTemplateView",
|
|
1137
1122
|
setup(y) {
|
|
1138
|
-
const { t:
|
|
1123
|
+
const { t: g } = Y(), { createTemplate: u, viewTemplate: o, importTemplates: p, exportTemplates: S } = Le(), { templateDialogProps: i, templateDetailsProps: l } = Be(Le()), d = ht(), { loading: x, templates: C } = Be(d), V = U(!1), k = ft(), v = Qe(), { breakpoints: F } = kt();
|
|
1139
1124
|
ce(d.fetchTemplates);
|
|
1140
|
-
const
|
|
1141
|
-
() =>
|
|
1142
|
-
), E = R(() =>
|
|
1143
|
-
function a(
|
|
1144
|
-
switch (
|
|
1125
|
+
const M = R(
|
|
1126
|
+
() => V.value || x.value || !v._currentLocation
|
|
1127
|
+
), E = R(() => C.value), m = U(""), r = R(() => F.value.xs || F.value.sm), T = R(() => r.value ? 10 : 20);
|
|
1128
|
+
function a(s) {
|
|
1129
|
+
switch (s) {
|
|
1145
1130
|
case Pe.Add:
|
|
1146
1131
|
return u();
|
|
1147
1132
|
case "refresh":
|
|
1148
1133
|
return d.fetchTemplates();
|
|
1149
1134
|
case "import":
|
|
1150
|
-
return
|
|
1135
|
+
return p();
|
|
1151
1136
|
case "export":
|
|
1152
|
-
return
|
|
1137
|
+
return S();
|
|
1153
1138
|
}
|
|
1154
1139
|
}
|
|
1155
|
-
function f(
|
|
1156
|
-
return
|
|
1140
|
+
function f(s) {
|
|
1141
|
+
return s;
|
|
1157
1142
|
}
|
|
1158
1143
|
const w = R(() => [
|
|
1159
1144
|
{
|
|
1160
|
-
label:
|
|
1145
|
+
label: g("inventory.closing.template.create.title"),
|
|
1161
1146
|
value: Pe.Add,
|
|
1162
1147
|
isPrimary: !0,
|
|
1163
1148
|
prependIcon: "add"
|
|
@@ -1178,19 +1163,19 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
1178
1163
|
isPrimary: !1
|
|
1179
1164
|
}
|
|
1180
1165
|
]);
|
|
1181
|
-
return (
|
|
1182
|
-
const
|
|
1183
|
-
return D(),
|
|
1184
|
-
c(
|
|
1185
|
-
title: e(
|
|
1166
|
+
return (s, n) => {
|
|
1167
|
+
const A = O("FmTable");
|
|
1168
|
+
return D(), G(qe, null, [
|
|
1169
|
+
c(yt, {
|
|
1170
|
+
title: e(g)("inventory.transfer.template.title2"),
|
|
1186
1171
|
actions: w.value,
|
|
1187
1172
|
"onClick:action": a
|
|
1188
1173
|
}, {
|
|
1189
1174
|
default: B(() => {
|
|
1190
|
-
var
|
|
1175
|
+
var I;
|
|
1191
1176
|
return [
|
|
1192
1177
|
t("div", {
|
|
1193
|
-
class:
|
|
1178
|
+
class: J([
|
|
1194
1179
|
"flex flex-col gap-8 max-h-full",
|
|
1195
1180
|
{
|
|
1196
1181
|
"p-0": r.value,
|
|
@@ -1198,62 +1183,62 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
1198
1183
|
}
|
|
1199
1184
|
])
|
|
1200
1185
|
}, [
|
|
1201
|
-
c(
|
|
1186
|
+
c(vt, {
|
|
1202
1187
|
searchable: "",
|
|
1203
|
-
search:
|
|
1204
|
-
"onUpdate:search": n[0] || (n[0] = (
|
|
1188
|
+
search: m.value,
|
|
1189
|
+
"onUpdate:search": n[0] || (n[0] = (_) => m.value = _)
|
|
1205
1190
|
}, null, 8, ["search"]),
|
|
1206
|
-
(D(), W(
|
|
1207
|
-
style: Ye(e(
|
|
1191
|
+
(D(), W(A, {
|
|
1192
|
+
style: Ye(e(k).tableHeight),
|
|
1208
1193
|
"column-defs": e(d).columnDefs,
|
|
1209
1194
|
"row-data": E.value,
|
|
1210
|
-
"search-value":
|
|
1211
|
-
loading:
|
|
1212
|
-
key: (
|
|
1213
|
-
onRowClick: n[1] || (n[1] = (
|
|
1214
|
-
"page-size":
|
|
1195
|
+
"search-value": m.value,
|
|
1196
|
+
loading: M.value,
|
|
1197
|
+
key: (I = e(v)._currentLocation) == null ? void 0 : I.dbName,
|
|
1198
|
+
onRowClick: n[1] || (n[1] = (_) => e(o)(_.original)),
|
|
1199
|
+
"page-size": T.value
|
|
1215
1200
|
}, {
|
|
1216
|
-
"list-row": B((
|
|
1201
|
+
"list-row": B((_) => [
|
|
1217
1202
|
c(Ke, {
|
|
1218
|
-
row:
|
|
1219
|
-
onRowClick: (
|
|
1203
|
+
row: _,
|
|
1204
|
+
onRowClick: (b) => e(o)(b)
|
|
1220
1205
|
}, {
|
|
1221
|
-
default: B((
|
|
1222
|
-
var P, q, z, j,
|
|
1206
|
+
default: B((b) => {
|
|
1207
|
+
var P, q, z, j, h, N, fe, ye, oe, ve, be, xe, _e, se, he, ge, Te, ke, Fe, we, le, Se, Ce, $e, Me, ne, Ie;
|
|
1223
1208
|
return [
|
|
1224
|
-
t("div",
|
|
1225
|
-
t("div",
|
|
1209
|
+
t("div", Zo, [
|
|
1210
|
+
t("div", Jo, [
|
|
1226
1211
|
t("div", Xo, [
|
|
1227
1212
|
c(e(Q), {
|
|
1228
|
-
render: (z = (q = (P =
|
|
1229
|
-
props: (
|
|
1213
|
+
render: (z = (q = (P = b._id) == null ? void 0 : P.column) == null ? void 0 : q.columnDef) == null ? void 0 : z.cell,
|
|
1214
|
+
props: (h = (j = b._id) == null ? void 0 : j.getContext) == null ? void 0 : h.call(j)
|
|
1230
1215
|
}, null, 8, ["render", "props"])
|
|
1231
1216
|
]),
|
|
1232
1217
|
t("div", Yo, [
|
|
1233
1218
|
c(e(Q), {
|
|
1234
|
-
render: (ye = (fe = (N =
|
|
1235
|
-
props: (ve = (oe =
|
|
1219
|
+
render: (ye = (fe = (N = b.name) == null ? void 0 : N.column) == null ? void 0 : fe.columnDef) == null ? void 0 : ye.cell,
|
|
1220
|
+
props: (ve = (oe = b.name) == null ? void 0 : oe.getContext) == null ? void 0 : ve.call(oe)
|
|
1236
1221
|
}, null, 8, ["render", "props"])
|
|
1237
1222
|
]),
|
|
1238
1223
|
t("div", es, [
|
|
1239
1224
|
c(e(Q), {
|
|
1240
|
-
render: (_e = (xe = (be =
|
|
1241
|
-
props: (he = (se =
|
|
1225
|
+
render: (_e = (xe = (be = b.supplier) == null ? void 0 : be.column) == null ? void 0 : xe.columnDef) == null ? void 0 : _e.cell,
|
|
1226
|
+
props: (he = (se = b.supplier) == null ? void 0 : se.getContext) == null ? void 0 : he.call(se)
|
|
1242
1227
|
}, null, 8, ["render", "props"])
|
|
1243
1228
|
]),
|
|
1244
|
-
t("div", null,
|
|
1245
|
-
t("div", ts,
|
|
1229
|
+
t("div", null, $((ge = _.original.locations) != null && ge.length ? `Enabled for ${(Te = _.original.locations) == null ? void 0 : Te.length} outlets` : "Enabled for all outlets"), 1),
|
|
1230
|
+
t("div", ts, $(_.original.purchaseOrder.items.length ? _.original.purchaseOrder.items.map((We) => We.name).join(", ") : "No items"), 1),
|
|
1246
1231
|
t("div", os, [
|
|
1247
1232
|
c(e(Q), {
|
|
1248
|
-
render: (
|
|
1249
|
-
props: (
|
|
1233
|
+
render: (we = (Fe = (ke = b.ref) == null ? void 0 : ke.column) == null ? void 0 : Fe.columnDef) == null ? void 0 : we.cell,
|
|
1234
|
+
props: (Se = (le = b.ref) == null ? void 0 : le.getContext) == null ? void 0 : Se.call(le)
|
|
1250
1235
|
}, null, 8, ["render", "props"])
|
|
1251
1236
|
])
|
|
1252
1237
|
]),
|
|
1253
1238
|
t("div", null, [
|
|
1254
1239
|
c(e(Q), {
|
|
1255
|
-
render: (
|
|
1256
|
-
props: (Ie = (ne =
|
|
1240
|
+
render: (Me = ($e = (Ce = b.type) == null ? void 0 : Ce.column) == null ? void 0 : $e.columnDef) == null ? void 0 : Me.cell,
|
|
1241
|
+
props: (Ie = (ne = b.type) == null ? void 0 : ne.getContext) == null ? void 0 : Ie.call(ne)
|
|
1257
1242
|
}, null, 8, ["render", "props"])
|
|
1258
1243
|
])
|
|
1259
1244
|
])
|
|
@@ -1272,7 +1257,7 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
1272
1257
|
(D(), W(et, { to: "body" }, [
|
|
1273
1258
|
c(Wo, tt(ot(e(l))), null, 16),
|
|
1274
1259
|
c(bo, Ee(e(i), {
|
|
1275
|
-
onSubmitted: n[2] || (n[2] = (
|
|
1260
|
+
onSubmitted: n[2] || (n[2] = (I) => e(d).fetchTemplates())
|
|
1276
1261
|
}), null, 16)
|
|
1277
1262
|
]))
|
|
1278
1263
|
], 64);
|
|
@@ -1280,5 +1265,5 @@ const Ht = { class: "flex flex-col gap-8 py-16" }, jt = { class: "flex items-cen
|
|
|
1280
1265
|
}
|
|
1281
1266
|
});
|
|
1282
1267
|
export {
|
|
1283
|
-
|
|
1268
|
+
ps as default
|
|
1284
1269
|
};
|