รายการโครงการ

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-04-10 10:31:41 +07:00
parent 62bb318858
commit ec36ffe6ba
9 changed files with 211 additions and 38 deletions

View file

@ -20,10 +20,13 @@ export default {
/** ทุนการศึกษา/ฝึกอบรม*/
devScholarship,
devScholarshipByid: (id: string) => `${devScholarship}/${id}`,
devScholarshipStatus: (id: string, status: string) =>
`${devScholarship}/${id}/${status}`,
/** download File */
developmentReportMain:() =>`${developmentReport}/main`,
developmentReportHistory:() =>`${developmentReport}/history-officer`,
developmentReportHistoryOfficer:() =>`${developmentReport}/history-employee`,
developmentReportScholarship:() =>`${developmentReport}/scholarship`,
developmentReportMain: () => `${developmentReport}/main`,
developmentReportHistory: () => `${developmentReport}/history-officer`,
developmentReportHistoryOfficer: () =>
`${developmentReport}/history-employee`,
developmentReportScholarship: () => `${developmentReport}/scholarship`,
};

View file

@ -11,7 +11,7 @@ const formData = reactive<FormCompetency>({
competencyType: "",
competencyName: "",
definition: "",
level_1: "",
level_1: ["", "", "", "", "", ""],
level_2: "",
level_3: "",
level_4: "",
@ -42,8 +42,27 @@ const competencyTypeOp = ref<DataOption[]>([
},
]);
const itemsFormCard = ref<any>([
{
id: "",
name: "",
},
]);
function ocClickAdd() {
if (itemsFormCard.value.length !== 6) {
const data = {
id: "",
name: "",
};
itemsFormCard.value.push(data);
}
}
/** บันทึก */
function onSubmit() {}
function onSubmit() {
console.log(formData);
}
</script>
<template>
@ -102,36 +121,151 @@ function onSubmit() {}
</div>
<div class="col-12">
<q-card flat bordered>
<q-item-section class="bg-grey-4">
<q-card-section class="bg-grey-4">
<div
class="row items-center text-dark text-body2 text-weight-medium"
>
<div class="col-3 text-center">
<span>ระดบสมรรถนะ</span>
<div class="col-3">
<div class="row items-center">
<div class="col-1">
<q-btn
dense
flat
round
color="primary"
icon="add"
@click="ocClickAdd"
>
<q-tooltip>เพ</q-tooltip></q-btn
>
</div>
<div class="col-11 text-center">
<span>ระดบสมรรถนะ</span>
</div>
</div>
</div>
<div class="col-9">
<div class="col-4">
<span>คำอธบายระด/พฤตกรรมทคาดหว/พฤตกรรมยอย</span>
</div>
</div>
</q-item-section>
<q-separator />
<q-item-section>
<div class="row q-pa-sm">
</q-card-section>
<q-card-section>
<div
class="row q-pa-sm"
v-for="(items, index) in itemsFormCard"
key="index"
>
<div
class="col-3 text-center self-center text-body1 text-weight-medium"
>
<span>1</span>
<span>{{ index + 1 }}</span>
</div>
<div class="col-9">
<q-input
<!-- <q-input
v-model="formData.level_1"
label="คำอธิบาย"
dense
outlined
/> -->
<q-editor
v-model="formData.level_1[index]"
:dense="$q.screen.lt.md"
:toolbar="[
[
{
label: $q.lang.editor.align,
icon: $q.iconSet.editor.align,
fixedLabel: true,
list: 'only-icons',
options: ['left', 'center', 'right', 'justify'],
},
{
label: $q.lang.editor.align,
icon: $q.iconSet.editor.align,
fixedLabel: true,
options: ['left', 'center', 'right', 'justify'],
},
],
[
'bold',
'italic',
'strike',
'underline',
'subscript',
'superscript',
],
['token', 'hr', 'link', 'custom_btn'],
['print', 'fullscreen'],
[
{
label: $q.lang.editor.formatting,
icon: $q.iconSet.editor.formatting,
list: 'no-icons',
options: [
'p',
'h1',
'h2',
'h3',
'h4',
'h5',
'h6',
'code',
],
},
{
label: $q.lang.editor.fontSize,
icon: $q.iconSet.editor.fontSize,
fixedLabel: true,
fixedIcon: true,
list: 'no-icons',
options: [
'size-1',
'size-2',
'size-3',
'size-4',
'size-5',
'size-6',
'size-7',
],
},
{
label: $q.lang.editor.defaultFont,
icon: $q.iconSet.editor.font,
fixedIcon: true,
list: 'no-icons',
options: [
'default_font',
'arial',
'arial_black',
'comic_sans',
'courier_new',
'impact',
'lucida_grande',
'times_new_roman',
'verdana',
],
},
'removeFormat',
],
['quote', 'unordered', 'ordered', 'outdent', 'indent'],
['undo', 'redo'],
['viewsource'],
]"
:fonts="{
arial: 'Arial',
arial_black: 'Arial Black',
comic_sans: 'Comic Sans MS',
courier_new: 'Courier New',
impact: 'Impact',
lucida_grande: 'Lucida Grande',
times_new_roman: 'Times New Roman',
verdana: 'Verdana',
}"
/>
</div>
</div>
</q-item-section>
</q-card-section>
</q-card>
</div>

View file

@ -15,7 +15,7 @@ interface FormCompetency {
competencyType: string;
competencyName: string;
definition: string;
level_1: string;
level_1: any;
level_2: string;
level_3: string;
level_4: string;

View file

@ -88,15 +88,12 @@ function fetchDataProject(id: string) {
store.formAddProject.actualPeoples = actualPeoples;
//
store.formAddProject.projectDay = store.formAddProject.projectDay
? Number(store.formAddProject.projectDay)
: null;
store.formAddProject.projectNigth = store.formAddProject.projectNigth
? Number(store.formAddProject.projectNigth)
: null;
store.formAddProject.projectModal = store.formAddProject.projectModal
? Number(store.formAddProject.projectModal)
: null;
store.formAddProject.projectType = data.projectType;
store.formAddProject.projectCharacteristics = data.projectCharacteristics;
store.formAddProject.projectDay = data.projectDay;
store.formAddProject.projectNigth = data.projectNigth;
store.formAddProject.projectTechniques = data.projectTechniques;
store.formAddProject.projectModal = data.projectModal;
/** การติดตามผลดารประเมิน*/
store.formAddProject.metricType = data.metricType;
@ -119,7 +116,7 @@ function fetchDataProject(id: string) {
store.formAddProject.dateEnd = data.dateEnd;
store.formAddProject.totalDate = data.totalDate;
store.formAddProject.address = data.address;
store.formAddProject.provinceId = data.provinceId;
store.formAddProject.provinceIds = data.provinceIds;
store.formAddProject.budget = data.budget;
store.formAddProject.accept = data.accept;
store.formAddProject.receive = data.receive;
@ -162,6 +159,17 @@ function onSubmit() {
store.formAddProject.isNoPass = false;
}
// ;
store.formAddProject.projectDay = store.formAddProject.projectDay
? Number(store.formAddProject.projectDay)
: null;
store.formAddProject.projectNigth = store.formAddProject.projectNigth
? Number(store.formAddProject.projectNigth)
: null;
store.formAddProject.projectModal = store.formAddProject.projectModal
? Number(store.formAddProject.projectModal)
: null;
/** อื่นๆ*/
store.formAddProject.totalDate = Number(store.formAddProject.totalDate);
store.formAddProject.accept =

View file

@ -222,7 +222,7 @@ onMounted(() => {
<q-select
outlined
dense
v-model="store.formAddProject.provinceId"
v-model="store.formAddProject.provinceIds"
label="จังหวัด"
:options="provinceOp"
option-label="name"

View file

@ -33,7 +33,7 @@ const title = ref<string>(route.params.id ? "แก้ไข" : "เพิ่ม
const scholarshipId = ref<string | null>(
route.params.id ? route.params.id.toLocaleString() : null
);
const isStatus = ref<string>();
const isStatus = ref<string>("");
const modalDialogGov = ref<boolean>(false);
const budgetSourceOp = ref<DataOption[]>([
@ -229,7 +229,14 @@ function fetchDataDetail(id: string) {
}
function fetchStatus(id: string) {
isStatus.value = "PENDING";
// http
// .get(config.API.devScholarshipStatus(id,"GRADUATE"))
// .then((res) => {
// const data = res.data.result;
// console.log(data);
isStatus.value = "PENDING";
// })
// .catch((err) => {});
}
function onSubmit() {
@ -312,7 +319,22 @@ function changeStartDate(type: string) {
function onClickUpdateStatus(type: string) {
dialogConfirm($q, () => {
isStatus.value = type;
if (scholarshipId.value) {
showLoader();
http
.get(config.API.devScholarshipStatus(scholarshipId.value, type))
.then((res) => {
const data = res.data.result;
console.log(data);
isStatus.value = type;
})
.catch((err) => {
messageError($q, err);
})
.finally(() => {
hideLoader();
});
}
});
}

View file

@ -139,7 +139,7 @@ interface FormAddProject {
dateEnd: Date | null;
totalDate: number | null;
address: string;
provinceId: any | null;
provinceIds: any;
budget: string;
budgetSub: string;
accept: number | string | null;

View file

@ -43,7 +43,7 @@ interface ResDataProject {
dateEnd: Date | null;
totalDate: number | null;
address: string;
provinceId: string | null;
provinceIds: any;
budget: string;
accept: number | string | null;
receive: number | string | null;
@ -57,11 +57,17 @@ interface ResDataProject {
expect: string;
topicAcademic: string;
addressAcademic: string;
provinceActualId: string | null;
provinceActualId: string;
actualPeoples: ResPeople[];
plannedPeoples: ResPeople[];
actualGoals: ResActualGoals[];
plannedGoals: ResPlannedGoals[];
projectType: string;
projectCharacteristics: string;
projectDay: number | null;
projectNigth: number | null;
projectTechniques: string;
projectModal: number | null;
}
interface ResPeople {

View file

@ -32,7 +32,7 @@ export const useDevelopmentDataStore = defineStore(
dateEnd: null, //วันที่สิ้นสุด
totalDate: null, //รวมระยะเวลา (วัน)
address: "", //ที่อยู่
provinceId: null, //จังหวัด
provinceIds: null, //จังหวัด
budget: "", //ประเภทงบประมาณ(งบตามข้อบัญญัติ->REGULATIONBUDGET, งบประมาณกรุงเทพมหานคร->BANGKOKBUDGET, เงินนอกงบประมาณ->OUTSIDEBUDGET)
budgetSub: "",
accept: null, //จํานวนงบประมาณที่ขอรับการจัดสรรฯ
@ -103,7 +103,7 @@ export const useDevelopmentDataStore = defineStore(
formAddProject.dateEnd = null;
formAddProject.totalDate = null;
formAddProject.address = "";
formAddProject.provinceId = [];
formAddProject.provinceIds = [];
formAddProject.budget = "";
formAddProject.accept = null;
formAddProject.receive = null;