storeData insignia,insigniaType
This commit is contained in:
parent
b5069d1991
commit
293d8b7c6e
3 changed files with 286 additions and 74 deletions
|
|
@ -5,7 +5,8 @@ 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";
|
||||
|
||||
import type { RequestItemsHistoryObject as InsigniaResponse } from "@/modules/01_metadata/interface/request/insignia/Insignia";
|
||||
import type { RequestItemsHistoryObject as InsigniaTypeResponse } from "@/modules/01_metadata/interface/request/insignia/InsigniaType";
|
||||
const $q = useQuasar();
|
||||
const mixin = useCounterMixin();
|
||||
const { success, messageError, showLoader, hideLoader } = mixin;
|
||||
|
|
@ -13,6 +14,11 @@ 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 dataInsignia = ref<InsigniaResponse[]>([]); //list data table
|
||||
const draftInsignia = ref<InsigniaResponse[]>([]); //list data table
|
||||
const dataInsigniaType = ref<InsigniaTypeResponse[]>([]); //list data table
|
||||
const draftInsigniaType = ref<InsigniaTypeResponse[]>([]); //list data table
|
||||
|
||||
const storeIdVersion = ref<string>(""); //id data ใน mongodb
|
||||
const storeVersion = ref<string>("published"); //รายการข้อมูลล่าสุดได้เผยแพร่หรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่
|
||||
interface manage {
|
||||
|
|
@ -269,6 +275,64 @@ export const useManageDataStore = defineStore("manage", () => {
|
|||
}
|
||||
};
|
||||
|
||||
const getInsigniaType = async (
|
||||
selector: boolean = false,
|
||||
newFetch: boolean = false
|
||||
) => {
|
||||
if (dataInsignia.value.length === 0) {
|
||||
await fetchInsigniaType(true, selector);
|
||||
return {
|
||||
data: draftInsigniaType.value,
|
||||
version: storeVersion.value,
|
||||
idversion: storeIdVersion.value,
|
||||
};
|
||||
} else {
|
||||
if (newFetch) {
|
||||
await fetchInsigniaType(true, selector);
|
||||
return {
|
||||
data: draftInsigniaType.value,
|
||||
version: storeVersion.value,
|
||||
idversion: storeIdVersion.value,
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
data: draftInsigniaType.value,
|
||||
version: storeVersion.value,
|
||||
idversion: storeIdVersion.value,
|
||||
};
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const getInsignia = async (
|
||||
selector: boolean = false,
|
||||
newFetch: boolean = false
|
||||
) => {
|
||||
if (dataInsignia.value.length === 0) {
|
||||
await fetchInsignia(true, selector);
|
||||
return {
|
||||
data: draftInsignia.value,
|
||||
version: storeVersion.value,
|
||||
idversion: storeIdVersion.value,
|
||||
};
|
||||
} else {
|
||||
if (newFetch) {
|
||||
await fetchInsignia(true, selector);
|
||||
return {
|
||||
data: draftInsignia.value,
|
||||
version: storeVersion.value,
|
||||
idversion: storeIdVersion.value,
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
data: draftInsignia.value,
|
||||
version: storeVersion.value,
|
||||
idversion: storeIdVersion.value,
|
||||
};
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const fetchPrefix = async (loader: boolean, selector: boolean) => {
|
||||
let apiPrefix = "";
|
||||
if (loader) {
|
||||
|
|
@ -316,8 +380,143 @@ export const useManageDataStore = defineStore("manage", () => {
|
|||
});
|
||||
};
|
||||
|
||||
const fetchInsignia = async (loader: boolean, selector: boolean) => {
|
||||
let apiInsignia = "";
|
||||
if (loader) {
|
||||
showLoader();
|
||||
}
|
||||
if (selector) {
|
||||
apiInsignia = config.API.insignia;
|
||||
} else {
|
||||
apiInsignia = config.API.listInsigniaHistory;
|
||||
}
|
||||
await http
|
||||
.get(apiInsignia)
|
||||
.then((res) => {
|
||||
const data = res.data.result;
|
||||
let rows: InsigniaResponse[] = [];
|
||||
if (selector) {
|
||||
data.map((e: InsigniaResponse) => {
|
||||
rows.push({
|
||||
id: e.id,
|
||||
name: e.name,
|
||||
shortName: e.shortName,
|
||||
level: e.level,
|
||||
createdAt: e.createdAt,
|
||||
lastUpdatedAt: e.lastUpdatedAt,
|
||||
lastUpdateFullName: e.lastUpdateFullName,
|
||||
isActive: e.isActive,
|
||||
createdFullName: e.createdFullName,
|
||||
createdUserId: e.createdUserId,
|
||||
lastUpdateUserId: e.lastUpdateUserId,
|
||||
insigniaType: e.insigniaType,
|
||||
note: e.note,
|
||||
});
|
||||
});
|
||||
} else {
|
||||
storeVersion.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่
|
||||
storeIdVersion.value = data.id; //เลข id ใน mongodb
|
||||
|
||||
data.items.map((e: InsigniaResponse) => {
|
||||
rows.push({
|
||||
id: e.id,
|
||||
name: e.name,
|
||||
shortName: e.shortName,
|
||||
level: e.level,
|
||||
createdAt: e.createdAt,
|
||||
lastUpdatedAt: e.lastUpdatedAt,
|
||||
lastUpdateFullName: e.lastUpdateFullName,
|
||||
isActive: e.isActive,
|
||||
createdFullName: e.createdFullName,
|
||||
createdUserId: e.createdUserId,
|
||||
lastUpdateUserId: e.lastUpdateUserId,
|
||||
insigniaType: e.insigniaType,
|
||||
note: e.note,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
draftInsignia.value = rows;
|
||||
if (loader) {
|
||||
dataInsignia.value = rows;
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
if (loader) {
|
||||
hideLoader();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const fetchInsigniaType = async (loader: boolean, selector: boolean) => {
|
||||
let apiInsigniaType = "";
|
||||
if (loader) {
|
||||
showLoader();
|
||||
}
|
||||
if (selector) {
|
||||
apiInsigniaType = config.API.insigniaType;
|
||||
} else {
|
||||
apiInsigniaType = config.API.listInsigniaTypeHistory;
|
||||
}
|
||||
await http
|
||||
.get(apiInsigniaType)
|
||||
.then((res) => {
|
||||
const data = res.data.result;
|
||||
let rows: RequestItemsHistoryObject[] = [];
|
||||
if (selector) {
|
||||
data.map((e: RequestItemsHistoryObject) => {
|
||||
rows.push({
|
||||
id: e.id,
|
||||
name: e.name,
|
||||
createdAt: e.createdAt,
|
||||
lastUpdatedAt: e.lastUpdatedAt,
|
||||
lastUpdateFullName: e.lastUpdateFullName,
|
||||
isActive: e.isActive,
|
||||
createdFullName: e.createdFullName,
|
||||
createdUserId: e.createdUserId,
|
||||
lastUpdateUserId: e.lastUpdateUserId,
|
||||
});
|
||||
});
|
||||
} else {
|
||||
storeVersion.value = data.version; //ตัวแปรที่บอกว่าข้อมูลเผยแพร่ไปหรือยัง published=เผยแพร่แล้ว draft=ยังไม่เผยแพร่
|
||||
storeIdVersion.value = data.id; //เลข id ใน mongodb
|
||||
|
||||
data.items.map((e: RequestItemsHistoryObject) => {
|
||||
rows.push({
|
||||
id: e.id,
|
||||
name: e.name,
|
||||
createdAt: e.createdAt,
|
||||
lastUpdatedAt: e.lastUpdatedAt,
|
||||
lastUpdateFullName: e.lastUpdateFullName,
|
||||
isActive: e.isActive,
|
||||
createdFullName: e.createdFullName,
|
||||
createdUserId: e.createdUserId,
|
||||
lastUpdateUserId: e.lastUpdateUserId,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
draftInsigniaType.value = rows;
|
||||
if (loader) {
|
||||
dataInsigniaType.value = rows;
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
if (loader) {
|
||||
hideLoader();
|
||||
}
|
||||
});
|
||||
};
|
||||
return {
|
||||
dataPrefix,
|
||||
dataInsignia,
|
||||
dataInsigniaType,
|
||||
storeIdVersion,
|
||||
storeVersion,
|
||||
manageData,
|
||||
|
|
@ -325,5 +524,7 @@ export const useManageDataStore = defineStore("manage", () => {
|
|||
changeManageCurrentTab,
|
||||
changeManageLink,
|
||||
changeManageColumns,
|
||||
getInsignia,
|
||||
getInsigniaType,
|
||||
};
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue