This commit is contained in:
Viet An
2026-06-11 11:50:11 +07:00
parent a5a88b3b1c
commit 069ea1002c
20 changed files with 112 additions and 474 deletions

View File

@@ -1,5 +1,7 @@
/** @typedef {import('~/utils/apis').ApiName} ApiName */
import { cloneDeep } from "es-toolkit";
export default defineNuxtPlugin((nuxtApp) => {
const module = "application";
const mode = "dev";
@@ -9,7 +11,7 @@ export default defineNuxtPlugin((nuxtApp) => {
{ name: "prod", url: "https://erpapi.bigdatatech.vn/" },
];
const path = paths.find((v) => v.name === mode).url;
const { $copy, $clone, $updateSeriesFields, $snackbar, $store, $remove, $dialog } = nuxtApp;
const { $copy, $updateSeriesFields, $snackbar, $store, $remove, $dialog } = nuxtApp;
const requestLogin = function () {
$store.commit("login", undefined);
@@ -274,7 +276,7 @@ export default defineNuxtPlugin((nuxtApp) => {
return;
}
const params = $clone(apiConfig.params) || {};
const params = cloneDeep(apiConfig.params) || {};
// List of parameters that need to be stringified if they are objects
const paramsToJSONify = ["filter_or", "exclude", "distinct_values", "calculation", "final_filter", "final_exclude"];
@@ -302,7 +304,7 @@ export default defineNuxtPlugin((nuxtApp) => {
const insertrow = async function (name, data, values, pagename, notify) {
let result = await insertapi(name, { data, values, notify });
if (result === "error" || !pagename || !$store[pagename]) return result;
let copy = $clone($store[pagename]);
let copy = cloneDeep($store[pagename]);
copy.update = { refresh: true };
$store.commit(pagename, copy);
return result;
@@ -311,7 +313,7 @@ export default defineNuxtPlugin((nuxtApp) => {
const updaterow = async function (name, data, values, pagename, notify) {
let result = await patchapi(name, data, values, notify);
if (result === "error" || !pagename || !$store[pagename]) return result;
let copy = $clone($store[pagename]);
let copy = cloneDeep($store[pagename]);
copy.update = { refresh: true };
$store.commit(pagename, copy);
return result;
@@ -374,7 +376,7 @@ export default defineNuxtPlugin((nuxtApp) => {
const deleterow = async function (name, id, pagename) {
const result = await deleteapi(name, id);
if (result === "error" || !pagename || !$store[pagename]) return result;
const copy = $clone($store[pagename]);
const copy = cloneDeep($store[pagename]);
copy.update = { refresh: true };
$store.commit(pagename, copy);
return result;
@@ -382,7 +384,7 @@ export default defineNuxtPlugin((nuxtApp) => {
// update page
const updatepage = function (pagename, row, action) {
let copy = $clone($store[pagename]);
let copy = cloneDeep($store[pagename]);
let rows = Array.isArray(row) ? row : [row];
rows.map((x) => {
let idx = copy.data.findIndex((v) => v.id === x.id);