โครงการ => API ลักษณะโครงการ

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-04-17 18:06:15 +07:00
parent c5b68d0691
commit b76f5854cf
5 changed files with 107 additions and 74 deletions

View file

@ -6,9 +6,10 @@ import { useCounterMixin } from "@/stores/mixin";
/**importType*/
import type {
DataOption,
DataOptionTechnique,
FormProjectDetail,
} from "@/modules/15_development/interface/index/Main";
import type { DataStrategic } from "@/modules/15_development/interface/response/Main";
import { useDevelopmentDataStore } from "@/modules/15_development/store/developmentStore";
import http from "@/plugins/http";
@ -27,18 +28,8 @@ const projectTypeOp = ref<String[]>([
"โครงการใหม่",
"โครงการต่อเนื่อง",
]);
// const projectTechniquesOp = ref<DataOption[]>([
// { id: "TRAINING", name: "" },
// { id: "MEETING", name: "" },
// { id: "SEMINAR", name: "" },
// { id: "STUDY_TOUR", name: "" },
// { id: "ACADEMIC_SEMINAR", name: "" },
// { id: "WORKSHOP", name: "" },
// { id: "SPECIAL_LECTURE", name: "" },
// { id: "STUDY_TRAINING", name: "" },
// ]);
const projectTechniquesOp = ref<any[]>([
const projectTechniquesOp = ref<DataOptionTechnique[]>([
{ value: "การอบรม", label: "การอบรม" },
{ value: "การประชุม", label: "การประชุม" },
{ value: "การสัมมนา", label: "การสัมมนา" },
@ -65,7 +56,7 @@ const formData = reactive<FormProjectDetail>({
projectNigthHoldActual: null,
developmentProjectTechniqueActuals: [],
projectModalActual: null,
projectModalPlanneds: null,
projectModalPlanned: null,
strategyChildPlannedId: null, //id
strategyChildPlannedNode: 0, //node
strategyChildActualId: null, //id
@ -77,8 +68,8 @@ const filter = ref<string>("");
const filter2 = ref<string>("");
const notFound = ref<string>("ไม่พบข้อมูลที่ค้นหา");
const noData = ref<string>("ไม่มีข้อมูล");
const expanded = ref<Array<any>>([]);
const expanded2 = ref<Array<any>>([]);
const expanded = ref<Array<string | null>>([]);
const expanded2 = ref<Array<string | null>>([]);
function fetchData() {
showLoader();
http
@ -102,10 +93,33 @@ function fetchData() {
formData.projectNigthHoldActual = data.projectNigthHoldActual;
formData.developmentProjectTechniqueActuals =
data.developmentProjectTechniqueActuals;
formData.strategyChildPlannedId = data.strategyChildPlannedId;
formData.strategyChildPlannedNode = data.strategyChildPlannedNode;
formData.strategyChildActualId = data.strategyChildActualId;
formData.strategyChildActualNode = data.strategyChildActualNode;
formData.projectModalPlanned = data.projectModalPlanned;
expanded.value = [
data.strategyChild1Planned,
data.strategyChild2Planned,
data.strategyChild3Planned,
data.strategyChild4Planned,
data.strategyChild5Planned,
];
expanded2.value = [
data.strategyChild1Actual,
data.strategyChild2Actual,
data.strategyChild3Actual,
data.strategyChild4Actual,
data.strategyChild5Actual,
];
const filteredArray = expanded.value.filter((item) => item !== null);
const filteredArray2 = expanded2.value.filter((item) => item !== null);
const lastItem = filteredArray[filteredArray.length - 1];
const lastItem2 = filteredArray2[filteredArray2.length - 1];
formData.strategyChildPlannedId =
lastItem !== undefined ? lastItem : null;
formData.strategyChildPlannedNode =
lastItem !== undefined ? filteredArray.length : null;
formData.strategyChildActualId =
lastItem2 !== undefined ? lastItem2 : null;
formData.strategyChildActualNode =
lastItem2 !== undefined ? filteredArray2.length : null;
})
.catch((err) => {
messageError($q, err);
@ -147,7 +161,7 @@ async function onSubmit() {
});
}
function updateSelected(data: any, type: string) {
function updateSelected(data: DataStrategic, type: string) {
if (type === "1") {
formData.strategyChildPlannedId = data.id;
formData.strategyChildPlannedNode = data.level;
@ -388,7 +402,7 @@ onMounted(() => {
:disable="store.projectStatus === 'FINISH'"
dense
outlined
v-model="formData.projectModalPlanneds"
v-model="formData.projectModalPlanned"
label="จำนวน (รุ่น)"
mask="#"
reverse-fill-mask