Merge branch 'oat_dev' into develop

This commit is contained in:
oat_dev 2024-04-11 13:39:44 +07:00
commit c495d02070
3 changed files with 72 additions and 17 deletions

View file

@ -34,4 +34,7 @@ export default {
developmentMainFinish: (id: string) => `${development}/main/finish/${id}`, developmentMainFinish: (id: string) => `${development}/main/finish/${id}`,
// ข้อมูล status ของโครงการ // ข้อมูล status ของโครงการ
developmentMainStatus: (id: string) => `${development}/main/status/${id}`, developmentMainStatus: (id: string) => `${development}/main/status/${id}`,
/** โครงการ tab ข้อมูลเบื้องต้น */
developmentBasicInfoById: (id:string) => `${development}/main/tab1/${id}`
}; };

View file

@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { reactive, ref } from "vue"; import { reactive, ref, onMounted } from "vue";
import { useQuasar } from "quasar"; import { useQuasar } from "quasar";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
@ -9,11 +9,22 @@ import DialogSelectAgency from "@/modules/15_development/components/DialogSelect
import { useCounterMixin } from "@/stores/mixin"; import { useCounterMixin } from "@/stores/mixin";
import { useDevelopmentDataStore } from "@/modules/15_development/store/developmentStore"; import { useDevelopmentDataStore } from "@/modules/15_development/store/developmentStore";
import http from "@/plugins/http";
import config from "@/app.config";
const $q = useQuasar(); const $q = useQuasar();
const store = useDevelopmentDataStore(); const store = useDevelopmentDataStore();
const { showLoader, hideLoader, dialogConfirm } = useCounterMixin(); const mixin = useCounterMixin();
const {
dialogRemove,
dialogConfirm,
showLoader,
hideLoader,
messageError,
success,
date2Thai,
} = mixin;
const route = useRoute(); const route = useRoute();
const projectId = ref<string>(route.params.id.toLocaleString()); const projectId = ref<string>(route.params.id.toLocaleString());
@ -25,6 +36,8 @@ const formData = reactive<FormBasicinfo>({
objective: "", objective: "",
}); });
const rows = ref<FormBasicinfo[]>([]);
const modalDialogSelect = ref<boolean>(false); const modalDialogSelect = ref<boolean>(false);
function selectAgency() { function selectAgency() {
modalDialogSelect.value = true; modalDialogSelect.value = true;
@ -33,14 +46,56 @@ function updateAgency(name: string) {
formData.org = name; formData.org = name;
} }
async function fetchData(id: string) {
showLoader();
await http
.get(config.API.developmentBasicInfoById(id))
.then(async (res) => {
const data = res.data.result;
formData.year = data.year;
formData.reason = data.reason;
formData.projectName = data.projectName;
formData.objective = data.objective;
})
.catch((err) => {
messageError($q, err);
})
.finally(() => {
hideLoader();
});
}
async function editData(id: string) {
await http
.put(config.API.developmentBasicInfoById(id), {
year: formData.year,
reason: formData.reason,
projectName: formData.projectName,
objective: formData.objective,
})
.then(() => {
fetchData(id);
success($q, "บันทึกข้อมูลสำเร็จ");
})
.catch((err) => {
messageError($q, err);
})
.finally(() => {
hideLoader();
});
}
function onSubmit() { function onSubmit() {
dialogConfirm($q, async () => { dialogConfirm($q, async () => {
showLoader(); showLoader();
// post editData(projectId.value);
console.log("projectId===>", projectId.value);
hideLoader(); hideLoader();
}); });
} }
onMounted(async () => {
fetchData(projectId.value);
});
</script> </script>
<template> <template>
@ -49,7 +104,7 @@ function onSubmit() {
<div class="col-xs-6 col-sm-2 col-md-2"> <div class="col-xs-6 col-sm-2 col-md-2">
<datepicker <datepicker
menu-class-name="modalfix" menu-class-name="modalfix"
v-model="store.formAddProject.year" v-model="formData.year"
:locale="'th'" :locale="'th'"
autoApply autoApply
year-picker year-picker
@ -65,7 +120,7 @@ function onSubmit() {
lazy-rules lazy-rules
outlined outlined
class="inputgreen" class="inputgreen"
:model-value="Number(store.formAddProject.year) + 543" :model-value="Number(formData.year) + 543"
:label="`${'ปีงบประมาณ'}`" :label="`${'ปีงบประมาณ'}`"
> >
<template v-slot:prepend> <template v-slot:prepend>
@ -93,16 +148,16 @@ function onSubmit() {
@click="selectAgency" @click="selectAgency"
/> />
<!-- :rules="[ <!-- :rules="[
(val:string) => (val:string) =>
!!val || `${'กรุณาเลือกหน่วยงานที่รับผิดชอบ'}`, !!val || `${'กรุณาเลือกหน่วยงานที่รับผิดชอบ'}`,
]" --> ]" -->
</div> </div>
<div class="col-xs-12 col-sm-12 col-md-12"> <div class="col-xs-12 col-sm-12 col-md-12">
<q-input <q-input
outlined outlined
class="inputgreen" class="inputgreen"
dense dense
v-model="store.formAddProject.projectName" v-model="formData.projectName"
label="ชื่อโครงการ/กิจกรรม/หลักสูตร" label="ชื่อโครงการ/กิจกรรม/หลักสูตร"
rows="6" rows="6"
type="textarea" type="textarea"
@ -110,7 +165,6 @@ function onSubmit() {
:rules="[ :rules="[
(val:string) => (val:string) =>
!!val || `${'กรุณากรอกชื่อโครงการ/กิจกรรม/หลักสูตร'}`, !!val || `${'กรุณากรอกชื่อโครงการ/กิจกรรม/หลักสูตร'}`,
]" ]"
/> />
</div> </div>
@ -119,7 +173,7 @@ function onSubmit() {
outlined outlined
class="inputgreen" class="inputgreen"
dense dense
v-model="store.formAddProject.reason" v-model="formData.reason"
label="หลักการและเหตุผล" label="หลักการและเหตุผล"
rows="6" rows="6"
hide-bottom-space hide-bottom-space
@ -131,7 +185,7 @@ function onSubmit() {
outlined outlined
class="inputgreen" class="inputgreen"
dense dense
v-model="store.formAddProject.objective" v-model="formData.objective"
label="วัตถุประสงค์" label="วัตถุประสงค์"
rows="6" rows="6"
hide-bottom-space hide-bottom-space

View file

@ -69,10 +69,8 @@ function updateTicked(val: any) {
} }
function onSubmit() { function onSubmit() {
dialogConfirm($q, () => { emit("update:updateAgency", ticked.value[0]);
emit("update:updateAgency", ticked.value[0]); closeDialog();
closeDialog();
});
} }
function splitWords(sentence: string) { function splitWords(sentence: string) {