fixing
This commit is contained in:
parent
73d45a3d24
commit
0e87c63641
123 changed files with 310 additions and 10280 deletions
31
src/modules/01_masterdata/stores/InsigniaStore.ts
Normal file
31
src/modules/01_masterdata/stores/InsigniaStore.ts
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { ref } from "vue";
|
||||
import type {
|
||||
DataResponse,
|
||||
DataRow,
|
||||
} from "../interface/response/insignia/Insignia";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
||||
const { date2Thai } = useCounterMixin();
|
||||
|
||||
export const useInsigniaDataStore = defineStore("insigniaData", () => {
|
||||
const row = ref<DataRow[]>([]);
|
||||
function fetchData(data: DataResponse[], insigniaType?: string) {
|
||||
// data.forEach((row, index) => {
|
||||
// row.level = index + 1;
|
||||
// });
|
||||
const list = data.map((e) => ({
|
||||
...e,
|
||||
insigniaType: insigniaType,
|
||||
createdAt: e.createdAt ? date2Thai(e.createdAt) : "",
|
||||
lastUpdatedAt: e.lastUpdatedAt ? date2Thai(e.lastUpdatedAt) : "",
|
||||
}));
|
||||
list;
|
||||
row.value = list;
|
||||
}
|
||||
|
||||
return {
|
||||
fetchData,
|
||||
row,
|
||||
};
|
||||
});
|
||||
194
src/modules/01_masterdata/stores/KPIStore.ts
Normal file
194
src/modules/01_masterdata/stores/KPIStore.ts
Normal file
|
|
@ -0,0 +1,194 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { ref } from "vue";
|
||||
import type { DataOption } from "@/modules/14_KPI/interface/index/Main";
|
||||
|
||||
// store
|
||||
export const useKPIDataStore = defineStore("KPIDataStore", () => {
|
||||
const competencyTypeVal = ref<string>("HEAD");
|
||||
|
||||
const tabMain = ref<string>("1");
|
||||
const dataProfile = ref<any>();
|
||||
const dataEvaluation = ref<any>({
|
||||
plannedPoint: 0,
|
||||
rolePoint: 0,
|
||||
specialPoint: 0,
|
||||
capacityPoint: 0,
|
||||
});
|
||||
|
||||
const competencyType = ref<DataOption[]>([
|
||||
{
|
||||
id: "HEAD",
|
||||
name: "สมรรถนะหลัก",
|
||||
},
|
||||
{
|
||||
id: "GROUP",
|
||||
name: "สมรรถนะประจำกลุ่มงาน",
|
||||
},
|
||||
{
|
||||
id: "EXECUTIVE",
|
||||
name: "สมรรถนะประจำผู้บริหารกรุงเทพมหานคร",
|
||||
},
|
||||
{
|
||||
id: "DIRECTOR",
|
||||
name: "สมรรถนะเฉพาะสำหรับตำแหน่ง ผอ.เขต ผช.ผอ.เขต และหัวหน้าฝ่ายในสังกัด สนง.เขต",
|
||||
},
|
||||
{
|
||||
id: "INSPECTOR",
|
||||
name: "สมรรถนะเฉพาะสำหรับตำแหน่งผู้ตรวจราชการ กทม. และผู้ตรวจราชการ",
|
||||
},
|
||||
]);
|
||||
|
||||
function convertStatus(val: string) {
|
||||
switch (val) {
|
||||
case "PENDING":
|
||||
return "รอดำเนินการ";
|
||||
case "INPROGRESS":
|
||||
return "กําลังดำเนินการ";
|
||||
case "DONE":
|
||||
return "ประเมินเสร็จสิ้น";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function convertResults(val: string) {
|
||||
switch (val) {
|
||||
case "PENDING":
|
||||
return "รอดำเนินการ";
|
||||
case "PASSED":
|
||||
return "ผ่านการประเมิน";
|
||||
case "NOTPASSED":
|
||||
return "ไม่ผ่านการประเมิน";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const ratingColors = ref<string[]>([
|
||||
"light-blue-3",
|
||||
"light-blue-6",
|
||||
"blue",
|
||||
"blue-9",
|
||||
"blue-10",
|
||||
]);
|
||||
|
||||
function checkCompetency() {
|
||||
const position = dataProfile.value.position;
|
||||
const posTypeName = dataProfile.value.posTypeName;
|
||||
const posLevelName = dataProfile.value.posLevelName;
|
||||
|
||||
if (
|
||||
position == "ผู้ตรวจราชการกรุงเทพมหานคร" ||
|
||||
position == "ผู้ตรวจราชการ"
|
||||
) {
|
||||
competencyType.value = competencyType.value.filter(
|
||||
(x: DataOption) => x.id == "HEAD" || x.id == "INSPECTOR"
|
||||
);
|
||||
} else if (position == "ผู้อำนวยการเขต") {
|
||||
competencyType.value = competencyType.value.filter(
|
||||
(x: DataOption) => x.id == "HEAD" || x.id == "DIRECTOR"
|
||||
);
|
||||
} else {
|
||||
switch (posTypeName + " " + posLevelName) {
|
||||
// case "ทั่วไป ปฏิบัติงาน":
|
||||
// case "ทั่วไป ชำนาญงาน":
|
||||
// case "ทั่วไป อาวุโส":
|
||||
// case "วิชาการ ปฏิบัติการ":
|
||||
// case "วิชาการ ชำนาญการ":
|
||||
// case "วิชาการ ชำนาญการพิเศษ":
|
||||
// case "วิชาการ เชี่ยวชาญ":
|
||||
// case "วิชาการ ทรงคุณวุฒิ":
|
||||
// competencyType.value = competencyType.value.filter(
|
||||
// (x: DataOptions) => x.id == "HEAD" || x.id == "GROUP"
|
||||
// );
|
||||
// break;
|
||||
case "อำนวยการ ต้น":
|
||||
case "อำนวยการ สูง":
|
||||
case "บริหาร ต้น":
|
||||
case "บริหาร สูง":
|
||||
competencyType.value = competencyType.value.filter(
|
||||
(x: DataOption) => x.id == "HEAD" || x.id == "EXECUTIVE"
|
||||
);
|
||||
break;
|
||||
default:
|
||||
competencyType.value = competencyType.value.filter(
|
||||
(x: DataOption) => x.id == "HEAD" || x.id == "GROUP"
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const defaultCompetencyCoreLevel = ref<number>();
|
||||
const defaultCompetencyGroupLevel = ref<number | null>(null);
|
||||
function checkCompetencyDefaultCompetencyLevel() {
|
||||
const posTypeName = dataProfile.value.posTypeName;
|
||||
const posLevelName = dataProfile.value.posLevelName;
|
||||
|
||||
switch (posTypeName + " " + posLevelName) {
|
||||
case "บริหาร สูง":
|
||||
defaultCompetencyCoreLevel.value = 5;
|
||||
break;
|
||||
case "บริหาร ต้น":
|
||||
defaultCompetencyCoreLevel.value = 4;
|
||||
break;
|
||||
case "อำนวยการ สูง":
|
||||
defaultCompetencyCoreLevel.value = 4;
|
||||
break;
|
||||
case "อำนวยการ ต้น":
|
||||
defaultCompetencyCoreLevel.value = 3;
|
||||
break;
|
||||
case "วิชาการ ทรงคุณวุฒิ":
|
||||
defaultCompetencyCoreLevel.value = 5;
|
||||
defaultCompetencyGroupLevel.value = 5;
|
||||
break;
|
||||
case "วิชาการ เชี่ยวชาญ":
|
||||
defaultCompetencyCoreLevel.value = 4;
|
||||
defaultCompetencyGroupLevel.value = 4;
|
||||
break;
|
||||
case "วิชาการ ชำนาญการพิเศษ":
|
||||
defaultCompetencyCoreLevel.value = 3;
|
||||
defaultCompetencyGroupLevel.value = 4;
|
||||
break;
|
||||
case "วิชาการ ชำนาญการ":
|
||||
defaultCompetencyCoreLevel.value = 2;
|
||||
defaultCompetencyGroupLevel.value = 3;
|
||||
break;
|
||||
case "วิชาการ ปฏิบัติการ":
|
||||
defaultCompetencyCoreLevel.value = 1;
|
||||
defaultCompetencyGroupLevel.value = 2;
|
||||
break;
|
||||
case "ทั่วไป ทักษะพิเศษ":
|
||||
defaultCompetencyCoreLevel.value = 4;
|
||||
defaultCompetencyGroupLevel.value = 4;
|
||||
break;
|
||||
case "ทั่วไป อาวุโส":
|
||||
defaultCompetencyCoreLevel.value = 3;
|
||||
defaultCompetencyGroupLevel.value = 3;
|
||||
break;
|
||||
case "ทั่วไป ชำนาญงาน":
|
||||
defaultCompetencyCoreLevel.value = 2;
|
||||
defaultCompetencyGroupLevel.value = 2;
|
||||
break;
|
||||
case "ทั่วไป ปฏิบัติงาน":
|
||||
defaultCompetencyCoreLevel.value = 1;
|
||||
defaultCompetencyGroupLevel.value = 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
competencyTypeVal,
|
||||
competencyType,
|
||||
convertStatus,
|
||||
convertResults,
|
||||
tabMain,
|
||||
dataProfile,
|
||||
dataEvaluation,
|
||||
ratingColors,
|
||||
checkCompetency,
|
||||
checkCompetencyDefaultCompetencyLevel,
|
||||
};
|
||||
});
|
||||
0
src/modules/01_masterdata/stores/calendarStore.ts
Normal file
0
src/modules/01_masterdata/stores/calendarStore.ts
Normal file
30
src/modules/01_masterdata/stores/main.ts
Normal file
30
src/modules/01_masterdata/stores/main.ts
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { ref } from "vue";
|
||||
import type { DataOption } from "@/interface/main";
|
||||
|
||||
export const useMainOptionDataStore = defineStore("MainOptionData", () => {
|
||||
const posLevelAuthorityOption = ref<DataOption[]>([
|
||||
{
|
||||
id: "HEAD",
|
||||
label: "หัวหน้าหน่วยงาน",
|
||||
},
|
||||
{
|
||||
id: "DEPUTY",
|
||||
label: "ปลัด",
|
||||
},
|
||||
{
|
||||
id: "GOVERNOR",
|
||||
label: "ผู้ว่าฯ",
|
||||
},
|
||||
]);
|
||||
|
||||
function posLevelAuthorityConvert(val: string) {
|
||||
return posLevelAuthorityOption.value.find((x: DataOption) => x.id === val)
|
||||
?.label;
|
||||
}
|
||||
|
||||
return {
|
||||
posLevelAuthorityOption,
|
||||
posLevelAuthorityConvert,
|
||||
};
|
||||
});
|
||||
28
src/modules/01_masterdata/stores/personalStore.ts
Normal file
28
src/modules/01_masterdata/stores/personalStore.ts
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { ref } from "vue";
|
||||
import type {
|
||||
DataResponse,
|
||||
DataRow,
|
||||
} from "../interface/response/personal/personal";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
||||
const { date2Thai } = useCounterMixin();
|
||||
|
||||
export const usePersonalDataStore = defineStore("PersonalData", () => {
|
||||
const row = ref<DataRow[]>([]);
|
||||
const currentTab = ref<string>("list_prefix");
|
||||
|
||||
function save(data: DataResponse[]) {
|
||||
const list = data.map((e) => ({
|
||||
...e,
|
||||
createdAt: e.createdAt ? date2Thai(e.createdAt) : "",
|
||||
lastUpdatedAt: e.lastUpdatedAt ? date2Thai(e.lastUpdatedAt) : "",
|
||||
}));
|
||||
row.value = list;
|
||||
}
|
||||
return {
|
||||
save,
|
||||
row,
|
||||
currentTab
|
||||
};
|
||||
});
|
||||
25
src/modules/01_masterdata/stores/positionEmployeeStore.ts
Normal file
25
src/modules/01_masterdata/stores/positionEmployeeStore.ts
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { ref } from "vue";
|
||||
|
||||
import type {
|
||||
DataResponse,
|
||||
DataRow,
|
||||
} from "../interface/response/position/ListType";
|
||||
import type { ResGroup } from "@/modules/01_masterdata/interface/response/positionEmployee/Main";
|
||||
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
import { useMainOptionDataStore } from "@/modules/01_masterdata/stores/main";
|
||||
const storeOption = useMainOptionDataStore();
|
||||
|
||||
const { date2Thai } = useCounterMixin();
|
||||
|
||||
export const usePositionEmployeeDataStore = defineStore(
|
||||
"positionEmployeeStore",
|
||||
() => {
|
||||
const pathLocation = ref<string>("list_position");
|
||||
|
||||
return {
|
||||
pathLocation,
|
||||
};
|
||||
}
|
||||
);
|
||||
37
src/modules/01_masterdata/stores/positionListStore.ts
Normal file
37
src/modules/01_masterdata/stores/positionListStore.ts
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { ref } from "vue";
|
||||
import type {
|
||||
DataResponse,
|
||||
DataRow,
|
||||
} from "../interface/response/position/ListType";
|
||||
import { useMainOptionDataStore } from "@/modules/01_masterdata/stores/main";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
const storeOption = useMainOptionDataStore();
|
||||
|
||||
const { date2Thai } = useCounterMixin();
|
||||
|
||||
export const usePositionDataStore = defineStore("PositionData", () => {
|
||||
const pathLocation = ref<string>("list_position");
|
||||
const row = ref<DataRow[]>([]);
|
||||
function save(data: DataResponse[]) {
|
||||
const list = data.map((e) => ({
|
||||
...e,
|
||||
posTypes: undefined,
|
||||
posTypeId: e.posTypes?.id,
|
||||
posTypeName: e.posTypes?.posTypeName,
|
||||
posTypeRank: e.posTypes?.posTypeRank,
|
||||
createdAt: e.createdAt ? date2Thai(e.createdAt) : "",
|
||||
lastUpdatedAt: e.lastUpdatedAt ? date2Thai(e.lastUpdatedAt) : "",
|
||||
posLevelAuthority: e.posLevelAuthority
|
||||
? storeOption.posLevelAuthorityConvert(e.posLevelAuthority)
|
||||
: "-",
|
||||
})) satisfies DataRow[];
|
||||
row.value = list;
|
||||
}
|
||||
|
||||
return {
|
||||
save,
|
||||
row,
|
||||
pathLocation,
|
||||
};
|
||||
});
|
||||
28
src/modules/01_masterdata/stores/positionTypeStore.ts
Normal file
28
src/modules/01_masterdata/stores/positionTypeStore.ts
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { ref } from "vue";
|
||||
import type {
|
||||
DataResponse,
|
||||
DataRow,
|
||||
} from "../interface/response/position/ListType";
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
||||
const { date2Thai } = useCounterMixin();
|
||||
|
||||
export const usePositionTypeDataStore = defineStore("PositionTypeData", () => {
|
||||
const row = ref<DataRow[]>([]);
|
||||
|
||||
function save(data: DataResponse[]) {
|
||||
const list = data.map((e) => ({
|
||||
...e,
|
||||
posTypes: undefined,
|
||||
posTypeId: e.posTypes?.id,
|
||||
createdAt: e.createdAt ? date2Thai(e.createdAt) : "",
|
||||
lastUpdatedAt: e.lastUpdatedAt ? date2Thai(e.lastUpdatedAt) : "",
|
||||
})) satisfies DataRow[];
|
||||
row.value = list;
|
||||
}
|
||||
return {
|
||||
save,
|
||||
row,
|
||||
};
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue