สรรหา เพิ่มคะแนนแบบสอบถาม

This commit is contained in:
Kittapath 2023-09-23 18:11:58 +07:00
parent b1ec7ed575
commit c68a68bdb9
6 changed files with 66 additions and 26 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 258 KiB

Before After
Before After

View file

@ -60,33 +60,33 @@
<div class="col-12 text-weight-bold">ผลคะแนนสอบ</div> <div class="col-12 text-weight-bold">ผลคะแนนสอบ</div>
<div class="row items-center q-gutter-y-sm col-12"> <div class="row items-center q-gutter-y-sm col-12">
<div class="col-xs-4 col-sm-5 text-weight-medium text-grey-7">ประเภท</div> <div class="col-xs-4 col-sm-5 text-weight-medium text-grey-7">ประเภท</div>
<div class="col-xs-3 col-sm-2 text-primary text-weight-bold">คะแนนเต</div> <div class="col-xs-3 col-sm-2 text-primary text-weight-bold text-center">คะแนนเต</div>
<div class="col-xs-3 col-sm-2 text-primary text-weight-bold">คะแนนทได</div> <div class="col-xs-3 col-sm-2 text-primary text-weight-bold text-center">คะแนนทได</div>
<div class="col-xs-2 col-sm-2 text-primary text-weight-bold"></div> <div class="col-xs-2 col-sm-2 text-primary text-weight-bold"></div>
<div class="col-xs-4 col-sm-5 text-grey-7">ภาค </div> <div class="col-xs-4 col-sm-5 text-grey-7">ภาค </div>
<div class="col-xs-3 col-sm-2 q-pr-xs"> <div class="col-xs-3 col-sm-2 q-pr-xs text-center">
{{ scoreAFull }} {{ scoreAFull }}
</div> </div>
<div class="col-xs-3 col-sm-2 q-pr-xs"> <div class="col-xs-3 col-sm-2 q-pr-xs text-center">
{{ scoreA }} {{ scoreA }}
</div> </div>
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div> <div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div>
<div class="col-xs-4 col-sm-5 text-grey-7">ภาค </div> <div class="col-xs-4 col-sm-5 text-grey-7">ภาค </div>
<div class="col-xs-3 col-sm-2 q-pr-xs"> <div class="col-xs-3 col-sm-2 q-pr-xs text-center">
{{ scoreBFull }} {{ scoreBFull }}
</div> </div>
<div class="col-xs-3 col-sm-2 q-pr-xs"> <div class="col-xs-3 col-sm-2 q-pr-xs text-center">
{{ scoreB }} {{ scoreB }}
</div> </div>
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div> <div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div>
<div class="col-xs-4 col-sm-5 text-grey-7">ภาค </div> <div class="col-xs-4 col-sm-5 text-grey-7">ภาค </div>
<div class="col-xs-3 col-sm-2 q-pr-xs"> <div class="col-xs-3 col-sm-2 q-pr-xs text-center">
{{ scoreCFull }} {{ scoreCFull }}
</div> </div>
<div class="col-xs-3 col-sm-2 q-pr-xs"> <div class="col-xs-3 col-sm-2 q-pr-xs text-center">
{{ scoreC }} {{ scoreC }}
</div> </div>
<div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div> <div class="col-xs-2 col-sm-2 q-pr-xs text-grey-7">คะแนน</div>
@ -102,7 +102,7 @@
<div class="col-xs-4 col-sm-5 text-weight-bold q-pt-sm">ผลการสอบ</div> <div class="col-xs-4 col-sm-5 text-weight-bold q-pt-sm">ผลการสอบ</div>
<div class="col-xs-8 col-sm-6 q-pr-xs text-weight-bold text-subtitle1"> <div class="col-xs-8 col-sm-6 q-pr-xs text-weight-bold text-subtitle1">
<span :class="examResultinscore != 'ผ่าน' ? 'text-red' : 'text-positive'">{{ <span :class="examResultinscore != 'ได้' ? 'text-red' : 'text-positive'">{{
examResultinscore examResultinscore
}}</span> }}</span>
</div> </div>
@ -120,6 +120,33 @@
</div> </div>
</div> </div>
</q-card> </q-card>
<q-card bordered flat class="col-12 row q-mt-md">
<div class="q-pa-md row">
<div class="col-12 text-weight-bold row items-center">
แบบสอบถามความพงพอใจ
<q-space />
</div>
<div class="row items-center q-gutter-y-sm col-12">
<div class="col-xs-4 col-sm-5 q-pr-sm text-grey-7">คะแนนความพงพอใจ</div>
<div class="col-xs-8 col-sm-6 q-pr-xs">
<q-rating
v-model="reviewPoint"
:max="reviewPoint"
size="2em"
color="orange"
class="full-width"
readonly
/>
</div>
<div class="col-xs-4 col-sm-5 q-pr-sm text-grey-7">
ความคดเห/อแนะนำ
</div>
<div class="col-xs-8 col-sm-6 q-pr-xs">
{{ review }}
</div>
</div>
</div>
</q-card>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@ -156,6 +183,8 @@ const examResultinscore = ref<string>('')
const avatar = ref<string>('') const avatar = ref<string>('')
const score_expired = ref<Date>(new Date()) const score_expired = ref<Date>(new Date())
const number = ref<string>('') const number = ref<string>('')
const reviewPoint = ref<number>(0);
const review = ref<string>("-");
onMounted(async () => { onMounted(async () => {
await fetchStatus() await fetchStatus()
@ -191,6 +220,8 @@ const fetchStatus = async () => {
score_expired.value = new Date(data.announcementDate) score_expired.value = new Date(data.announcementDate)
number.value = data.number number.value = data.number
position.value = data.position position.value = data.position
reviewPoint.value = data.reviewPoint;
review.value = data.review == null ? "-" : data.review;
}) })
.catch((e) => { .catch((e) => {
messageError($q, e) messageError($q, e)

View file

@ -96,7 +96,7 @@ const props = defineProps({
const $q = useQuasar() const $q = useQuasar()
const mixin = useCounterMixin() // const mixin = useCounterMixin() //
const { modalConfirm, modalError, success, dateToISO, messageError } = mixin const { modalConfirm, modalError, success, dateToISO, messageError,notifyError } = mixin
const dataStore = useDataStore() const dataStore = useDataStore()
const { loaderPage } = dataStore const { loaderPage } = dataStore
const statusEdit = ref<boolean>(false) const statusEdit = ref<boolean>(false)
@ -258,12 +258,20 @@ const saveData = async () => {
.finally(async () => { .finally(async () => {
await props.fetchStep() await props.fetchStep()
}) })
} }else{
notifyError($q,"กรุณากรอกข้อมูลให้ครบถ้วน")
}
}) })
} }else{
notifyError($q,"กรุณากรอกข้อมูลให้ครบถ้วน")
}
}) })
} }else{
notifyError($q,"กรุณากรอกข้อมูลให้ครบถ้วน")
}
}) })
}else{
notifyError($q,"กรุณากรอกข้อมูลให้ครบถ้วน")
} }
}) })
} }

View file

@ -273,9 +273,9 @@ const fetchData = async () => {
} }
const clickPayment = async () => { const clickPayment = async () => {
if (img.value != null || img.value != '') { // if (img.value != null || img.value != '') {
const formData = new FormData() // const formData = new FormData()
formData.append('', filePayment.value[0]) // formData.append('', filePayment.value[0])
loaderPage(true) loaderPage(true)
await http await http
.post(config.API.candidatePayment(examId.value, positionId.value)) .post(config.API.candidatePayment(examId.value, positionId.value))
@ -289,9 +289,9 @@ const clickPayment = async () => {
filePayment.value = [] filePayment.value = []
await props.fetchStep() await props.fetchStep()
}) })
} else { // } else {
modalError($q, 'ไม่สามารถยืนยันการชำระเงินได้', 'กรุณาอัปโหลดเอกสารหลักฐานชำระเงิน') // modalError($q, '', '')
} // }
} }
const uploadImage = async (file: any) => { const uploadImage = async (file: any) => {
@ -303,7 +303,7 @@ const uploadImage = async (file: any) => {
await http await http
.put(config.API.candidatePayment(examId.value, positionId.value), formData) .put(config.API.candidatePayment(examId.value, positionId.value), formData)
.then(() => { .then(() => {
success($q, 'ส่งหลักฐานชำระเงินสำเร็จ') success($q, 'อัปโหลดหลักฐานชำระเงินสำเร็จ')
}) })
.catch((e) => { .catch((e) => {
messageError($q, e) messageError($q, e)
@ -314,7 +314,7 @@ const uploadImage = async (file: any) => {
file = [] file = []
}) })
} else { } else {
modalError($q, 'ไม่สามารถอัพโหลดไฟล์ได้', 'กรุณาเลือกไฟล์ที่ต้องการอัพโหลด') // modalError($q, '', '')
} }
} }

View file

@ -7,12 +7,12 @@ import Keycloak from 'keycloak-js'
const initOptions = { const initOptions = {
realm: 'bma-ehr', realm: 'bma-ehr',
clientId: 'bma-ehr-vue3', clientId: 'bma-ehr-vue3',
url: 'https://identity.frappet.com/' url: 'https://id.frappet.synology.me/'
} }
const keycloak = Keycloak(initOptions) const keycloak = Keycloak(initOptions)
keycloak.onAuthSuccess = () => {} //เพิ่มlogin สำเร็จจะมาทำฟังก์ชันนี้ keycloak.onAuthSuccess = () => {} //เพิ่มlogin สำเร็จจะมาทำฟังก์ชันนี้
await keycloak.init({ checkLoginIframe: false }) //ทำการ connect keycloak await keycloak.init({ onLoad: "check-sso", checkLoginIframe: false }) //ทำการ connect keycloak
export default keycloak export default keycloak

View file

@ -220,13 +220,14 @@ export const useCounterMixin = defineStore('mixin', () => {
function notifyError(q: any, val: string) { function notifyError(q: any, val: string) {
if (val !== '') { if (val !== '') {
q.notify({ q.notify({
color: 'negative',
message: val, message: val,
color: 'red-5',
icon: 'mdi-alert-circle', icon: 'mdi-alert-circle',
position: 'top', position: 'bottom-right',
multiLine: true, multiLine: true,
timeout: 12000, timeout: 12000,
actions: [{ label: 'ปิด', color: 'white', handler: () => {} }] badgeColor: 'warning',
classes: 'my-notif-class'
}) })
} }
} }