ประเมินผล
This commit is contained in:
parent
ac007dfc26
commit
bdae7034e9
11 changed files with 488 additions and 125 deletions
|
|
@ -14,13 +14,15 @@ const store = useEvaluateStore();
|
|||
flat
|
||||
ref="stepper"
|
||||
:bordered="false"
|
||||
header-nav
|
||||
>
|
||||
<q-step
|
||||
keep-alive
|
||||
:name="1"
|
||||
prefix="1"
|
||||
title="ตรวจสอบคุณสมบัติ"
|
||||
:done="store.step > 1"
|
||||
:done="store.currentStep >= 1"
|
||||
:disable="store.currentStep < 1"
|
||||
>
|
||||
</q-step>
|
||||
|
||||
|
|
@ -28,7 +30,8 @@ const store = useEvaluateStore();
|
|||
:name="2"
|
||||
prefix="2"
|
||||
title="จัดเตรียมเอกสารเล่ม 1"
|
||||
:done="store.step > 2"
|
||||
:done="store.currentStep >= 2"
|
||||
:disable="store.currentStep < 2"
|
||||
>
|
||||
</q-step>
|
||||
|
||||
|
|
@ -36,7 +39,8 @@ const store = useEvaluateStore();
|
|||
:name="3"
|
||||
prefix="3"
|
||||
title="ตรวจสอบเอกสารเล่ม 1"
|
||||
:done="store.step > 3"
|
||||
:done="store.currentStep >= 3"
|
||||
:disable="store.currentStep < 3"
|
||||
>
|
||||
</q-step>
|
||||
|
||||
|
|
@ -44,7 +48,8 @@ const store = useEvaluateStore();
|
|||
:name="4"
|
||||
prefix="4"
|
||||
title="รอตรวจสอบคุณสมบัติ"
|
||||
:done="store.step > 4"
|
||||
:done="store.currentStep >= 4"
|
||||
:disable="store.currentStep < 4"
|
||||
>
|
||||
</q-step>
|
||||
|
||||
|
|
@ -52,7 +57,8 @@ const store = useEvaluateStore();
|
|||
:name="5"
|
||||
prefix="5"
|
||||
title="ประกาศบนเว็บไซต์"
|
||||
:done="store.step > 5"
|
||||
:done="store.currentStep >= 5"
|
||||
:disable="store.currentStep < 5"
|
||||
>
|
||||
</q-step>
|
||||
|
||||
|
|
@ -60,7 +66,8 @@ const store = useEvaluateStore();
|
|||
:name="6"
|
||||
prefix="6"
|
||||
title="จัดเตรียมเอกสารเล่ม 2"
|
||||
:done="store.step > 6"
|
||||
:done="store.currentStep >= 6"
|
||||
:disable="store.currentStep < 6"
|
||||
>
|
||||
</q-step>
|
||||
|
||||
|
|
@ -68,14 +75,27 @@ const store = useEvaluateStore();
|
|||
:name="7"
|
||||
prefix="7"
|
||||
title="ตรวจสอบเอกสารเล่ม 2"
|
||||
:done="store.step > 7"
|
||||
:done="store.currentStep >= 7"
|
||||
:disable="store.currentStep < 7"
|
||||
>
|
||||
</q-step>
|
||||
|
||||
<q-step :name="8" prefix="8" title="รอพิจารณาผล" :done="store.step > 8">
|
||||
<q-step
|
||||
:name="8"
|
||||
prefix="8"
|
||||
title="รอพิจารณาผล"
|
||||
:done="store.currentStep >= 8"
|
||||
:disable="store.currentStep < 8"
|
||||
>
|
||||
</q-step>
|
||||
|
||||
<q-step :name="9" prefix="9" title="เสร็จสิ้น" :done="store.step > 9">
|
||||
<q-step
|
||||
:name="9"
|
||||
prefix="9"
|
||||
title="เสร็จสิ้น"
|
||||
:done="store.currentStep >= 9"
|
||||
:disable="store.currentStep < 9"
|
||||
>
|
||||
</q-step>
|
||||
</q-stepper>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import { useQuasar } from "quasar";
|
|||
import evaluationFunctions from "@/modules/06_evaluate/stores/evaluationFunction";
|
||||
|
||||
import type {
|
||||
FormSpec,
|
||||
FormCommand,
|
||||
FormCommandRef,
|
||||
} from "@/modules/06_evaluate/interface/evalute";
|
||||
|
|
@ -33,28 +34,45 @@ const mixin = useCounterMixin();
|
|||
const $q = useQuasar();
|
||||
|
||||
const { dialogConfirm, showLoader, hideLoader, messageError } = mixin;
|
||||
const { fetchCheckStatus, saveEvaluation } = evaluationFunctions;
|
||||
const { fetchCheckStatus, saveEvaluation, nextPrapare, nextCheckDoc } =
|
||||
evaluationFunctions;
|
||||
|
||||
const props = defineProps({
|
||||
title: {
|
||||
type: String,
|
||||
},
|
||||
});
|
||||
|
||||
const externalLink =
|
||||
"https://accreditation.ocsc.go.th/accreditation/search/curriculum";
|
||||
|
||||
const formCommand = reactive<FormCommand>({
|
||||
elementaryFullName: "",
|
||||
elementaryPosition: "",
|
||||
abovelevelFullname: "",
|
||||
abovelevelPosition: "",
|
||||
const formSpec = reactive<FormSpec>({
|
||||
isEducationalQft: false, // คุณวุฒิการศึกษา
|
||||
isGovermantServiceHtr: false, // ประวัติการรับราชการ
|
||||
isOperatingExp: false, // ประสบการณ์ในการปฏิบัติงาน
|
||||
isMinPeriodOfTenure: false, // ระยะเวลาขั้นต่ำในการดำรงตำแหน่งในสายงานที่ขอเข้ารับการคัดเลือก
|
||||
isHaveSpecificQft: false, // มีคุณสมบัติตรงตามคุณสมบัติเฉพาะสำหรับตำแหน่งที่กำหนด ในมาตราฐานกำหนดตำแหน่ง
|
||||
isHaveProLicense: false, // มีใบอนุญาตประกอบวิชาชีพของสายงานต่างๆ
|
||||
isHaveMinPeriodOrHoldPos: false, // มีระยะเวลาขั้นต่ำในการดำรงตำแหน่งหรือเคยดำรงตำแหน่งในสายงานที่จะคัดเลือกตามคุณวุฒิของบุคคลและระดับตำแหน่งที่จะคัดเลือก
|
||||
});
|
||||
|
||||
const elementaryFullNameRef = ref<object | null>(null);
|
||||
const elementaryPositonRef = ref<object | null>(null);
|
||||
const abovelevelFullnameRef = ref<object | null>(null);
|
||||
const abovelevelPositionRef = ref<object | null>(null);
|
||||
const formCommand = reactive<FormCommand>({
|
||||
commanderFullname: "",
|
||||
commanderPosition: "",
|
||||
commanderAboveFullname: "",
|
||||
commanderAbovePosition: "",
|
||||
});
|
||||
|
||||
const commanderFullnameRef = ref<object | null>(null);
|
||||
const commanderPositionRef = ref<object | null>(null);
|
||||
const commanderAboveFullnameRef = ref<object | null>(null);
|
||||
const commanderAbovePositionRef = ref<object | null>(null);
|
||||
|
||||
const formCommandRef: FormCommandRef = {
|
||||
elementaryFullName: elementaryFullNameRef,
|
||||
elementaryPosition: elementaryPositonRef,
|
||||
abovelevelFullname: abovelevelFullnameRef,
|
||||
abovelevelPosition: abovelevelPositionRef,
|
||||
commanderFullname: commanderFullnameRef,
|
||||
commanderPosition: commanderPositionRef,
|
||||
commanderAboveFullname: commanderAboveFullnameRef,
|
||||
commanderAbovePosition: commanderAbovePositionRef,
|
||||
};
|
||||
|
||||
async function onCilckNextStep() {
|
||||
|
|
@ -90,16 +108,13 @@ async function onCilckNextStep() {
|
|||
"ยืนยันการดำเนินการ",
|
||||
"ต้องการยืนยันการดำเนินการต่อใช่หรือไม่?"
|
||||
);
|
||||
|
||||
// functionCreateDoc?.();
|
||||
// store.step < 9 &&
|
||||
}
|
||||
|
||||
function onCilckprPeviousStep() {
|
||||
store.step > 1 &&
|
||||
async function onCilckprPeviousStep(type: string) {
|
||||
store.step < 9 &&
|
||||
dialogConfirm(
|
||||
$q,
|
||||
() => {
|
||||
async () => {
|
||||
store.step--;
|
||||
},
|
||||
"ยืนยันการย้อนกลับ",
|
||||
|
|
@ -107,16 +122,41 @@ function onCilckprPeviousStep() {
|
|||
);
|
||||
}
|
||||
|
||||
function updateformCommand(val: any, ref: any) {
|
||||
formCommand.elementaryFullName = val.elementaryFullName;
|
||||
formCommand.elementaryPosition = val.elementaryPosition;
|
||||
formCommand.abovelevelFullname = val.abovelevelFullname;
|
||||
formCommand.abovelevelPosition = val.abovelevelPosition;
|
||||
async function saveStep1() {
|
||||
saveEvaluation(formSpec);
|
||||
}
|
||||
|
||||
elementaryFullNameRef.value = ref.elementaryFullNameRef;
|
||||
elementaryPositonRef.value = ref.elementaryPositonRef;
|
||||
abovelevelFullnameRef.value = ref.abovelevelFullnameRef;
|
||||
abovelevelPositionRef.value = ref.abovelevelPositionRef;
|
||||
async function updateCheckSpec(data: FormSpec) {
|
||||
formSpec.isEducationalQft = data.isEducationalQft;
|
||||
formSpec.isGovermantServiceHtr = data.isGovermantServiceHtr;
|
||||
formSpec.isOperatingExp = data.isOperatingExp;
|
||||
formSpec.isMinPeriodOfTenure = data.isMinPeriodOfTenure;
|
||||
formSpec.isHaveSpecificQft = data.isHaveSpecificQft;
|
||||
formSpec.isHaveProLicense = data.isHaveProLicense;
|
||||
formSpec.isHaveMinPeriodOrHoldPos = data.isHaveMinPeriodOrHoldPos;
|
||||
}
|
||||
|
||||
async function saveStep2() {
|
||||
dialogConfirm(
|
||||
$q,
|
||||
() => {
|
||||
nextPrapare("approve", formCommand);
|
||||
},
|
||||
"ยืนยันการดำเนินการ",
|
||||
"ต้องการยืนยันการดำเนินการต่อใช่หรือไม่?"
|
||||
);
|
||||
}
|
||||
|
||||
function updateformCommand(val: any, ref: any) {
|
||||
formCommand.commanderFullname = val.commanderFullname;
|
||||
formCommand.commanderPosition = val.commanderPosition;
|
||||
formCommand.commanderAboveFullname = val.commanderAboveFullname;
|
||||
formCommand.commanderAbovePosition = val.commanderAbovePosition;
|
||||
|
||||
commanderFullnameRef.value = ref.commanderFullnameRef;
|
||||
commanderPositionRef.value = ref.commanderPositionRef;
|
||||
commanderAboveFullnameRef.value = ref.commanderAboveFullnameRef;
|
||||
commanderAbovePositionRef.value = ref.commanderAbovePositionRef;
|
||||
}
|
||||
|
||||
async function validateStep2() {
|
||||
|
|
@ -137,21 +177,8 @@ async function validateStep2() {
|
|||
}
|
||||
}
|
||||
|
||||
async function saveStep1() {
|
||||
saveEvaluation("test");
|
||||
}
|
||||
async function saveStep2() {
|
||||
dialogConfirm(
|
||||
$q,
|
||||
() => {
|
||||
store.step++;
|
||||
},
|
||||
"ยืนยันการดำเนินการ",
|
||||
"ต้องการยืนยันการดำเนินการต่อใช่หรือไม่?"
|
||||
);
|
||||
}
|
||||
async function saveStep3() {
|
||||
console.log("Save 3");
|
||||
nextCheckDoc("approve");
|
||||
}
|
||||
async function saveStep4() {
|
||||
console.log("Save 4");
|
||||
|
|
@ -198,7 +225,7 @@ onMounted(async () => {
|
|||
<template>
|
||||
<div class="row q-col-gutter-md">
|
||||
<div class="col-xs-12 col-sm-3">
|
||||
<div class="toptitle">ประเมินชำนาญการ</div>
|
||||
<div class="toptitle">{{ props.title }}</div>
|
||||
<Stepper />
|
||||
|
||||
<div class="text-center">
|
||||
|
|
@ -216,7 +243,7 @@ onMounted(async () => {
|
|||
<div class="col-12 row">
|
||||
<div class="col-9">
|
||||
<div class="toptitle">
|
||||
{{ store.step }}.{{ store.titel[store.step - 1] }}
|
||||
{{ store.step }}.{{ store.title[store.step - 1] }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3 text-right">
|
||||
|
|
@ -233,7 +260,7 @@ onMounted(async () => {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row q-col-gutter-md col-12">
|
||||
<div class="row q-col-gutter-md col-12" v-if="store.showLoadStatus">
|
||||
<div
|
||||
:class="
|
||||
store.step === 2 ||
|
||||
|
|
@ -248,8 +275,16 @@ onMounted(async () => {
|
|||
>
|
||||
<q-card flat bordered class="col-12 q-pa-md">
|
||||
<q-card-section>
|
||||
<Step1 v-if="store.step === 1" />
|
||||
<Step2 v-if="store.step === 2" @update:form="updateformCommand" />
|
||||
<Step1
|
||||
v-if="store.step === 1"
|
||||
@update:spec="updateCheckSpec"
|
||||
:evaluateId="store.evaluateId"
|
||||
/>
|
||||
<Step2
|
||||
v-if="store.step === 2"
|
||||
@update:form="updateformCommand"
|
||||
:evaluateId="store.evaluateId"
|
||||
/>
|
||||
<Step3 v-if="store.step === 3" />
|
||||
<Step4 v-if="store.step === 4" />
|
||||
<Step5 v-if="store.step === 5" />
|
||||
|
|
@ -273,15 +308,16 @@ onMounted(async () => {
|
|||
</div>
|
||||
</div>
|
||||
<div class="q-mt-md q-gutter-md" align="right">
|
||||
<q-btn
|
||||
<!-- <q-btn
|
||||
v-if="store.step !== 1"
|
||||
unelevated
|
||||
outline
|
||||
label="ย้อนกลับ"
|
||||
color="public"
|
||||
@click="onCilckprPeviousStep"
|
||||
/>
|
||||
@click="onCilckprPeviousStep('reject')"
|
||||
/> -->
|
||||
<q-btn
|
||||
v-if="store.step !== 4"
|
||||
unelevated
|
||||
label="ดำเนินการต่อ"
|
||||
color="public"
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ onMounted(async () => {
|
|||
|
||||
<div class="col-xs-12 col-sm-9">
|
||||
<div class="toptitle">
|
||||
{{ store.step }}.{{ store.titel[store.step - 1] }}
|
||||
{{ store.step }}.{{ store.title[store.step - 1] }}
|
||||
</div>
|
||||
<div class="row q-col-gutter-md col-12">
|
||||
<div
|
||||
|
|
|
|||
|
|
@ -1,5 +1,23 @@
|
|||
<script setup lang="ts">
|
||||
import { reactive } from "vue";
|
||||
import { reactive, onMounted } from "vue";
|
||||
import { useQuasar } from "quasar";
|
||||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
|
||||
import { useCounterMixin } from "@/stores/mixin";
|
||||
|
||||
const mixin = useCounterMixin();
|
||||
const $q = useQuasar();
|
||||
|
||||
const { showLoader, hideLoader, messageError } = mixin;
|
||||
|
||||
const props = defineProps({
|
||||
evaluateId: {
|
||||
type: String,
|
||||
},
|
||||
});
|
||||
|
||||
const emit = defineEmits(["update:spec"]);
|
||||
|
||||
const formData = reactive<any>({
|
||||
isEducationalQft: false, // คุณวุฒิการศึกษา
|
||||
|
|
@ -10,6 +28,35 @@ const formData = reactive<any>({
|
|||
isHaveProLicense: false, // มีใบอนุญาตประกอบวิชาชีพของสายงานต่างๆ
|
||||
isHaveMinPeriodOrHoldPos: false, // มีระยะเวลาขั้นต่ำในการดำรงตำแหน่งหรือเคยดำรงตำแหน่งในสายงานที่จะคัดเลือกตามคุณวุฒิของบุคคลและระดับตำแหน่งที่จะคัดเลือก]
|
||||
});
|
||||
async function updateValue() {
|
||||
emit("update:spec", formData);
|
||||
}
|
||||
|
||||
async function fetchCheckSpec(id: string) {
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.evaluationCheckspecByid(id))
|
||||
.then((res) => {
|
||||
const data = res.data.result;
|
||||
formData.isEducationalQft = data.IsEducationalQft;
|
||||
formData.isGovermantServiceHtr = data.IsGovermantServiceHtr;
|
||||
formData.isOperatingExp = data.IsOperatingExp;
|
||||
formData.isMinPeriodOfTenure = data.IsMinPeriodOfTenure;
|
||||
formData.isHaveSpecificQft = data.IsHaveSpecificQft;
|
||||
formData.isHaveProLicense = data.IsHaveProLicense;
|
||||
formData.isHaveMinPeriodOrHoldPos = data.IsHaveMinPeriodOrHoldPos;
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
props.evaluateId && fetchCheckSpec(props.evaluateId);
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
@ -20,6 +67,7 @@ const formData = reactive<any>({
|
|||
keep-color
|
||||
color="primary"
|
||||
v-model="formData.isEducationalQft"
|
||||
@update:model-value="updateValue"
|
||||
/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
|
|
@ -32,6 +80,7 @@ const formData = reactive<any>({
|
|||
keep-color
|
||||
color="primary"
|
||||
v-model="formData.isGovermantServiceHtr"
|
||||
@update:model-value="updateValue"
|
||||
/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
|
|
@ -44,6 +93,7 @@ const formData = reactive<any>({
|
|||
keep-color
|
||||
color="primary"
|
||||
v-model="formData.isOperatingExp"
|
||||
@update:model-value="updateValue"
|
||||
/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
|
|
@ -56,6 +106,7 @@ const formData = reactive<any>({
|
|||
keep-color
|
||||
color="primary"
|
||||
v-model="formData.isMinPeriodOfTenure"
|
||||
@update:model-value="updateValue"
|
||||
/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
|
|
@ -70,6 +121,7 @@ const formData = reactive<any>({
|
|||
keep-color
|
||||
color="primary"
|
||||
v-model="formData.isHaveSpecificQft"
|
||||
@update:model-value="updateValue"
|
||||
/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
|
|
@ -85,6 +137,7 @@ const formData = reactive<any>({
|
|||
keep-color
|
||||
color="primary"
|
||||
v-model="formData.isHaveProLicense"
|
||||
@update:model-value="updateValue"
|
||||
/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
|
|
@ -101,6 +154,7 @@ const formData = reactive<any>({
|
|||
keep-color
|
||||
color="primary"
|
||||
v-model="formData.isHaveMinPeriodOrHoldPos"
|
||||
@update:model-value="updateValue"
|
||||
/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import keycloak from "@/plugins/keycloak";
|
|||
import http from "@/plugins/http";
|
||||
import config from "@/app.config";
|
||||
import genReport from "@/plugins/genreport";
|
||||
import { useQuasar } from "quasar";
|
||||
import { useQuasar, type StringDictionary } from "quasar";
|
||||
|
||||
import type { FormCommand } from "@/modules/06_evaluate/interface/evalute";
|
||||
|
||||
|
|
@ -19,26 +19,32 @@ const fullName = ref<string>(
|
|||
keycloak.tokenParsed ? keycloak.tokenParsed.name!.toString() : ""
|
||||
);
|
||||
|
||||
const props = defineProps({
|
||||
evaluateId: {
|
||||
type: String,
|
||||
},
|
||||
});
|
||||
|
||||
const emit = defineEmits(["update:form"]);
|
||||
|
||||
const formCommand = reactive<FormCommand>({
|
||||
elementaryFullName: "",
|
||||
elementaryPosition: "",
|
||||
abovelevelFullname: "",
|
||||
abovelevelPosition: "",
|
||||
commanderFullname: "",
|
||||
commanderPosition: "",
|
||||
commanderAboveFullname: "",
|
||||
commanderAbovePosition: "",
|
||||
});
|
||||
|
||||
const elementaryFullNameRef = ref<object | null>(null);
|
||||
const elementaryPositonRef = ref<object | null>(null);
|
||||
const abovelevelFullnameRef = ref<object | null>(null);
|
||||
const abovelevelPositionRef = ref<object | null>(null);
|
||||
const commanderFullnameRef = ref<object | null>(null);
|
||||
const commanderPositionRef = ref<object | null>(null);
|
||||
const commanderAboveFullnameRef = ref<object | null>(null);
|
||||
const commanderAbovePositionRef = ref<object | null>(null);
|
||||
|
||||
const updateInput = (value: any) => {
|
||||
const ref = {
|
||||
elementaryFullNameRef: elementaryFullNameRef.value,
|
||||
elementaryPositonRef: elementaryPositonRef.value,
|
||||
abovelevelFullnameRef: abovelevelFullnameRef.value,
|
||||
abovelevelPositionRef: abovelevelPositionRef.value,
|
||||
commanderFullnameRef: commanderFullnameRef.value,
|
||||
commanderPositionRef: commanderPositionRef.value,
|
||||
commanderAboveFullnameRef: commanderAboveFullnameRef.value,
|
||||
commanderAbovePositionRef: commanderAbovePositionRef.value,
|
||||
};
|
||||
emit("update:form", value, ref);
|
||||
};
|
||||
|
|
@ -95,14 +101,36 @@ async function onClickDowloadFile(
|
|||
await genReport(body, fileName);
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
async function fetchPathUpload(volume: string, id: string) {
|
||||
showLoader();
|
||||
const body = {
|
||||
fileList: [
|
||||
"1-แบบพิจารณาคุณสมบัติบุคคล",
|
||||
"2-แบบแสดงรายละเอียดการเสนอผลงาน",
|
||||
"3-แบบตรวจสอบความถูกต้องครบถ้วนของข้อมูล",
|
||||
"4-แบบประเมินคุณลักษณะบุคคล",
|
||||
"5-แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก",
|
||||
"6-ผลงานที่จะส่งประเมิน",
|
||||
],
|
||||
};
|
||||
await http
|
||||
.post(config.API.loadPathDocument(volume, id), body)
|
||||
.then((res) => {})
|
||||
.catch((err) => {})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
}
|
||||
|
||||
onMounted(async () => {
|
||||
const ref = {
|
||||
elementaryFullNameRef: elementaryFullNameRef.value,
|
||||
elementaryPositonRef: elementaryPositonRef.value,
|
||||
abovelevelFullnameRef: abovelevelFullnameRef.value,
|
||||
abovelevelPositionRef: abovelevelPositionRef.value,
|
||||
commanderFullnameRef: commanderFullnameRef.value,
|
||||
commanderPositionRef: commanderPositionRef.value,
|
||||
commanderAboveFullnameRef: commanderAboveFullnameRef.value,
|
||||
commanderAbovePositionRef: commanderAbovePositionRef.value,
|
||||
};
|
||||
emit("update:form", formCommand, ref);
|
||||
props.evaluateId && (await fetchPathUpload("เล่ม 1", props.evaluateId));
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
@ -520,22 +548,22 @@ onMounted(() => {
|
|||
</div>
|
||||
<div class="row col-12 q-col-gutter-md q-pa-sm">
|
||||
<q-input
|
||||
ref="elementaryFullNameRef"
|
||||
ref="commanderFullnameRef"
|
||||
dense
|
||||
class="col-xs-12 col-sm-6"
|
||||
outlined
|
||||
label="ชื่อ-นามสกุล"
|
||||
v-model="formCommand.elementaryFullName"
|
||||
v-model="formCommand.commanderFullname"
|
||||
@update:model-value="updateInput(formCommand)"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
|
||||
lazy-rules
|
||||
/>
|
||||
<q-input
|
||||
ref="elementaryPositonRef"
|
||||
ref="commanderPositionRef"
|
||||
class="col-xs-12 col-sm-6"
|
||||
dense
|
||||
outlined
|
||||
v-model="formCommand.elementaryPosition"
|
||||
v-model="formCommand.commanderPosition"
|
||||
@update:model-value="updateInput(formCommand)"
|
||||
label="ตำแหน่ง"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
|
||||
|
|
@ -552,22 +580,22 @@ onMounted(() => {
|
|||
</div>
|
||||
<div class="row col-12 q-col-gutter-md q-pa-sm">
|
||||
<q-input
|
||||
ref="abovelevelFullnameRef"
|
||||
ref="commanderAboveFullnameRef"
|
||||
dense
|
||||
class="col-xs-12 col-sm-6"
|
||||
outlined
|
||||
v-model="formCommand.abovelevelFullname"
|
||||
v-model="formCommand.commanderAboveFullname"
|
||||
label="ชื่อ-นามสกุล"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกชื่อ-นามสกุล'}`]"
|
||||
lazy-rules
|
||||
@update:model-value="updateInput(formCommand)"
|
||||
/>
|
||||
<q-input
|
||||
ref="abovelevelPositionRef"
|
||||
ref="commanderAbovePositionRef"
|
||||
class="col-xs-12 col-sm-6"
|
||||
dense
|
||||
outlined
|
||||
v-model="formCommand.abovelevelPosition"
|
||||
v-model="formCommand.commanderAbovePosition"
|
||||
label="ตำแหน่ง"
|
||||
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
|
||||
lazy-rules
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ function onClickViewPDF(file: any) {
|
|||
<q-tooltip> ดูไฟล์เอกสาร </q-tooltip></q-btn
|
||||
>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-11 row">
|
||||
<div class="col-xs-12 col-sm-10 row">
|
||||
<q-file
|
||||
v-model="fileEvaluation1"
|
||||
class="col-12"
|
||||
|
|
@ -63,7 +63,7 @@ function onClickViewPDF(file: any) {
|
|||
</template>
|
||||
</q-file>
|
||||
</div>
|
||||
<div class="col-1 self-center text-center">
|
||||
<div class="col-2 self-center text-center q-pl-none">
|
||||
<q-btn flat round dense color="primary" icon="mdi-upload"
|
||||
><q-tooltip>อัปโหลดไฟล์</q-tooltip></q-btn
|
||||
>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue