pinia prefix
This commit is contained in:
parent
b958dfad20
commit
6febfde058
10 changed files with 916 additions and 7907 deletions
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue