pinia prefix

This commit is contained in:
Thanit Konmek 2023-06-09 11:39:54 +07:00
parent b958dfad20
commit 6febfde058
10 changed files with 916 additions and 7907 deletions

View file

@ -1,7 +1,20 @@
import { ref, computed } from "vue";
import { defineStore } from "pinia";
import { useQuasar } from "quasar";
import http from "@/plugins/http";
import config from "@/app.config";
import { useCounterMixin } from "@/stores/mixin";
import type { RequestItemsHistoryObject } from "@/modules/01_metadata/interface/request/person/Prefix";
const $q = useQuasar();
const mixin = useCounterMixin();
const { success, messageError, showLoader, hideLoader } = mixin;
export const useManageDataStore = defineStore("manage", () => {
const dataPrefix = ref<RequestItemsHistoryObject[]>([]); //list data table
const draftPrefix = ref<RequestItemsHistoryObject[]>([]); //list data table
const storeIdVersion = ref<string>(""); //id data ใน mongodb
const storeVersion = ref<string>("published"); //รายการข้อมูลล่าสุดได้เผยแพร่หรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่
interface manage {
link: number;
person: {
@ -227,8 +240,88 @@ export const useManageDataStore = defineStore("manage", () => {
}
}
const getPrefix = async (
selector: boolean = false,
newFetch: boolean = false
) => {
if (dataPrefix.value.length === 0) {
await fetchPrefix(true, selector);
return {
data: draftPrefix.value,
version: storeVersion.value,
idversion: storeIdVersion.value,
};
} else {
if (newFetch) {
await fetchPrefix(true, selector);
return {
data: draftPrefix.value,
version: storeVersion.value,
idversion: storeIdVersion.value,
};
} else {
return {
data: draftPrefix.value,
version: storeVersion.value,
idversion: storeIdVersion.value,
};
}
}
};
const fetchPrefix = async (loader: boolean, selector: boolean) => {
let apiPrefix = "";
if (loader) {
showLoader();
}
if (selector) {
apiPrefix = config.API.prefix;
} else {
apiPrefix = config.API.listPrefixHistory;
}
await http
.get(apiPrefix)
.then((res) => {
const data = res.data.result;
let rows: RequestItemsHistoryObject[] = [];
if (selector) {
data.map((e: RequestItemsHistoryObject) => {
rows.push({
...e,
});
});
} else {
storeVersion.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่
storeIdVersion.value = data.id; //เลข id ใน mongodb
data.items.map((e: RequestItemsHistoryObject) => {
rows.push({
...e,
});
});
}
draftPrefix.value = rows;
if (loader) {
dataPrefix.value = rows;
}
})
.catch((e) => {
messageError($q, e);
})
.finally(() => {
if (loader) {
hideLoader();
}
});
};
return {
dataPrefix,
storeIdVersion,
storeVersion,
manageData,
getPrefix,
changeManageCurrentTab,
changeManageLink,
changeManageColumns,