Merge branch 'develop' into devTee

This commit is contained in:
STW_TTTY\stwtt 2024-07-16 13:52:56 +07:00
commit a5a006a38f
7 changed files with 44 additions and 36 deletions

View file

@ -42,6 +42,7 @@ const weightAssigned = ref<number>(0);
const resultPlanned = ref<number>(0);
const resultRole = ref<number>(0);
const resultAssigned = ref<number>(0);
function fetchListPlanned() {
http
.get(config.API.kpiAchievement("planned") + `?id=${evaluationId.value}`)
@ -206,13 +207,17 @@ watch(
);
onMounted(() => {
getCriteria();
fetchListPlanned();
fetchListRole();
fetchAssigned();
setTimeout(() => {
hideLoader();
}, 1000);
showLoader(),
Promise.all([
getCriteria(),
fetchListPlanned(),
fetchListRole(),
fetchAssigned(),
]).finally(() => {
setTimeout(() => {
hideLoader();
}, 2000);
});
});
</script>

View file

@ -9,7 +9,7 @@ import config from "@/app.config";
*/
import type {
OptionCheckbox,
DataCapacity,
DataAchievement,
} from "@/modules/14_KPI/interface/index/Main";
/**
@ -39,24 +39,24 @@ const devId = defineModel<string>("devId", {
/**
* Table
*/
const rows = ref<DataCapacity[]>([]);
const visibleColumns = ref<String[]>(["capacityPoint", "capacityName"]);
const rows = ref<DataAchievement[]>([]);
const visibleColumns = ref<String[]>(["achievement", "detail"]);
const columns = ref<QTableProps["columns"]>([
{
name: "capacityPoint",
name: "achievement",
align: "center",
label: "ระดับคะแนน",
sortable: true,
field: "capacityPoint",
field: "achievement",
headerStyle: "font-size: 14px",
style: "font-size: 14px; width:20%;",
},
{
name: "capacityName",
name: "detail",
align: "left",
label: "เกณฑ์การประเมิน",
sortable: true,
field: "capacityName",
sortable: false,
field: "detail",
headerStyle: "font-size: 14px",
style: "font-size: 14px; width:80%;",
},
@ -90,14 +90,17 @@ function fetchDetailIndividual() {
.then((res) => {
const data = res.data.result;
title.value = data.name;
develop.value = [
data.isDevelopment70 ? "isDevelopment70" : "",
data.isDevelopment20 ? "isDevelopment20" : "",
data.isDevelopment10 ? "isDevelopment10" : "",
];
const developKeys = [70, 20, 10];
develop.value = developKeys
.filter((key) => data[`isDevelopment${key}`])
.map((key) => `isDevelopment${key}`);
target.value = data.target;
rows.value = data.capacity;
const achievements = ["10", "5", "0"];
rows.value = achievements.map((i) => ({
achievement: i,
detail: data[`achievement${i}`],
}));
})
.catch((err) => {
messageError($q, err);
@ -200,13 +203,13 @@ watch(
:key="col.name"
:props="props"
>
<div v-if="col.name === 'capacityName'">
<div v-if="col.name === 'detail'">
<q-input
dense
outlined
const
readonly
v-model="props.row.capacityName"
v-model="props.row.detail"
label="เกณฑ์การประเมิน"
/>
</div>

View file

@ -348,7 +348,6 @@ onMounted(() => {
:columns="columns"
:rows="rows"
row-key="id"
:selection="tab === 'COMPLETE' ? 'multiple' : null"
:rows-per-page-options="[10, 25, 50, 100]"
v-model:pagination="pagination"
:paging="true"

View file

@ -187,12 +187,10 @@ function onAnnounce() {
.post(config.API.evaluationUserDone, {
id: ids,
})
.then(() => {
setTimeout(async () => {
await porps.fetchData();
await success($q, "ประกาศผลสำเร็จ");
selected.value = [];
}, 1500);
.then(async () => {
await porps.fetchData();
await success($q, "ประกาศผลสำเร็จ");
selected.value = [];
})
.catch((err) => {
messageError($q, err);

View file

@ -68,7 +68,10 @@ interface FormData {
email: string;
qualification: string;
}
interface DataCapacity {}
interface DataAchievement {
achievement: string;
detail: string;
}
export type {
DataOption,
@ -80,5 +83,5 @@ export type {
FormData,
ItemsTab,
OptionCheckbox,
DataCapacity,
DataAchievement,
};

View file

@ -259,7 +259,7 @@ function filterSelector(val: string, update: Function, type: string) {
switch (type) {
case "typereport":
update(() => {
typeReport.value = "";
typeReport.value = val ? "" : typeReport.value;
listReport.value = listReportMain.value.filter(
(v: DataOption) => v.name.toLowerCase().indexOf(val) > -1
);
@ -267,7 +267,7 @@ function filterSelector(val: string, update: Function, type: string) {
break;
case "organization":
update(() => {
organization.value = "";
organization.value = val ? "" : organization.value;
organizationOps.value = organizationOpsMain.value.filter(
(v: DataOption) => v.name.toLowerCase().indexOf(val) > -1
);

View file

@ -58,9 +58,9 @@ function fetcDataList() {
kpiPeriodId: store.formQuery.round ? store.formQuery.round : "",
})
.then((res) => {
const data = res.data.result.data;
const data = res.data.result;
dataList.value = data;
dataList.value = data.data;
total.value = data.total;
maxPage.value = Math.ceil(total.value / pageSize.value);