@feedmepos/mf-inventory-portal 1.1.2-dev.1 → 1.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/{App-BMqeotH6.js → App-BhEtjLqO.js} +1 -1
- package/dist/{ApprovalView-BT7kIV_A.js → ApprovalView-BHIVSsbz.js} +11 -14
- package/dist/{BindingsDialog-D51Q5MF6.js → BindingsDialog-CX3Hu_r6.js} +4 -4
- package/dist/{BindingsPicker-CohecktA.js → BindingsPicker-BbinQ8Hl.js} +1 -1
- package/dist/{BindingsTable-CCMPhjwe.js → BindingsTable-DxlSz6Ev.js} +4 -4
- package/dist/ClosingDraftView-B5gQ2k-T.js +1520 -0
- package/dist/{ClosingTemplateView-Btsnd8gB.js → ClosingTemplateView-CB9_JOl4.js} +2 -2
- package/dist/{DeliveryOrderPrintPreview-DePkWJOm.js → DeliveryOrderPrintPreview-BlE3fIAT.js} +1 -1
- package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-BHe6mzeX.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-DxKFFyWs.js} +3 -3
- package/dist/{FmMultiselectDialog-B2IB-7_X.js → FmMultiselectDialog-DcviKwNR.js} +1 -1
- package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-aTjBWSes.js → FmUnitInput.vue_vue_type_script_setup_true_lang-CepHeClt.js} +1 -1
- package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-HQbIbui8.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-Dg8VdQzg.js} +1 -1
- package/dist/{IngredientGroupView-DKcrpkvr.js → IngredientGroupView-EE8lN8JL.js} +2 -2
- package/dist/{IngredientsView-BgX3guha.js → IngredientsView-BkDpHVvn.js} +4 -4
- package/dist/{IntegrationView-C5El8VLw.js → IntegrationView-Bj7sb1gO.js} +1141 -1170
- package/dist/{InventoryBindingForm-BdOwwb0P.js → InventoryBindingForm-BkazprFH.js} +1 -1
- package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-JjFL1iOr.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-BbQqYyzL.js} +3 -3
- package/dist/{InventoryBindingSummary-B0V_pijk.js → InventoryBindingSummary-D0XiOdR4.js} +1 -1
- package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-CYaubxCg.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-Pf8BPDZw.js} +1 -1
- package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-BrfGdfiV.js → PremiumBadge.vue_vue_type_script_setup_true_lang-D2Tx3xSj.js} +1 -1
- package/dist/{PublishView-CsR3VsEU.js → PublishView-BUIcrw8m.js} +18 -18
- package/dist/{PurchaseOrderPrintPreview-CvKdnDGs.js → PurchaseOrderPrintPreview-lO7Bilm5.js} +1 -1
- package/dist/{ReceiveRequestView-CdTcc_KK.js → ReceiveRequestView-BZV-8Ib3.js} +169 -172
- package/dist/{RecipeView-yZ1lHuhB.js → RecipeView-2Tm12Zuk.js} +3 -3
- package/dist/{StockView-BnSAddLa.js → StockView-DaWS_HQl.js} +6 -6
- package/dist/{SupplierView-DPZQEzlB.js → SupplierView-nfxqynuY.js} +3 -3
- package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-g74nRiM0.js +2213 -0
- package/dist/{TransferTemplateView-DqncASn2.js → TransferTemplateView-CGjfCELA.js} +6 -6
- package/dist/{UnitView-BjZ9uslx.js → UnitView-Cm5WuuEN.js} +3 -3
- package/dist/{WarehouseView-CRzmlUEo.js → WarehouseView-BSLX0g3B.js} +1 -1
- package/dist/api/netsuite.d.ts +0 -1
- package/dist/{app-D2JWXias.js → app-CnDLBWW7.js} +27510 -27243
- package/dist/app.d.ts +0 -9
- package/dist/app.js +5 -5
- package/dist/components/FmMultiselectDialogTemporary.vue.d.ts +41 -0
- package/dist/{decimal-Bym-hUyX.js → decimal-DmezA5YT.js} +1 -1
- package/dist/{format-unit-display-DjeIMeDv.js → format-unit-display-Bcq6wldv.js} +2 -2
- package/dist/{index-6SJDAQ49.js → index-C476dvi7.js} +2651 -2687
- package/dist/{index-69XpTRSm.js → index-R97nRHsF.js} +1 -1
- package/dist/{stock-CGw_wo2L.js → stock-Dd0YSjSF.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/{supplier-k-KIWnC0.js → supplier-C4s3SHui.js} +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{use-ingredient-select-dialog-DkPWvSTc.js → use-ingredient-select-dialog-DaXBOLhz.js} +1 -1
- package/dist/{use-inventory-binding-dialog-ByWG9YFs.js → use-inventory-binding-dialog-CsFwoUbg.js} +1 -1
- package/dist/views/closing-draft/composables/use-closing-draft-actions.d.ts +1 -4
- package/dist/views/receive-request/components/transfer-details/TransferDetailsProps.d.ts +0 -8
- package/dist/views/receive-request/composables/use-receive-request-table.d.ts +0 -626
- package/dist/{vue-i18n-DutvGlXI.js → vue-i18n-CdkMdZ30.js} +497 -497
- package/package.json +4 -4
- package/dist/ClosingDraftView-CkdD2cd0.js +0 -1676
- package/dist/TransferDetails.vue_vue_type_script_setup_true_lang-DMLHPIeF.js +0 -2275
- package/dist/views/closing-draft/components/closing-draft-action/RefreshBalanceAction.vue.d.ts +0 -19
- package/dist/views/receive-request/composables/fn.d.ts +0 -8
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
import { defineComponent as Y, mergeModels as je, useModel as xe, onMounted as me, ref as j, computed as z, resolveComponent as E, openBlock as
|
|
1
|
+
import { defineComponent as Y, mergeModels as je, useModel as xe, onMounted as me, ref as j, computed as z, resolveComponent as E, openBlock as k, createElementBlock as R, createElementVNode as l, toDisplayString as T, unref as x, createVNode as I, createBlock as _, withCtx as D, Fragment as J, renderList as te, normalizeClass as q, normalizeStyle as Oe, createSlots as ne, createCommentVNode as X, withModifiers as Te, reactive as fe, watch as pe, isRef as oe, Teleport as ue, h as N, createTextVNode as Z, watchEffect as ze } from "vue";
|
|
2
2
|
import { E as He } from "./empty-placeholder-wf6-BWE8.js";
|
|
3
|
-
import {
|
|
4
|
-
import { useDialogChild as Ze, useDialog as
|
|
3
|
+
import { aY as Xe, aN as _e, f as $, u as W, aZ as Ue, b as le, j as Qe, aV as Se, al as ve, ay as ge, a as Ae, a2 as Ye, Q as P, $ as we, a_ as ke, aE as Be, aQ as Ce, s as Ee, y as Fe, a0 as re, c as Le, _ as Je, C as Ke } from "./app-CnDLBWW7.js";
|
|
4
|
+
import { useDialogChild as Ze, useDialog as ye, useProxiedModel as se, useSnackbar as ae, useBreakpoints as Ve, components as ee } from "@feedmepos/ui-library";
|
|
5
5
|
import { useI18n as G, useCoreStore as ie } from "@feedmepos/mf-common";
|
|
6
|
-
import { a as qe, b as Ge, c as Pe, u as We } from "./index-
|
|
7
|
-
import { u as de } from "./vue-i18n-
|
|
8
|
-
import { _ as $e, F as et } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-
|
|
6
|
+
import { a as qe, b as Ge, c as Pe, u as We } from "./index-R97nRHsF.js";
|
|
7
|
+
import { u as de } from "./vue-i18n-CdkMdZ30.js";
|
|
8
|
+
import { _ as $e, F as et } from "./FmUnitInput.vue_vue_type_script_setup_true_lang-CepHeClt.js";
|
|
9
9
|
const tt = "data:image/svg+xml,%3csvg%20width='200'%20height='101'%20viewBox='0%200%20200%20101'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M98.9161%2038.4456V24.1772H108.527V27.1988H102.12V30.2202H107.347V32.7382H102.12V38.4456H98.9161Z'%20fill='%235D5359'/%3e%3cpath%20d='M110.382%2031.2276C110.382%2027.5345%20113.249%2024.1772%20117.127%2024.1772C121.174%2024.1772%20123.872%2027.7024%20123.872%2031.3953C123.872%2035.0884%20121.005%2038.6133%20117.127%2038.6133C113.08%2038.4456%20110.382%2034.9204%20110.382%2031.2276ZM117.127%2035.5919C119.487%2035.5919%20120.499%2033.4096%20120.499%2031.2276C120.499%2029.0452%20119.319%2027.0309%20117.127%2027.0309C114.935%2027.0309%20113.754%2029.213%20113.754%2031.2276C113.754%2033.5776%20114.935%2035.5919%20117.127%2035.5919Z'%20fill='%235D5359'/%3e%3cpath%20d='M126.232%2031.2276C126.232%2027.5345%20129.099%2024.1772%20132.977%2024.1772C137.024%2024.1772%20139.722%2027.7024%20139.722%2031.3953C139.722%2035.0884%20136.855%2038.6133%20132.977%2038.6133C128.93%2038.4456%20126.232%2034.9204%20126.232%2031.2276ZM132.977%2035.5919C135.337%2035.5919%20136.349%2033.4096%20136.349%2031.2276C136.349%2029.0452%20135.169%2027.0309%20132.977%2027.0309C130.785%2027.0309%20129.604%2029.213%20129.604%2031.2276C129.604%2033.5776%20130.785%2035.5919%20132.977%2035.5919Z'%20fill='%235D5359'/%3e%3cpath%20d='M142.926%2038.4455V24.345H148.153C152.874%2024.345%20155.235%2027.5343%20155.235%2031.3952C155.235%2035.5918%20152.368%2038.4455%20148.153%2038.4455H142.926ZM148.153%2027.0308H146.129V35.4238H148.153C150.513%2035.4238%20151.862%2033.5775%20151.862%2031.2272C151.862%2028.8773%20150.513%2027.0308%20148.153%2027.0308Z'%20fill='%235D5359'/%3e%3cpath%20d='M110.045%2057.5607V49.1676L107.009%2055.2107H105.324L102.12%2049.1676V57.5607H98.9161V43.4604H102.457L106.167%2050.8465L109.876%2043.4604H113.417V57.5607H110.045Z'%20fill='%235D5359'/%3e%3cpath%20d='M115.947%2057.5607L121.342%2043.4604H124.04L129.436%2057.5607H125.895L124.715%2054.3716H120.331L119.319%2057.5607H115.947ZM122.691%2046.9856L121.005%2052.1893H124.378L122.691%2046.9856Z'%20fill='%235D5359'/%3e%3cpath%20d='M131.965%2057.5607V43.4604H138.373C141.07%2043.4604%20142.925%2045.8105%20142.925%2048.1605C142.925%2049.8393%20142.082%2051.5179%20140.565%2052.1893L143.768%2057.393H140.059L137.192%2052.8607H135V57.393H131.965V57.5607ZM135.169%2050.175H138.204C139.047%2050.175%20139.553%2049.3356%20139.553%2048.1605C139.553%2046.9856%20138.71%2046.3142%20138.035%2046.3142H135.169V50.175Z'%20fill='%235D5359'/%3e%3cpath%20d='M146.635%2057.5607V43.4604H150.007V49.8393L155.403%2043.4604H158.776L153.548%2049.6713L159.281%2057.5607H155.74L151.693%2051.5179L150.007%2053.3642V57.5607H146.635Z'%20fill='%235D5359'/%3e%3cpath%20d='M171.422%2054.7073V57.5607H161.474V43.4604H171.253V46.3142H164.677V48.9999H170.242V51.6856H164.677V54.7073H171.422Z'%20fill='%235D5359'/%3e%3cpath%20d='M185.417%2046.3142H181.202V57.5607H177.829V46.3142H173.614V43.4604H185.417V46.3142Z'%20fill='%235D5359'/%3e%3cpath%20d='M111.057%2062.5967V76.6973H107.853V70.9898H102.12V76.6973H98.9161V62.5967H102.12V68.1361H107.853V62.5967H111.057Z'%20fill='%235D5359'/%3e%3cpath%20d='M124.04%2069.815V62.5967H127.244V69.815C127.244%2073.6758%20125.389%2076.865%20121.005%2076.865C116.453%2076.865%20114.766%2073.5078%20114.766%2069.815V62.5967H117.97V69.815C117.97%2071.997%20118.813%2074.0115%20121.005%2074.0115C123.366%2074.0115%20124.04%2071.997%20124.04%2069.815Z'%20fill='%235D5359'/%3e%3cpath%20d='M138.036%2076.6973H131.122V62.5967H139.047C141.071%2062.5967%20142.251%2064.4433%20142.251%2066.2898C142.251%2067.6327%20141.576%2068.9755%20140.228%2069.4793C141.914%2069.9827%20142.926%2071.1578%20142.926%2073.1721C142.757%2075.5221%20140.733%2076.6973%20138.036%2076.6973ZM134.326%2065.4504V68.3041H137.53C138.204%2068.3041%20138.879%2067.8004%20138.879%2066.7933C138.879%2065.7861%20138.373%2065.2827%20137.698%2065.2827H134.326V65.4504ZM138.204%2070.8221H134.494V73.8435H138.204C139.047%2073.8435%20139.722%2073.1721%20139.722%2072.3327C139.553%2071.6613%20138.879%2070.8221%20138.204%2070.8221Z'%20fill='%235D5359'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M73.4753%2051.4994C78.7281%2050.5396%2082.8911%2046.4891%2083.9954%2041.3137L84.1232%2040.7134L83.9445%2040.1256C80.5804%2029.066%2071.9945%2020.2704%2061.0373%2016.5726C57.4%2015.3451%2053.5046%2014.6804%2049.458%2014.6804C45.4112%2014.6804%2041.5158%2015.3451%2037.8784%2016.5726C26.9214%2020.2704%2018.3354%2029.066%2014.9712%2040.1256L14.7924%2040.7134L14.9206%2041.3137C16.0247%2046.4891%2020.1875%2050.5396%2025.4405%2051.4994V58.8839H14.4183C14.6758%2059.9557%2014.9818%2061.0088%2015.3337%2062.0411C20.1553%2076.1811%2033.6083%2086.3619%2049.458%2086.3619C65.3074%2086.3619%2078.7606%2076.1811%2083.5822%2062.0411C83.9342%2061.0088%2084.2399%2059.9557%2084.4974%2058.8839H73.4753V51.4994ZM41.0517%2020.5973V38.5742C41.0517%2043.1931%2044.8155%2046.9371%2049.458%2046.9371C54.1005%2046.9371%2057.8641%2043.1931%2057.8641%2038.5742V20.5973C55.1919%2019.856%2052.3732%2019.4592%2049.458%2019.4592C46.5428%2019.4592%2043.7241%2019.856%2041.0517%2020.5973ZM62.6675%2022.3673V38.5742C62.6675%2043.1931%2066.431%2046.9371%2071.0735%2046.9371C74.9051%2046.9371%2078.1425%2044.3848%2079.1528%2040.8942C76.4672%2032.6902%2070.4379%2025.9824%2062.6675%2022.3673ZM60.2658%2046.1322C57.8753%2049.5094%2053.9255%2051.7159%2049.458%2051.7159C44.9902%2051.7159%2041.0408%2049.5094%2038.65%2046.1322C36.6982%2048.8894%2033.7074%2050.8662%2030.2439%2051.4994V58.8839H68.6718V51.4994C65.2083%2050.8662%2062.2175%2048.8894%2060.2658%2046.1322ZM21.1583%2063.6628C26.1349%2074.2514%2036.9382%2081.5834%2049.458%2081.5834C61.9776%2081.5834%2072.781%2074.2514%2077.7574%2063.6628H21.1583ZM36.2482%2038.5742V22.3673C28.4779%2025.9824%2022.4486%2032.6902%2019.7631%2040.8942C20.7733%2044.3848%2024.0106%2046.9371%2027.8422%2046.9371C32.4847%2046.9371%2036.2482%2043.1931%2036.2482%2038.5742Z'%20fill='%23FFC35D'/%3e%3c/svg%3e";
|
|
10
10
|
var Ne = { exports: {} };
|
|
11
|
-
(function(F,
|
|
11
|
+
(function(F, g) {
|
|
12
12
|
(function() {
|
|
13
13
|
var s = {};
|
|
14
|
-
F.exports = s, s.simpleFilter = function(
|
|
14
|
+
F.exports = s, s.simpleFilter = function(r, n) {
|
|
15
15
|
return n.filter(function(t) {
|
|
16
|
-
return s.test(
|
|
16
|
+
return s.test(r, t);
|
|
17
17
|
});
|
|
18
|
-
}, s.test = function(
|
|
19
|
-
return s.match(
|
|
20
|
-
}, s.match = function(
|
|
18
|
+
}, s.test = function(r, n) {
|
|
19
|
+
return s.match(r, n) !== null;
|
|
20
|
+
}, s.match = function(r, n, t) {
|
|
21
21
|
t = t || {};
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
for (var
|
|
25
|
-
C = n[
|
|
26
|
-
return
|
|
27
|
-
}, s.filter = function(
|
|
28
|
-
return !n || n.length === 0 ? [] : typeof
|
|
29
|
-
var
|
|
30
|
-
t.extract && (
|
|
31
|
-
var
|
|
32
|
-
return
|
|
33
|
-
string:
|
|
34
|
-
score:
|
|
35
|
-
index:
|
|
36
|
-
original:
|
|
37
|
-
}),
|
|
38
|
-
}, []).sort(function(
|
|
39
|
-
var
|
|
40
|
-
return
|
|
22
|
+
var a = 0, d = [], b = n.length, A = 0, S = 0, p = t.pre || "", v = t.post || "", h = t.caseSensitive && n || n.toLowerCase(), C;
|
|
23
|
+
r = t.caseSensitive && r || r.toLowerCase();
|
|
24
|
+
for (var w = 0; w < b; w++)
|
|
25
|
+
C = n[w], h[w] === r[a] ? (C = p + C + v, a += 1, S += 1 + S) : S = 0, A += S, d[d.length] = C;
|
|
26
|
+
return a === r.length ? (A = h === r ? 1 / 0 : A, { rendered: d.join(""), score: A }) : null;
|
|
27
|
+
}, s.filter = function(r, n, t) {
|
|
28
|
+
return !n || n.length === 0 ? [] : typeof r != "string" ? n : (t = t || {}, n.reduce(function(a, d, b, A) {
|
|
29
|
+
var S = d;
|
|
30
|
+
t.extract && (S = t.extract(d));
|
|
31
|
+
var p = s.match(r, S, t);
|
|
32
|
+
return p != null && (a[a.length] = {
|
|
33
|
+
string: p.rendered,
|
|
34
|
+
score: p.score,
|
|
35
|
+
index: b,
|
|
36
|
+
original: d
|
|
37
|
+
}), a;
|
|
38
|
+
}, []).sort(function(a, d) {
|
|
39
|
+
var b = d.score - a.score;
|
|
40
|
+
return b || a.index - d.index;
|
|
41
41
|
}));
|
|
42
42
|
};
|
|
43
43
|
})();
|
|
44
44
|
})(Ne);
|
|
45
45
|
var nt = Ne.exports;
|
|
46
|
-
const Re = /* @__PURE__ */
|
|
47
|
-
function be(F,
|
|
48
|
-
return Re.filter(F,
|
|
46
|
+
const Re = /* @__PURE__ */ Xe(nt);
|
|
47
|
+
function be(F, g) {
|
|
48
|
+
return Re.filter(F, g).length > 0;
|
|
49
49
|
}
|
|
50
|
-
function ot(F,
|
|
50
|
+
function ot(F, g) {
|
|
51
51
|
if (!F)
|
|
52
52
|
return {
|
|
53
|
-
label:
|
|
53
|
+
label: g,
|
|
54
54
|
segments: [
|
|
55
55
|
{
|
|
56
56
|
isMatch: !1,
|
|
57
|
-
segment:
|
|
57
|
+
segment: g
|
|
58
58
|
}
|
|
59
59
|
],
|
|
60
60
|
matched: !1
|
|
61
61
|
};
|
|
62
|
-
const [s] = Re.filter(F.toLocaleLowerCase(), [
|
|
62
|
+
const [s] = Re.filter(F.toLocaleLowerCase(), [g], {
|
|
63
63
|
pre: "|",
|
|
64
64
|
post: "|"
|
|
65
65
|
});
|
|
66
66
|
if (!s)
|
|
67
67
|
return {
|
|
68
|
-
label:
|
|
69
|
-
segments: [{ segment:
|
|
68
|
+
label: g,
|
|
69
|
+
segments: [{ segment: g, isMatch: !1 }],
|
|
70
70
|
matched: !1
|
|
71
71
|
};
|
|
72
|
-
const
|
|
72
|
+
const r = s.string.toString().replace(/\|\|/g, "").split("|").reduce((n, t, a) => (n.push({
|
|
73
73
|
segment: t,
|
|
74
|
-
isMatch:
|
|
74
|
+
isMatch: a % 2 !== 0
|
|
75
75
|
//e.g. index 1, 3, 5, ...
|
|
76
76
|
}), n), new Array());
|
|
77
77
|
return {
|
|
78
|
-
label:
|
|
79
|
-
segments:
|
|
78
|
+
label: g,
|
|
79
|
+
segments: r,
|
|
80
80
|
matched: !0
|
|
81
81
|
};
|
|
82
82
|
}
|
|
@@ -102,36 +102,36 @@ const st = { class: "flex flex-col gap-12 h-[350px]" }, at = { class: "flex item
|
|
|
102
102
|
}),
|
|
103
103
|
emits: ["update:modelValue"],
|
|
104
104
|
setup(F) {
|
|
105
|
-
const
|
|
105
|
+
const g = xe(F, "modelValue"), s = Ze();
|
|
106
106
|
me(() => {
|
|
107
|
-
s.emitData(
|
|
107
|
+
s.emitData(g.value);
|
|
108
108
|
});
|
|
109
|
-
const
|
|
109
|
+
const r = j(""), { t: n } = G();
|
|
110
110
|
function t(e) {
|
|
111
111
|
return be(
|
|
112
|
-
|
|
112
|
+
r.value,
|
|
113
113
|
e.sublabel ? [e.label, e.sublabel] : [e.label]
|
|
114
114
|
);
|
|
115
115
|
}
|
|
116
|
-
function
|
|
117
|
-
return t(e) ? !0 : K(e) ? e.children.some(
|
|
116
|
+
function a(e) {
|
|
117
|
+
return t(e) ? !0 : K(e) ? e.children.some(a) : !1;
|
|
118
118
|
}
|
|
119
|
-
function
|
|
120
|
-
if (!
|
|
119
|
+
function d(e, o) {
|
|
120
|
+
if (!r.value)
|
|
121
121
|
return !0;
|
|
122
122
|
const [B, ...L] = e;
|
|
123
123
|
if (typeof B != "number")
|
|
124
124
|
return !1;
|
|
125
125
|
const V = o[B];
|
|
126
126
|
return be(
|
|
127
|
-
|
|
127
|
+
r.value,
|
|
128
128
|
V.sublabel ? [V.label, V.sublabel] : [V.label]
|
|
129
|
-
) ? !0 : L.length === 0 ?
|
|
129
|
+
) ? !0 : L.length === 0 ? a(V) : K(V) ? d(L, V.children) : !1;
|
|
130
130
|
}
|
|
131
|
-
function
|
|
131
|
+
function b(e, o, B = 0, L = !1) {
|
|
132
132
|
if (K(e) && e.children.length) {
|
|
133
133
|
const { children: V, ...H } = e, U = V.flatMap(
|
|
134
|
-
(M, O) =>
|
|
134
|
+
(M, O) => b(M, [...o, O], B + 1, L || e.disabled)
|
|
135
135
|
);
|
|
136
136
|
return [
|
|
137
137
|
{
|
|
@@ -154,52 +154,52 @@ const st = { class: "flex flex-col gap-12 h-[350px]" }, at = { class: "flex item
|
|
|
154
154
|
}
|
|
155
155
|
];
|
|
156
156
|
}
|
|
157
|
-
const A = z(() =>
|
|
158
|
-
(e, o) =>
|
|
157
|
+
const A = z(() => g.value.flatMap(
|
|
158
|
+
(e, o) => b(e, [o]).filter((B) => d(B.keys, g.value))
|
|
159
159
|
));
|
|
160
|
-
function
|
|
160
|
+
function S(e) {
|
|
161
161
|
if (K(e)) {
|
|
162
|
-
if (
|
|
163
|
-
const o = t(e) ? e.children : e.children.filter(
|
|
164
|
-
return o.length === 0 ? !1 : o.every(
|
|
162
|
+
if (a(e)) {
|
|
163
|
+
const o = t(e) ? e.children : e.children.filter(a);
|
|
164
|
+
return o.length === 0 ? !1 : o.every(S);
|
|
165
165
|
}
|
|
166
|
-
return e.children.every(
|
|
166
|
+
return e.children.every(S);
|
|
167
167
|
}
|
|
168
168
|
return e.active ?? !1;
|
|
169
169
|
}
|
|
170
|
-
function
|
|
170
|
+
function p(e, o) {
|
|
171
171
|
const [B, ...L] = e;
|
|
172
172
|
if (typeof B != "number")
|
|
173
173
|
return !1;
|
|
174
174
|
const V = o[B];
|
|
175
|
-
return L.length === 0 ?
|
|
175
|
+
return L.length === 0 ? S(V ?? []) : K(V) ? p(L, V.children ?? []) : !1;
|
|
176
176
|
}
|
|
177
|
-
function
|
|
177
|
+
function v(e) {
|
|
178
178
|
if (K(e)) {
|
|
179
|
-
if (
|
|
180
|
-
const o = t(e) ? e.children : e.children.filter(
|
|
181
|
-
return o.length === 0 ? !1 : o.some(
|
|
179
|
+
if (a(e)) {
|
|
180
|
+
const o = t(e) ? e.children : e.children.filter(a);
|
|
181
|
+
return o.length === 0 ? !1 : o.some(S) && !o.every(S);
|
|
182
182
|
}
|
|
183
183
|
return !1;
|
|
184
184
|
}
|
|
185
185
|
return !1;
|
|
186
186
|
}
|
|
187
|
-
function
|
|
187
|
+
function h(e, o) {
|
|
188
188
|
const [B, ...L] = e;
|
|
189
189
|
if (typeof B != "number")
|
|
190
190
|
return !1;
|
|
191
191
|
const V = o[B];
|
|
192
|
-
return L.length === 0 ?
|
|
192
|
+
return L.length === 0 ? v(V ?? []) : K(V) ? h(L, (V == null ? void 0 : V.children) ?? []) : !1;
|
|
193
193
|
}
|
|
194
194
|
function C(e, o) {
|
|
195
195
|
if (e.disabled)
|
|
196
196
|
return e;
|
|
197
197
|
if (K(e)) {
|
|
198
|
-
if (
|
|
199
|
-
const B = t(e) ? e.children : e.children.filter(
|
|
198
|
+
if (a(e)) {
|
|
199
|
+
const B = t(e) ? e.children : e.children.filter(a);
|
|
200
200
|
return {
|
|
201
201
|
...e,
|
|
202
|
-
children: e.children.map((L) => B.find((H) =>
|
|
202
|
+
children: e.children.map((L) => B.find((H) => _e(H.value, L.value)) ? C(L, o) : L)
|
|
203
203
|
};
|
|
204
204
|
}
|
|
205
205
|
return {
|
|
@@ -212,87 +212,87 @@ const st = { class: "flex flex-col gap-12 h-[350px]" }, at = { class: "flex item
|
|
|
212
212
|
active: o
|
|
213
213
|
};
|
|
214
214
|
}
|
|
215
|
-
function
|
|
215
|
+
function w(e, o, B) {
|
|
216
216
|
const [L, ...V] = e;
|
|
217
217
|
return typeof L != "number" ? o : V.length === 0 ? o.map((H, U) => L !== U ? H : C(H, B)) : o.map(
|
|
218
218
|
(H, U) => L === U && K(H) ? {
|
|
219
219
|
...H,
|
|
220
|
-
children:
|
|
220
|
+
children: w(V, H.children, B)
|
|
221
221
|
} : H
|
|
222
222
|
);
|
|
223
223
|
}
|
|
224
|
-
const
|
|
225
|
-
function m(e) {
|
|
226
|
-
const o = e.join();
|
|
227
|
-
return p.value.find((B) => o === B);
|
|
228
|
-
}
|
|
224
|
+
const f = j(new Array());
|
|
229
225
|
function c(e) {
|
|
230
226
|
const o = e.join();
|
|
231
|
-
|
|
227
|
+
return f.value.find((B) => o === B);
|
|
232
228
|
}
|
|
233
229
|
function u(e) {
|
|
234
230
|
const o = e.join();
|
|
235
|
-
|
|
231
|
+
c(e) ? f.value = f.value.filter((B) => B !== o) : f.value = [...f.value, o];
|
|
232
|
+
}
|
|
233
|
+
function i(e) {
|
|
234
|
+
const o = e.join();
|
|
235
|
+
return f.value.find((B) => o.startsWith(B) && o !== B);
|
|
236
236
|
}
|
|
237
237
|
const y = z(
|
|
238
|
-
() => A.value.filter((e) =>
|
|
238
|
+
() => A.value.filter((e) => d(e.keys, g.value) && e.active).length
|
|
239
239
|
);
|
|
240
|
-
function
|
|
241
|
-
|
|
240
|
+
function m(e, o, B) {
|
|
241
|
+
g.value = w(e, o, B), s.emitData(g.value);
|
|
242
242
|
}
|
|
243
243
|
return (e, o) => {
|
|
244
244
|
const B = E("FmSearch"), L = E("FmCheckbox"), V = E("FmButton"), H = E("FmListItem"), U = E("FmList");
|
|
245
|
-
return
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
245
|
+
return k(), R("div", st, [
|
|
246
|
+
l("div", at, [
|
|
247
|
+
l("div", lt, T(x(n)("inventory.formField.itemsSelected", { count: y.value })), 1),
|
|
248
|
+
l("div", it, [
|
|
249
249
|
I(B, {
|
|
250
|
-
modelValue:
|
|
251
|
-
"onUpdate:modelValue": o[0] || (o[0] = (M) =>
|
|
250
|
+
modelValue: r.value,
|
|
251
|
+
"onUpdate:modelValue": o[0] || (o[0] = (M) => r.value = M),
|
|
252
252
|
placeholder: x(n)("inventory.formField.filterItems")
|
|
253
253
|
}, null, 8, ["modelValue", "placeholder"])
|
|
254
254
|
])
|
|
255
255
|
]),
|
|
256
|
-
A.value.length ? (
|
|
256
|
+
A.value.length ? (k(), _(U, {
|
|
257
257
|
key: 0,
|
|
258
258
|
class: "flex-1 overflow-y-auto"
|
|
259
259
|
}, {
|
|
260
260
|
default: D(() => [
|
|
261
|
-
(
|
|
261
|
+
(k(!0), R(J, null, te(A.value, (M) => (k(), R("div", {
|
|
262
262
|
key: M.keys.join(),
|
|
263
263
|
class: q([
|
|
264
264
|
"transition-all overflow-y-clip",
|
|
265
|
-
|
|
265
|
+
i(M.keys) ? "max-h-0 opacity-0" : "max-h-[50px] opacity-100"
|
|
266
266
|
]),
|
|
267
267
|
"data-cy": `nested-${M.keys.join("-")}-${M.label}`
|
|
268
268
|
}, [
|
|
269
269
|
I(H, {
|
|
270
270
|
clickable: M.selectable !== !1,
|
|
271
|
-
onClick: () => M.selectable === !1 || M.disabled ||
|
|
271
|
+
onClick: () => M.selectable === !1 || M.disabled || m(M.keys, g.value, !p(M.keys, g.value)),
|
|
272
272
|
style: Oe({
|
|
273
273
|
paddingLeft: `${16 + M.indent * 16}px`,
|
|
274
274
|
paddingTop: "4px",
|
|
275
275
|
paddingBottom: "4px"
|
|
276
276
|
}),
|
|
277
277
|
disabled: M.selectable !== !1 && M.disabled
|
|
278
|
-
},
|
|
278
|
+
}, ne({
|
|
279
279
|
default: D(() => [
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
(
|
|
280
|
+
l("div", ut, [
|
|
281
|
+
l("div", dt, [
|
|
282
|
+
(k(!0), R(J, null, te(x(ot)(r.value, M.label).segments, (O, Q) => (k(), R("span", {
|
|
283
283
|
key: Q,
|
|
284
284
|
class: q({
|
|
285
285
|
"font-bold": O.isMatch
|
|
286
286
|
})
|
|
287
287
|
}, T(O.segment), 3))), 128))
|
|
288
288
|
]),
|
|
289
|
-
M.sublabel ? (
|
|
289
|
+
M.sublabel ? (k(), R("div", {
|
|
290
290
|
key: 0,
|
|
291
291
|
class: q([
|
|
292
292
|
"fm-typo-en-body-sm-400",
|
|
293
293
|
M.disabled ? "" : "text-fm-color-typo-secondary"
|
|
294
294
|
])
|
|
295
|
-
}, T(M.sublabel), 3)) :
|
|
295
|
+
}, T(M.sublabel), 3)) : X("", !0)
|
|
296
296
|
])
|
|
297
297
|
]),
|
|
298
298
|
_: 2
|
|
@@ -302,9 +302,9 @@ const st = { class: "flex flex-col gap-12 h-[350px]" }, at = { class: "flex item
|
|
|
302
302
|
fn: D(() => [
|
|
303
303
|
I(L, {
|
|
304
304
|
disabled: M.disabled,
|
|
305
|
-
"model-value":
|
|
305
|
+
"model-value": p(M.keys, g.value),
|
|
306
306
|
value: M.keys,
|
|
307
|
-
indeterminate:
|
|
307
|
+
indeterminate: h(M.keys, g.value)
|
|
308
308
|
}, null, 8, ["disabled", "model-value", "value", "indeterminate"])
|
|
309
309
|
]),
|
|
310
310
|
key: "0"
|
|
@@ -313,10 +313,10 @@ const st = { class: "flex flex-col gap-12 h-[350px]" }, at = { class: "flex item
|
|
|
313
313
|
name: "append",
|
|
314
314
|
fn: D(() => [
|
|
315
315
|
I(V, {
|
|
316
|
-
"prepend-icon":
|
|
316
|
+
"prepend-icon": c(M.keys) ? "expand_less" : "expand_more",
|
|
317
317
|
size: "md",
|
|
318
318
|
variant: "tertiary",
|
|
319
|
-
onClick: Te(() =>
|
|
319
|
+
onClick: Te(() => u(M.keys), ["stop"])
|
|
320
320
|
}, null, 8, ["prepend-icon", "onClick"])
|
|
321
321
|
]),
|
|
322
322
|
key: "1"
|
|
@@ -325,14 +325,14 @@ const st = { class: "flex flex-col gap-12 h-[350px]" }, at = { class: "flex item
|
|
|
325
325
|
], 10, rt))), 128))
|
|
326
326
|
]),
|
|
327
327
|
_: 1
|
|
328
|
-
})) : (
|
|
328
|
+
})) : (k(), R("div", ct, T(x(n)("inventory.formField.noItemsFound")), 1))
|
|
329
329
|
]);
|
|
330
330
|
};
|
|
331
331
|
}
|
|
332
332
|
}), mt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-100 px-5 py-5 gap-5" }, ft = { class: "flex items-center" }, pt = { class: "text-lg font-bold flex-grow" }, vt = {
|
|
333
333
|
key: 0,
|
|
334
334
|
class: "table-auto w-full"
|
|
335
|
-
}, gt = { class: "text-left" },
|
|
335
|
+
}, gt = { class: "text-left" }, At = { class: "min-w-64" }, yt = { class: "flex flex-col" }, bt = { class: "fm-typo-en-body-md-400" }, ht = {
|
|
336
336
|
key: 0,
|
|
337
337
|
class: "fm-typo-en-body-sm-400 text-fm-color-neutral-gray-400"
|
|
338
338
|
}, It = { class: "w-1" }, xt = /* @__PURE__ */ Y({
|
|
@@ -355,214 +355,214 @@ const st = { class: "flex flex-col gap-12 h-[350px]" }, at = { class: "flex item
|
|
|
355
355
|
}
|
|
356
356
|
},
|
|
357
357
|
emits: ["update:modifiers"],
|
|
358
|
-
setup(F, { emit:
|
|
359
|
-
const s = F,
|
|
360
|
-
const
|
|
361
|
-
const C = s.items.find((
|
|
358
|
+
setup(F, { emit: g }) {
|
|
359
|
+
const s = F, r = g, n = ye(), t = z(() => {
|
|
360
|
+
const p = s.groups.flatMap((v) => v.items.map((h) => {
|
|
361
|
+
const C = s.items.find((w) => w._id === h._id);
|
|
362
362
|
return {
|
|
363
|
-
...
|
|
364
|
-
groupName:
|
|
365
|
-
name:
|
|
363
|
+
...h,
|
|
364
|
+
groupName: v.name,
|
|
365
|
+
name: h.name ?? (C == null ? void 0 : C.name) ?? "-"
|
|
366
366
|
};
|
|
367
367
|
}));
|
|
368
|
-
return s.modifiers.map((
|
|
369
|
-
const
|
|
368
|
+
return s.modifiers.map((v) => {
|
|
369
|
+
const h = p.find((f) => f.selection === v.selection), C = (h == null ? void 0 : h.name) ?? "-", w = (h == null ? void 0 : h.groupName) ?? "";
|
|
370
370
|
return {
|
|
371
|
-
...
|
|
371
|
+
...v,
|
|
372
372
|
name: C,
|
|
373
|
-
groupName:
|
|
373
|
+
groupName: w
|
|
374
374
|
};
|
|
375
375
|
});
|
|
376
|
-
}),
|
|
377
|
-
function
|
|
378
|
-
|
|
376
|
+
}), a = z(() => s.groups.flatMap((p) => p.items.map((v) => ({ ...v, groupId: p._id }))));
|
|
377
|
+
function d({ selection: p }) {
|
|
378
|
+
r(
|
|
379
379
|
"update:modifiers",
|
|
380
|
-
s.modifiers.filter((
|
|
380
|
+
s.modifiers.filter((v) => v.selection !== p)
|
|
381
381
|
);
|
|
382
382
|
}
|
|
383
|
-
function
|
|
384
|
-
const
|
|
385
|
-
|
|
383
|
+
function b({ selection: p }, v) {
|
|
384
|
+
const h = s.modifiers.find((C) => C.selection === p);
|
|
385
|
+
h && (h.code = v);
|
|
386
386
|
}
|
|
387
387
|
function A() {
|
|
388
|
-
let
|
|
389
|
-
s.groups.forEach((
|
|
388
|
+
let p = [];
|
|
389
|
+
s.groups.forEach((h) => {
|
|
390
390
|
let C = !1;
|
|
391
|
-
|
|
392
|
-
label:
|
|
391
|
+
h.items.every((w) => w._id.startsWith("item")) && (C = !0), p.push({
|
|
392
|
+
label: h.name,
|
|
393
393
|
sublabel: "Group",
|
|
394
|
-
value:
|
|
394
|
+
value: h._id,
|
|
395
395
|
disabled: C,
|
|
396
|
-
children:
|
|
397
|
-
var
|
|
398
|
-
const
|
|
399
|
-
(y) => y.combinationKey === (
|
|
396
|
+
children: h.items.reduce((w, f) => {
|
|
397
|
+
var i;
|
|
398
|
+
const c = s.items.find((y) => y._id === f._id), u = (i = c == null ? void 0 : c.variant) == null ? void 0 : i.variantCombinations.find(
|
|
399
|
+
(y) => y.combinationKey === (f == null ? void 0 : f.combinationKey)
|
|
400
400
|
);
|
|
401
401
|
return [
|
|
402
|
-
...
|
|
402
|
+
...w,
|
|
403
403
|
{
|
|
404
|
-
label: `${
|
|
405
|
-
value: `${
|
|
404
|
+
label: `${f.name ?? (c == null ? void 0 : c.name)} ${u ? `(${u.name})` : ""}`,
|
|
405
|
+
value: `${f.selection}${u ? `/${u == null ? void 0 : u.combinationKey}` : ""}`,
|
|
406
406
|
disabled: C,
|
|
407
|
-
active: !!s.modifiers.find(({ selection: y }) => y ===
|
|
407
|
+
active: !!s.modifiers.find(({ selection: y }) => y === f.selection)
|
|
408
408
|
}
|
|
409
409
|
];
|
|
410
410
|
}, [])
|
|
411
411
|
});
|
|
412
412
|
});
|
|
413
|
-
const
|
|
414
|
-
modelValue:
|
|
413
|
+
const v = {
|
|
414
|
+
modelValue: p
|
|
415
415
|
};
|
|
416
416
|
n.open({
|
|
417
417
|
title: "Select Addons",
|
|
418
418
|
contentComponent: De,
|
|
419
|
-
contentComponentProps:
|
|
419
|
+
contentComponentProps: v,
|
|
420
420
|
primaryActions: {
|
|
421
421
|
text: "Confirm",
|
|
422
422
|
close: !0
|
|
423
423
|
}
|
|
424
|
-
}).onPrimary((
|
|
424
|
+
}).onPrimary((h) => {
|
|
425
425
|
const C = $(s.modifiers);
|
|
426
|
-
let
|
|
427
|
-
function
|
|
428
|
-
if (c
|
|
429
|
-
for (let
|
|
430
|
-
|
|
426
|
+
let w = [];
|
|
427
|
+
function f(c, u) {
|
|
428
|
+
if (u(c), K(c))
|
|
429
|
+
for (let i of c.children)
|
|
430
|
+
f(i, u);
|
|
431
431
|
}
|
|
432
|
-
|
|
433
|
-
|
|
432
|
+
h.forEach((c) => {
|
|
433
|
+
f(c, (u) => {
|
|
434
434
|
var e;
|
|
435
|
-
if (s.groups.find(({ _id: o }) => o ===
|
|
436
|
-
const y =
|
|
437
|
-
!K(
|
|
435
|
+
if (s.groups.find(({ _id: o }) => o === u.value)) return;
|
|
436
|
+
const y = a.value.find(({ selection: o }) => o === u.value), m = w.find(({ selection: o }) => u.value === o);
|
|
437
|
+
!K(u) && u.active && m === void 0 && w.push({
|
|
438
438
|
addonGroupId: (y == null ? void 0 : y.groupId) ?? "",
|
|
439
|
-
selection:
|
|
440
|
-
code: ((e = C.find(({ selection: o }) =>
|
|
439
|
+
selection: u.value,
|
|
440
|
+
code: ((e = C.find(({ selection: o }) => u.value === o)) == null ? void 0 : e.code) ?? ""
|
|
441
441
|
});
|
|
442
442
|
});
|
|
443
|
-
}),
|
|
443
|
+
}), r("update:modifiers", w);
|
|
444
444
|
});
|
|
445
445
|
}
|
|
446
|
-
const { t:
|
|
447
|
-
return (
|
|
448
|
-
const
|
|
449
|
-
return
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
I(
|
|
446
|
+
const { t: S } = G();
|
|
447
|
+
return (p, v) => {
|
|
448
|
+
const h = E("FmButton"), C = E("FmTextField");
|
|
449
|
+
return k(), R("div", mt, [
|
|
450
|
+
l("div", ft, [
|
|
451
|
+
l("div", pt, T(x(S)("inventory.integration.apply.addons")), 1),
|
|
452
|
+
I(h, {
|
|
453
453
|
type: "button",
|
|
454
454
|
variant: "plain",
|
|
455
455
|
size: "md",
|
|
456
456
|
icon: "link",
|
|
457
|
-
label: x(
|
|
458
|
-
onClick:
|
|
457
|
+
label: x(S)("inventory.integration.apply.applyAddon"),
|
|
458
|
+
onClick: v[0] || (v[0] = (w) => A())
|
|
459
459
|
}, null, 8, ["label"])
|
|
460
460
|
]),
|
|
461
|
-
|
|
462
|
-
t.value.length > 0 ? (
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
461
|
+
l("div", null, [
|
|
462
|
+
t.value.length > 0 ? (k(), R("table", vt, [
|
|
463
|
+
l("tr", gt, [
|
|
464
|
+
l("th", At, T(x(S)("inventory.integration.apply.name")), 1),
|
|
465
|
+
l("th", null, T(x(S)("inventory.integration.apply.code")), 1),
|
|
466
|
+
v[1] || (v[1] = l("th", { class: "w-1" }, " ", -1))
|
|
467
467
|
]),
|
|
468
|
-
(
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
468
|
+
(k(!0), R(J, null, te(t.value, (w, f) => (k(), R(J, { key: f }, [
|
|
469
|
+
v[2] || (v[2] = l("tr", { class: "block h-8" }, null, -1)),
|
|
470
|
+
l("tr", null, [
|
|
471
|
+
l("td", null, [
|
|
472
|
+
l("div", yt, [
|
|
473
|
+
l("div", bt, T(w.name), 1),
|
|
474
|
+
w.groupName ? (k(), R("div", ht, T(w.groupName), 1)) : X("", !0)
|
|
475
475
|
])
|
|
476
476
|
]),
|
|
477
|
-
|
|
477
|
+
l("td", null, [
|
|
478
478
|
I(C, {
|
|
479
479
|
disabled: F.loading,
|
|
480
|
-
"model-value":
|
|
481
|
-
"onUpdate:modelValue": [(
|
|
480
|
+
"model-value": w.code,
|
|
481
|
+
"onUpdate:modelValue": [(c) => w.code = c, (c) => b(w, c)],
|
|
482
482
|
rules: [
|
|
483
|
-
function(
|
|
484
|
-
return !!
|
|
483
|
+
function(u) {
|
|
484
|
+
return !!u || "Required";
|
|
485
485
|
}
|
|
486
486
|
]
|
|
487
487
|
}, null, 8, ["disabled", "model-value", "onUpdate:modelValue", "rules"])
|
|
488
488
|
]),
|
|
489
|
-
|
|
490
|
-
I(
|
|
489
|
+
l("td", It, [
|
|
490
|
+
I(h, {
|
|
491
491
|
disabled: F.loading,
|
|
492
492
|
type: "button",
|
|
493
493
|
variant: "tertiary",
|
|
494
494
|
icon: "delete",
|
|
495
495
|
"icon-color": "#000000",
|
|
496
496
|
size: "md",
|
|
497
|
-
onClick: (
|
|
497
|
+
onClick: (c) => d(w)
|
|
498
498
|
}, null, 8, ["disabled", "onClick"])
|
|
499
499
|
])
|
|
500
500
|
])
|
|
501
501
|
], 64))), 128))
|
|
502
|
-
])) :
|
|
502
|
+
])) : X("", !0)
|
|
503
503
|
])
|
|
504
504
|
]);
|
|
505
505
|
};
|
|
506
506
|
}
|
|
507
507
|
});
|
|
508
|
-
function St(F,
|
|
509
|
-
const s =
|
|
508
|
+
function St(F, g = []) {
|
|
509
|
+
const s = g.map((n) => F.find((t) => t._id === n)).filter((n) => !!n);
|
|
510
510
|
return kt(s).reduce((n, t) => (n[t.combinationKey] = t.selectionName.join(" / "), n), {});
|
|
511
511
|
}
|
|
512
|
-
function wt(F,
|
|
513
|
-
const
|
|
514
|
-
var
|
|
515
|
-
const
|
|
516
|
-
...
|
|
517
|
-
codeName: [
|
|
512
|
+
function wt(F, g, s) {
|
|
513
|
+
const r = s.reduce((t, a) => {
|
|
514
|
+
var S, p, v;
|
|
515
|
+
const d = a.category || "", b = St(g, (S = a.variant) == null ? void 0 : S.variantGroupIds), A = {
|
|
516
|
+
...a,
|
|
517
|
+
codeName: [a.code, a.name].filter((h) => !!h).join(" "),
|
|
518
518
|
variant: {
|
|
519
|
-
variantGroupIds: ((
|
|
520
|
-
variantCombinations: (((
|
|
521
|
-
const C =
|
|
519
|
+
variantGroupIds: ((p = a.variant) == null ? void 0 : p.variantGroupIds) || [],
|
|
520
|
+
variantCombinations: (((v = a.variant) == null ? void 0 : v.variantCombinations) || []).map((h) => {
|
|
521
|
+
const C = h.code, w = h.name || b[h.combinationKey || ""];
|
|
522
522
|
return {
|
|
523
|
-
...
|
|
524
|
-
codeName: [C,
|
|
523
|
+
...h,
|
|
524
|
+
codeName: [C, w].filter((f) => !!f).join(" ").trim() || "-"
|
|
525
525
|
};
|
|
526
526
|
})
|
|
527
527
|
}
|
|
528
528
|
};
|
|
529
|
-
return t[
|
|
530
|
-
}, {}), n = Object.values(
|
|
529
|
+
return t[d] = t[d] ? [...t[d], A] : [A], t;
|
|
530
|
+
}, {}), n = Object.values(r)[0];
|
|
531
531
|
return F.length === 0 && n ? n.map((t) => ({
|
|
532
532
|
id: t._id,
|
|
533
533
|
name: t.name ?? "",
|
|
534
|
-
items:
|
|
534
|
+
items: r[t._id || ""] || []
|
|
535
535
|
})) || [] : F.map((t) => ({
|
|
536
536
|
id: t._id,
|
|
537
537
|
name: t.name ?? "",
|
|
538
|
-
items:
|
|
538
|
+
items: r[t._id || ""] || []
|
|
539
539
|
}));
|
|
540
540
|
}
|
|
541
|
-
function Me(F,
|
|
541
|
+
function Me(F, g) {
|
|
542
542
|
if (F.length == 1)
|
|
543
543
|
return F[0];
|
|
544
|
-
const s = F[0],
|
|
545
|
-
return s.reduce((
|
|
544
|
+
const s = F[0], r = F.slice(1, F.length), n = Me(r, g);
|
|
545
|
+
return s.reduce((a, d) => [...a, ...n.map((b) => g(d, b))], new Array());
|
|
546
546
|
}
|
|
547
547
|
function kt(F) {
|
|
548
548
|
if (F.length === 0) return [];
|
|
549
|
-
const
|
|
550
|
-
(
|
|
549
|
+
const g = F.map(
|
|
550
|
+
(r) => (r.options ?? []).map(
|
|
551
551
|
(n) => ({
|
|
552
|
-
combinationKey: [`${
|
|
552
|
+
combinationKey: [`${r._id}/${n._id}`],
|
|
553
553
|
selectionName: [n.name ?? ""]
|
|
554
554
|
})
|
|
555
555
|
)
|
|
556
556
|
);
|
|
557
|
-
return Me(
|
|
558
|
-
combinationKey: [...
|
|
559
|
-
selectionName: [...
|
|
560
|
-
})).map((
|
|
561
|
-
const n = [...
|
|
557
|
+
return Me(g, (r, n) => ({
|
|
558
|
+
combinationKey: [...r.combinationKey, ...n.combinationKey],
|
|
559
|
+
selectionName: [...r.selectionName, ...n.selectionName]
|
|
560
|
+
})).map((r) => {
|
|
561
|
+
const n = [...r.combinationKey];
|
|
562
562
|
return n.sort(), {
|
|
563
563
|
combinationKey: n.join("/"),
|
|
564
564
|
active: !0,
|
|
565
|
-
selectionName:
|
|
565
|
+
selectionName: r.selectionName
|
|
566
566
|
};
|
|
567
567
|
});
|
|
568
568
|
}
|
|
@@ -597,111 +597,111 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
597
597
|
}
|
|
598
598
|
},
|
|
599
599
|
emits: ["update:bindings"],
|
|
600
|
-
setup(F, { emit:
|
|
601
|
-
const s = F,
|
|
602
|
-
() => wt(
|
|
603
|
-
),
|
|
600
|
+
setup(F, { emit: g }) {
|
|
601
|
+
const s = F, r = g, n = ye(), t = z(() => s.isAddon ? "Addons" : "Products"), a = z(() => s.isAddon ? [] : s.categories), d = z(
|
|
602
|
+
() => wt(a.value, s.variants, s.menus)
|
|
603
|
+
), b = z(() => {
|
|
604
604
|
if (s.isAddon)
|
|
605
|
-
return s.bindings.map((
|
|
606
|
-
const
|
|
605
|
+
return s.bindings.map((u) => {
|
|
606
|
+
const i = s.menus.find((m) => m._id === u.productId), y = (i == null ? void 0 : i.name) ?? "-";
|
|
607
607
|
return {
|
|
608
|
-
...
|
|
608
|
+
...u,
|
|
609
609
|
name: y,
|
|
610
|
-
itemCode: (
|
|
610
|
+
itemCode: (i == null ? void 0 : i.code) ?? "-"
|
|
611
611
|
};
|
|
612
612
|
});
|
|
613
|
-
const
|
|
614
|
-
return s.bindings.map((
|
|
613
|
+
const c = d.value.flatMap((u) => u.items);
|
|
614
|
+
return s.bindings.map((u) => {
|
|
615
615
|
var o;
|
|
616
|
-
const
|
|
617
|
-
let
|
|
618
|
-
if (
|
|
619
|
-
const B = (((o =
|
|
620
|
-
(L) => L.combinationKey ===
|
|
616
|
+
const i = c.find((B) => B._id === u.productId), y = (i == null ? void 0 : i.name) ?? "-";
|
|
617
|
+
let m = (i == null ? void 0 : i.code) ?? "-", e;
|
|
618
|
+
if (u.combinationKey) {
|
|
619
|
+
const B = (((o = i == null ? void 0 : i.variant) == null ? void 0 : o.variantCombinations) || []).find(
|
|
620
|
+
(L) => L.combinationKey === u.combinationKey
|
|
621
621
|
);
|
|
622
|
-
e = (B == null ? void 0 : B.name) ?? (B == null ? void 0 : B.codeName) ?? "",
|
|
622
|
+
e = (B == null ? void 0 : B.name) ?? (B == null ? void 0 : B.codeName) ?? "", m = (B == null ? void 0 : B.code) ?? m;
|
|
623
623
|
}
|
|
624
624
|
return {
|
|
625
|
-
...
|
|
625
|
+
...u,
|
|
626
626
|
name: y,
|
|
627
|
-
itemCode:
|
|
627
|
+
itemCode: m,
|
|
628
628
|
variantName: e
|
|
629
629
|
};
|
|
630
630
|
});
|
|
631
631
|
});
|
|
632
|
-
function A(
|
|
633
|
-
|
|
632
|
+
function A(c) {
|
|
633
|
+
r(
|
|
634
634
|
"update:bindings",
|
|
635
635
|
s.bindings.filter(
|
|
636
|
-
(
|
|
636
|
+
(u) => u.productId !== c.productId || u.combinationKey !== c.combinationKey
|
|
637
637
|
)
|
|
638
638
|
);
|
|
639
639
|
}
|
|
640
|
-
function
|
|
640
|
+
function S({ productId: c, combinationKey: u }, i) {
|
|
641
641
|
const y = s.bindings.find(
|
|
642
|
-
(
|
|
642
|
+
(m) => m.productId === c && m.combinationKey === u
|
|
643
643
|
);
|
|
644
|
-
y && (y.code =
|
|
644
|
+
y && (y.code = i);
|
|
645
645
|
}
|
|
646
|
-
function
|
|
647
|
-
return
|
|
648
|
-
label:
|
|
646
|
+
function p() {
|
|
647
|
+
return d.value.map((c) => ({
|
|
648
|
+
label: c.name,
|
|
649
649
|
sublabel: "Category",
|
|
650
|
-
value:
|
|
650
|
+
value: c.name,
|
|
651
651
|
disabled: !1,
|
|
652
|
-
children:
|
|
652
|
+
children: c.items.map((u) => {
|
|
653
653
|
var y;
|
|
654
|
-
const
|
|
655
|
-
return
|
|
656
|
-
label:
|
|
657
|
-
value:
|
|
654
|
+
const i = (y = u.variant) == null ? void 0 : y.variantCombinations;
|
|
655
|
+
return i != null && i.length ? {
|
|
656
|
+
label: u.name ?? "",
|
|
657
|
+
value: u._id,
|
|
658
658
|
sublabel: "Product",
|
|
659
659
|
children: [
|
|
660
660
|
{
|
|
661
|
-
label:
|
|
661
|
+
label: u.codeName ?? "",
|
|
662
662
|
value: {
|
|
663
|
-
productId:
|
|
663
|
+
productId: u._id
|
|
664
664
|
},
|
|
665
665
|
active: !!s.bindings.find(
|
|
666
|
-
({ productId:
|
|
666
|
+
({ productId: m, combinationKey: e }) => u._id === m && !e
|
|
667
667
|
)
|
|
668
668
|
},
|
|
669
|
-
...
|
|
670
|
-
label:
|
|
669
|
+
...i.map((m) => ({
|
|
670
|
+
label: m.codeName ?? "",
|
|
671
671
|
value: {
|
|
672
|
-
productId:
|
|
673
|
-
combinationKey:
|
|
672
|
+
productId: u._id,
|
|
673
|
+
combinationKey: m.combinationKey
|
|
674
674
|
},
|
|
675
675
|
sublabel: "Variant",
|
|
676
676
|
active: !!s.bindings.find(
|
|
677
|
-
({ productId: e, combinationKey: o }) =>
|
|
677
|
+
({ productId: e, combinationKey: o }) => u._id === e && m.combinationKey === o
|
|
678
678
|
)
|
|
679
679
|
}))
|
|
680
680
|
]
|
|
681
681
|
} : {
|
|
682
|
-
label:
|
|
682
|
+
label: u.codeName ?? "",
|
|
683
683
|
value: {
|
|
684
|
-
productId:
|
|
684
|
+
productId: u._id
|
|
685
685
|
},
|
|
686
686
|
active: !!s.bindings.find(
|
|
687
|
-
({ productId:
|
|
687
|
+
({ productId: m, combinationKey: e }) => u._id === m && !e
|
|
688
688
|
)
|
|
689
689
|
};
|
|
690
690
|
})
|
|
691
691
|
}));
|
|
692
692
|
}
|
|
693
|
-
function
|
|
694
|
-
return s.menus.map((
|
|
695
|
-
label:
|
|
696
|
-
value: { productId:
|
|
693
|
+
function v() {
|
|
694
|
+
return s.menus.map((c) => ({
|
|
695
|
+
label: c.name,
|
|
696
|
+
value: { productId: c._id },
|
|
697
697
|
active: !!s.bindings.find(
|
|
698
|
-
({ productId:
|
|
698
|
+
({ productId: u, combinationKey: i }) => c._id === u && !i
|
|
699
699
|
)
|
|
700
700
|
}));
|
|
701
701
|
}
|
|
702
|
-
function
|
|
703
|
-
const
|
|
704
|
-
return
|
|
702
|
+
function h(c) {
|
|
703
|
+
const u = $(s.bindings);
|
|
704
|
+
return c.flatMap((i) => i.children.flatMap((y) => {
|
|
705
705
|
var e;
|
|
706
706
|
if (K(y))
|
|
707
707
|
return y.children.filter((o) => o.active).map((o) => {
|
|
@@ -710,94 +710,94 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
710
710
|
return L ? {
|
|
711
711
|
productId: B,
|
|
712
712
|
combinationKey: L,
|
|
713
|
-
code: ((V =
|
|
713
|
+
code: ((V = u.find(
|
|
714
714
|
({ productId: U, combinationKey: M }) => B === U && L === M
|
|
715
715
|
)) == null ? void 0 : V.code) ?? ""
|
|
716
716
|
} : {
|
|
717
717
|
productId: B,
|
|
718
|
-
code: ((H =
|
|
718
|
+
code: ((H = u.find(({ productId: U, combinationKey: M }) => B === U && !M)) == null ? void 0 : H.code) ?? ""
|
|
719
719
|
};
|
|
720
720
|
});
|
|
721
721
|
if (!y.active)
|
|
722
722
|
return [];
|
|
723
|
-
const { productId:
|
|
723
|
+
const { productId: m } = y.value;
|
|
724
724
|
return [
|
|
725
725
|
{
|
|
726
|
-
productId:
|
|
727
|
-
code: ((e =
|
|
726
|
+
productId: m,
|
|
727
|
+
code: ((e = u.find(({ productId: o, combinationKey: B }) => m === o && !B)) == null ? void 0 : e.code) ?? ""
|
|
728
728
|
}
|
|
729
729
|
];
|
|
730
730
|
}));
|
|
731
731
|
}
|
|
732
|
-
function C(
|
|
733
|
-
const
|
|
734
|
-
return
|
|
735
|
-
(
|
|
732
|
+
function C(c) {
|
|
733
|
+
const u = $(s.bindings);
|
|
734
|
+
return c.filter((i) => i.active).map(
|
|
735
|
+
(i) => {
|
|
736
736
|
var y;
|
|
737
737
|
return {
|
|
738
|
-
productId:
|
|
739
|
-
code: ((y =
|
|
738
|
+
productId: i.value.productId,
|
|
739
|
+
code: ((y = u.find(({ productId: m }) => m === i.value.productId)) == null ? void 0 : y.code) ?? ""
|
|
740
740
|
};
|
|
741
741
|
}
|
|
742
742
|
);
|
|
743
743
|
}
|
|
744
|
-
function
|
|
745
|
-
let
|
|
746
|
-
s.isAddon ?
|
|
747
|
-
const
|
|
748
|
-
modelValue:
|
|
744
|
+
function w() {
|
|
745
|
+
let c;
|
|
746
|
+
s.isAddon ? c = v() : c = p();
|
|
747
|
+
const u = {
|
|
748
|
+
modelValue: c
|
|
749
749
|
};
|
|
750
750
|
n.open({
|
|
751
751
|
title: `Select ${t.value}`,
|
|
752
752
|
contentComponent: De,
|
|
753
|
-
contentComponentProps:
|
|
753
|
+
contentComponentProps: u,
|
|
754
754
|
primaryActions: {
|
|
755
755
|
text: "Confirm",
|
|
756
756
|
close: !0
|
|
757
757
|
}
|
|
758
|
-
}).onPrimary((
|
|
758
|
+
}).onPrimary((i) => {
|
|
759
759
|
let y;
|
|
760
|
-
s.isAddon ? y = C(
|
|
760
|
+
s.isAddon ? y = C(i) : y = h(i), r("update:bindings", y);
|
|
761
761
|
});
|
|
762
762
|
}
|
|
763
|
-
const { t:
|
|
764
|
-
return (
|
|
765
|
-
const
|
|
766
|
-
return
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
I(
|
|
763
|
+
const { t: f } = G();
|
|
764
|
+
return (c, u) => {
|
|
765
|
+
const i = E("FmButton"), y = E("FmTextField");
|
|
766
|
+
return k(), R("div", Bt, [
|
|
767
|
+
l("div", Ct, [
|
|
768
|
+
l("div", Et, T(F.isAddon ? x(f)("inventory.integration.apply.addons") : x(f)("inventory.integration.apply.products")), 1),
|
|
769
|
+
I(i, {
|
|
770
770
|
type: "button",
|
|
771
771
|
variant: "plain",
|
|
772
772
|
size: "md",
|
|
773
773
|
icon: "link",
|
|
774
|
-
label: F.isAddon ? x(
|
|
775
|
-
onClick:
|
|
774
|
+
label: F.isAddon ? x(f)("inventory.integration.apply.applyAddon") : x(f)("inventory.integration.apply.applyProduct"),
|
|
775
|
+
onClick: u[0] || (u[0] = (m) => w())
|
|
776
776
|
}, null, 8, ["label"])
|
|
777
777
|
]),
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
778
|
+
l("div", null, [
|
|
779
|
+
b.value.length > 0 ? (k(), R("table", Ft, [
|
|
780
|
+
l("thead", null, [
|
|
781
|
+
l("tr", Lt, [
|
|
782
|
+
l("th", Vt, T(x(f)("inventory.integration.apply.name")), 1),
|
|
783
|
+
l("th", null, T(x(f)("inventory.integration.apply.code")), 1),
|
|
784
|
+
u[1] || (u[1] = l("th", { class: "w-1" }, " ", -1))
|
|
785
785
|
])
|
|
786
786
|
]),
|
|
787
|
-
|
|
788
|
-
(
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
787
|
+
l("tbody", null, [
|
|
788
|
+
(k(!0), R(J, null, te(b.value, (m, e) => (k(), R(J, { key: e }, [
|
|
789
|
+
u[2] || (u[2] = l("tr", { class: "block h-8" }, null, -1)),
|
|
790
|
+
l("tr", null, [
|
|
791
|
+
l("td", null, [
|
|
792
|
+
l("div", Nt, [
|
|
793
|
+
l("div", Rt, T(m.itemCode) + " " + T(m.name), 1),
|
|
794
|
+
m.variantName ? (k(), R("div", Dt, T(m.variantName), 1)) : X("", !0)
|
|
795
795
|
])
|
|
796
796
|
]),
|
|
797
|
-
|
|
797
|
+
l("td", null, [
|
|
798
798
|
I(y, {
|
|
799
|
-
"model-value":
|
|
800
|
-
"onUpdate:modelValue": [(o) =>
|
|
799
|
+
"model-value": m.code,
|
|
800
|
+
"onUpdate:modelValue": [(o) => m.code = o, (o) => S(m, o)],
|
|
801
801
|
rules: [
|
|
802
802
|
function(B) {
|
|
803
803
|
return !!B || "Required";
|
|
@@ -805,20 +805,20 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
805
805
|
]
|
|
806
806
|
}, null, 8, ["model-value", "onUpdate:modelValue", "rules"])
|
|
807
807
|
]),
|
|
808
|
-
|
|
809
|
-
I(
|
|
808
|
+
l("td", Mt, [
|
|
809
|
+
I(i, {
|
|
810
810
|
type: "button",
|
|
811
811
|
variant: "tertiary",
|
|
812
812
|
icon: "delete",
|
|
813
813
|
"icon-color": "#000000",
|
|
814
814
|
size: "md",
|
|
815
|
-
onClick: (o) => A(
|
|
815
|
+
onClick: (o) => A(m)
|
|
816
816
|
}, null, 8, ["onClick"])
|
|
817
817
|
])
|
|
818
818
|
])
|
|
819
819
|
], 64))), 128))
|
|
820
820
|
])
|
|
821
|
-
])) :
|
|
821
|
+
])) : X("", !0)
|
|
822
822
|
])
|
|
823
823
|
]);
|
|
824
824
|
};
|
|
@@ -835,56 +835,56 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
835
835
|
loading: { type: Boolean }
|
|
836
836
|
},
|
|
837
837
|
emits: ["update:setting", "update:show", "submit"],
|
|
838
|
-
setup(F, { emit:
|
|
839
|
-
const s = F,
|
|
840
|
-
pe([() => s.show], ([
|
|
841
|
-
if (
|
|
842
|
-
for (const
|
|
843
|
-
n[
|
|
838
|
+
setup(F, { emit: g }) {
|
|
839
|
+
const s = F, r = g, n = fe($(s.setting));
|
|
840
|
+
pe([() => s.show], ([S]) => {
|
|
841
|
+
if (S)
|
|
842
|
+
for (const p of Object.keys(s.setting))
|
|
843
|
+
n[p] = s.setting[p];
|
|
844
844
|
});
|
|
845
|
-
const t = j(),
|
|
846
|
-
function
|
|
847
|
-
var
|
|
848
|
-
(
|
|
845
|
+
const t = j(), a = se(s, "show");
|
|
846
|
+
function d() {
|
|
847
|
+
var S, p;
|
|
848
|
+
(p = (S = t.value) == null ? void 0 : S.validateInputs) == null || p.call(S);
|
|
849
849
|
}
|
|
850
|
-
function
|
|
851
|
-
|
|
850
|
+
function b() {
|
|
851
|
+
r("update:setting", $(n)), r("submit");
|
|
852
852
|
}
|
|
853
853
|
const { t: A } = G();
|
|
854
|
-
return (
|
|
855
|
-
const
|
|
856
|
-
return
|
|
857
|
-
modelValue: x(
|
|
858
|
-
"onUpdate:modelValue":
|
|
854
|
+
return (S, p) => {
|
|
855
|
+
const v = E("FmChip"), h = E("FmForm"), C = E("FmButton"), w = E("FmSideSheet");
|
|
856
|
+
return k(), _(w, {
|
|
857
|
+
modelValue: x(a),
|
|
858
|
+
"onUpdate:modelValue": p[4] || (p[4] = (f) => oe(a) ? a.value = f : null),
|
|
859
859
|
header: x(A)("inventory.integration.apply.title"),
|
|
860
860
|
"dismiss-away": "",
|
|
861
861
|
"close-button": "",
|
|
862
862
|
"max-width": 500
|
|
863
863
|
}, {
|
|
864
864
|
default: D(() => [
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
I(
|
|
865
|
+
l("div", jt, [
|
|
866
|
+
l("div", null, [
|
|
867
|
+
I(v, { label: "Menu v3" })
|
|
868
868
|
]),
|
|
869
|
-
I(
|
|
869
|
+
I(h, {
|
|
870
870
|
ref_key: "formRef",
|
|
871
871
|
ref: t,
|
|
872
|
-
onValidationSuccess:
|
|
872
|
+
onValidationSuccess: p[2] || (p[2] = (f) => b())
|
|
873
873
|
}, {
|
|
874
874
|
default: D(() => [
|
|
875
875
|
I(ce, {
|
|
876
876
|
bindings: n.bindings,
|
|
877
|
-
categories:
|
|
878
|
-
variants:
|
|
879
|
-
menus:
|
|
880
|
-
"onUpdate:bindings":
|
|
877
|
+
categories: S.categories,
|
|
878
|
+
variants: S.variants,
|
|
879
|
+
menus: S.menus,
|
|
880
|
+
"onUpdate:bindings": p[0] || (p[0] = (f) => n.bindings = f)
|
|
881
881
|
}, null, 8, ["bindings", "categories", "variants", "menus"]),
|
|
882
882
|
I(xt, {
|
|
883
883
|
form: t.value,
|
|
884
884
|
modifiers: n.modifiers ?? [],
|
|
885
|
-
groups:
|
|
886
|
-
items:
|
|
887
|
-
"onUpdate:modifiers":
|
|
885
|
+
groups: S.groups ?? [],
|
|
886
|
+
items: S.menus ?? [],
|
|
887
|
+
"onUpdate:modifiers": p[1] || (p[1] = (f) => n.modifiers = f)
|
|
888
888
|
}, null, 8, ["form", "modifiers", "groups", "items"])
|
|
889
889
|
]),
|
|
890
890
|
_: 1
|
|
@@ -893,10 +893,10 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
893
893
|
]),
|
|
894
894
|
"side-sheet-footer": D(() => [
|
|
895
895
|
I(C, {
|
|
896
|
-
loading:
|
|
896
|
+
loading: S.loading,
|
|
897
897
|
type: "submit",
|
|
898
898
|
label: x(A)("common.confirm"),
|
|
899
|
-
onClick:
|
|
899
|
+
onClick: p[3] || (p[3] = (f) => d())
|
|
900
900
|
}, null, 8, ["loading", "label"])
|
|
901
901
|
]),
|
|
902
902
|
_: 1
|
|
@@ -915,70 +915,70 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
915
915
|
loading: { type: Boolean }
|
|
916
916
|
},
|
|
917
917
|
emits: ["update:setting", "update:show", "submit"],
|
|
918
|
-
setup(F, { emit:
|
|
919
|
-
const s = F,
|
|
920
|
-
pe([() => s.show], ([
|
|
921
|
-
if (
|
|
922
|
-
for (const
|
|
923
|
-
n[
|
|
918
|
+
setup(F, { emit: g }) {
|
|
919
|
+
const s = F, r = g, n = fe($(s.setting));
|
|
920
|
+
pe([() => s.show], ([f]) => {
|
|
921
|
+
if (f)
|
|
922
|
+
for (const c of Object.keys(s.setting))
|
|
923
|
+
n[c] = s.setting[c];
|
|
924
924
|
});
|
|
925
|
-
const t = z(() => s.menus.filter((
|
|
926
|
-
const
|
|
927
|
-
return
|
|
928
|
-
})),
|
|
929
|
-
const
|
|
930
|
-
return
|
|
925
|
+
const t = z(() => s.menus.filter((f) => (f == null ? void 0 : f.category) === null)), a = z(() => n.bindings.filter((f) => {
|
|
926
|
+
const c = s.menus.find((u) => u._id === f.productId);
|
|
927
|
+
return c ? (c == null ? void 0 : c.category) === null : !1;
|
|
928
|
+
})), d = z(() => s.menus.filter((f) => (f == null ? void 0 : f.category) !== null)), b = z(() => n.bindings.filter((f) => {
|
|
929
|
+
const c = s.menus.find((u) => u._id === f.productId);
|
|
930
|
+
return c ? (c == null ? void 0 : c.category) !== null : !1;
|
|
931
931
|
}));
|
|
932
|
-
function A(
|
|
933
|
-
n.bindings = [...
|
|
932
|
+
function A(f) {
|
|
933
|
+
n.bindings = [...a.value, ...f];
|
|
934
934
|
}
|
|
935
|
-
function
|
|
936
|
-
n.bindings = [...
|
|
935
|
+
function S(f) {
|
|
936
|
+
n.bindings = [...b.value, ...f];
|
|
937
937
|
}
|
|
938
|
-
const
|
|
939
|
-
function
|
|
940
|
-
var
|
|
941
|
-
(
|
|
938
|
+
const p = j(), v = se(s, "show");
|
|
939
|
+
function h() {
|
|
940
|
+
var f, c;
|
|
941
|
+
(c = (f = p.value) == null ? void 0 : f.validateInputs) == null || c.call(f);
|
|
942
942
|
}
|
|
943
943
|
function C() {
|
|
944
|
-
|
|
944
|
+
r("update:setting", $(n)), r("submit");
|
|
945
945
|
}
|
|
946
|
-
const { t:
|
|
947
|
-
return (
|
|
948
|
-
const
|
|
949
|
-
return
|
|
950
|
-
modelValue: x(
|
|
951
|
-
"onUpdate:modelValue":
|
|
952
|
-
header: x(
|
|
946
|
+
const { t: w } = G();
|
|
947
|
+
return (f, c) => {
|
|
948
|
+
const u = E("FmChip"), i = E("FmForm"), y = E("FmButton"), m = E("FmSideSheet");
|
|
949
|
+
return k(), _(m, {
|
|
950
|
+
modelValue: x(v),
|
|
951
|
+
"onUpdate:modelValue": c[4] || (c[4] = (e) => oe(v) ? v.value = e : null),
|
|
952
|
+
header: x(w)("inventory.integration.apply.title"),
|
|
953
953
|
"dismiss-away": "",
|
|
954
954
|
"close-button": "",
|
|
955
955
|
"max-width": 500
|
|
956
956
|
}, {
|
|
957
957
|
default: D(() => [
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
I(
|
|
958
|
+
l("div", Tt, [
|
|
959
|
+
l("div", null, [
|
|
960
|
+
I(u, { label: "Menu v4" })
|
|
961
961
|
]),
|
|
962
|
-
I(
|
|
962
|
+
I(i, {
|
|
963
963
|
ref_key: "formRef",
|
|
964
|
-
ref:
|
|
965
|
-
onValidationSuccess:
|
|
964
|
+
ref: p,
|
|
965
|
+
onValidationSuccess: c[2] || (c[2] = (e) => C())
|
|
966
966
|
}, {
|
|
967
967
|
default: D(() => [
|
|
968
968
|
I(ce, {
|
|
969
|
-
categories:
|
|
970
|
-
variants:
|
|
971
|
-
bindings:
|
|
972
|
-
menus:
|
|
973
|
-
"onUpdate:bindings":
|
|
969
|
+
categories: f.categories,
|
|
970
|
+
variants: f.variants,
|
|
971
|
+
bindings: b.value,
|
|
972
|
+
menus: d.value,
|
|
973
|
+
"onUpdate:bindings": c[0] || (c[0] = (e) => A(e))
|
|
974
974
|
}, null, 8, ["categories", "variants", "bindings", "menus"]),
|
|
975
975
|
I(ce, {
|
|
976
976
|
"is-addon": !0,
|
|
977
977
|
categories: [],
|
|
978
|
-
variants:
|
|
979
|
-
bindings:
|
|
978
|
+
variants: f.variants,
|
|
979
|
+
bindings: a.value,
|
|
980
980
|
menus: t.value,
|
|
981
|
-
"onUpdate:bindings":
|
|
981
|
+
"onUpdate:bindings": c[1] || (c[1] = (e) => S(e))
|
|
982
982
|
}, null, 8, ["variants", "bindings", "menus"])
|
|
983
983
|
]),
|
|
984
984
|
_: 1
|
|
@@ -987,39 +987,39 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
987
987
|
]),
|
|
988
988
|
"side-sheet-footer": D(() => [
|
|
989
989
|
I(y, {
|
|
990
|
-
loading:
|
|
990
|
+
loading: f.loading,
|
|
991
991
|
type: "submit",
|
|
992
|
-
label: x(
|
|
993
|
-
onClick:
|
|
992
|
+
label: x(w)("common.confirm"),
|
|
993
|
+
onClick: c[3] || (c[3] = (e) => h())
|
|
994
994
|
}, null, 8, ["loading", "label"])
|
|
995
995
|
]),
|
|
996
996
|
_: 1
|
|
997
997
|
}, 8, ["modelValue", "header"]);
|
|
998
998
|
};
|
|
999
999
|
}
|
|
1000
|
-
}), Ht = { key: 0 },
|
|
1000
|
+
}), Ht = { key: 0 }, Xt = { class: "flex justify-center" }, _t = ["src"], Ut = { class: "flex flex-col items-center gap-2" }, Qt = { class: "text-lg font-bold" }, Yt = { class: "text-fm-color-neutral-gray-300" }, Jt = { key: 0 }, Kt = /* @__PURE__ */ Y({
|
|
1001
1001
|
__name: "FoodMarketHub",
|
|
1002
1002
|
setup(F) {
|
|
1003
|
-
const
|
|
1004
|
-
var
|
|
1005
|
-
return (
|
|
1003
|
+
const g = ie(), s = ae(), r = W(), n = j(!1), t = qe(), a = z(() => t.state.menu ?? []), d = z(() => t.state.group ?? []), b = z(() => t.state.variants ?? []), A = z(() => t.state.categories ?? []), S = Ue(), p = z(() => {
|
|
1004
|
+
var i;
|
|
1005
|
+
return (i = g.currentBusiness.value) == null ? void 0 : i.menuVersion;
|
|
1006
1006
|
});
|
|
1007
|
-
|
|
1008
|
-
const
|
|
1009
|
-
async function
|
|
1010
|
-
|
|
1007
|
+
r.watchLocation(t.init);
|
|
1008
|
+
const v = j(!1);
|
|
1009
|
+
async function h() {
|
|
1010
|
+
v.value = !0;
|
|
1011
1011
|
}
|
|
1012
|
-
const { breakpoints: C } = Ve(),
|
|
1013
|
-
async function
|
|
1014
|
-
const
|
|
1015
|
-
if (
|
|
1012
|
+
const { breakpoints: C } = Ve(), w = z(() => C.value.xs || C.value.sm), f = z(() => w.value);
|
|
1013
|
+
async function c() {
|
|
1014
|
+
const i = t.state.setting;
|
|
1015
|
+
if (i) {
|
|
1016
1016
|
n.value = !0;
|
|
1017
1017
|
try {
|
|
1018
|
-
await
|
|
1018
|
+
await S.updateSetting(i), s.open({
|
|
1019
1019
|
title: "Success",
|
|
1020
1020
|
message: "Your changes has been saved",
|
|
1021
1021
|
type: "success"
|
|
1022
|
-
}),
|
|
1022
|
+
}), v.value = !1, await t.init();
|
|
1023
1023
|
return;
|
|
1024
1024
|
} catch (y) {
|
|
1025
1025
|
s.open({
|
|
@@ -1032,33 +1032,33 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1032
1032
|
}
|
|
1033
1033
|
}
|
|
1034
1034
|
}
|
|
1035
|
-
const { t:
|
|
1036
|
-
return (
|
|
1037
|
-
const
|
|
1038
|
-
return x(t).isEnabled && !x(t).isBusinessLocation ? (
|
|
1035
|
+
const { t: u } = G();
|
|
1036
|
+
return (i, y) => {
|
|
1037
|
+
const m = E("FmCardSection"), e = E("FmCard");
|
|
1038
|
+
return x(t).isEnabled && !x(t).isBusinessLocation ? (k(), R("div", Ht, [
|
|
1039
1039
|
I(e, {
|
|
1040
1040
|
class: q({
|
|
1041
|
-
"w-full":
|
|
1042
|
-
"w-1/2": !
|
|
1041
|
+
"w-full": f.value,
|
|
1042
|
+
"w-1/2": !f.value,
|
|
1043
1043
|
border: !0,
|
|
1044
1044
|
"border-fm-color-neutral-gray-100": !0,
|
|
1045
1045
|
"cursor-pointer": !0,
|
|
1046
1046
|
"hover:border-fm-color-primary": !0
|
|
1047
1047
|
}),
|
|
1048
|
-
onClick: y[0] || (y[0] = (o) =>
|
|
1048
|
+
onClick: y[0] || (y[0] = (o) => h())
|
|
1049
1049
|
}, {
|
|
1050
1050
|
default: D(() => [
|
|
1051
|
-
I(
|
|
1051
|
+
I(m, null, {
|
|
1052
1052
|
default: D(() => [
|
|
1053
|
-
|
|
1054
|
-
|
|
1053
|
+
l("div", Xt, [
|
|
1054
|
+
l("img", {
|
|
1055
1055
|
src: x(tt),
|
|
1056
1056
|
alt: "Food Market Hub"
|
|
1057
|
-
}, null, 8,
|
|
1057
|
+
}, null, 8, _t)
|
|
1058
1058
|
]),
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1059
|
+
l("div", Ut, [
|
|
1060
|
+
l("div", Qt, T(x(u)("inventory.integration.fmh.title")), 1),
|
|
1061
|
+
l("div", Yt, T(x(u)("inventory.integration.fmh.description")), 1)
|
|
1062
1062
|
])
|
|
1063
1063
|
]),
|
|
1064
1064
|
_: 1
|
|
@@ -1066,36 +1066,36 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1066
1066
|
]),
|
|
1067
1067
|
_: 1
|
|
1068
1068
|
}, 8, ["class"]),
|
|
1069
|
-
x(t).state.setting ? (
|
|
1070
|
-
(
|
|
1071
|
-
|
|
1069
|
+
x(t).state.setting ? (k(), R("div", Jt, [
|
|
1070
|
+
(k(), _(ue, { to: "body" }, [
|
|
1071
|
+
p.value === "v3" ? (k(), _(Ot, {
|
|
1072
1072
|
key: 0,
|
|
1073
|
-
menus:
|
|
1074
|
-
variants:
|
|
1073
|
+
menus: a.value,
|
|
1074
|
+
variants: b.value,
|
|
1075
1075
|
categories: A.value,
|
|
1076
1076
|
setting: x(t).state.setting,
|
|
1077
1077
|
"onUpdate:setting": y[1] || (y[1] = (o) => x(t).state.setting = o),
|
|
1078
|
-
show:
|
|
1079
|
-
"onUpdate:show": y[2] || (y[2] = (o) =>
|
|
1080
|
-
groups:
|
|
1078
|
+
show: v.value,
|
|
1079
|
+
"onUpdate:show": y[2] || (y[2] = (o) => v.value = o),
|
|
1080
|
+
groups: d.value,
|
|
1081
1081
|
loading: n.value,
|
|
1082
|
-
onSubmit: y[3] || (y[3] = (o) =>
|
|
1083
|
-
}, null, 8, ["menus", "variants", "categories", "setting", "show", "groups", "loading"])) : (
|
|
1082
|
+
onSubmit: y[3] || (y[3] = (o) => c())
|
|
1083
|
+
}, null, 8, ["menus", "variants", "categories", "setting", "show", "groups", "loading"])) : (k(), _(zt, {
|
|
1084
1084
|
key: 1,
|
|
1085
|
-
menus:
|
|
1086
|
-
variants:
|
|
1085
|
+
menus: a.value,
|
|
1086
|
+
variants: b.value,
|
|
1087
1087
|
categories: A.value,
|
|
1088
1088
|
setting: x(t).state.setting,
|
|
1089
1089
|
"onUpdate:setting": y[4] || (y[4] = (o) => x(t).state.setting = o),
|
|
1090
|
-
show:
|
|
1091
|
-
"onUpdate:show": y[5] || (y[5] = (o) =>
|
|
1092
|
-
groups:
|
|
1090
|
+
show: v.value,
|
|
1091
|
+
"onUpdate:show": y[5] || (y[5] = (o) => v.value = o),
|
|
1092
|
+
groups: d.value,
|
|
1093
1093
|
loading: n.value,
|
|
1094
|
-
onSubmit: y[6] || (y[6] = (o) =>
|
|
1094
|
+
onSubmit: y[6] || (y[6] = (o) => c())
|
|
1095
1095
|
}, null, 8, ["menus", "variants", "categories", "setting", "show", "groups", "loading"]))
|
|
1096
1096
|
]))
|
|
1097
|
-
])) :
|
|
1098
|
-
])) :
|
|
1097
|
+
])) : X("", !0)
|
|
1098
|
+
])) : X("", !0);
|
|
1099
1099
|
};
|
|
1100
1100
|
}
|
|
1101
1101
|
}), Zt = "data:image/svg+xml,%3csvg%20width='200'%20height='100'%20viewBox='0%200%20200%20100'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3crect%20width='200'%20height='100'%20fill='url(%23pattern0_1500_58879)'/%3e%3cdefs%3e%3cpattern%20id='pattern0_1500_58879'%20patternContentUnits='objectBoundingBox'%20width='1'%20height='1'%3e%3cuse%20xlink:href='%23image0_1500_58879'%20transform='matrix(0.002%200%200%200.004%200%200.046)'/%3e%3c/pattern%3e%3cimage%20id='image0_1500_58879'%20width='500'%20height='227'%20xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADjCAYAAABzcuYdAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB9KADAAQAAAABAAAA4wAAAABu8la3AABAAElEQVR4Ae2dCYAcVZnH61V191w5yDU5CDAkIXN0z0wC7C4uAorKpeyysugiuLqKooKIBwsCcguCFwoogqwrIHhzLIKigDeIQDLT3XMlmYSQBHKQhITM1V319v+6p/qorup+1VPd0z3zFXSm6r3vvfe9X1W9792lKHQQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIgMKIAREgApVLoKmp6aCGhoZZqrp/fzi8eU/lakqaEQEiMNkEpqNBZ8Fg00JVr13AfcpizrX5uAlLVVVlhmHwybohSF/lnA/jtwU6bIcu24eHh3du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ASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARyCTAMi/onAgQgWwCra2th6mqulBTlEWKYjRyVZ2nKspcnHPO1bjCjW0IsVvhbKvO2OvDw8NbBwcH38iOha6IABEgAqUnULUGvb390DlcmXEbMrCQK8wwUWncPEv9DegKvycS6bk/5eLRSbC99VKmqKcgujEzSpv0GVd4zFD0qyOR/hdMOae/HStWLGW1tfcoijUjukMQmBoXB5TJOrjNE8AZV3Ujfnk0OvD3LGFctLW1BX2qcgtTmB+Xltis0t5f5+pvkwEFDwRjXwyHwy+61SAYDAY0wzhS0dT3KIwfh3wuRxww5ooM6L1AspVz5WXG2J+4zp8Z1fWe/v7+/UXocaimql9HuIMY56nnG9cBQH+4OxL5lts43cqvWLGipq6u5ivg0AEV4iK8eL7xzPjwT7/Oey+ORtPPvlP8TU1NtbNmNIh42g2FJeIRsoxxHzdYH3h9NhqNpt4hazzt7cGPI9mz4T5m835Zxct2DZ1qUKG7vzva+/18iXaEgncj78sYT+c9n7xXfniPxX0a3LV7z2e2bds25FW8FE/lEvBVrmr5NTOMmTWqppwEqQW2RXpGcJUrHe3tK18Ihwf6MpwnfArjciRTlbcVighGAf+pdxSSS/hrWgNKOuQLxUXWUSiXWcKOF9ZY7Ay60NbHVFuDgQdmLozVaY4JlNgjV3+rS1IBZhjfcKmK1hEM/pui8ovA/1iGGwaT4zIK5SCEOQhhgwh4GtOYUqv6utqDbU/AkN0Ho9UjGyGa/zMheyo0EM9DVjBcbcpyKNHF0NCQBoN+HPJ0FO55KhVxhqdz8RtvLEUlZ0vK3elk1vCwpsysF5WjIzOigThiYnzR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dyNcyY+uaN9vkMhvVgdXdoLtyaiciHH/ozFwehD+Cv2d+pRjOlOgKkfXPXuOM/57roz+LhLZ8ArCeHro8+fHVEO5D8vi/oqnNz25EApDvZc3bdqUcvM04fHIsIlPRGG+xETWzOcOzyEGS5h4Bkp7cP59PNQHZ06sNBNE5Sn1zppusn+Tb3Kh95n5cX+flo2T5KqbgFn+V3cuSHsi4B0BtnTp0trZODTDWMJ9yiKU+qL1PhstvUTpid3ZGGaNjzBFfw3Dk6/C5r8SiUSEAY95p0bRMSWW0tXW1h4Ma7kcOi+AvjOydGdsN3okdijKyODu3UOvbtu2bajo1CggESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiIBHBP4fA65iItIh5WIAAAAASUVORK5CYII='/%3e%3c/defs%3e%3c/svg%3e", qt = { class: "flex-col items-center" }, Gt = { class: "flex gap-2" }, Pt = {
|
|
@@ -1118,34 +1118,34 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1118
1118
|
}) }
|
|
1119
1119
|
},
|
|
1120
1120
|
emits: ["update:modelValue"],
|
|
1121
|
-
setup(F, { emit:
|
|
1122
|
-
const s = F,
|
|
1123
|
-
return (t,
|
|
1124
|
-
const
|
|
1125
|
-
return
|
|
1126
|
-
|
|
1127
|
-
I(
|
|
1121
|
+
setup(F, { emit: g }) {
|
|
1122
|
+
const s = F, r = z(() => s.modelValue), n = g;
|
|
1123
|
+
return (t, a) => {
|
|
1124
|
+
const d = E("FmSelect"), b = E("FmButton"), A = E("FmIcon");
|
|
1125
|
+
return k(), R("div", qt, [
|
|
1126
|
+
l("div", Gt, [
|
|
1127
|
+
I(d, {
|
|
1128
1128
|
placeholder: "Select NetSuite Location",
|
|
1129
1129
|
items: t.nsLocationOptions,
|
|
1130
1130
|
searchable: "",
|
|
1131
1131
|
searchTarget: "label",
|
|
1132
|
-
"model-value":
|
|
1133
|
-
"onUpdate:modelValue":
|
|
1132
|
+
"model-value": r.value,
|
|
1133
|
+
"onUpdate:modelValue": a[0] || (a[0] = (S) => n("update:modelValue", S))
|
|
1134
1134
|
}, null, 8, ["items", "model-value"]),
|
|
1135
|
-
|
|
1135
|
+
r.value.netsuiteId ? (k(), _(b, {
|
|
1136
1136
|
key: 0,
|
|
1137
1137
|
variant: "secondary",
|
|
1138
1138
|
label: "Clear",
|
|
1139
|
-
onClick:
|
|
1139
|
+
onClick: a[1] || (a[1] = (S) => n("update:modelValue", {
|
|
1140
1140
|
netsuiteId: "",
|
|
1141
1141
|
name: "",
|
|
1142
1142
|
subsidiaryName: "",
|
|
1143
1143
|
subsidiaryId: ""
|
|
1144
1144
|
}))
|
|
1145
|
-
})) :
|
|
1145
|
+
})) : X("", !0)
|
|
1146
1146
|
]),
|
|
1147
|
-
t.isDuplicate ? (
|
|
1148
|
-
|
|
1147
|
+
t.isDuplicate ? (k(), R("div", Pt, " NetSuite location being used by another FeedMe location. ")) : X("", !0),
|
|
1148
|
+
r.value.netsuiteId ? (k(), R("div", Wt, [
|
|
1149
1149
|
I(A, {
|
|
1150
1150
|
name: "cloud",
|
|
1151
1151
|
color: "neutral-gray-400",
|
|
@@ -1153,12 +1153,12 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1153
1153
|
class: "mr-2",
|
|
1154
1154
|
outline: ""
|
|
1155
1155
|
}),
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1156
|
+
l("div", $t, [
|
|
1157
|
+
l("span", en, T(r.value.name), 1),
|
|
1158
|
+
l("span", tn, "ID: " + T(r.value.netsuiteId), 1),
|
|
1159
|
+
l("span", nn, "Subsidiary: " + T(r.value.subsidiaryName), 1)
|
|
1160
1160
|
])
|
|
1161
|
-
])) :
|
|
1161
|
+
])) : X("", !0)
|
|
1162
1162
|
]);
|
|
1163
1163
|
};
|
|
1164
1164
|
}
|
|
@@ -1183,13 +1183,13 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1183
1183
|
}
|
|
1184
1184
|
},
|
|
1185
1185
|
emits: ["update:loading", "update:showDialog"],
|
|
1186
|
-
setup(F, { emit:
|
|
1187
|
-
const s = le(),
|
|
1186
|
+
setup(F, { emit: g }) {
|
|
1187
|
+
const s = le(), r = ae(), n = [
|
|
1188
1188
|
{
|
|
1189
1189
|
id: "fmLocation",
|
|
1190
1190
|
header: "FeedMe Location",
|
|
1191
|
-
cell(
|
|
1192
|
-
const C =
|
|
1191
|
+
cell(h) {
|
|
1192
|
+
const C = h.row.original, w = N(ee.FmIcon, {
|
|
1193
1193
|
name: C.type,
|
|
1194
1194
|
color: "neutral-gray-400",
|
|
1195
1195
|
size: "md",
|
|
@@ -1197,7 +1197,7 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1197
1197
|
outline: !0
|
|
1198
1198
|
});
|
|
1199
1199
|
return N("div", { class: "flex items-center" }, [
|
|
1200
|
-
|
|
1200
|
+
w,
|
|
1201
1201
|
N("div", { class: "flex flex-col" }, [
|
|
1202
1202
|
N("span", { class: "font-medium" }, C.name),
|
|
1203
1203
|
N("span", { class: "text-xs text-gray-400" }, C.doc._id)
|
|
@@ -1208,82 +1208,82 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1208
1208
|
{
|
|
1209
1209
|
id: "nsLocation",
|
|
1210
1210
|
header: "NetSuite Location",
|
|
1211
|
-
cell(
|
|
1212
|
-
const C =
|
|
1213
|
-
([
|
|
1211
|
+
cell(h) {
|
|
1212
|
+
const C = h.row.original, w = d.value[C.dbName], f = Object.entries(d.value).some(
|
|
1213
|
+
([c, u]) => c !== C.dbName && u.netsuiteId === (w == null ? void 0 : w.netsuiteId)
|
|
1214
1214
|
);
|
|
1215
1215
|
return N(on, {
|
|
1216
|
-
isDuplicate:
|
|
1217
|
-
nsLocationOptions:
|
|
1218
|
-
modelValue:
|
|
1216
|
+
isDuplicate: f,
|
|
1217
|
+
nsLocationOptions: S.value,
|
|
1218
|
+
modelValue: w,
|
|
1219
1219
|
fmLocation: C,
|
|
1220
|
-
"onUpdate:modelValue": (
|
|
1221
|
-
|
|
1222
|
-
...
|
|
1220
|
+
"onUpdate:modelValue": (c) => {
|
|
1221
|
+
c.netsuiteId ? d.value = {
|
|
1222
|
+
...d.value,
|
|
1223
1223
|
[C.dbName]: {
|
|
1224
|
-
netsuiteId:
|
|
1225
|
-
name:
|
|
1226
|
-
subsidiaryName:
|
|
1227
|
-
subsidiaryId:
|
|
1224
|
+
netsuiteId: c.netsuiteId,
|
|
1225
|
+
name: c.name,
|
|
1226
|
+
subsidiaryName: c.subsidiaryName,
|
|
1227
|
+
subsidiaryId: c.subsidiaryId
|
|
1228
1228
|
}
|
|
1229
|
-
} : delete
|
|
1229
|
+
} : delete d.value[C.dbName];
|
|
1230
1230
|
}
|
|
1231
1231
|
});
|
|
1232
1232
|
}
|
|
1233
1233
|
}
|
|
1234
|
-
], t = F,
|
|
1235
|
-
label:
|
|
1236
|
-
value:
|
|
1237
|
-
}))),
|
|
1238
|
-
(
|
|
1234
|
+
], t = F, a = g, d = j({}), b = j(), A = j(""), S = z(() => t.nsLocationsNotBeingUsed.map((h) => ({
|
|
1235
|
+
label: h.name,
|
|
1236
|
+
value: h
|
|
1237
|
+
}))), p = z(() => Object.values(d.value).length === 0 || Object.values(d.value).some(
|
|
1238
|
+
(h) => Object.values(d.value).filter((C) => C.netsuiteId === h.netsuiteId).length > 1
|
|
1239
1239
|
));
|
|
1240
|
-
async function
|
|
1240
|
+
async function v() {
|
|
1241
1241
|
try {
|
|
1242
|
-
|
|
1242
|
+
a("update:loading", !0), await s.updateLocationConfigs(d.value), r.open({
|
|
1243
1243
|
message: "Locations updated successfully",
|
|
1244
1244
|
type: "success"
|
|
1245
|
-
}),
|
|
1245
|
+
}), a("update:showDialog", !1);
|
|
1246
1246
|
} catch {
|
|
1247
|
-
|
|
1247
|
+
r.open({
|
|
1248
1248
|
message: "Failed to update locations. Please try again.",
|
|
1249
1249
|
type: "error"
|
|
1250
1250
|
});
|
|
1251
1251
|
} finally {
|
|
1252
|
-
|
|
1252
|
+
a("update:loading", !1);
|
|
1253
1253
|
}
|
|
1254
1254
|
}
|
|
1255
|
-
return (
|
|
1256
|
-
const
|
|
1257
|
-
return
|
|
1255
|
+
return (h, C) => {
|
|
1256
|
+
const w = E("FmTable"), f = E("FmForm"), c = E("FmSpacer"), u = E("FmButton"), i = E("FmDialog");
|
|
1257
|
+
return k(), _(i, {
|
|
1258
1258
|
modelValue: F.showDialog,
|
|
1259
|
-
"onUpdate:modelValue": C[2] || (C[2] = (y) =>
|
|
1259
|
+
"onUpdate:modelValue": C[2] || (C[2] = (y) => h.$emit("update:showDialog", y)),
|
|
1260
1260
|
overlay: !0,
|
|
1261
1261
|
"max-width": "900px"
|
|
1262
1262
|
}, {
|
|
1263
1263
|
"dialog-header": D(() => C[3] || (C[3] = [
|
|
1264
|
-
|
|
1264
|
+
l("div", null, "Add locations", -1)
|
|
1265
1265
|
])),
|
|
1266
1266
|
"dialog-footer": D(() => [
|
|
1267
|
-
I(
|
|
1268
|
-
I(
|
|
1267
|
+
I(c, { class: "sm:hidden xs:hidden" }),
|
|
1268
|
+
I(u, {
|
|
1269
1269
|
class: "sm:w-full xs:w-full",
|
|
1270
1270
|
label: "Submit",
|
|
1271
1271
|
size: "md",
|
|
1272
|
-
disabled:
|
|
1273
|
-
onClick:
|
|
1272
|
+
disabled: p.value,
|
|
1273
|
+
onClick: v
|
|
1274
1274
|
}, null, 8, ["disabled"])
|
|
1275
1275
|
]),
|
|
1276
1276
|
default: D(() => [
|
|
1277
|
-
I(
|
|
1277
|
+
I(f, {
|
|
1278
1278
|
ref: "formRef",
|
|
1279
1279
|
class: "mb-4",
|
|
1280
|
-
"model-value":
|
|
1281
|
-
"onUpdate:modelValue": C[1] || (C[1] = (y) =>
|
|
1280
|
+
"model-value": b.value,
|
|
1281
|
+
"onUpdate:modelValue": C[1] || (C[1] = (y) => b.value = y)
|
|
1282
1282
|
}, {
|
|
1283
1283
|
default: D(() => [
|
|
1284
|
-
I(
|
|
1285
|
-
modelValue:
|
|
1286
|
-
"onUpdate:modelValue": C[0] || (C[0] = (y) =>
|
|
1284
|
+
I(w, {
|
|
1285
|
+
modelValue: b.value,
|
|
1286
|
+
"onUpdate:modelValue": C[0] || (C[0] = (y) => b.value = y),
|
|
1287
1287
|
"row-data": t.fmLocationNotYetConfigured,
|
|
1288
1288
|
"column-defs": n,
|
|
1289
1289
|
"search-value": A.value,
|
|
@@ -1309,26 +1309,26 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1309
1309
|
loading: { type: Boolean }
|
|
1310
1310
|
},
|
|
1311
1311
|
emits: ["update:setting", "update:show", "update:loading", "submit"],
|
|
1312
|
-
setup(F, { emit:
|
|
1313
|
-
const s = ie(),
|
|
1314
|
-
pe([() => t.show], ([
|
|
1315
|
-
if (
|
|
1316
|
-
for (const
|
|
1317
|
-
|
|
1312
|
+
setup(F, { emit: g }) {
|
|
1313
|
+
const s = ie(), r = W(), n = j(!1), t = F, a = g, d = fe($(t.setting));
|
|
1314
|
+
pe([() => t.show], ([u]) => {
|
|
1315
|
+
if (u)
|
|
1316
|
+
for (const i of Object.keys(t.setting))
|
|
1317
|
+
d[i] = t.setting[i];
|
|
1318
1318
|
});
|
|
1319
|
-
const
|
|
1320
|
-
(
|
|
1321
|
-
)),
|
|
1319
|
+
const b = j(), A = se(t, "show"), S = j(), p = j(""), v = z(() => t.setting.locations.filter(
|
|
1320
|
+
(u) => u.name.toLowerCase().includes(p.value.toLowerCase()) || u.netSuiteId.toLowerCase().includes(p.value.toLowerCase())
|
|
1321
|
+
)), h = [
|
|
1322
1322
|
{
|
|
1323
1323
|
id: "location",
|
|
1324
1324
|
header: () => "FeedMe Location",
|
|
1325
|
-
cell(
|
|
1326
|
-
const
|
|
1327
|
-
(e) => e.type ===
|
|
1325
|
+
cell(u) {
|
|
1326
|
+
const i = u.row.original, y = r.locations.find(
|
|
1327
|
+
(e) => e.type === i.type && e.doc._id === i.id
|
|
1328
1328
|
);
|
|
1329
1329
|
if (!y)
|
|
1330
1330
|
return N("div", "Unknown Location");
|
|
1331
|
-
const
|
|
1331
|
+
const m = N(ee.FmIcon, {
|
|
1332
1332
|
name: y.type,
|
|
1333
1333
|
color: "neutral-gray-400",
|
|
1334
1334
|
size: "md",
|
|
@@ -1336,7 +1336,7 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1336
1336
|
outline: !0
|
|
1337
1337
|
});
|
|
1338
1338
|
return N("div", { class: "flex items-center" }, [
|
|
1339
|
-
|
|
1339
|
+
m,
|
|
1340
1340
|
N("div", { class: "flex flex-col" }, [
|
|
1341
1341
|
N("span", { class: "font-medium" }, y.name),
|
|
1342
1342
|
N("span", { class: "text-xs text-gray-400" }, y.doc._id)
|
|
@@ -1347,11 +1347,11 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1347
1347
|
{
|
|
1348
1348
|
id: "netsuite",
|
|
1349
1349
|
header: () => "NetSuite Location",
|
|
1350
|
-
cell(
|
|
1350
|
+
cell(u) {
|
|
1351
1351
|
var e;
|
|
1352
|
-
const
|
|
1353
|
-
(o) => o.netsuiteId ===
|
|
1354
|
-
)) == null ? void 0 : e.subsidiaryName,
|
|
1352
|
+
const i = u.row.original, y = (e = t.nsLocations.find(
|
|
1353
|
+
(o) => o.netsuiteId === i.netSuiteId
|
|
1354
|
+
)) == null ? void 0 : e.subsidiaryName, m = N(ee.FmIcon, {
|
|
1355
1355
|
name: "cloud",
|
|
1356
1356
|
color: "neutral-gray-400",
|
|
1357
1357
|
size: "md",
|
|
@@ -1359,16 +1359,16 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1359
1359
|
outline: !0
|
|
1360
1360
|
});
|
|
1361
1361
|
return N("div", { class: "flex items-center" }, [
|
|
1362
|
-
|
|
1362
|
+
m,
|
|
1363
1363
|
N("div", { class: "flex flex-col" }, [
|
|
1364
|
-
N("span", { class: "font-medium" },
|
|
1365
|
-
N("span", { class: "text-xs text-gray-400" }, `ID: ${
|
|
1364
|
+
N("span", { class: "font-medium" }, i.name),
|
|
1365
|
+
N("span", { class: "text-xs text-gray-400" }, `ID: ${i.netSuiteId}`),
|
|
1366
1366
|
N("span", { class: "text-xs text-gray-400" }, `Subsidiary: ${y}`)
|
|
1367
1367
|
])
|
|
1368
1368
|
]);
|
|
1369
1369
|
}
|
|
1370
1370
|
}
|
|
1371
|
-
], { t: C } = G(),
|
|
1371
|
+
], { t: C } = G(), w = [
|
|
1372
1372
|
"Unit Type",
|
|
1373
1373
|
"Inventory Item",
|
|
1374
1374
|
"Location",
|
|
@@ -1377,18 +1377,18 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1377
1377
|
"Purchase Order",
|
|
1378
1378
|
"Transfer Order",
|
|
1379
1379
|
"Inventory Transfer"
|
|
1380
|
-
],
|
|
1381
|
-
(
|
|
1382
|
-
(
|
|
1380
|
+
], f = z(() => r.locations.filter(
|
|
1381
|
+
(u) => !t.setting.locations.some(
|
|
1382
|
+
(i) => i.id === u.doc._id && i.type === u.type
|
|
1383
1383
|
)
|
|
1384
|
-
)),
|
|
1385
|
-
(
|
|
1384
|
+
)), c = z(() => t.nsLocations.filter(
|
|
1385
|
+
(u) => !t.setting.locations.some((i) => i.netSuiteId === u.netsuiteId)
|
|
1386
1386
|
));
|
|
1387
|
-
return (
|
|
1388
|
-
const y = E("FmChip"),
|
|
1389
|
-
return
|
|
1387
|
+
return (u, i) => {
|
|
1388
|
+
const y = E("FmChip"), m = E("FmSearch"), e = E("FmTable"), o = E("FmButton"), B = E("FmSideSheet");
|
|
1389
|
+
return k(), _(B, {
|
|
1390
1390
|
modelValue: x(A),
|
|
1391
|
-
"onUpdate:modelValue":
|
|
1391
|
+
"onUpdate:modelValue": i[6] || (i[6] = (L) => oe(A) ? A.value = L : null),
|
|
1392
1392
|
header: x(C)("inventory.integration.netsuite.title"),
|
|
1393
1393
|
"dismiss-away": "",
|
|
1394
1394
|
"close-button": "",
|
|
@@ -1397,58 +1397,58 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1397
1397
|
default: D(() => {
|
|
1398
1398
|
var L;
|
|
1399
1399
|
return [
|
|
1400
|
-
(L = x(s).sessionUser.value) != null && L.role.isAdmin ? (
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
(
|
|
1400
|
+
(L = x(s).sessionUser.value) != null && L.role.isAdmin ? (k(), R("div", ln, [
|
|
1401
|
+
i[7] || (i[7] = l("div", { class: "text-sm" }, " This integration keeps your FeedMe system and NetSuite in sync for the following modules: ", -1)),
|
|
1402
|
+
l("div", rn, [
|
|
1403
|
+
(k(), R(J, null, te(w, (V) => I(y, {
|
|
1404
1404
|
key: V,
|
|
1405
1405
|
label: V,
|
|
1406
1406
|
compact: ""
|
|
1407
1407
|
}, null, 8, ["label"])), 64))
|
|
1408
1408
|
]),
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
I(
|
|
1409
|
+
i[8] || (i[8] = l("div", { class: "text-xs mt-2" }, " Changes made in FeedMe or NetSuite will be reflected in both systems, ensuring data consistency and streamlined operations. ", -1)),
|
|
1410
|
+
i[9] || (i[9] = l("hr", { class: "my-3" }, null, -1)),
|
|
1411
|
+
l("div", un, [
|
|
1412
|
+
I(m, {
|
|
1413
1413
|
placeholder: "Search by [NetSuite Location]",
|
|
1414
1414
|
class: "w-[300px]",
|
|
1415
|
-
modelValue:
|
|
1416
|
-
"onUpdate:modelValue":
|
|
1415
|
+
modelValue: p.value,
|
|
1416
|
+
"onUpdate:modelValue": i[0] || (i[0] = (V) => p.value = V)
|
|
1417
1417
|
}, null, 8, ["modelValue"])
|
|
1418
1418
|
]),
|
|
1419
1419
|
I(e, {
|
|
1420
|
-
modelValue:
|
|
1421
|
-
"onUpdate:modelValue":
|
|
1422
|
-
"row-data":
|
|
1423
|
-
"column-defs":
|
|
1420
|
+
modelValue: S.value,
|
|
1421
|
+
"onUpdate:modelValue": i[1] || (i[1] = (V) => S.value = V),
|
|
1422
|
+
"row-data": v.value,
|
|
1423
|
+
"column-defs": h,
|
|
1424
1424
|
"shrink-at": !1,
|
|
1425
|
-
"search-value":
|
|
1425
|
+
"search-value": p.value
|
|
1426
1426
|
}, null, 8, ["modelValue", "row-data", "search-value"])
|
|
1427
|
-
])) : (
|
|
1427
|
+
])) : (k(), R("div", an, " Please contact your administrator to apply the changes. ")),
|
|
1428
1428
|
I(sn, {
|
|
1429
1429
|
"show-dialog": n.value,
|
|
1430
1430
|
"onUpdate:showDialog": [
|
|
1431
|
-
|
|
1432
|
-
|
|
1431
|
+
i[2] || (i[2] = (V) => n.value = V),
|
|
1432
|
+
i[3] || (i[3] = (V) => n.value = V)
|
|
1433
1433
|
],
|
|
1434
|
-
formRef:
|
|
1435
|
-
fmLocationNotYetConfigured:
|
|
1436
|
-
nsLocationsNotBeingUsed:
|
|
1434
|
+
formRef: b.value,
|
|
1435
|
+
fmLocationNotYetConfigured: f.value,
|
|
1436
|
+
nsLocationsNotBeingUsed: c.value
|
|
1437
1437
|
}, null, 8, ["show-dialog", "formRef", "fmLocationNotYetConfigured", "nsLocationsNotBeingUsed"])
|
|
1438
1438
|
];
|
|
1439
1439
|
}),
|
|
1440
1440
|
"side-sheet-footer": D(() => [
|
|
1441
|
-
|
|
1441
|
+
l("div", dn, [
|
|
1442
1442
|
I(o, {
|
|
1443
1443
|
label: "Add location",
|
|
1444
|
-
onClick:
|
|
1445
|
-
loading:
|
|
1446
|
-
disabled:
|
|
1444
|
+
onClick: i[4] || (i[4] = (L) => n.value = !0),
|
|
1445
|
+
loading: u.loading,
|
|
1446
|
+
disabled: u.loading
|
|
1447
1447
|
}, null, 8, ["loading", "disabled"]),
|
|
1448
1448
|
I(o, {
|
|
1449
1449
|
variant: "tertiary",
|
|
1450
1450
|
label: x(C)("common.close"),
|
|
1451
|
-
onClick:
|
|
1451
|
+
onClick: i[5] || (i[5] = (L) => a("update:show", !1))
|
|
1452
1452
|
}, null, 8, ["label"])
|
|
1453
1453
|
])
|
|
1454
1454
|
]),
|
|
@@ -1464,10 +1464,10 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1464
1464
|
},
|
|
1465
1465
|
emits: ["update:modelValue"],
|
|
1466
1466
|
setup(F) {
|
|
1467
|
-
const { t:
|
|
1467
|
+
const { t: g } = de(), s = xe(F, "modelValue"), r = [
|
|
1468
1468
|
{
|
|
1469
1469
|
id: "Code",
|
|
1470
|
-
header: () =>
|
|
1470
|
+
header: () => g("inventory.transfer.form.items.table.Code"),
|
|
1471
1471
|
accessorKey: "code",
|
|
1472
1472
|
size: 200,
|
|
1473
1473
|
cell(n) {
|
|
@@ -1493,7 +1493,7 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1493
1493
|
},
|
|
1494
1494
|
{
|
|
1495
1495
|
id: "Name",
|
|
1496
|
-
header: () =>
|
|
1496
|
+
header: () => g("inventory.transfer.form.items.table.Name"),
|
|
1497
1497
|
minSize: 300,
|
|
1498
1498
|
cell(n) {
|
|
1499
1499
|
const t = n.row.original;
|
|
@@ -1518,10 +1518,10 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1518
1518
|
},
|
|
1519
1519
|
{
|
|
1520
1520
|
id: "Amount",
|
|
1521
|
-
header: () =>
|
|
1521
|
+
header: () => g("inventory.transfer.form.items.table.Amount"),
|
|
1522
1522
|
minSize: 200,
|
|
1523
1523
|
cell(n) {
|
|
1524
|
-
const t = n.row.original,
|
|
1524
|
+
const t = n.row.original, a = n.row.index;
|
|
1525
1525
|
return N($e, {
|
|
1526
1526
|
style: {
|
|
1527
1527
|
flex: "1 1 0%"
|
|
@@ -1532,17 +1532,17 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1532
1532
|
},
|
|
1533
1533
|
key: t.sku._id,
|
|
1534
1534
|
unit: t.sku.unit,
|
|
1535
|
-
"onUpdate:modelValue": (
|
|
1536
|
-
if (!
|
|
1537
|
-
const
|
|
1535
|
+
"onUpdate:modelValue": (d) => {
|
|
1536
|
+
if (!d) return;
|
|
1537
|
+
const b = {
|
|
1538
1538
|
...t,
|
|
1539
|
-
quantity:
|
|
1540
|
-
measurement:
|
|
1539
|
+
quantity: d.amount,
|
|
1540
|
+
measurement: d.measurement
|
|
1541
1541
|
};
|
|
1542
1542
|
s.value = [
|
|
1543
|
-
...s.value.slice(0,
|
|
1544
|
-
|
|
1545
|
-
...s.value.slice(
|
|
1543
|
+
...s.value.slice(0, a),
|
|
1544
|
+
b,
|
|
1545
|
+
...s.value.slice(a + 1)
|
|
1546
1546
|
];
|
|
1547
1547
|
},
|
|
1548
1548
|
rules: [et(+Qe({ amount: 1, precision: 0 }))],
|
|
@@ -1555,7 +1555,7 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1555
1555
|
id: "Delete",
|
|
1556
1556
|
header: "",
|
|
1557
1557
|
cell(n) {
|
|
1558
|
-
const t = n.row.original,
|
|
1558
|
+
const t = n.row.original, a = n.row.index;
|
|
1559
1559
|
return N("div", { class: "flex justify-end" }, [
|
|
1560
1560
|
N(ee.FmButton, {
|
|
1561
1561
|
key: t.sku._id,
|
|
@@ -1565,7 +1565,7 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1565
1565
|
variant: "tertiary",
|
|
1566
1566
|
size: "md",
|
|
1567
1567
|
onClick: () => {
|
|
1568
|
-
s.value = [...s.value.slice(0,
|
|
1568
|
+
s.value = [...s.value.slice(0, a), ...s.value.slice(a + 1)];
|
|
1569
1569
|
}
|
|
1570
1570
|
})
|
|
1571
1571
|
]);
|
|
@@ -1579,55 +1579,38 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1579
1579
|
}
|
|
1580
1580
|
];
|
|
1581
1581
|
return (n, t) => {
|
|
1582
|
-
const
|
|
1583
|
-
return
|
|
1584
|
-
"column-defs":
|
|
1582
|
+
const a = E("FmTable");
|
|
1583
|
+
return k(), _(a, {
|
|
1584
|
+
"column-defs": r,
|
|
1585
1585
|
"row-data": s.value,
|
|
1586
|
-
"row-key": (
|
|
1587
|
-
"empty-text": x(
|
|
1586
|
+
"row-key": (d) => d.sku._id,
|
|
1587
|
+
"empty-text": x(g)("inventory.transfer.form.items.table.empty"),
|
|
1588
1588
|
pagination: !1,
|
|
1589
1589
|
"virtual-scroll": { enabled: !0, itemSize: 48 }
|
|
1590
1590
|
}, null, 8, ["row-data", "row-key", "empty-text"]);
|
|
1591
1591
|
};
|
|
1592
1592
|
}
|
|
1593
|
-
}), fn =
|
|
1593
|
+
}), fn = /* @__PURE__ */ Y({
|
|
1594
1594
|
__name: "InventoryTransferOutTable",
|
|
1595
1595
|
setup(F) {
|
|
1596
|
-
const
|
|
1596
|
+
const g = j([]), s = Se(), r = j(!1);
|
|
1597
1597
|
me(async () => {
|
|
1598
|
-
const
|
|
1599
|
-
|
|
1598
|
+
const a = W(), d = /* @__PURE__ */ new Date(), b = /* @__PURE__ */ new Date();
|
|
1599
|
+
b.setDate(b.getDate() - 30), r.value = !0;
|
|
1600
1600
|
try {
|
|
1601
|
-
const
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1601
|
+
const A = await s.getInventoryTransferHistory(
|
|
1602
|
+
a.currentLocationDBName,
|
|
1603
|
+
b,
|
|
1604
|
+
d
|
|
1605
1605
|
);
|
|
1606
|
-
|
|
1607
|
-
} catch (
|
|
1608
|
-
console.error("Error fetching inventory transfer history:",
|
|
1606
|
+
g.value = A;
|
|
1607
|
+
} catch (A) {
|
|
1608
|
+
console.error("Error fetching inventory transfer history:", A);
|
|
1609
1609
|
} finally {
|
|
1610
|
-
|
|
1610
|
+
r.value = !1;
|
|
1611
1611
|
}
|
|
1612
1612
|
});
|
|
1613
|
-
|
|
1614
|
-
try {
|
|
1615
|
-
n.value = !0, await s.manualSyncInventoryTransfer(r.currentLocationDBName), t == null || t.open({
|
|
1616
|
-
title: "Sync Started",
|
|
1617
|
-
message: "Inventory transfers sync queued successfully.",
|
|
1618
|
-
type: "success"
|
|
1619
|
-
});
|
|
1620
|
-
} catch (g) {
|
|
1621
|
-
t == null || t.open({
|
|
1622
|
-
title: "Sync Failed",
|
|
1623
|
-
message: `Failed to queue inventory transfers sync. ${g == null ? void 0 : g.message}`,
|
|
1624
|
-
type: "error"
|
|
1625
|
-
});
|
|
1626
|
-
} finally {
|
|
1627
|
-
n.value = !1;
|
|
1628
|
-
}
|
|
1629
|
-
}
|
|
1630
|
-
const k = [
|
|
1613
|
+
const n = [
|
|
1631
1614
|
// {
|
|
1632
1615
|
// id: 'type',
|
|
1633
1616
|
// header: 'Type',
|
|
@@ -1638,17 +1621,17 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1638
1621
|
{
|
|
1639
1622
|
id: "destinationLocation",
|
|
1640
1623
|
header: "Destination Location",
|
|
1641
|
-
cell: (
|
|
1642
|
-
const
|
|
1643
|
-
return
|
|
1624
|
+
cell: (a) => {
|
|
1625
|
+
const d = a.row.original.destinationLocation.netSuiteName;
|
|
1626
|
+
return d ? N(
|
|
1644
1627
|
ee.FmTooltip,
|
|
1645
1628
|
{ zIndex: 51 },
|
|
1646
1629
|
{
|
|
1647
1630
|
content() {
|
|
1648
|
-
return
|
|
1631
|
+
return d;
|
|
1649
1632
|
},
|
|
1650
1633
|
default() {
|
|
1651
|
-
return N("div", { class: "line-clamp-2 fm-typo-en-body-sm-400" },
|
|
1634
|
+
return N("div", { class: "line-clamp-2 fm-typo-en-body-sm-400" }, d);
|
|
1652
1635
|
}
|
|
1653
1636
|
}
|
|
1654
1637
|
) : "N/A";
|
|
@@ -1657,22 +1640,22 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1657
1640
|
{
|
|
1658
1641
|
id: "netsuite",
|
|
1659
1642
|
header: () => "NetSuite",
|
|
1660
|
-
cell(
|
|
1643
|
+
cell(a) {
|
|
1661
1644
|
return N("div", { class: "flex flex-col" }, [
|
|
1662
1645
|
N(
|
|
1663
1646
|
"span",
|
|
1664
1647
|
{ class: "fm-typo-en-body-sm-400" },
|
|
1665
|
-
`ID: ${
|
|
1648
|
+
`ID: ${a.row.original.netsuiteId ?? "N/A"}`
|
|
1666
1649
|
),
|
|
1667
1650
|
N(
|
|
1668
1651
|
"span",
|
|
1669
1652
|
{ class: "fm-typo-en-body-sm-400" },
|
|
1670
|
-
`Transaction ID: ${
|
|
1653
|
+
`Transaction ID: ${a.row.original.netsuiteTranId ?? "N/A"}`
|
|
1671
1654
|
),
|
|
1672
1655
|
N(
|
|
1673
1656
|
"span",
|
|
1674
1657
|
{ class: "fm-typo-en-body-sm-400" },
|
|
1675
|
-
`Transaction Date: ${
|
|
1658
|
+
`Transaction Date: ${a.row.original.netsuiteTranDate ?? "N/A"}`
|
|
1676
1659
|
)
|
|
1677
1660
|
]);
|
|
1678
1661
|
}
|
|
@@ -1680,14 +1663,14 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1680
1663
|
{
|
|
1681
1664
|
id: "adjustment",
|
|
1682
1665
|
header: () => "Adjustment (FeedMe)",
|
|
1683
|
-
cell(
|
|
1684
|
-
const
|
|
1666
|
+
cell(a) {
|
|
1667
|
+
const d = a.row.original.adjustmentId;
|
|
1685
1668
|
return N("div", { class: "flex flex-col" }, [
|
|
1686
|
-
N("span", { class: "fm-typo-en-body-sm-400" }, `ID: ${
|
|
1669
|
+
N("span", { class: "fm-typo-en-body-sm-400" }, `ID: ${d ?? "N/A"}`),
|
|
1687
1670
|
N(
|
|
1688
1671
|
"span",
|
|
1689
1672
|
{ class: "fm-typo-en-body-sm-400" },
|
|
1690
|
-
`Date: ${
|
|
1673
|
+
`Date: ${d ? ve(ge(d)) : "N/A"}`
|
|
1691
1674
|
)
|
|
1692
1675
|
]);
|
|
1693
1676
|
}
|
|
@@ -1695,17 +1678,17 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1695
1678
|
{
|
|
1696
1679
|
id: "items",
|
|
1697
1680
|
header: () => "Items",
|
|
1698
|
-
cell(
|
|
1699
|
-
const
|
|
1681
|
+
cell(a) {
|
|
1682
|
+
const d = a.row.original.items;
|
|
1700
1683
|
return N(
|
|
1701
1684
|
"div",
|
|
1702
1685
|
{ class: "overflow-auto" },
|
|
1703
1686
|
N("ul", { class: "list-disc pl-5" }, [
|
|
1704
|
-
|
|
1705
|
-
(
|
|
1687
|
+
d == null ? void 0 : d.map(
|
|
1688
|
+
(b) => N(
|
|
1706
1689
|
"li",
|
|
1707
1690
|
{ class: "fm-typo-en-body-sm-400" },
|
|
1708
|
-
`[${
|
|
1691
|
+
`[${b == null ? void 0 : b.itemId}] ${b == null ? void 0 : b.itemName}: ${b == null ? void 0 : b.quantity} ${(b == null ? void 0 : b.uomName) ?? "N/A"}`
|
|
1709
1692
|
)
|
|
1710
1693
|
)
|
|
1711
1694
|
])
|
|
@@ -1713,46 +1696,34 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1713
1696
|
},
|
|
1714
1697
|
size: 150
|
|
1715
1698
|
}
|
|
1716
|
-
],
|
|
1717
|
-
return (
|
|
1718
|
-
const
|
|
1719
|
-
return
|
|
1720
|
-
|
|
1721
|
-
l[1] || (l[1] = a("span", null, "Last 30 Days:", -1)),
|
|
1722
|
-
I(i, {
|
|
1723
|
-
"prepend-icon": "sync",
|
|
1724
|
-
variant: "secondary",
|
|
1725
|
-
label: "Sync",
|
|
1726
|
-
loading: n.value,
|
|
1727
|
-
"text-color": "primary",
|
|
1728
|
-
"bg-color": "transparent",
|
|
1729
|
-
"border-color": "primary",
|
|
1730
|
-
onClick: h
|
|
1731
|
-
}, null, 8, ["loading"])
|
|
1732
|
-
]),
|
|
1699
|
+
], t = j();
|
|
1700
|
+
return (a, d) => {
|
|
1701
|
+
const b = E("FmTable");
|
|
1702
|
+
return k(), R(J, null, [
|
|
1703
|
+
d[1] || (d[1] = l("div", null, "Last 30 Days:", -1)),
|
|
1733
1704
|
I(b, {
|
|
1734
|
-
modelValue:
|
|
1735
|
-
"onUpdate:modelValue":
|
|
1736
|
-
"row-data":
|
|
1737
|
-
"column-defs":
|
|
1738
|
-
loading:
|
|
1705
|
+
modelValue: t.value,
|
|
1706
|
+
"onUpdate:modelValue": d[0] || (d[0] = (A) => t.value = A),
|
|
1707
|
+
"row-data": g.value,
|
|
1708
|
+
"column-defs": n,
|
|
1709
|
+
loading: r.value
|
|
1739
1710
|
}, null, 8, ["modelValue", "row-data", "loading"])
|
|
1740
1711
|
], 64);
|
|
1741
1712
|
};
|
|
1742
1713
|
}
|
|
1743
|
-
}),
|
|
1714
|
+
}), pn = { class: "flex flex-col gap-8" }, vn = {
|
|
1744
1715
|
key: 0,
|
|
1745
1716
|
class: "flex flex-col gap-4"
|
|
1746
|
-
},
|
|
1717
|
+
}, gn = { class: "flex gap-2" }, An = {
|
|
1747
1718
|
key: 1,
|
|
1748
1719
|
class: "flex items-center my-2 border rounded-lg p-2"
|
|
1749
|
-
},
|
|
1720
|
+
}, yn = { class: "flex flex-col" }, bn = { class: "font-medium" }, hn = { class: "text-xs text-gray-400" }, In = { class: "text-xs text-gray-400" }, xn = { class: "flex my-4" }, Sn = { class: "flex" }, wn = {
|
|
1750
1721
|
key: 1,
|
|
1751
1722
|
class: "flex flex-col"
|
|
1752
|
-
},
|
|
1723
|
+
}, kn = {
|
|
1753
1724
|
key: 1,
|
|
1754
1725
|
class: "flex flex-col"
|
|
1755
|
-
},
|
|
1726
|
+
}, Bn = /* @__PURE__ */ Y({
|
|
1756
1727
|
__name: "InventoryTransfer",
|
|
1757
1728
|
props: {
|
|
1758
1729
|
nsLocations: {},
|
|
@@ -1760,55 +1731,55 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1760
1731
|
currentLocationSubsidiary: {}
|
|
1761
1732
|
},
|
|
1762
1733
|
setup(F) {
|
|
1763
|
-
const
|
|
1764
|
-
const y = s.currentLocationSetting,
|
|
1765
|
-
return
|
|
1734
|
+
const g = ye(), s = le(), r = Ae(), n = Se(), t = ae(), { t: a } = de(), d = j([]), b = [{ label: "Transfer Out" }, { label: "History" }], A = j(b[0]), S = j(!1), p = j(null), v = j(null), h = F, C = z(() => {
|
|
1735
|
+
const y = s.currentLocationSetting, m = s.configuredLocations;
|
|
1736
|
+
return h.nsLocations.map((e) => ({
|
|
1766
1737
|
label: e.name,
|
|
1767
1738
|
value: e,
|
|
1768
|
-
disabled:
|
|
1739
|
+
disabled: m.some((o) => o.netSuiteId === e.netsuiteId) || e.subsidiaryId !== (y == null ? void 0 : y.subsidiaryId)
|
|
1769
1740
|
}));
|
|
1770
|
-
}),
|
|
1741
|
+
}), w = z({
|
|
1771
1742
|
get() {
|
|
1772
|
-
return
|
|
1743
|
+
return p.value ? p.value.toISOString().slice(0, 10) : "";
|
|
1773
1744
|
},
|
|
1774
1745
|
set(y) {
|
|
1775
1746
|
if (!y) {
|
|
1776
|
-
|
|
1747
|
+
p.value = null;
|
|
1777
1748
|
return;
|
|
1778
1749
|
}
|
|
1779
|
-
const
|
|
1780
|
-
|
|
1750
|
+
const m = p.value ?? /* @__PURE__ */ new Date(), e = new Date(y);
|
|
1751
|
+
m.setFullYear(e.getFullYear(), e.getMonth(), e.getDate()), p.value = new Date(m);
|
|
1781
1752
|
}
|
|
1782
|
-
}),
|
|
1753
|
+
}), f = z({
|
|
1783
1754
|
get() {
|
|
1784
|
-
if (!
|
|
1785
|
-
const y = String(
|
|
1786
|
-
return `${y}:${
|
|
1755
|
+
if (!p.value) return null;
|
|
1756
|
+
const y = String(p.value.getHours()).padStart(2, "0"), m = String(p.value.getMinutes()).padStart(2, "0");
|
|
1757
|
+
return `${y}:${m}`;
|
|
1787
1758
|
},
|
|
1788
1759
|
set(y) {
|
|
1789
1760
|
if (!y) return;
|
|
1790
|
-
const [
|
|
1791
|
-
o.setHours(
|
|
1761
|
+
const [m, e] = y.split(":").map(Number), o = p.value ?? /* @__PURE__ */ new Date();
|
|
1762
|
+
o.setHours(m, e), p.value = new Date(o);
|
|
1792
1763
|
}
|
|
1793
|
-
}),
|
|
1794
|
-
async function
|
|
1795
|
-
if (
|
|
1796
|
-
if (!
|
|
1764
|
+
}), c = z(() => w.value && f.value && v.value && d.value.length > 0 && !S.value);
|
|
1765
|
+
async function u() {
|
|
1766
|
+
if (c.value) {
|
|
1767
|
+
if (!h.currentLocationSetting) {
|
|
1797
1768
|
t.open({
|
|
1798
1769
|
message: "Current location setting is not available",
|
|
1799
1770
|
type: "error"
|
|
1800
1771
|
});
|
|
1801
1772
|
return;
|
|
1802
1773
|
}
|
|
1803
|
-
|
|
1774
|
+
S.value = !0;
|
|
1804
1775
|
try {
|
|
1805
1776
|
const y = {
|
|
1806
|
-
items:
|
|
1807
|
-
date:
|
|
1808
|
-
netsuiteLocationId:
|
|
1809
|
-
netsuiteLocationName:
|
|
1810
|
-
},
|
|
1811
|
-
await n.createInventoryTransfer(
|
|
1777
|
+
items: d.value,
|
|
1778
|
+
date: p.value.toISOString(),
|
|
1779
|
+
netsuiteLocationId: v.value.netsuiteId,
|
|
1780
|
+
netsuiteLocationName: v.value.name
|
|
1781
|
+
}, m = `${h.currentLocationSetting.type}_${h.currentLocationSetting.id}`;
|
|
1782
|
+
await n.createInventoryTransfer(m, y), d.value = [], p.value = null, v.value = null, t.open({
|
|
1812
1783
|
message: "Inventort transfer created successfully",
|
|
1813
1784
|
type: "success"
|
|
1814
1785
|
});
|
|
@@ -1818,12 +1789,12 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1818
1789
|
type: "error"
|
|
1819
1790
|
});
|
|
1820
1791
|
} finally {
|
|
1821
|
-
|
|
1792
|
+
S.value = !1;
|
|
1822
1793
|
}
|
|
1823
1794
|
}
|
|
1824
1795
|
}
|
|
1825
|
-
function
|
|
1826
|
-
const y = s.currentLocationSubsidiary(),
|
|
1796
|
+
function i() {
|
|
1797
|
+
const y = s.currentLocationSubsidiary(), m = s.getAvailableItems(y.id), e = r.skus.filter((L) => m.includes(L._id)).map((L) => L._id), o = r.skus.map(
|
|
1827
1798
|
(L) => ({
|
|
1828
1799
|
label: L.name,
|
|
1829
1800
|
sublabel: L.code,
|
|
@@ -1832,10 +1803,10 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1832
1803
|
})
|
|
1833
1804
|
), B = o.filter((L) => {
|
|
1834
1805
|
var V;
|
|
1835
|
-
return (V =
|
|
1806
|
+
return (V = d.value) == null ? void 0 : V.find((H) => H.sku._id === L.value._id);
|
|
1836
1807
|
}).map((L) => L.value);
|
|
1837
|
-
|
|
1838
|
-
title:
|
|
1808
|
+
g.open({
|
|
1809
|
+
title: a("inventory.transfer.form.items.selectItem"),
|
|
1839
1810
|
closeButton: !0,
|
|
1840
1811
|
contentComponent: Ye,
|
|
1841
1812
|
contentComponentProps: {
|
|
@@ -1844,16 +1815,16 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1844
1815
|
virtualScroll: !0
|
|
1845
1816
|
},
|
|
1846
1817
|
primaryActions: {
|
|
1847
|
-
text:
|
|
1818
|
+
text: a("common.confirm"),
|
|
1848
1819
|
close: !0
|
|
1849
1820
|
},
|
|
1850
1821
|
secondaryActions: {
|
|
1851
|
-
text:
|
|
1822
|
+
text: a("common.close"),
|
|
1852
1823
|
close: !0,
|
|
1853
1824
|
variant: "tertiary"
|
|
1854
1825
|
}
|
|
1855
1826
|
}).onPrimary((L) => {
|
|
1856
|
-
const V =
|
|
1827
|
+
const V = d.value, H = L.map((U) => {
|
|
1857
1828
|
const M = V.find((Q) => Q.sku._id === U._id);
|
|
1858
1829
|
return M || {
|
|
1859
1830
|
sku: U,
|
|
@@ -1865,21 +1836,21 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1865
1836
|
}
|
|
1866
1837
|
};
|
|
1867
1838
|
});
|
|
1868
|
-
H.sort((U, M) => U.sku.code.localeCompare(M.sku.code)),
|
|
1839
|
+
H.sort((U, M) => U.sku.code.localeCompare(M.sku.code)), d.value = H;
|
|
1869
1840
|
});
|
|
1870
1841
|
}
|
|
1871
|
-
return (y,
|
|
1842
|
+
return (y, m) => {
|
|
1872
1843
|
const e = E("FmButtonGroup"), o = E("FmLabel"), B = E("FmField"), L = E("FmSimpleDatePicker"), V = E("FmTimePicker"), H = E("FmSelect"), U = E("FmIcon"), M = E("FmButton");
|
|
1873
|
-
return
|
|
1844
|
+
return k(), R("div", pn, [
|
|
1874
1845
|
I(e, {
|
|
1875
1846
|
modelValue: A.value,
|
|
1876
|
-
"onUpdate:modelValue":
|
|
1877
|
-
items:
|
|
1847
|
+
"onUpdate:modelValue": m[0] || (m[0] = (O) => A.value = O),
|
|
1848
|
+
items: b
|
|
1878
1849
|
}, null, 8, ["modelValue"]),
|
|
1879
|
-
A.value.label === "Transfer Out" ? (
|
|
1880
|
-
x(s).inventoryTransferOutEnabled ? (
|
|
1850
|
+
A.value.label === "Transfer Out" ? (k(), R(J, { key: 0 }, [
|
|
1851
|
+
x(s).inventoryTransferOutEnabled ? (k(), R("div", vn, [
|
|
1881
1852
|
I(o, { class: "fm-typo-en-body-md-600" }, {
|
|
1882
|
-
default: D(() =>
|
|
1853
|
+
default: D(() => m[6] || (m[6] = [
|
|
1883
1854
|
Z("Type")
|
|
1884
1855
|
])),
|
|
1885
1856
|
_: 1
|
|
@@ -1889,13 +1860,13 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1889
1860
|
disabled: "",
|
|
1890
1861
|
"prepend-icon": "lock"
|
|
1891
1862
|
}, {
|
|
1892
|
-
default: D(() =>
|
|
1863
|
+
default: D(() => m[7] || (m[7] = [
|
|
1893
1864
|
Z("Transfer out")
|
|
1894
1865
|
])),
|
|
1895
1866
|
_: 1
|
|
1896
1867
|
}),
|
|
1897
1868
|
I(o, { class: "fm-typo-en-body-md-600" }, {
|
|
1898
|
-
default: D(() =>
|
|
1869
|
+
default: D(() => m[8] || (m[8] = [
|
|
1899
1870
|
Z("Subsidiary")
|
|
1900
1871
|
])),
|
|
1901
1872
|
_: 1
|
|
@@ -1911,42 +1882,42 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1911
1882
|
_: 1
|
|
1912
1883
|
}),
|
|
1913
1884
|
I(o, { class: "fm-typo-en-body-md-600" }, {
|
|
1914
|
-
default: D(() =>
|
|
1885
|
+
default: D(() => m[9] || (m[9] = [
|
|
1915
1886
|
Z("Transaction date")
|
|
1916
1887
|
])),
|
|
1917
1888
|
_: 1
|
|
1918
1889
|
}),
|
|
1919
1890
|
I(L, {
|
|
1920
|
-
modelValue:
|
|
1921
|
-
"onUpdate:modelValue":
|
|
1891
|
+
modelValue: w.value,
|
|
1892
|
+
"onUpdate:modelValue": m[1] || (m[1] = (O) => w.value = O)
|
|
1922
1893
|
}, null, 8, ["modelValue"]),
|
|
1923
1894
|
I(o, { class: "fm-typo-en-body-md-600" }, {
|
|
1924
|
-
default: D(() =>
|
|
1895
|
+
default: D(() => m[10] || (m[10] = [
|
|
1925
1896
|
Z("Transaction time")
|
|
1926
1897
|
])),
|
|
1927
1898
|
_: 1
|
|
1928
1899
|
}),
|
|
1929
1900
|
I(V, {
|
|
1930
|
-
modelValue:
|
|
1931
|
-
"onUpdate:modelValue":
|
|
1901
|
+
modelValue: f.value,
|
|
1902
|
+
"onUpdate:modelValue": m[2] || (m[2] = (O) => f.value = O)
|
|
1932
1903
|
}, null, 8, ["modelValue"]),
|
|
1933
1904
|
I(o, { class: "fm-typo-en-body-md-600" }, {
|
|
1934
|
-
default: D(() =>
|
|
1905
|
+
default: D(() => m[11] || (m[11] = [
|
|
1935
1906
|
Z("NetSuite Location")
|
|
1936
1907
|
])),
|
|
1937
1908
|
_: 1
|
|
1938
1909
|
}),
|
|
1939
|
-
|
|
1940
|
-
|
|
1910
|
+
l("div", gn, [
|
|
1911
|
+
v.value ? X("", !0) : (k(), _(H, {
|
|
1941
1912
|
key: 0,
|
|
1942
1913
|
class: "my-4 w-full",
|
|
1943
|
-
modelValue:
|
|
1944
|
-
"onUpdate:modelValue":
|
|
1914
|
+
modelValue: v.value,
|
|
1915
|
+
"onUpdate:modelValue": m[3] || (m[3] = (O) => v.value = O),
|
|
1945
1916
|
searchable: "",
|
|
1946
1917
|
searchTarget: "label",
|
|
1947
1918
|
items: C.value
|
|
1948
1919
|
}, null, 8, ["modelValue", "items"])),
|
|
1949
|
-
|
|
1920
|
+
v.value ? (k(), R("div", An, [
|
|
1950
1921
|
I(U, {
|
|
1951
1922
|
name: "cloud",
|
|
1952
1923
|
color: "neutral-gray-400",
|
|
@@ -1954,59 +1925,59 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
1954
1925
|
class: "mr-2",
|
|
1955
1926
|
outline: ""
|
|
1956
1927
|
}),
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1928
|
+
l("div", yn, [
|
|
1929
|
+
l("span", bn, T(v.value.name), 1),
|
|
1930
|
+
l("span", hn, "ID: " + T(v.value.netsuiteId), 1),
|
|
1931
|
+
l("span", In, "Subsidiary: " + T(v.value.subsidiaryName), 1)
|
|
1961
1932
|
]),
|
|
1962
1933
|
I(M, {
|
|
1963
1934
|
class: "ml-2",
|
|
1964
1935
|
variant: "secondary",
|
|
1965
1936
|
label: "Clear",
|
|
1966
|
-
onClick:
|
|
1937
|
+
onClick: m[4] || (m[4] = (O) => v.value = null)
|
|
1967
1938
|
})
|
|
1968
|
-
])) :
|
|
1939
|
+
])) : X("", !0)
|
|
1969
1940
|
]),
|
|
1970
|
-
|
|
1941
|
+
l("div", xn, [
|
|
1971
1942
|
I(M, {
|
|
1972
1943
|
class: "ml-auto",
|
|
1973
1944
|
variant: "secondary",
|
|
1974
1945
|
"prepend-icon": "add",
|
|
1975
1946
|
label: "Ingredients",
|
|
1976
|
-
onClick:
|
|
1947
|
+
onClick: i
|
|
1977
1948
|
})
|
|
1978
1949
|
]),
|
|
1979
1950
|
I(mn, {
|
|
1980
|
-
modelValue:
|
|
1981
|
-
"onUpdate:modelValue":
|
|
1951
|
+
modelValue: d.value,
|
|
1952
|
+
"onUpdate:modelValue": m[5] || (m[5] = (O) => d.value = O)
|
|
1982
1953
|
}, null, 8, ["modelValue"]),
|
|
1983
|
-
|
|
1954
|
+
l("div", Sn, [
|
|
1984
1955
|
I(M, {
|
|
1985
1956
|
class: "ml-auto mt-4",
|
|
1986
1957
|
variant: "primary",
|
|
1987
1958
|
"prepend-icon": "add",
|
|
1988
1959
|
label: "Create",
|
|
1989
|
-
disabled: !
|
|
1990
|
-
loading:
|
|
1991
|
-
onClick:
|
|
1960
|
+
disabled: !c.value,
|
|
1961
|
+
loading: S.value,
|
|
1962
|
+
onClick: u
|
|
1992
1963
|
}, null, 8, ["disabled", "loading"])
|
|
1993
1964
|
])
|
|
1994
|
-
])) : (
|
|
1965
|
+
])) : (k(), R("div", wn, [
|
|
1995
1966
|
I(o, { class: "fm-typo-en-body-md-600" }, {
|
|
1996
|
-
default: D(() =>
|
|
1967
|
+
default: D(() => m[12] || (m[12] = [
|
|
1997
1968
|
Z(" Feature is not enabled. Please contact your administrator. ")
|
|
1998
1969
|
])),
|
|
1999
1970
|
_: 1
|
|
2000
1971
|
})
|
|
2001
1972
|
]))
|
|
2002
|
-
], 64)) :
|
|
2003
|
-
A.value.label === "History" ? (
|
|
2004
|
-
I(
|
|
2005
|
-
])) :
|
|
1973
|
+
], 64)) : X("", !0),
|
|
1974
|
+
A.value.label === "History" ? (k(), R("div", kn, [
|
|
1975
|
+
I(fn)
|
|
1976
|
+
])) : X("", !0)
|
|
2006
1977
|
]);
|
|
2007
1978
|
};
|
|
2008
1979
|
}
|
|
2009
|
-
}),
|
|
1980
|
+
}), Cn = { class: "flex flex-col gap-8 w-full" }, En = { class: "flex gap-4 justify-between" }, Fn = { class: "inline-flex rounded-md items-center gap-4 justify-center h-[30px] px-8 py-4 bg-fm-color-neutral-gray-100 text-fm-color-neutral-gray-400" }, Ln = { class: "fm-typo-en-body-md-600 select-none text-ellipsis overflow-hidden whitespace-nowrap" }, Vn = { key: 0 }, Nn = { class: "flex gap-8 items-center justify-start" }, Rn = /* @__PURE__ */ Y({
|
|
2010
1981
|
__name: "NetSuiteSideSheet",
|
|
2011
1982
|
props: {
|
|
2012
1983
|
nsLocations: {},
|
|
@@ -2014,44 +1985,44 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
2014
1985
|
loading: { type: Boolean }
|
|
2015
1986
|
},
|
|
2016
1987
|
emits: ["update:show"],
|
|
2017
|
-
setup(F, { emit:
|
|
2018
|
-
var
|
|
2019
|
-
const s = ie(),
|
|
1988
|
+
setup(F, { emit: g }) {
|
|
1989
|
+
var w;
|
|
1990
|
+
const s = ie(), r = le(), n = F, t = se(n, "show"), { t: a } = G(), d = g, b = W(), A = ((w = b._currentLocation) == null ? void 0 : w.type) || "", S = [
|
|
2020
1991
|
{
|
|
2021
1992
|
label: "Inventory Transfer (Out)",
|
|
2022
1993
|
value: "inventoryTransfer"
|
|
2023
1994
|
/* INVENTORY_TRANSFER */
|
|
2024
1995
|
}
|
|
2025
|
-
],
|
|
2026
|
-
(
|
|
1996
|
+
], p = j(S[0].value), v = z(() => r.currentLocationSubsidiary()), h = z(() => r.currentLocationSetting), C = z(() => n.nsLocations.filter(
|
|
1997
|
+
(f) => f.subsidiaryId === v.value.id || f.netsuiteId === v.value.id
|
|
2027
1998
|
));
|
|
2028
|
-
return (
|
|
1999
|
+
return (f, c) => {
|
|
2029
2000
|
var e;
|
|
2030
|
-
const
|
|
2031
|
-
return
|
|
2001
|
+
const u = E("FmIcon"), i = E("FmTabs"), y = E("FmButton"), m = E("FmSideSheet");
|
|
2002
|
+
return k(), _(m, {
|
|
2032
2003
|
modelValue: x(t),
|
|
2033
|
-
"onUpdate:modelValue":
|
|
2004
|
+
"onUpdate:modelValue": c[2] || (c[2] = (o) => oe(t) ? t.value = o : null),
|
|
2034
2005
|
header: "Data migration (Xilnex)",
|
|
2035
2006
|
"dismiss-away": "",
|
|
2036
2007
|
"close-button": "",
|
|
2037
2008
|
"max-width": 800
|
|
2038
|
-
},
|
|
2009
|
+
}, ne({
|
|
2039
2010
|
default: D(() => [
|
|
2040
|
-
x(
|
|
2041
|
-
|
|
2011
|
+
x(r).isCurrentLocationBindedToNetSuite ? (k(), R(J, { key: 1 }, [
|
|
2012
|
+
p.value === "inventoryTransfer" ? (k(), _(Bn, {
|
|
2042
2013
|
key: 0,
|
|
2043
|
-
currentLocationSetting:
|
|
2014
|
+
currentLocationSetting: h.value,
|
|
2044
2015
|
nsLocations: C.value,
|
|
2045
|
-
currentLocationSubsidiary:
|
|
2046
|
-
}, null, 8, ["currentLocationSetting", "nsLocations", "currentLocationSubsidiary"])) :
|
|
2047
|
-
], 64)) : (
|
|
2016
|
+
currentLocationSubsidiary: v.value
|
|
2017
|
+
}, null, 8, ["currentLocationSetting", "nsLocations", "currentLocationSubsidiary"])) : X("", !0)
|
|
2018
|
+
], 64)) : (k(), R("div", Vn, " Netsuite is not configured for this location. Please contact your administrator. "))
|
|
2048
2019
|
]),
|
|
2049
2020
|
"side-sheet-footer": D(() => [
|
|
2050
|
-
|
|
2021
|
+
l("div", Nn, [
|
|
2051
2022
|
I(y, {
|
|
2052
2023
|
variant: "tertiary",
|
|
2053
|
-
label: x(
|
|
2054
|
-
onClick:
|
|
2024
|
+
label: x(a)("common.close"),
|
|
2025
|
+
onClick: c[1] || (c[1] = (o) => d("update:show", !1))
|
|
2055
2026
|
}, null, 8, ["label"])
|
|
2056
2027
|
])
|
|
2057
2028
|
]),
|
|
@@ -2062,21 +2033,21 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
2062
2033
|
fn: D(() => {
|
|
2063
2034
|
var o;
|
|
2064
2035
|
return [
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
I(
|
|
2036
|
+
l("div", Cn, [
|
|
2037
|
+
l("div", En, [
|
|
2038
|
+
c[3] || (c[3] = l("div", { class: "fm-typo-en-title-md-600" }, "NetSuite Integration", -1)),
|
|
2039
|
+
l("div", Fn, [
|
|
2040
|
+
I(u, {
|
|
2070
2041
|
name: x(A),
|
|
2071
2042
|
size: "sm"
|
|
2072
2043
|
}, null, 8, ["name"]),
|
|
2073
|
-
|
|
2044
|
+
l("div", Ln, T((o = x(b)._currentLocation) == null ? void 0 : o.name), 1)
|
|
2074
2045
|
])
|
|
2075
2046
|
]),
|
|
2076
|
-
I(
|
|
2077
|
-
"model-value":
|
|
2078
|
-
"onUpdate:modelValue":
|
|
2079
|
-
items:
|
|
2047
|
+
I(i, {
|
|
2048
|
+
"model-value": p.value,
|
|
2049
|
+
"onUpdate:modelValue": c[0] || (c[0] = (B) => p.value = B),
|
|
2050
|
+
items: S
|
|
2080
2051
|
}, null, 8, ["model-value"])
|
|
2081
2052
|
])
|
|
2082
2053
|
];
|
|
@@ -2086,35 +2057,35 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
2086
2057
|
]), 1032, ["modelValue"]);
|
|
2087
2058
|
};
|
|
2088
2059
|
}
|
|
2089
|
-
}),
|
|
2060
|
+
}), Dn = { class: "flex justify-center" }, Mn = ["src"], jn = { class: "flex flex-col items-center gap-2" }, On = { class: "text-lg font-bold" }, Tn = { class: "text-fm-color-neutral-gray-300" }, zn = /* @__PURE__ */ Y({
|
|
2090
2061
|
__name: "NetSuite",
|
|
2091
2062
|
setup(F) {
|
|
2092
|
-
const
|
|
2063
|
+
const g = le(), s = ae(), r = j(!1), n = j(!1);
|
|
2093
2064
|
async function t() {
|
|
2094
2065
|
n.value = !0;
|
|
2095
2066
|
}
|
|
2096
|
-
const
|
|
2067
|
+
const a = j([]);
|
|
2097
2068
|
ze(async () => {
|
|
2098
|
-
if (
|
|
2099
|
-
|
|
2069
|
+
if (g.isReady && g.isEnabled) {
|
|
2070
|
+
r.value = !0;
|
|
2100
2071
|
try {
|
|
2101
|
-
const
|
|
2102
|
-
|
|
2072
|
+
const b = await g.getNetSuiteLocationOptions();
|
|
2073
|
+
a.value = b;
|
|
2103
2074
|
} catch {
|
|
2104
2075
|
s.open({
|
|
2105
2076
|
message: "Failed to fetch NetSuite locations",
|
|
2106
2077
|
type: "error"
|
|
2107
2078
|
});
|
|
2108
2079
|
} finally {
|
|
2109
|
-
|
|
2080
|
+
r.value = !1;
|
|
2110
2081
|
}
|
|
2111
2082
|
}
|
|
2112
2083
|
});
|
|
2113
|
-
const { t:
|
|
2114
|
-
return (
|
|
2115
|
-
const
|
|
2116
|
-
return x(
|
|
2117
|
-
I(
|
|
2084
|
+
const { t: d } = G();
|
|
2085
|
+
return (b, A) => {
|
|
2086
|
+
const S = E("FmCardSection"), p = E("FmCard");
|
|
2087
|
+
return x(g).isEnabled ? (k(), R(J, { key: 0 }, [
|
|
2088
|
+
I(p, {
|
|
2118
2089
|
class: q({
|
|
2119
2090
|
"w-full": !0,
|
|
2120
2091
|
border: !0,
|
|
@@ -2122,20 +2093,20 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
2122
2093
|
"cursor-pointer": !0,
|
|
2123
2094
|
"hover:border-fm-color-primary": !0
|
|
2124
2095
|
}),
|
|
2125
|
-
onClick: A[0] || (A[0] = (
|
|
2096
|
+
onClick: A[0] || (A[0] = (v) => t())
|
|
2126
2097
|
}, {
|
|
2127
2098
|
default: D(() => [
|
|
2128
|
-
I(
|
|
2099
|
+
I(S, null, {
|
|
2129
2100
|
default: D(() => [
|
|
2130
|
-
|
|
2131
|
-
|
|
2101
|
+
l("div", Dn, [
|
|
2102
|
+
l("img", {
|
|
2132
2103
|
src: x(Zt),
|
|
2133
2104
|
alt: "NetSuite"
|
|
2134
|
-
}, null, 8,
|
|
2105
|
+
}, null, 8, Mn)
|
|
2135
2106
|
]),
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2107
|
+
l("div", jn, [
|
|
2108
|
+
l("div", On, T(x(d)("inventory.integration.netsuite.title")), 1),
|
|
2109
|
+
l("div", Tn, T(x(d)("inventory.integration.netsuite.description")), 1)
|
|
2139
2110
|
])
|
|
2140
2111
|
]),
|
|
2141
2112
|
_: 1
|
|
@@ -2143,39 +2114,39 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
2143
2114
|
]),
|
|
2144
2115
|
_: 1
|
|
2145
2116
|
}),
|
|
2146
|
-
x(
|
|
2117
|
+
x(g).state.setting ? (k(), _(ue, {
|
|
2147
2118
|
key: 0,
|
|
2148
2119
|
to: "body"
|
|
2149
2120
|
}, [
|
|
2150
|
-
x(
|
|
2121
|
+
x(g).isBusinessLocation ? (k(), _(cn, {
|
|
2151
2122
|
key: 0,
|
|
2152
|
-
setting: x(
|
|
2153
|
-
"onUpdate:setting": A[1] || (A[1] = (
|
|
2154
|
-
nsLocations:
|
|
2155
|
-
"onUpdate:nsLocations": A[2] || (A[2] = (
|
|
2123
|
+
setting: x(g).state.setting,
|
|
2124
|
+
"onUpdate:setting": A[1] || (A[1] = (v) => x(g).state.setting = v),
|
|
2125
|
+
nsLocations: a.value,
|
|
2126
|
+
"onUpdate:nsLocations": A[2] || (A[2] = (v) => a.value = v),
|
|
2156
2127
|
show: n.value,
|
|
2157
2128
|
"onUpdate:show": [
|
|
2158
|
-
A[3] || (A[3] = (
|
|
2159
|
-
A[4] || (A[4] = (
|
|
2129
|
+
A[3] || (A[3] = (v) => n.value = v),
|
|
2130
|
+
A[4] || (A[4] = (v) => n.value = v)
|
|
2160
2131
|
],
|
|
2161
|
-
loading:
|
|
2162
|
-
"onUpdate:loading": A[5] || (A[5] = (
|
|
2163
|
-
}, null, 8, ["setting", "nsLocations", "show", "loading"])) : (
|
|
2132
|
+
loading: r.value,
|
|
2133
|
+
"onUpdate:loading": A[5] || (A[5] = (v) => r.value = v)
|
|
2134
|
+
}, null, 8, ["setting", "nsLocations", "show", "loading"])) : (k(), _(Rn, {
|
|
2164
2135
|
key: 1,
|
|
2165
|
-
setting: x(
|
|
2166
|
-
"onUpdate:setting": A[6] || (A[6] = (
|
|
2167
|
-
nsLocations:
|
|
2168
|
-
"onUpdate:nsLocations": A[7] || (A[7] = (
|
|
2136
|
+
setting: x(g).state.setting,
|
|
2137
|
+
"onUpdate:setting": A[6] || (A[6] = (v) => x(g).state.setting = v),
|
|
2138
|
+
nsLocations: a.value,
|
|
2139
|
+
"onUpdate:nsLocations": A[7] || (A[7] = (v) => a.value = v),
|
|
2169
2140
|
show: n.value,
|
|
2170
2141
|
"onUpdate:show": [
|
|
2171
|
-
A[8] || (A[8] = (
|
|
2172
|
-
A[9] || (A[9] = (
|
|
2142
|
+
A[8] || (A[8] = (v) => n.value = v),
|
|
2143
|
+
A[9] || (A[9] = (v) => n.value = v)
|
|
2173
2144
|
],
|
|
2174
|
-
loading:
|
|
2175
|
-
"onUpdate:loading": A[10] || (A[10] = (
|
|
2145
|
+
loading: r.value,
|
|
2146
|
+
"onUpdate:loading": A[10] || (A[10] = (v) => r.value = v)
|
|
2176
2147
|
}, null, 8, ["setting", "nsLocations", "show", "loading"]))
|
|
2177
|
-
])) :
|
|
2178
|
-
], 64)) :
|
|
2148
|
+
])) : X("", !0)
|
|
2149
|
+
], 64)) : X("", !0);
|
|
2179
2150
|
};
|
|
2180
2151
|
}
|
|
2181
2152
|
}), he = [
|
|
@@ -2195,65 +2166,65 @@ const Bt = { class: "flex flex-col rounded border border-fm-color-neutral-gray-1
|
|
|
2195
2166
|
"schemeFranchiseePrice",
|
|
2196
2167
|
"physicalSchemeTotalFranchiseePrice"
|
|
2197
2168
|
];
|
|
2198
|
-
async function
|
|
2199
|
-
var
|
|
2200
|
-
const
|
|
2201
|
-
for (const
|
|
2202
|
-
const
|
|
2203
|
-
for (let A = 0; A <
|
|
2204
|
-
const
|
|
2205
|
-
if (
|
|
2169
|
+
async function Hn(F, g, s) {
|
|
2170
|
+
var a;
|
|
2171
|
+
const r = await Xn(s), n = [], t = {};
|
|
2172
|
+
for (const d in r) {
|
|
2173
|
+
const b = r[d];
|
|
2174
|
+
for (let A = 0; A < b.length; A++) {
|
|
2175
|
+
const S = b[A], p = S.itemCode, v = S.itemName, h = S.physicalQty, C = S.customCost;
|
|
2176
|
+
if (p === "" || p === "undefined") {
|
|
2206
2177
|
n.push({
|
|
2207
|
-
row:
|
|
2208
|
-
itemCode:
|
|
2209
|
-
itemName:
|
|
2178
|
+
row: S.excelRow,
|
|
2179
|
+
itemCode: p,
|
|
2180
|
+
itemName: v,
|
|
2210
2181
|
message: "Item code is empty or undefined"
|
|
2211
2182
|
});
|
|
2212
2183
|
continue;
|
|
2213
2184
|
}
|
|
2214
|
-
const
|
|
2215
|
-
if (!
|
|
2185
|
+
const w = g.find((y) => y.code === p);
|
|
2186
|
+
if (!w) {
|
|
2216
2187
|
n.push({
|
|
2217
|
-
row:
|
|
2218
|
-
itemCode:
|
|
2219
|
-
itemName:
|
|
2220
|
-
qty:
|
|
2188
|
+
row: S.excelRow,
|
|
2189
|
+
itemCode: p,
|
|
2190
|
+
itemName: v,
|
|
2191
|
+
qty: h,
|
|
2221
2192
|
message: "Item not found in inventory"
|
|
2222
|
-
}), console.error(`${
|
|
2193
|
+
}), console.error(`${S.excelRow} Item not found: ${p} ${v} ${h}`);
|
|
2223
2194
|
continue;
|
|
2224
2195
|
}
|
|
2225
|
-
let
|
|
2226
|
-
const
|
|
2227
|
-
|
|
2228
|
-
const
|
|
2229
|
-
amount:
|
|
2196
|
+
let f = Number(S.totalPhysicalCustomCost);
|
|
2197
|
+
const c = F[w._id];
|
|
2198
|
+
c && (f = c * Number(h));
|
|
2199
|
+
const u = P.fromNumber(Number(h)), i = {
|
|
2200
|
+
amount: u,
|
|
2230
2201
|
cost: {
|
|
2231
|
-
...P.fromNumber(Number(
|
|
2202
|
+
...P.fromNumber(Number(f)),
|
|
2232
2203
|
currency: "MYR"
|
|
2233
2204
|
}
|
|
2234
2205
|
};
|
|
2235
|
-
|
|
2206
|
+
h != "0" && C == "0" && console.warn(`Item ${p} ${v} has 0 cost.`), t[a = w._id] ?? (t[a] = {
|
|
2236
2207
|
skuAdjustment: {
|
|
2237
|
-
sku:
|
|
2208
|
+
sku: w,
|
|
2238
2209
|
fromBalance: P.fromNumber(0),
|
|
2239
2210
|
amounts: [
|
|
2240
2211
|
{
|
|
2241
2212
|
_id: null,
|
|
2242
2213
|
type: we.Enum.CLOSING,
|
|
2243
2214
|
remark: "Opening Balance",
|
|
2244
|
-
amount:
|
|
2215
|
+
amount: u,
|
|
2245
2216
|
measurement: null,
|
|
2246
2217
|
// always the smallest unit
|
|
2247
|
-
cost:
|
|
2218
|
+
cost: i.cost
|
|
2248
2219
|
}
|
|
2249
2220
|
],
|
|
2250
|
-
toBalance:
|
|
2251
|
-
toCostBalances: [
|
|
2221
|
+
toBalance: u,
|
|
2222
|
+
toCostBalances: [i]
|
|
2252
2223
|
},
|
|
2253
2224
|
skuBalance: {
|
|
2254
|
-
id:
|
|
2255
|
-
balance:
|
|
2256
|
-
costs: [
|
|
2225
|
+
id: w._id,
|
|
2226
|
+
balance: u,
|
|
2227
|
+
costs: [i]
|
|
2257
2228
|
}
|
|
2258
2229
|
});
|
|
2259
2230
|
}
|
|
@@ -2264,44 +2235,44 @@ async function _n(F, v, s) {
|
|
|
2264
2235
|
};
|
|
2265
2236
|
}
|
|
2266
2237
|
async function Xn(F) {
|
|
2267
|
-
const
|
|
2268
|
-
const
|
|
2269
|
-
|
|
2270
|
-
}), s = ke(
|
|
2271
|
-
for (const t of
|
|
2272
|
-
const
|
|
2273
|
-
n[t] =
|
|
2238
|
+
const g = await new Promise((t, a) => {
|
|
2239
|
+
const d = new FileReader();
|
|
2240
|
+
d.onload = (b) => t(b.target.result), d.onerror = a, d.readAsArrayBuffer(F);
|
|
2241
|
+
}), s = ke(g, { type: "array" }), r = s.SheetNames, n = {};
|
|
2242
|
+
for (const t of r) {
|
|
2243
|
+
const a = await _n(s.Sheets[t]);
|
|
2244
|
+
n[t] = a;
|
|
2274
2245
|
}
|
|
2275
2246
|
return n;
|
|
2276
2247
|
}
|
|
2277
|
-
async function
|
|
2278
|
-
const
|
|
2248
|
+
async function _n(F) {
|
|
2249
|
+
const g = Be.sheet_to_json(F, {
|
|
2279
2250
|
header: he,
|
|
2280
2251
|
range: 12
|
|
2281
2252
|
}), s = [];
|
|
2282
|
-
for (let
|
|
2283
|
-
const n =
|
|
2284
|
-
for (const
|
|
2285
|
-
t[
|
|
2253
|
+
for (let r = 0; r < g.length; r++) {
|
|
2254
|
+
const n = g[r], t = {};
|
|
2255
|
+
for (const a of he)
|
|
2256
|
+
t[a] = String(n[a]).trim();
|
|
2286
2257
|
s.push({
|
|
2287
2258
|
...t,
|
|
2288
|
-
excelRow:
|
|
2259
|
+
excelRow: r + 13
|
|
2289
2260
|
// Excel rows start from 1, and we skip the first 12 rows
|
|
2290
2261
|
});
|
|
2291
2262
|
}
|
|
2292
2263
|
return s;
|
|
2293
2264
|
}
|
|
2294
|
-
const
|
|
2265
|
+
const Un = { class: "flex flex-col gap-4" }, Qn = { class: "flex flex-col" }, Yn = {
|
|
2295
2266
|
key: 0,
|
|
2296
2267
|
class: "flex flex-col gap-4 my-5"
|
|
2297
|
-
},
|
|
2268
|
+
}, Jn = { class: "flex flex-col gap-8" }, Kn = { class: "flex flex-col gap-8" }, Zn = {
|
|
2298
2269
|
class: /* @__PURE__ */ q(["fm-corner-radius-md p-16 flex items-center gap-16"])
|
|
2299
|
-
},
|
|
2270
|
+
}, qn = {
|
|
2300
2271
|
class: /* @__PURE__ */ q(["fm-typo-en-body-md-400 flex-1 h-[36px] flex items-center gap-3"])
|
|
2301
|
-
},
|
|
2272
|
+
}, Gn = { class: "line-clamp-2 text-ellipsis break-all" }, Pn = { class: "flex flex-col" }, Wn = { class: "font-medium" }, $n = { class: "text-fm-color-typo-secondary fm-typo-en-body-md-400" }, eo = { class: "flex" }, to = { class: "flex" }, no = { key: 1 }, oo = /* @__PURE__ */ Y({
|
|
2302
2273
|
__name: "XilnexOpeningImport",
|
|
2303
2274
|
setup(F) {
|
|
2304
|
-
const
|
|
2275
|
+
const g = Ge(), s = le(), r = Ae(), n = Ce(), t = ae(), a = z(() => [
|
|
2305
2276
|
{
|
|
2306
2277
|
value: "xilnex",
|
|
2307
2278
|
label: "Xilnex",
|
|
@@ -2316,7 +2287,7 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2316
2287
|
disabledReason: "Current location is not binded to NetSuite"
|
|
2317
2288
|
}
|
|
2318
2289
|
] : []
|
|
2319
|
-
]),
|
|
2290
|
+
]), d = j(a.value[0].value), { t: b } = de(), A = j(null), S = j(), p = j(""), v = j([]), h = j([]), C = [
|
|
2320
2291
|
{
|
|
2321
2292
|
id: "ingredient",
|
|
2322
2293
|
header: () => "Ingredient",
|
|
@@ -2386,7 +2357,7 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2386
2357
|
]);
|
|
2387
2358
|
}
|
|
2388
2359
|
}
|
|
2389
|
-
],
|
|
2360
|
+
], w = [
|
|
2390
2361
|
{
|
|
2391
2362
|
accessorKey: "row",
|
|
2392
2363
|
header: "Row"
|
|
@@ -2407,32 +2378,32 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2407
2378
|
accessorKey: "message",
|
|
2408
2379
|
header: "Error Message"
|
|
2409
2380
|
}
|
|
2410
|
-
],
|
|
2411
|
-
async function
|
|
2381
|
+
], f = j(!1);
|
|
2382
|
+
async function c() {
|
|
2412
2383
|
if (A.value) {
|
|
2413
|
-
|
|
2384
|
+
f.value = !0;
|
|
2414
2385
|
try {
|
|
2415
2386
|
let e = {};
|
|
2416
|
-
|
|
2417
|
-
const { errors: o, rows: B } = await
|
|
2387
|
+
d.value === "netsuite" && (e = await s.getItemAverageCosts());
|
|
2388
|
+
const { errors: o, rows: B } = await Hn(
|
|
2418
2389
|
e,
|
|
2419
|
-
|
|
2390
|
+
r.skus,
|
|
2420
2391
|
A.value
|
|
2421
2392
|
);
|
|
2422
|
-
|
|
2393
|
+
v.value = o, h.value = Object.values(B);
|
|
2423
2394
|
} catch {
|
|
2424
2395
|
t.open({
|
|
2425
2396
|
message: "Error verifying file",
|
|
2426
2397
|
type: "error"
|
|
2427
2398
|
});
|
|
2428
2399
|
} finally {
|
|
2429
|
-
|
|
2400
|
+
f.value = !1;
|
|
2430
2401
|
}
|
|
2431
2402
|
}
|
|
2432
2403
|
}
|
|
2433
|
-
async function
|
|
2404
|
+
async function u() {
|
|
2434
2405
|
if (A.value) {
|
|
2435
|
-
|
|
2406
|
+
f.value = !0;
|
|
2436
2407
|
try {
|
|
2437
2408
|
if (!y.value) {
|
|
2438
2409
|
t.open({
|
|
@@ -2443,38 +2414,38 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2443
2414
|
}
|
|
2444
2415
|
await n.setOpeningBalance({
|
|
2445
2416
|
effectiveAt: y.value,
|
|
2446
|
-
skuAdjustments:
|
|
2447
|
-
skuBalances:
|
|
2417
|
+
skuAdjustments: h.value.map((e) => e.skuAdjustment),
|
|
2418
|
+
skuBalances: h.value.map((e) => e.skuBalance)
|
|
2448
2419
|
}), t.open({
|
|
2449
2420
|
message: "Opening balance imported successfully",
|
|
2450
2421
|
type: "success"
|
|
2451
|
-
}), await
|
|
2422
|
+
}), await g.fetchClosingDocumentId();
|
|
2452
2423
|
} catch {
|
|
2453
2424
|
t.open({
|
|
2454
2425
|
message: "Error importing opening balance",
|
|
2455
2426
|
type: "error"
|
|
2456
2427
|
});
|
|
2457
2428
|
} finally {
|
|
2458
|
-
|
|
2429
|
+
f.value = !1;
|
|
2459
2430
|
}
|
|
2460
2431
|
}
|
|
2461
2432
|
}
|
|
2462
|
-
const
|
|
2433
|
+
const i = j(""), y = z({
|
|
2463
2434
|
get() {
|
|
2464
|
-
return
|
|
2435
|
+
return i.value;
|
|
2465
2436
|
},
|
|
2466
2437
|
set(e) {
|
|
2467
|
-
|
|
2438
|
+
i.value = `${e}T15:59:59.999Z`;
|
|
2468
2439
|
}
|
|
2469
|
-
}),
|
|
2470
|
-
if (!
|
|
2471
|
-
const e = new Date(
|
|
2440
|
+
}), m = z(() => {
|
|
2441
|
+
if (!i.value) return null;
|
|
2442
|
+
const e = new Date(i.value);
|
|
2472
2443
|
return isNaN(e.getTime()) ? null : ve(e);
|
|
2473
2444
|
});
|
|
2474
2445
|
return (e, o) => {
|
|
2475
2446
|
const B = E("FmLabel"), L = E("FmField"), V = E("FmSimpleDatePicker"), H = E("FmButton"), U = E("FmRadio"), M = E("FmRadioGroup"), O = E("FmTable");
|
|
2476
|
-
return
|
|
2477
|
-
|
|
2447
|
+
return k(), R("div", Un, [
|
|
2448
|
+
l("div", Qn, [
|
|
2478
2449
|
I(B, { label: "Latest closing" })
|
|
2479
2450
|
]),
|
|
2480
2451
|
I(L, {
|
|
@@ -2482,13 +2453,13 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2482
2453
|
disabled: ""
|
|
2483
2454
|
}, {
|
|
2484
2455
|
default: D(() => [
|
|
2485
|
-
Z(T(x(
|
|
2456
|
+
Z(T(x(g).state.closingDocumentId ? `${x(Ee)(new Date(x(ge)(x(g).state.closingDocumentId)))}` : "No closing found"), 1)
|
|
2486
2457
|
]),
|
|
2487
2458
|
_: 1
|
|
2488
2459
|
}),
|
|
2489
|
-
x(
|
|
2490
|
-
|
|
2491
|
-
]))) : (
|
|
2460
|
+
x(g).state.closingDocumentId ? (k(), R("div", no, o[6] || (o[6] = [
|
|
2461
|
+
l("span", { class: "text-fm-color-typo-secondary fm-typo-en-body-md-400" }, " Not able to import opening balance as closing document already exists. ", -1)
|
|
2462
|
+
]))) : (k(), R("div", Yn, [
|
|
2492
2463
|
I(V, {
|
|
2493
2464
|
modelValue: y.value,
|
|
2494
2465
|
"onUpdate:modelValue": o[0] || (o[0] = (Q) => y.value = Q),
|
|
@@ -2501,14 +2472,14 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2501
2472
|
label: "Last closing time"
|
|
2502
2473
|
}, {
|
|
2503
2474
|
default: D(() => [
|
|
2504
|
-
Z(T(
|
|
2475
|
+
Z(T(m.value), 1)
|
|
2505
2476
|
]),
|
|
2506
2477
|
_: 1
|
|
2507
2478
|
})
|
|
2508
2479
|
]),
|
|
2509
2480
|
_: 1
|
|
2510
2481
|
}, 8, ["modelValue"]),
|
|
2511
|
-
|
|
2482
|
+
l("div", Jn, [
|
|
2512
2483
|
I(B, { label: "Stock take file" })
|
|
2513
2484
|
]),
|
|
2514
2485
|
I(Fe, {
|
|
@@ -2516,16 +2487,16 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2516
2487
|
Q && (A.value = Q);
|
|
2517
2488
|
}),
|
|
2518
2489
|
accept: ".xlsx, .xls, .csv"
|
|
2519
|
-
},
|
|
2490
|
+
}, ne({ _: 2 }, [
|
|
2520
2491
|
A.value ? {
|
|
2521
2492
|
name: "default",
|
|
2522
2493
|
fn: D(({ openFileDialog: Q }) => [
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2494
|
+
l("div", Kn, [
|
|
2495
|
+
l("div", Zn, [
|
|
2496
|
+
l("div", qn, [
|
|
2497
|
+
l("div", Gn, T(A.value.name), 1),
|
|
2527
2498
|
I(H, {
|
|
2528
|
-
label: x(
|
|
2499
|
+
label: x(b)("inventory.ingredient.import.replaceFile"),
|
|
2529
2500
|
variant: "secondary",
|
|
2530
2501
|
"prepend-icon": "autorenew",
|
|
2531
2502
|
onClick: Q
|
|
@@ -2538,13 +2509,13 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2538
2509
|
} : void 0
|
|
2539
2510
|
]), 1024),
|
|
2540
2511
|
I(M, {
|
|
2541
|
-
modelValue:
|
|
2542
|
-
"onUpdate:modelValue": o[2] || (o[2] = (Q) =>
|
|
2512
|
+
modelValue: d.value,
|
|
2513
|
+
"onUpdate:modelValue": o[2] || (o[2] = (Q) => d.value = Q),
|
|
2543
2514
|
label: "Retrieve cost from",
|
|
2544
2515
|
class: "my-5"
|
|
2545
2516
|
}, {
|
|
2546
2517
|
default: D(() => [
|
|
2547
|
-
(
|
|
2518
|
+
(k(!0), R(J, null, te(a.value, (Q) => (k(), _(U, {
|
|
2548
2519
|
key: Q.value,
|
|
2549
2520
|
value: Q.value,
|
|
2550
2521
|
label: Q.label,
|
|
@@ -2552,9 +2523,9 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2552
2523
|
disabled: Q.disabled
|
|
2553
2524
|
}, {
|
|
2554
2525
|
label: D(() => [
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2526
|
+
l("div", Pn, [
|
|
2527
|
+
l("span", Wn, T(Q.label), 1),
|
|
2528
|
+
l("span", $n, T(Q.disabled ? Q.disabledReason : Q.subLabel), 1)
|
|
2558
2529
|
])
|
|
2559
2530
|
]),
|
|
2560
2531
|
_: 2
|
|
@@ -2562,63 +2533,63 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2562
2533
|
]),
|
|
2563
2534
|
_: 1
|
|
2564
2535
|
}, 8, ["modelValue"]),
|
|
2565
|
-
|
|
2536
|
+
l("div", eo, [
|
|
2566
2537
|
I(H, {
|
|
2567
2538
|
class: "ml-auto mt-4",
|
|
2568
2539
|
variant: "secondary",
|
|
2569
2540
|
"prepend-icon": "troubleshoot",
|
|
2570
2541
|
label: "Verify",
|
|
2571
|
-
disabled: !A.value && !
|
|
2572
|
-
loading:
|
|
2573
|
-
onClick:
|
|
2542
|
+
disabled: !A.value && !f.value,
|
|
2543
|
+
loading: f.value,
|
|
2544
|
+
onClick: c
|
|
2574
2545
|
}, null, 8, ["disabled", "loading"])
|
|
2575
2546
|
]),
|
|
2576
|
-
A.value &&
|
|
2577
|
-
o[4] || (o[4] =
|
|
2547
|
+
A.value && h.value.length > 0 ? (k(), R(J, { key: 0 }, [
|
|
2548
|
+
o[4] || (o[4] = l("h2", { class: "fm-typo-en-title-md-800 mt-8 mb-4" }, "Results", -1)),
|
|
2578
2549
|
I(O, {
|
|
2579
|
-
modelValue:
|
|
2580
|
-
"onUpdate:modelValue": o[3] || (o[3] = (Q) =>
|
|
2581
|
-
"row-data":
|
|
2550
|
+
modelValue: S.value,
|
|
2551
|
+
"onUpdate:modelValue": o[3] || (o[3] = (Q) => S.value = Q),
|
|
2552
|
+
"row-data": h.value,
|
|
2582
2553
|
"column-defs": C,
|
|
2583
2554
|
"shrink-at": !1,
|
|
2584
|
-
"search-value":
|
|
2555
|
+
"search-value": p.value
|
|
2585
2556
|
}, null, 8, ["modelValue", "row-data", "search-value"])
|
|
2586
|
-
], 64)) :
|
|
2587
|
-
|
|
2588
|
-
o[5] || (o[5] =
|
|
2557
|
+
], 64)) : X("", !0),
|
|
2558
|
+
v.value.length > 0 ? (k(), R(J, { key: 1 }, [
|
|
2559
|
+
o[5] || (o[5] = l("h2", { class: "fm-typo-en-title-md-800 mt-8 mb-4 text-red-600" }, "Errors", -1)),
|
|
2589
2560
|
I(O, {
|
|
2590
|
-
"row-data":
|
|
2591
|
-
"column-defs":
|
|
2561
|
+
"row-data": v.value,
|
|
2562
|
+
"column-defs": w
|
|
2592
2563
|
}, null, 8, ["row-data"])
|
|
2593
|
-
], 64)) :
|
|
2594
|
-
|
|
2595
|
-
|
|
2564
|
+
], 64)) : X("", !0),
|
|
2565
|
+
l("div", to, [
|
|
2566
|
+
h.value.length > 0 && !x(g).state.closingDocumentId ? (k(), _(H, {
|
|
2596
2567
|
key: 0,
|
|
2597
2568
|
class: "ml-auto mt-4",
|
|
2598
2569
|
"prepend-icon": "file_upload",
|
|
2599
2570
|
variant: "primary",
|
|
2600
2571
|
label: "Import Opening Balance",
|
|
2601
|
-
disabled: !A.value ||
|
|
2602
|
-
onClick:
|
|
2603
|
-
}, null, 8, ["disabled"])) :
|
|
2572
|
+
disabled: !A.value || f.value,
|
|
2573
|
+
onClick: u
|
|
2574
|
+
}, null, 8, ["disabled"])) : X("", !0)
|
|
2604
2575
|
])
|
|
2605
2576
|
]))
|
|
2606
2577
|
]);
|
|
2607
2578
|
};
|
|
2608
2579
|
}
|
|
2609
|
-
}),
|
|
2580
|
+
}), so = { class: "flex flex-col gap-8 w-full" }, ao = { class: "flex gap-4 justify-between" }, lo = { class: "inline-flex rounded-md items-center gap-4 justify-center h-[30px] px-8 py-4 bg-fm-color-neutral-gray-100 text-fm-color-neutral-gray-400" }, io = { class: "fm-typo-en-body-md-600 select-none text-ellipsis overflow-hidden whitespace-nowrap" }, ro = { key: 0 }, uo = {
|
|
2610
2581
|
key: 1,
|
|
2611
2582
|
class: "flex flex-col gap-8 w-full"
|
|
2612
|
-
},
|
|
2583
|
+
}, co = { key: 1 }, mo = { class: "flex gap-8 items-center justify-start" }, fo = /* @__PURE__ */ Y({
|
|
2613
2584
|
__name: "XilnexSideSheet",
|
|
2614
2585
|
props: {
|
|
2615
2586
|
show: { type: Boolean },
|
|
2616
2587
|
loading: { type: Boolean }
|
|
2617
2588
|
},
|
|
2618
2589
|
emits: ["update:show"],
|
|
2619
|
-
setup(F, { emit:
|
|
2620
|
-
var
|
|
2621
|
-
const s = ie(), n =
|
|
2590
|
+
setup(F, { emit: g }) {
|
|
2591
|
+
var p;
|
|
2592
|
+
const s = ie(), n = se(F, "show"), { t } = G(), a = g, d = W(), b = ((p = d._currentLocation) == null ? void 0 : p.type) || "", A = [
|
|
2622
2593
|
{ label: re(
|
|
2623
2594
|
"openingBalance"
|
|
2624
2595
|
/* OPENING_BALANCE */
|
|
@@ -2627,63 +2598,63 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2627
2598
|
"transferNote"
|
|
2628
2599
|
/* TRANSFER_NOTE */
|
|
2629
2600
|
) }
|
|
2630
|
-
],
|
|
2631
|
-
return (
|
|
2632
|
-
var
|
|
2633
|
-
const C = E("FmIcon"),
|
|
2634
|
-
return
|
|
2601
|
+
], S = j(A[0]);
|
|
2602
|
+
return (v, h) => {
|
|
2603
|
+
var u;
|
|
2604
|
+
const C = E("FmIcon"), w = E("FmButtonGroup"), f = E("FmButton"), c = E("FmSideSheet");
|
|
2605
|
+
return k(), _(c, {
|
|
2635
2606
|
modelValue: x(n),
|
|
2636
|
-
"onUpdate:modelValue":
|
|
2607
|
+
"onUpdate:modelValue": h[2] || (h[2] = (i) => oe(n) ? n.value = i : null),
|
|
2637
2608
|
header: "Data migration (Xilnex)",
|
|
2638
2609
|
"dismiss-away": "",
|
|
2639
2610
|
"close-button": "",
|
|
2640
2611
|
"max-width": 800
|
|
2641
|
-
},
|
|
2612
|
+
}, ne({
|
|
2642
2613
|
default: D(() => {
|
|
2643
|
-
var
|
|
2614
|
+
var i;
|
|
2644
2615
|
return [
|
|
2645
|
-
(
|
|
2646
|
-
|
|
2616
|
+
(i = x(s).sessionUser.value) != null && i.role.isAdmin ? (k(), R("div", uo, [
|
|
2617
|
+
S.value.label === x(re)(
|
|
2647
2618
|
"openingBalance"
|
|
2648
2619
|
/* OPENING_BALANCE */
|
|
2649
|
-
) ? (
|
|
2650
|
-
|
|
2620
|
+
) ? (k(), _(oo, { key: 0 })) : X("", !0),
|
|
2621
|
+
S.value.label === x(re)(
|
|
2651
2622
|
"transferNote"
|
|
2652
2623
|
/* TRANSFER_NOTE */
|
|
2653
|
-
) ? (
|
|
2654
|
-
])) : (
|
|
2624
|
+
) ? (k(), R("div", co, " Not available yet. ")) : X("", !0)
|
|
2625
|
+
])) : (k(), R("div", ro, " Please contact your administrator to apply the changes. "))
|
|
2655
2626
|
];
|
|
2656
2627
|
}),
|
|
2657
2628
|
"side-sheet-footer": D(() => [
|
|
2658
|
-
|
|
2659
|
-
I(
|
|
2629
|
+
l("div", mo, [
|
|
2630
|
+
I(f, {
|
|
2660
2631
|
variant: "tertiary",
|
|
2661
2632
|
label: x(t)("common.close"),
|
|
2662
|
-
onClick:
|
|
2633
|
+
onClick: h[1] || (h[1] = (i) => a("update:show", !1))
|
|
2663
2634
|
}, null, 8, ["label"])
|
|
2664
2635
|
])
|
|
2665
2636
|
]),
|
|
2666
2637
|
_: 2
|
|
2667
2638
|
}, [
|
|
2668
|
-
(
|
|
2639
|
+
(u = x(s).sessionUser.value) != null && u.role.isAdmin ? {
|
|
2669
2640
|
name: "side-sheet-header",
|
|
2670
2641
|
fn: D(() => {
|
|
2671
|
-
var
|
|
2642
|
+
var i;
|
|
2672
2643
|
return [
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2644
|
+
l("div", so, [
|
|
2645
|
+
l("div", ao, [
|
|
2646
|
+
h[3] || (h[3] = l("div", { class: "fm-typo-en-title-md-600" }, "Data migration (Xilnex)", -1)),
|
|
2647
|
+
l("div", lo, [
|
|
2677
2648
|
I(C, {
|
|
2678
|
-
name: x(
|
|
2649
|
+
name: x(b),
|
|
2679
2650
|
size: "sm"
|
|
2680
2651
|
}, null, 8, ["name"]),
|
|
2681
|
-
|
|
2652
|
+
l("div", io, T((i = x(d)._currentLocation) == null ? void 0 : i.name), 1)
|
|
2682
2653
|
])
|
|
2683
2654
|
]),
|
|
2684
|
-
I(
|
|
2685
|
-
modelValue:
|
|
2686
|
-
"onUpdate:modelValue":
|
|
2655
|
+
I(w, {
|
|
2656
|
+
modelValue: S.value,
|
|
2657
|
+
"onUpdate:modelValue": h[0] || (h[0] = (y) => S.value = y),
|
|
2687
2658
|
items: A
|
|
2688
2659
|
}, null, 8, ["modelValue"])
|
|
2689
2660
|
])
|
|
@@ -2694,17 +2665,17 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2694
2665
|
]), 1032, ["modelValue"]);
|
|
2695
2666
|
};
|
|
2696
2667
|
}
|
|
2697
|
-
}),
|
|
2668
|
+
}), po = /* @__PURE__ */ Y({
|
|
2698
2669
|
__name: "XilnexView",
|
|
2699
2670
|
setup(F) {
|
|
2700
|
-
const
|
|
2671
|
+
const g = Le(), s = W(), r = j(!1);
|
|
2701
2672
|
async function n() {
|
|
2702
|
-
|
|
2673
|
+
r.value = !0, console.log("Opening Xilnex migration dialog");
|
|
2703
2674
|
}
|
|
2704
|
-
return (t,
|
|
2705
|
-
const
|
|
2706
|
-
return x(
|
|
2707
|
-
I(
|
|
2675
|
+
return (t, a) => {
|
|
2676
|
+
const d = E("FmCardSection"), b = E("FmCard");
|
|
2677
|
+
return x(g).enabledXilnexOpeningMigration && !x(s).businessLevel ? (k(), R(J, { key: 0 }, [
|
|
2678
|
+
I(b, {
|
|
2708
2679
|
class: q({
|
|
2709
2680
|
"w-full": !0,
|
|
2710
2681
|
border: !0,
|
|
@@ -2712,19 +2683,19 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2712
2683
|
"cursor-pointer": !0,
|
|
2713
2684
|
"hover:border-fm-color-primary": !0
|
|
2714
2685
|
}),
|
|
2715
|
-
onClick:
|
|
2686
|
+
onClick: a[0] || (a[0] = (A) => n())
|
|
2716
2687
|
}, {
|
|
2717
2688
|
default: D(() => [
|
|
2718
|
-
I(
|
|
2719
|
-
default: D(() =>
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2689
|
+
I(d, null, {
|
|
2690
|
+
default: D(() => a[2] || (a[2] = [
|
|
2691
|
+
l("div", { class: "flex justify-center" }, [
|
|
2692
|
+
l("div", { class: "size-[100px] bg-gray-200 rounded-lg flex items-center justify-center" }, [
|
|
2693
|
+
l("span", { class: "text-lg font-bold text-gray-600" }, "Xilnex")
|
|
2723
2694
|
])
|
|
2724
2695
|
], -1),
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2696
|
+
l("div", { class: "flex flex-col items-center gap-2" }, [
|
|
2697
|
+
l("div", { class: "text-lg font-bold" }, "Xilnex"),
|
|
2698
|
+
l("div", { class: "text-fm-color-neutral-gray-300" }, "Data migration from Xilnex")
|
|
2728
2699
|
], -1)
|
|
2729
2700
|
])),
|
|
2730
2701
|
_: 1
|
|
@@ -2732,13 +2703,13 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2732
2703
|
]),
|
|
2733
2704
|
_: 1
|
|
2734
2705
|
}),
|
|
2735
|
-
(
|
|
2736
|
-
I(
|
|
2737
|
-
show:
|
|
2738
|
-
"onUpdate:show":
|
|
2706
|
+
(k(), _(ue, { to: "body" }, [
|
|
2707
|
+
I(fo, {
|
|
2708
|
+
show: r.value,
|
|
2709
|
+
"onUpdate:show": a[1] || (a[1] = (A) => r.value = A)
|
|
2739
2710
|
}, null, 8, ["show"])
|
|
2740
2711
|
]))
|
|
2741
|
-
], 64)) :
|
|
2712
|
+
], 64)) : X("", !0);
|
|
2742
2713
|
};
|
|
2743
2714
|
}
|
|
2744
2715
|
}), Ie = [
|
|
@@ -2751,63 +2722,63 @@ const Qn = { class: "flex flex-col gap-4" }, Yn = { class: "flex flex-col" }, Jn
|
|
|
2751
2722
|
"quantity",
|
|
2752
2723
|
"total"
|
|
2753
2724
|
];
|
|
2754
|
-
async function
|
|
2755
|
-
var
|
|
2756
|
-
const
|
|
2757
|
-
for (let A = 0; A <
|
|
2758
|
-
const
|
|
2759
|
-
if (
|
|
2725
|
+
async function vo(F, g, s) {
|
|
2726
|
+
var b;
|
|
2727
|
+
const r = await go(s), n = [], t = {}, a = Object.keys(r)[0], d = r[a];
|
|
2728
|
+
for (let A = 0; A < d.length; A++) {
|
|
2729
|
+
const S = d[A], p = S.code, v = S.description, h = S.quantity, C = S.unitcost;
|
|
2730
|
+
if (p === "" || p === "undefined") {
|
|
2760
2731
|
n.push({
|
|
2761
|
-
row:
|
|
2762
|
-
itemCode:
|
|
2763
|
-
itemName:
|
|
2732
|
+
row: S.excelRow,
|
|
2733
|
+
itemCode: p,
|
|
2734
|
+
itemName: v,
|
|
2764
2735
|
message: "Item code is empty or undefined"
|
|
2765
2736
|
});
|
|
2766
2737
|
continue;
|
|
2767
2738
|
}
|
|
2768
|
-
const
|
|
2769
|
-
if (!
|
|
2739
|
+
const w = g.find((y) => y.code === p);
|
|
2740
|
+
if (!w) {
|
|
2770
2741
|
n.push({
|
|
2771
|
-
row:
|
|
2772
|
-
itemCode:
|
|
2773
|
-
itemName:
|
|
2774
|
-
qty:
|
|
2742
|
+
row: S.excelRow,
|
|
2743
|
+
itemCode: p,
|
|
2744
|
+
itemName: v,
|
|
2745
|
+
qty: h,
|
|
2775
2746
|
message: "Item not found in inventory"
|
|
2776
|
-
}), console.error(`${
|
|
2747
|
+
}), console.error(`${S.excelRow} Item not found: ${p} ${v} ${h}`);
|
|
2777
2748
|
continue;
|
|
2778
2749
|
}
|
|
2779
|
-
let
|
|
2780
|
-
const
|
|
2781
|
-
|
|
2782
|
-
const
|
|
2783
|
-
amount:
|
|
2750
|
+
let f = Number(S.total);
|
|
2751
|
+
const c = F[w._id];
|
|
2752
|
+
c && (f = c * Number(h));
|
|
2753
|
+
const u = P.fromNumber(Number(h)), i = {
|
|
2754
|
+
amount: u,
|
|
2784
2755
|
cost: {
|
|
2785
|
-
...P.fromNumber(Number(
|
|
2756
|
+
...P.fromNumber(Number(f)),
|
|
2786
2757
|
currency: "MYR"
|
|
2787
2758
|
}
|
|
2788
2759
|
};
|
|
2789
|
-
|
|
2760
|
+
h != "0" && C == "0" && console.warn(`Item ${p} ${v} has 0 cost.`), t[b = w._id] ?? (t[b] = {
|
|
2790
2761
|
skuAdjustment: {
|
|
2791
|
-
sku:
|
|
2762
|
+
sku: w,
|
|
2792
2763
|
fromBalance: P.fromNumber(0),
|
|
2793
2764
|
amounts: [
|
|
2794
2765
|
{
|
|
2795
2766
|
_id: null,
|
|
2796
2767
|
type: we.Enum.CLOSING,
|
|
2797
2768
|
remark: "Opening Balance",
|
|
2798
|
-
amount:
|
|
2769
|
+
amount: u,
|
|
2799
2770
|
measurement: null,
|
|
2800
2771
|
// always the smallest unit
|
|
2801
|
-
cost:
|
|
2772
|
+
cost: i.cost
|
|
2802
2773
|
}
|
|
2803
2774
|
],
|
|
2804
|
-
toBalance:
|
|
2805
|
-
toCostBalances: [
|
|
2775
|
+
toBalance: u,
|
|
2776
|
+
toCostBalances: [i]
|
|
2806
2777
|
},
|
|
2807
2778
|
skuBalance: {
|
|
2808
|
-
id:
|
|
2809
|
-
balance:
|
|
2810
|
-
costs: [
|
|
2779
|
+
id: w._id,
|
|
2780
|
+
balance: u,
|
|
2781
|
+
costs: [i]
|
|
2811
2782
|
}
|
|
2812
2783
|
});
|
|
2813
2784
|
}
|
|
@@ -2816,56 +2787,56 @@ async function go(F, v, s) {
|
|
|
2816
2787
|
rows: t
|
|
2817
2788
|
};
|
|
2818
2789
|
}
|
|
2819
|
-
async function
|
|
2820
|
-
const
|
|
2821
|
-
const
|
|
2822
|
-
|
|
2823
|
-
}), s = ke(
|
|
2824
|
-
for (const t of
|
|
2825
|
-
const
|
|
2826
|
-
n[t] =
|
|
2790
|
+
async function go(F) {
|
|
2791
|
+
const g = await new Promise((t, a) => {
|
|
2792
|
+
const d = new FileReader();
|
|
2793
|
+
d.onload = (b) => t(b.target.result), d.onerror = a, d.readAsArrayBuffer(F);
|
|
2794
|
+
}), s = ke(g, { type: "array" }), r = s.SheetNames, n = {};
|
|
2795
|
+
for (const t of r) {
|
|
2796
|
+
const a = await Ao(s.Sheets[t]);
|
|
2797
|
+
n[t] = a;
|
|
2827
2798
|
}
|
|
2828
2799
|
return n;
|
|
2829
2800
|
}
|
|
2830
2801
|
async function Ao(F) {
|
|
2831
|
-
const
|
|
2802
|
+
const g = Be.sheet_to_json(F, {
|
|
2832
2803
|
header: Ie,
|
|
2833
2804
|
range: 1
|
|
2834
2805
|
}), s = [];
|
|
2835
|
-
for (let
|
|
2836
|
-
const n =
|
|
2837
|
-
for (const
|
|
2838
|
-
t[
|
|
2806
|
+
for (let r = 0; r < g.length; r++) {
|
|
2807
|
+
const n = g[r], t = {};
|
|
2808
|
+
for (const a of Ie)
|
|
2809
|
+
t[a] = String(n[a]).trim();
|
|
2839
2810
|
s.push({
|
|
2840
2811
|
...t,
|
|
2841
|
-
excelRow:
|
|
2812
|
+
excelRow: r + 2
|
|
2842
2813
|
// Excel rows start from 1, and we skip the first row
|
|
2843
2814
|
});
|
|
2844
2815
|
}
|
|
2845
2816
|
return s;
|
|
2846
2817
|
}
|
|
2847
|
-
const
|
|
2818
|
+
const yo = { class: "flex flex-col gap-4" }, bo = { class: "flex flex-col" }, ho = {
|
|
2848
2819
|
key: 0,
|
|
2849
2820
|
class: "flex flex-col gap-4 my-5"
|
|
2850
|
-
},
|
|
2821
|
+
}, Io = { class: "flex flex-col gap-8" }, xo = { class: "flex flex-col gap-8" }, So = {
|
|
2851
2822
|
class: /* @__PURE__ */ q(["fm-corner-radius-md p-16 flex items-center gap-16"])
|
|
2852
|
-
},
|
|
2823
|
+
}, wo = {
|
|
2853
2824
|
class: /* @__PURE__ */ q(["fm-typo-en-body-md-400 flex-1 h-[36px] flex items-center gap-3"])
|
|
2854
|
-
},
|
|
2825
|
+
}, ko = { class: "line-clamp-2 text-ellipsis break-all" }, Bo = { class: "flex flex-col" }, Co = { class: "font-medium" }, Eo = { class: "text-fm-color-typo-secondary fm-typo-en-body-md-400" }, Fo = { class: "flex" }, Lo = { class: "flex" }, Vo = { key: 1 }, No = /* @__PURE__ */ Y({
|
|
2855
2826
|
__name: "SynergyOpeningImport",
|
|
2856
2827
|
setup(F) {
|
|
2857
|
-
const
|
|
2828
|
+
const g = Pe(), s = Ae(), r = Ce(), n = ae(), t = z(() => [
|
|
2858
2829
|
{
|
|
2859
2830
|
value: "synergy",
|
|
2860
2831
|
label: "Synergy",
|
|
2861
2832
|
subLabel: "Based on Synergy's item cost from excel file"
|
|
2862
2833
|
}
|
|
2863
|
-
]),
|
|
2834
|
+
]), a = j(t.value[0].value), { t: d } = de(), b = j(null), A = j(), S = j(""), p = j([]), v = j([]), h = [
|
|
2864
2835
|
{
|
|
2865
2836
|
id: "ingredient",
|
|
2866
2837
|
header: () => "Ingredient",
|
|
2867
|
-
cell(
|
|
2868
|
-
const e =
|
|
2838
|
+
cell(m) {
|
|
2839
|
+
const e = m.row.original;
|
|
2869
2840
|
return N("div", { class: "flex flex-col" }, [
|
|
2870
2841
|
N("span", { class: "font-medium" }, e.skuAdjustment.sku.name),
|
|
2871
2842
|
N("span", { class: "text-fm-color-typo-secondary fm-typo-en-body-md-400" }, [
|
|
@@ -2877,8 +2848,8 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
2877
2848
|
{
|
|
2878
2849
|
id: "openingBalance",
|
|
2879
2850
|
header: () => "Opening Balance",
|
|
2880
|
-
cell(
|
|
2881
|
-
const e =
|
|
2851
|
+
cell(m) {
|
|
2852
|
+
const e = m.row.original;
|
|
2882
2853
|
return N("div", { class: "flex flex-col" }, [
|
|
2883
2854
|
N(
|
|
2884
2855
|
"span",
|
|
@@ -2893,8 +2864,8 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
2893
2864
|
{
|
|
2894
2865
|
id: "unit",
|
|
2895
2866
|
header: () => "Unit",
|
|
2896
|
-
cell(
|
|
2897
|
-
const e =
|
|
2867
|
+
cell(m) {
|
|
2868
|
+
const e = m.row.original, o = !e.skuAdjustment.amounts[0].measurement;
|
|
2898
2869
|
let B = e.skuAdjustment.sku.unit.name;
|
|
2899
2870
|
if (!o) {
|
|
2900
2871
|
const L = e.skuAdjustment.sku.unit.measurements.find(
|
|
@@ -2913,8 +2884,8 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
2913
2884
|
{
|
|
2914
2885
|
id: "totalCost",
|
|
2915
2886
|
header: () => "Total Cost",
|
|
2916
|
-
cell(
|
|
2917
|
-
const e =
|
|
2887
|
+
cell(m) {
|
|
2888
|
+
const e = m.row.original, { currency: o, ...B } = e.skuAdjustment.amounts[0].cost ?? {
|
|
2918
2889
|
amount: 0,
|
|
2919
2890
|
precision: 0,
|
|
2920
2891
|
currency: ""
|
|
@@ -2951,73 +2922,73 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
2951
2922
|
accessorKey: "message",
|
|
2952
2923
|
header: "Error Message"
|
|
2953
2924
|
}
|
|
2954
|
-
],
|
|
2955
|
-
async function
|
|
2956
|
-
if (
|
|
2957
|
-
|
|
2925
|
+
], w = j(!1);
|
|
2926
|
+
async function f() {
|
|
2927
|
+
if (b.value) {
|
|
2928
|
+
w.value = !0;
|
|
2958
2929
|
try {
|
|
2959
|
-
let
|
|
2960
|
-
const { errors: e, rows: o } = await
|
|
2961
|
-
|
|
2930
|
+
let m = {};
|
|
2931
|
+
const { errors: e, rows: o } = await vo(
|
|
2932
|
+
m,
|
|
2962
2933
|
s.skus,
|
|
2963
|
-
|
|
2934
|
+
b.value
|
|
2964
2935
|
);
|
|
2965
|
-
|
|
2936
|
+
p.value = e, v.value = Object.values(o);
|
|
2966
2937
|
} catch {
|
|
2967
2938
|
n.open({
|
|
2968
2939
|
message: "Error verifying file",
|
|
2969
2940
|
type: "error"
|
|
2970
2941
|
});
|
|
2971
2942
|
} finally {
|
|
2972
|
-
|
|
2943
|
+
w.value = !1;
|
|
2973
2944
|
}
|
|
2974
2945
|
}
|
|
2975
2946
|
}
|
|
2976
|
-
async function
|
|
2977
|
-
if (
|
|
2978
|
-
|
|
2947
|
+
async function c() {
|
|
2948
|
+
if (b.value) {
|
|
2949
|
+
w.value = !0;
|
|
2979
2950
|
try {
|
|
2980
|
-
if (!
|
|
2951
|
+
if (!i.value) {
|
|
2981
2952
|
n.open({
|
|
2982
2953
|
message: "Please select a date for the opening balance",
|
|
2983
2954
|
type: "error"
|
|
2984
2955
|
});
|
|
2985
2956
|
return;
|
|
2986
2957
|
}
|
|
2987
|
-
await
|
|
2988
|
-
effectiveAt:
|
|
2989
|
-
skuAdjustments:
|
|
2990
|
-
skuBalances:
|
|
2958
|
+
await r.setOpeningBalance({
|
|
2959
|
+
effectiveAt: i.value,
|
|
2960
|
+
skuAdjustments: v.value.map((m) => m.skuAdjustment),
|
|
2961
|
+
skuBalances: v.value.map((m) => m.skuBalance)
|
|
2991
2962
|
}), n.open({
|
|
2992
2963
|
message: "Opening balance imported successfully",
|
|
2993
2964
|
type: "success"
|
|
2994
|
-
}), await
|
|
2965
|
+
}), await g.fetchClosingDocumentId();
|
|
2995
2966
|
} catch {
|
|
2996
2967
|
n.open({
|
|
2997
2968
|
message: "Error importing opening balance",
|
|
2998
2969
|
type: "error"
|
|
2999
2970
|
});
|
|
3000
2971
|
} finally {
|
|
3001
|
-
|
|
2972
|
+
w.value = !1;
|
|
3002
2973
|
}
|
|
3003
2974
|
}
|
|
3004
2975
|
}
|
|
3005
|
-
const
|
|
2976
|
+
const u = j(""), i = z({
|
|
3006
2977
|
get() {
|
|
3007
|
-
return
|
|
2978
|
+
return u.value;
|
|
3008
2979
|
},
|
|
3009
|
-
set(
|
|
3010
|
-
|
|
2980
|
+
set(m) {
|
|
2981
|
+
u.value = `${m}T15:59:59.999Z`;
|
|
3011
2982
|
}
|
|
3012
2983
|
}), y = z(() => {
|
|
3013
|
-
if (!
|
|
3014
|
-
const
|
|
3015
|
-
return isNaN(
|
|
2984
|
+
if (!u.value) return null;
|
|
2985
|
+
const m = new Date(u.value);
|
|
2986
|
+
return isNaN(m.getTime()) ? null : ve(m);
|
|
3016
2987
|
});
|
|
3017
|
-
return (
|
|
2988
|
+
return (m, e) => {
|
|
3018
2989
|
const o = E("FmLabel"), B = E("FmField"), L = E("FmSimpleDatePicker"), V = E("FmButton"), H = E("FmRadio"), U = E("FmRadioGroup"), M = E("FmTable");
|
|
3019
|
-
return
|
|
3020
|
-
|
|
2990
|
+
return k(), R("div", yo, [
|
|
2991
|
+
l("div", bo, [
|
|
3021
2992
|
I(o, { label: "Latest closing" })
|
|
3022
2993
|
]),
|
|
3023
2994
|
I(B, {
|
|
@@ -3025,16 +2996,16 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
3025
2996
|
disabled: ""
|
|
3026
2997
|
}, {
|
|
3027
2998
|
default: D(() => [
|
|
3028
|
-
Z(T(x(
|
|
2999
|
+
Z(T(x(g).state.closingDocumentId ? `${x(Ee)(new Date(x(ge)(x(g).state.closingDocumentId)))}` : "No closing found"), 1)
|
|
3029
3000
|
]),
|
|
3030
3001
|
_: 1
|
|
3031
3002
|
}),
|
|
3032
|
-
x(
|
|
3033
|
-
|
|
3034
|
-
]))) : (
|
|
3003
|
+
x(g).state.closingDocumentId ? (k(), R("div", Vo, e[6] || (e[6] = [
|
|
3004
|
+
l("span", { class: "text-fm-color-typo-secondary fm-typo-en-body-md-400" }, " Not able to import opening balance as closing document already exists. ", -1)
|
|
3005
|
+
]))) : (k(), R("div", ho, [
|
|
3035
3006
|
I(L, {
|
|
3036
|
-
modelValue:
|
|
3037
|
-
"onUpdate:modelValue": e[0] || (e[0] = (O) =>
|
|
3007
|
+
modelValue: i.value,
|
|
3008
|
+
"onUpdate:modelValue": e[0] || (e[0] = (O) => i.value = O),
|
|
3038
3009
|
label: "Last closing time"
|
|
3039
3010
|
}, {
|
|
3040
3011
|
"trigger-button": D(() => [
|
|
@@ -3051,24 +3022,24 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
3051
3022
|
]),
|
|
3052
3023
|
_: 1
|
|
3053
3024
|
}, 8, ["modelValue"]),
|
|
3054
|
-
|
|
3025
|
+
l("div", Io, [
|
|
3055
3026
|
I(o, { label: "Stock take file" })
|
|
3056
3027
|
]),
|
|
3057
3028
|
I(Fe, {
|
|
3058
3029
|
onFileUpload: e[1] || (e[1] = (O) => {
|
|
3059
|
-
O && (
|
|
3030
|
+
O && (b.value = O);
|
|
3060
3031
|
}),
|
|
3061
3032
|
accept: ".xlsx, .xls, .csv"
|
|
3062
|
-
},
|
|
3063
|
-
|
|
3033
|
+
}, ne({ _: 2 }, [
|
|
3034
|
+
b.value ? {
|
|
3064
3035
|
name: "default",
|
|
3065
3036
|
fn: D(({ openFileDialog: O }) => [
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3037
|
+
l("div", xo, [
|
|
3038
|
+
l("div", So, [
|
|
3039
|
+
l("div", wo, [
|
|
3040
|
+
l("div", ko, T(b.value.name), 1),
|
|
3070
3041
|
I(V, {
|
|
3071
|
-
label: x(
|
|
3042
|
+
label: x(d)("inventory.ingredient.import.replaceFile"),
|
|
3072
3043
|
variant: "secondary",
|
|
3073
3044
|
"prepend-icon": "autorenew",
|
|
3074
3045
|
onClick: O
|
|
@@ -3081,13 +3052,13 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
3081
3052
|
} : void 0
|
|
3082
3053
|
]), 1024),
|
|
3083
3054
|
I(U, {
|
|
3084
|
-
modelValue:
|
|
3085
|
-
"onUpdate:modelValue": e[2] || (e[2] = (O) =>
|
|
3055
|
+
modelValue: a.value,
|
|
3056
|
+
"onUpdate:modelValue": e[2] || (e[2] = (O) => a.value = O),
|
|
3086
3057
|
label: "Retrieve cost from",
|
|
3087
3058
|
class: "my-5"
|
|
3088
3059
|
}, {
|
|
3089
3060
|
default: D(() => [
|
|
3090
|
-
(
|
|
3061
|
+
(k(!0), R(J, null, te(t.value, (O) => (k(), _(H, {
|
|
3091
3062
|
key: O.value,
|
|
3092
3063
|
value: O.value,
|
|
3093
3064
|
label: O.label,
|
|
@@ -3095,9 +3066,9 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
3095
3066
|
disabled: O.disabled
|
|
3096
3067
|
}, {
|
|
3097
3068
|
label: D(() => [
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3069
|
+
l("div", Bo, [
|
|
3070
|
+
l("span", Co, T(O.label), 1),
|
|
3071
|
+
l("span", Eo, T(O.disabled ? O.disabledReason : O.subLabel), 1)
|
|
3101
3072
|
])
|
|
3102
3073
|
]),
|
|
3103
3074
|
_: 2
|
|
@@ -3105,107 +3076,107 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
3105
3076
|
]),
|
|
3106
3077
|
_: 1
|
|
3107
3078
|
}, 8, ["modelValue"]),
|
|
3108
|
-
|
|
3079
|
+
l("div", Fo, [
|
|
3109
3080
|
I(V, {
|
|
3110
3081
|
class: "ml-auto mt-4",
|
|
3111
3082
|
variant: "secondary",
|
|
3112
3083
|
"prepend-icon": "troubleshoot",
|
|
3113
3084
|
label: "Verify",
|
|
3114
|
-
disabled: !
|
|
3115
|
-
loading:
|
|
3116
|
-
onClick:
|
|
3085
|
+
disabled: !b.value && !w.value,
|
|
3086
|
+
loading: w.value,
|
|
3087
|
+
onClick: f
|
|
3117
3088
|
}, null, 8, ["disabled", "loading"])
|
|
3118
3089
|
]),
|
|
3119
|
-
|
|
3120
|
-
e[4] || (e[4] =
|
|
3090
|
+
b.value && v.value.length > 0 ? (k(), R(J, { key: 0 }, [
|
|
3091
|
+
e[4] || (e[4] = l("h2", { class: "fm-typo-en-title-md-800 mt-8 mb-4" }, "Results", -1)),
|
|
3121
3092
|
I(M, {
|
|
3122
3093
|
modelValue: A.value,
|
|
3123
3094
|
"onUpdate:modelValue": e[3] || (e[3] = (O) => A.value = O),
|
|
3124
|
-
"row-data":
|
|
3125
|
-
"column-defs":
|
|
3095
|
+
"row-data": v.value,
|
|
3096
|
+
"column-defs": h,
|
|
3126
3097
|
"shrink-at": !1,
|
|
3127
|
-
"search-value":
|
|
3098
|
+
"search-value": S.value
|
|
3128
3099
|
}, null, 8, ["modelValue", "row-data", "search-value"])
|
|
3129
|
-
], 64)) :
|
|
3130
|
-
|
|
3131
|
-
e[5] || (e[5] =
|
|
3100
|
+
], 64)) : X("", !0),
|
|
3101
|
+
p.value.length > 0 ? (k(), R(J, { key: 1 }, [
|
|
3102
|
+
e[5] || (e[5] = l("h2", { class: "fm-typo-en-title-md-800 mt-8 mb-4 text-red-600" }, "Errors", -1)),
|
|
3132
3103
|
I(M, {
|
|
3133
|
-
"row-data":
|
|
3104
|
+
"row-data": p.value,
|
|
3134
3105
|
"column-defs": C
|
|
3135
3106
|
}, null, 8, ["row-data"])
|
|
3136
|
-
], 64)) :
|
|
3137
|
-
|
|
3138
|
-
|
|
3107
|
+
], 64)) : X("", !0),
|
|
3108
|
+
l("div", Lo, [
|
|
3109
|
+
v.value.length > 0 && !x(g).state.closingDocumentId ? (k(), _(V, {
|
|
3139
3110
|
key: 0,
|
|
3140
3111
|
class: "ml-auto mt-4",
|
|
3141
3112
|
"prepend-icon": "file_upload",
|
|
3142
3113
|
variant: "primary",
|
|
3143
3114
|
label: "Import Opening Balance",
|
|
3144
|
-
disabled: !
|
|
3145
|
-
onClick:
|
|
3146
|
-
}, null, 8, ["disabled"])) :
|
|
3115
|
+
disabled: !b.value || w.value,
|
|
3116
|
+
onClick: c
|
|
3117
|
+
}, null, 8, ["disabled"])) : X("", !0)
|
|
3147
3118
|
])
|
|
3148
3119
|
]))
|
|
3149
3120
|
]);
|
|
3150
3121
|
};
|
|
3151
3122
|
}
|
|
3152
|
-
}),
|
|
3123
|
+
}), Ro = { class: "flex flex-col gap-8 w-full" }, Do = { class: "flex gap-4 justify-between" }, Mo = { class: "inline-flex rounded-md items-center gap-4 justify-center h-[30px] px-8 py-4 bg-fm-color-neutral-gray-100 text-fm-color-neutral-gray-400" }, jo = { class: "fm-typo-en-body-md-600 select-none text-ellipsis overflow-hidden whitespace-nowrap" }, Oo = { key: 0 }, To = {
|
|
3153
3124
|
key: 1,
|
|
3154
3125
|
class: "flex flex-col gap-8 w-full"
|
|
3155
|
-
},
|
|
3126
|
+
}, zo = { class: "flex gap-8 items-center justify-start" }, Ho = /* @__PURE__ */ Y({
|
|
3156
3127
|
__name: "SynergySideSheet",
|
|
3157
3128
|
props: {
|
|
3158
3129
|
show: { type: Boolean },
|
|
3159
3130
|
loading: { type: Boolean }
|
|
3160
3131
|
},
|
|
3161
3132
|
emits: ["update:show"],
|
|
3162
|
-
setup(F, { emit:
|
|
3133
|
+
setup(F, { emit: g }) {
|
|
3163
3134
|
var A;
|
|
3164
|
-
const s = ie(), n =
|
|
3165
|
-
return (
|
|
3166
|
-
var
|
|
3167
|
-
const
|
|
3168
|
-
return
|
|
3135
|
+
const s = ie(), n = se(F, "show"), { t } = G(), a = g, d = W(), b = ((A = d._currentLocation) == null ? void 0 : A.type) || "";
|
|
3136
|
+
return (S, p) => {
|
|
3137
|
+
var w;
|
|
3138
|
+
const v = E("FmIcon"), h = E("FmButton"), C = E("FmSideSheet");
|
|
3139
|
+
return k(), _(C, {
|
|
3169
3140
|
modelValue: x(n),
|
|
3170
|
-
"onUpdate:modelValue":
|
|
3141
|
+
"onUpdate:modelValue": p[1] || (p[1] = (f) => oe(n) ? n.value = f : null),
|
|
3171
3142
|
header: "Data migration (Synergy)",
|
|
3172
3143
|
"dismiss-away": "",
|
|
3173
3144
|
"close-button": "",
|
|
3174
3145
|
"max-width": 800
|
|
3175
|
-
},
|
|
3146
|
+
}, ne({
|
|
3176
3147
|
default: D(() => {
|
|
3177
|
-
var
|
|
3148
|
+
var f;
|
|
3178
3149
|
return [
|
|
3179
|
-
(
|
|
3180
|
-
I(
|
|
3181
|
-
])) : (
|
|
3150
|
+
(f = x(s).sessionUser.value) != null && f.role.isAdmin ? (k(), R("div", To, [
|
|
3151
|
+
I(No)
|
|
3152
|
+
])) : (k(), R("div", Oo, " Please contact your administrator to apply the changes. "))
|
|
3182
3153
|
];
|
|
3183
3154
|
}),
|
|
3184
3155
|
"side-sheet-footer": D(() => [
|
|
3185
|
-
|
|
3186
|
-
I(
|
|
3156
|
+
l("div", zo, [
|
|
3157
|
+
I(h, {
|
|
3187
3158
|
variant: "tertiary",
|
|
3188
3159
|
label: x(t)("common.close"),
|
|
3189
|
-
onClick:
|
|
3160
|
+
onClick: p[0] || (p[0] = (f) => a("update:show", !1))
|
|
3190
3161
|
}, null, 8, ["label"])
|
|
3191
3162
|
])
|
|
3192
3163
|
]),
|
|
3193
3164
|
_: 2
|
|
3194
3165
|
}, [
|
|
3195
|
-
(
|
|
3166
|
+
(w = x(s).sessionUser.value) != null && w.role.isAdmin ? {
|
|
3196
3167
|
name: "side-sheet-header",
|
|
3197
3168
|
fn: D(() => {
|
|
3198
|
-
var
|
|
3169
|
+
var f;
|
|
3199
3170
|
return [
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
I(
|
|
3205
|
-
name: x(
|
|
3171
|
+
l("div", Ro, [
|
|
3172
|
+
l("div", Do, [
|
|
3173
|
+
p[2] || (p[2] = l("div", { class: "fm-typo-en-title-md-600" }, "Data migration (Synergy)", -1)),
|
|
3174
|
+
l("div", Mo, [
|
|
3175
|
+
I(v, {
|
|
3176
|
+
name: x(b),
|
|
3206
3177
|
size: "sm"
|
|
3207
3178
|
}, null, 8, ["name"]),
|
|
3208
|
-
|
|
3179
|
+
l("div", jo, T((f = x(d)._currentLocation) == null ? void 0 : f.name), 1)
|
|
3209
3180
|
])
|
|
3210
3181
|
])
|
|
3211
3182
|
])
|
|
@@ -3219,14 +3190,14 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
3219
3190
|
}), Xo = /* @__PURE__ */ Y({
|
|
3220
3191
|
__name: "SynergyView",
|
|
3221
3192
|
setup(F) {
|
|
3222
|
-
const
|
|
3193
|
+
const g = Le(), s = W(), r = j(!1);
|
|
3223
3194
|
async function n() {
|
|
3224
|
-
|
|
3195
|
+
r.value = !0, console.log("Opening Synergy migration dialog");
|
|
3225
3196
|
}
|
|
3226
|
-
return (t,
|
|
3227
|
-
const
|
|
3228
|
-
return x(
|
|
3229
|
-
I(
|
|
3197
|
+
return (t, a) => {
|
|
3198
|
+
const d = E("FmCardSection"), b = E("FmCard");
|
|
3199
|
+
return x(g).enabledSynergyOpeningMigration && !x(s).businessLevel ? (k(), R(J, { key: 0 }, [
|
|
3200
|
+
I(b, {
|
|
3230
3201
|
class: q({
|
|
3231
3202
|
"w-full": !0,
|
|
3232
3203
|
border: !0,
|
|
@@ -3234,19 +3205,19 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
3234
3205
|
"cursor-pointer": !0,
|
|
3235
3206
|
"hover:border-fm-color-primary": !0
|
|
3236
3207
|
}),
|
|
3237
|
-
onClick:
|
|
3208
|
+
onClick: a[0] || (a[0] = (A) => n())
|
|
3238
3209
|
}, {
|
|
3239
3210
|
default: D(() => [
|
|
3240
|
-
I(
|
|
3241
|
-
default: D(() =>
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3211
|
+
I(d, null, {
|
|
3212
|
+
default: D(() => a[2] || (a[2] = [
|
|
3213
|
+
l("div", { class: "flex justify-center" }, [
|
|
3214
|
+
l("div", { class: "size-[100px] bg-gray-200 rounded-lg flex items-center justify-center" }, [
|
|
3215
|
+
l("span", { class: "text-lg font-bold text-gray-600" }, "Synergy")
|
|
3245
3216
|
])
|
|
3246
3217
|
], -1),
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3218
|
+
l("div", { class: "flex flex-col items-center gap-2" }, [
|
|
3219
|
+
l("div", { class: "text-lg font-bold" }, "Synergy"),
|
|
3220
|
+
l("div", { class: "text-fm-color-neutral-gray-300" }, "Data migration from Synergy")
|
|
3250
3221
|
], -1)
|
|
3251
3222
|
])),
|
|
3252
3223
|
_: 1
|
|
@@ -3254,44 +3225,44 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
3254
3225
|
]),
|
|
3255
3226
|
_: 1
|
|
3256
3227
|
}),
|
|
3257
|
-
(
|
|
3258
|
-
I(
|
|
3259
|
-
show:
|
|
3260
|
-
"onUpdate:show":
|
|
3228
|
+
(k(), _(ue, { to: "body" }, [
|
|
3229
|
+
I(Ho, {
|
|
3230
|
+
show: r.value,
|
|
3231
|
+
"onUpdate:show": a[1] || (a[1] = (A) => r.value = A)
|
|
3261
3232
|
}, null, 8, ["show"])
|
|
3262
3233
|
]))
|
|
3263
|
-
], 64)) :
|
|
3234
|
+
], 64)) : X("", !0);
|
|
3264
3235
|
};
|
|
3265
3236
|
}
|
|
3266
|
-
}),
|
|
3237
|
+
}), _o = { key: 0 }, Uo = {
|
|
3267
3238
|
key: 1,
|
|
3268
3239
|
class: "flex flex-col items-center my-10 gap-5"
|
|
3269
|
-
},
|
|
3240
|
+
}, Qo = ["src"], Yo = {
|
|
3270
3241
|
class: "text-xs text-neutral-400 text-center",
|
|
3271
3242
|
style: { "max-width": "25rem" }
|
|
3272
|
-
},
|
|
3243
|
+
}, Jo = {
|
|
3273
3244
|
key: 2,
|
|
3274
3245
|
class: "grid grid-cols-2 gap-5"
|
|
3275
|
-
},
|
|
3246
|
+
}, ts = /* @__PURE__ */ Y({
|
|
3276
3247
|
__name: "IntegrationView",
|
|
3277
3248
|
setup(F) {
|
|
3278
|
-
const
|
|
3249
|
+
const g = W(), s = j(!1), r = We(), { breakpoints: n } = Ve(), t = z(() => n.value.xs || n.value.sm), { t: a } = G();
|
|
3279
3250
|
return me(async () => {
|
|
3280
|
-
if (
|
|
3251
|
+
if (g._currentLocation) {
|
|
3281
3252
|
s.value = !0;
|
|
3282
3253
|
try {
|
|
3283
|
-
await
|
|
3254
|
+
await r.fetchFoodMarketHubSetting(), await r.fetchNetSuiteSetting();
|
|
3284
3255
|
} finally {
|
|
3285
3256
|
s.value = !1;
|
|
3286
3257
|
}
|
|
3287
3258
|
}
|
|
3288
|
-
}), (
|
|
3259
|
+
}), (d, b) => {
|
|
3289
3260
|
const A = E("FmCircularProgress");
|
|
3290
|
-
return
|
|
3291
|
-
title: x(
|
|
3261
|
+
return k(), _(Je, {
|
|
3262
|
+
title: x(a)("inventory.integration.title")
|
|
3292
3263
|
}, {
|
|
3293
3264
|
default: D(() => [
|
|
3294
|
-
|
|
3265
|
+
l("div", {
|
|
3295
3266
|
class: q([
|
|
3296
3267
|
"flex flex-col gap-8 max-h-full",
|
|
3297
3268
|
{
|
|
@@ -3304,21 +3275,21 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
3304
3275
|
"change-location": "",
|
|
3305
3276
|
showBusiness: ""
|
|
3306
3277
|
}),
|
|
3307
|
-
!x(
|
|
3278
|
+
!x(g)._currentLocation || s.value ? (k(), R("div", _o, [
|
|
3308
3279
|
I(A, { size: "lg" })
|
|
3309
|
-
])) : x(
|
|
3310
|
-
|
|
3311
|
-
|
|
3280
|
+
])) : x(r).enabledIntegrations == 0 ? (k(), R("div", Uo, [
|
|
3281
|
+
l("div", null, [
|
|
3282
|
+
l("img", {
|
|
3312
3283
|
src: x(He),
|
|
3313
3284
|
alt: "List is empty"
|
|
3314
|
-
}, null, 8,
|
|
3285
|
+
}, null, 8, Qo)
|
|
3315
3286
|
]),
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
])) : (
|
|
3319
|
-
I(
|
|
3287
|
+
b[0] || (b[0] = l("div", { class: "font-bold text-lg" }, "Integration", -1)),
|
|
3288
|
+
l("div", Yo, T(x(a)("inventory.integration.description")), 1)
|
|
3289
|
+
])) : (k(), R("div", Jo, [
|
|
3290
|
+
I(zn),
|
|
3320
3291
|
I(Kt),
|
|
3321
|
-
I(
|
|
3292
|
+
I(po),
|
|
3322
3293
|
I(Xo)
|
|
3323
3294
|
]))
|
|
3324
3295
|
], 2)
|
|
@@ -3329,5 +3300,5 @@ const bo = { class: "flex flex-col gap-4" }, ho = { class: "flex flex-col" }, Io
|
|
|
3329
3300
|
}
|
|
3330
3301
|
});
|
|
3331
3302
|
export {
|
|
3332
|
-
|
|
3303
|
+
ts as default
|
|
3333
3304
|
};
|