Merge branch 'develop' into devTee

This commit is contained in:
setthawutttty 2024-02-07 17:54:35 +07:00
commit 516b93f90d
11 changed files with 6696 additions and 30 deletions

View file

@ -106,9 +106,9 @@ async function fetchDataTable(id: string, level: number, action: boolean) {
const { id, ...rest } = a ? a : p[0]; const { id, ...rest } = a ? a : p[0];
const test = { ...e, ...rest }; const test = { ...e, ...rest };
dataMain.push(test); dataMain.push(test);
posMaster.value = store.fetchPosMaster(dataMain);
} }
}); });
posMaster.value = store.fetchPosMaster(dataMain);
}) })
.catch((err) => { .catch((err) => {
messageError($q, err); messageError($q, err);

View file

@ -103,6 +103,8 @@ interface PosMaster {
positionExecutiveField: string; // ด้านทางการบริหาร positionExecutiveField: string; // ด้านทางการบริหาร
positionArea: string; // ด้าน/สาขา positionArea: string; // ด้าน/สาขา
positionIsSelected: boolean; // เป็นตำแหน่งที่ถูกเลือกในรอบนั้น ๆ หรือไม่? positionIsSelected: boolean; // เป็นตำแหน่งที่ถูกเลือกในรอบนั้น ๆ หรือไม่?
fullNameCurrentHolder: string | null;
fullNameNextHolder: string | null;
positions: Position[]; // ตำแหน่ง positions: Position[]; // ตำแหน่ง
} }
interface Position2 { interface Position2 {

View file

@ -48,7 +48,13 @@ export const useOrganizational = defineStore("organizationalStore", () => {
function fetchPosMaster(data: PosMaster[]) { function fetchPosMaster(data: PosMaster[]) {
const newPosMaster = data.map((e: PosMaster) => ({ const newPosMaster = data.map((e: PosMaster) => ({
...e, ...e,
positionIsSelected: e.positionIsSelected ? "มี" : "ว่าง", positionIsSelected:
typeOrganizational.value === "draft" && e.fullNameNextHolder !== null
? e.fullNameNextHolder
: typeOrganizational.value !== "draft" &&
e.fullNameCurrentHolder !== null
? e.fullNameCurrentHolder
: "ว่าง",
posMasterNo: posMasterNo:
e.orgShortname + e.orgShortname +
e.posMasterNoPrefix + e.posMasterNoPrefix +

View file

@ -153,27 +153,39 @@
</div> </div>
</div> </div>
<q-space /> <q-space />
<q-btn <div v-if="roleRegistryverify || roleKeyregistry">
v-if="!isVerified && roleRegistryverify" <q-btn
outlined v-if="!profileStore.isVerified && roleRegistryverify"
color="green" outlined
icon="verified" color="green"
@click="onClickVerified" icon="verified"
label="ยืนยันการตรวจสอบข้อมูล" @click="onClickVerified"
> label="ยืนยันการตรวจสอบข้อมูล"
<q-tooltip>นยนการตรวจสอบขอม</q-tooltip> >
</q-btn> <q-tooltip>นยนการตรวจสอบขอม</q-tooltip>
<q-btn </q-btn>
v-if="isVerified" <q-btn
flat v-else-if="profileStore.isVerified && roleRegistryverify"
color="green" outlined
icon="verified" color="warning"
label="ตรวจสอบข้อมูลแล้ว" icon="mdi-lock-open"
> @click="onClickUnlock"
<q-tooltip>ตรวจสอบขอมลแล</q-tooltip> label="ปลดล็อคให้แก้ไขข้อมูล"
</q-btn> >
<q-tooltip>ปลดลอคใหแกไขขอม</q-tooltip>
</q-btn>
<q-btn
v-else-if="profileStore.isVerified && roleKeyregistry"
flat
color="green"
icon="verified"
label="ตรวจสอบข้อมูลแล้ว"
>
<q-tooltip>ตรวจสอบขอมลแล</q-tooltip>
</q-btn>
</div>
<div v-if="!roleKeyregistry && !roleRegistryverify"> <div v-else>
<q-btn <q-btn
v-if=" v-if="
profileType == 'officer' || profileType == 'officer' ||
@ -784,9 +796,14 @@ import TrainVue from "@/modules/04_registry/components/Train.vue";
import InsigniaVue from "@/modules/04_registry/components/Insignia.vue"; import InsigniaVue from "@/modules/04_registry/components/Insignia.vue";
import CoinedVue from "@/modules/04_registry/components/Coin.vue"; import CoinedVue from "@/modules/04_registry/components/Coin.vue";
import AssessmentVue from "@/modules/04_registry/components/Assessment.vue"; import AssessmentVue from "@/modules/04_registry/components/Assessment.vue";
import SalaryVue from "@/modules/04_registry/components/Salary.vue"; // import SalaryVue from "@/modules/04_registry/components/Salary.vue";
import SalaryEmployeeVue from "@/modules/04_registry/components/SalaryEmployee.vue"; // import SalaryEmployeeVue from "@/modules/04_registry/components/SalaryEmployee.vue";
import SalaryEmployeeTempVue from "@/modules/04_registry/components/SalaryEmployeeTemp.vue"; // import SalaryEmployeeTempVue from "@/modules/04_registry/components/SalaryEmployeeTemp.vue";
import SalaryVue from "@/modules/04_registry/components/salaryNew/Salary.vue";
import SalaryEmployeeVue from "@/modules/04_registry/components/salaryNew/SalaryEmployee.vue";
import SalaryEmployeeTempVue from "@/modules/04_registry/components/salaryNew/SalaryEmployeeTemp.vue";
import DisciplineVue from "@/modules/04_registry/components/Discipline.vue"; import DisciplineVue from "@/modules/04_registry/components/Discipline.vue";
import LeaveVue from "@/modules/04_registry/components/Leave.vue"; import LeaveVue from "@/modules/04_registry/components/Leave.vue";
import TalentVue from "@/modules/04_registry/components/Talent.vue"; import TalentVue from "@/modules/04_registry/components/Talent.vue";
@ -906,6 +923,15 @@ function onClickVerified() {
"ต้องการยืนยันการตรวจสอบข้อมูลนี้หรือไม่?" "ต้องการยืนยันการตรวจสอบข้อมูลนี้หรือไม่?"
); );
} }
function onClickUnlock() {
dialogConfirm(
$q,
async () => {},
"ยืนยันการปลดให้แก้ไขข้อมูล",
"ต้องการยืนยันการปลดให้แก้ไขข้อมูลนี้หรือไม่?"
);
}
onMounted(async () => { onMounted(async () => {
if (keycloak.tokenParsed != null) { if (keycloak.tokenParsed != null) {
roleKeyregistry.value = await keycloak.tokenParsed.role.includes( roleKeyregistry.value = await keycloak.tokenParsed.role.includes(
@ -921,6 +947,7 @@ onMounted(async () => {
await checIsVerified(); await checIsVerified();
}); });
// const isVerified = ref<boolean>(false);
const fetchData = async () => { const fetchData = async () => {
showLoader(); showLoader();
await http await http
@ -942,7 +969,6 @@ const fetchData = async () => {
leaveReason.value = ` (พ้นจากราชการด้วยสาเหตุ: ${data.leaveReason})`; leaveReason.value = ` (พ้นจากราชการด้วยสาเหตุ: ${data.leaveReason})`;
} }
reasonStatus.value = reason.length > 0 ? true : false; reasonStatus.value = reason.length > 0 ? true : false;
isVerified.value = data.isVerified ? data.isVerified : false;
}) })
.catch((e) => { .catch((e) => {
messageError($q, e); messageError($q, e);
@ -952,7 +978,6 @@ const fetchData = async () => {
}); });
}; };
const isVerified = ref<boolean>(false);
async function checIsVerified() { async function checIsVerified() {
// showLoader(); // showLoader();
await http await http

View file

@ -671,6 +671,7 @@
</q-form> </q-form>
</q-card> </q-card>
</q-dialog> </q-dialog>
<HistoryTable <HistoryTable
:rows="rowsHistory" :rows="rowsHistory"
:columns="columnsHistory" :columns="columnsHistory"

View file

@ -531,6 +531,7 @@
</q-form> </q-form>
</q-card> </q-card>
</q-dialog> </q-dialog>
<HistoryTable <HistoryTable
:rows="rowsHistory" :rows="rowsHistory"
:columns="columnsHistory" :columns="columnsHistory"

View file

@ -506,6 +506,7 @@
</q-form> </q-form>
</q-card> </q-card>
</q-dialog> </q-dialog>
<HistoryTable <HistoryTable
:rows="rowsHistory" :rows="rowsHistory"
:columns="columnsHistory" :columns="columnsHistory"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -125,14 +125,17 @@ export const useCounterMixin = defineStore("mixin", () => {
} }
let dstTime = ""; let dstTime = "";
if (isTime) { if (isTime) {
const H = date.getHours().toString().padStart(2, "0"); // const H = date.getHours().toString().padStart(2, "0");
const M = date.getMinutes().toString().padStart(2, "0"); // const M = date.getMinutes().toString().padStart(2, "0");
const H = date.getHours().toString().padStart(2);
const M = date.getMinutes().toString().padStart(2);
// const S = date.getSeconds().toString().padStart(2, "0") // const S = date.getSeconds().toString().padStart(2, "0")
// dstTime = " " + H + ":" + M + ":" + S + " น." // dstTime = " " + H + ":" + M + ":" + S + " น."
dstTime = " " + H + ":" + M + " น."; dstTime = " " + H + ":" + M + " น.";
} }
return ( return (
date.getDate().toString().padStart(2, "0") + // date.getDate().toString().padStart(2, "0") +
date.getDate().toString().padStart(2) +
" " + " " +
dstMonth + dstMonth +
" " + " " +