ระบบการพัฒนา => รายการโครงการปรับการแสดงผลแบบฟอร์ม

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-08-08 11:53:58 +07:00
parent 41a0d80b64
commit 20e99fe23b
13 changed files with 1791 additions and 1319 deletions

View file

@ -1,5 +1,5 @@
<script setup lang="ts">
import { ref, onMounted } from "vue";
import { ref, onMounted, watch } from "vue";
import { useQuasar } from "quasar";
import { useRouter, useRoute } from "vue-router";
import http from "@/plugins/http";
@ -9,6 +9,8 @@ import config from "@/app.config";
import BasicInfo from "@/modules/15_development/components/BasicInfo.vue"; //
import Target from "@/modules/15_development/components/Target.vue"; //
import ProjectDetail from "@/modules/15_development/components/ProjectDetail.vue"; //
import Budget from "@/modules/15_development/components/Budget.vue"; //
import Risk from "@/modules/15_development/components/Risk.vue"; //
import FollowResult from "@/modules/15_development/components/FollowResult.vue"; //
import Other from "@/modules/15_development/components/Other.vue"; //
// import Record from "@/modules/15_development/components/Record.vue"; //
@ -16,8 +18,6 @@ import Other from "@/modules/15_development/components/Other.vue"; // อื่
/** importStore*/
import { useCounterMixin } from "@/stores/mixin";
import { useDevelopmentDataStore } from "@/modules/15_development/store/developmentStore";
import Budget from "@/modules/15_development/components/Budget.vue";
import Risk from "@/modules/15_development/components/Risk.vue";
/** use*/
const $q = useQuasar();
@ -105,6 +105,45 @@ function onFinish(id: string) {
onMounted(() => {
projectId.value && getStatus(projectId.value);
});
const isChangeData = ref<boolean>(false);
/**
* function เชคการแกไขอม
*/
function onCheckChangeData() {
isChangeData.value = true;
}
const childBasicInfoRef = ref<InstanceType<typeof BasicInfo> | null>(null);
const childProjectDetailRef = ref<InstanceType<typeof ProjectDetail> | null>(
null
);
const childBudgetRef = ref<InstanceType<typeof Budget> | null>(null);
const childRiskRef = ref<InstanceType<typeof Risk> | null>(null);
const childFollowResultRef = ref<InstanceType<typeof FollowResult> | null>(
null
);
const childOtherRef = ref<InstanceType<typeof Other> | null>(null);
watch(tab, (newValue, oldValue) => {
console.log(`Count changed from ${oldValue} to ${newValue}`);
if (isChangeData.value) {
// component
if (oldValue === "BasicInfo") {
childBasicInfoRef.value?.onSubmit();
} else if (oldValue === "ProjectDetail") {
childProjectDetailRef.value?.onSubmit();
} else if (oldValue === "Budget") {
childBudgetRef.value?.onSubmit();
} else if (oldValue === "Risk") {
childRiskRef.value?.onSubmit();
} else if (oldValue === "FollowResult") {
childFollowResultRef.value?.onSubmit();
} else if (oldValue === "Other") {
childOtherRef.value?.onSubmit();
}
}
});
</script>
<template>
<div class="toptitle text-dark col-12 row items-center">
@ -166,34 +205,72 @@ onMounted(() => {
<q-separator />
<div class="q-pa-sm" style="padding: 0px">
<q-tab-panels v-model="tab" animated>
<!-- อมลเบองต -->
<q-tab-panel style="padding: 0px" name="BasicInfo">
<BasicInfo :next-step="nextStep" />
</q-tab-panel>
<q-tab-panel name="Target">
<Target :prev-step="prevStep" :next-step="nextStep"
/></q-tab-panel>
<q-tab-panel name="ProjectDetail" style="padding: 0px">
<ProjectDetail :prev-step="prevStep" :next-step="nextStep" />
</q-tab-panel>
<q-tab-panel name="Budget" style="padding: 0px">
<Budget
:status="status"
:prev-step="prevStep"
<BasicInfo
ref="childBasicInfoRef"
:next-step="nextStep"
:onCheckChangeData="onCheckChangeData"
v-model:isChangeData.value="isChangeData"
/>
</q-tab-panel>
<q-tab-panel name="Risk" style="padding: 0px">
<Risk :status="status" :prev-step="prevStep" :next-step="nextStep" />
<!-- เปาหมาย -->
<q-tab-panel name="Target">
<Target :prev-step="prevStep" :next-step="nextStep" />
</q-tab-panel>
<q-tab-panel name="FollowResult">
<FollowResult
<!-- กษณะโครงการ -->
<q-tab-panel name="ProjectDetail" style="padding: 0px">
<ProjectDetail
ref="childProjectDetailRef"
:prev-step="prevStep"
:next-step="nextStep"
:onCheckChangeData="onCheckChangeData"
v-model:isChangeData.value="isChangeData"
/>
</q-tab-panel>
<!-- งบประมาณ -->
<q-tab-panel name="Budget" style="padding: 0px">
<Budget
ref="childBudgetRef"
:status="status"
:prev-step="prevStep"
:next-step="nextStep"
:onCheckChangeData="onCheckChangeData"
v-model:isChangeData.value="isChangeData"
/>
</q-tab-panel>
<!-- ความเสยงและประโยชนจะได -->
<q-tab-panel name="Risk" style="padding: 0px">
<Risk
ref="childRiskRef"
:prev-step="prevStep"
:next-step="nextStep"
:onCheckChangeData="onCheckChangeData"
v-model:isChangeData.value="isChangeData"
/>
</q-tab-panel>
<q-tab-panel name="FollowResult" style="padding: 0px">
<FollowResult
ref="childFollowResultRef"
:status="status"
:prev-step="prevStep"
:next-step="nextStep"
:onCheckChangeData="onCheckChangeData"
v-model:isChangeData.value="isChangeData"
/>
</q-tab-panel>
<q-tab-panel name="Other" style="padding: 0px">
<Other :status="status" :prev-step="prevStep" />
<Other
ref="childOtherRef"
:status="status"
:prev-step="prevStep"
:onCheckChangeData="onCheckChangeData"
v-model:isChangeData.value="isChangeData"
/>
</q-tab-panel>
<!-- <q-tab-panel name="Record"> <Record /> </q-tab-panel> -->
</q-tab-panels>