refactor code

This commit is contained in:
Kittapath 2023-05-16 22:23:32 +07:00
parent d2c352de17
commit 92fc21033d
50 changed files with 652 additions and 2170 deletions

View file

@ -8,7 +8,6 @@
:editOnly="false"
:editData="false"
/>
<!-- :changeBtn="changeBtn" -->
<q-form ref="myform">
<div class="row col-12 items-center q-col-gutter-x-sm q-col-gutter-y-xs">
<div class="col-12 row q-pb-lg">
@ -22,7 +21,7 @@
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
v-model="defaultOccupation.official"
:rules="[(val) => !!val || `${'กรุณากรอก สำนัก/บริษัท'}`]"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
:disable="
defaultOccupation.status !== 'official' ||
!(status == 'register' || status == 'rejectRegister')
@ -52,7 +51,7 @@
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
v-model="defaultOccupation.personnel"
:rules="[(val) => !!val || `${'กรุณากรอก สำนัก/บริษัท'}`]"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
:disable="
defaultOccupation.status !== 'personnel' ||
!(status == 'register' || status == 'rejectRegister')
@ -82,7 +81,7 @@
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
v-model="defaultOccupation.officialsOther"
:rules="[(val) => !!val || `${'กรุณากรอก สำนัก/บริษัท'}`]"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
:disable="
defaultOccupation.status !== 'officialsOther' ||
!(status == 'register' || status == 'rejectRegister')
@ -112,7 +111,7 @@
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
v-model="defaultOccupation.employee"
:rules="[(val) => !!val || `${'กรุณากรอก สำนัก/บริษัท'}`]"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
:disable="
defaultOccupation.status !== 'employee' ||
!(status == 'register' || status == 'rejectRegister')
@ -153,7 +152,7 @@
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
v-model="defaultOccupation.other"
:rules="[(val) => !!val || `${'กรุณากรอก สำนัก/บริษัท'}`]"
:rules="[(val) => !!val || `${'กรุณากรอกตำแหน่ง'}`]"
:disable="
defaultOccupation.status !== 'other' ||
!(status == 'register' || status == 'rejectRegister')
@ -185,8 +184,8 @@
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
v-model="defaultOccupation.company"
:rules="[(val) => !!val || `${'กรุณากรอก สำนัก/บริษัท'}`]"
:label="`${'สำนัก/บริษัท'}`"
hide-bottom-space
/>
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
@ -200,8 +199,8 @@
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
v-model="defaultOccupation.department"
:rules="[(val) => !!val || `${'กรุณากรอก กอง/ฝ่าย'}`]"
:label="`${'กอง/ฝ่าย'}`"
hide-bottom-space
/>
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
@ -216,12 +215,12 @@
:borderless="!(status == 'register' || status == 'rejectRegister')"
v-model="defaultOccupation.email"
:rules="[
(val) => !!val || 'กรุณากรอก E-mail address',
(val) =>
/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/.test(val) ||
'E-mail address ไม่ถูกต้อง'
]"
:label="`${'E-mail address'}`"
hide-bottom-space
/>
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
@ -238,11 +237,9 @@
:readonly="!(status == 'register' || status == 'rejectRegister')"
:borderless="!(status == 'register' || status == 'rejectRegister')"
v-model="defaultOccupation.tel"
:rules="[
(val) => !!val || `${'กรุณากรอก โทรศัพท์'}`,
(val) => /^[0-9]*$/.test(val) || 'กรุณากรอก โทรศัพท์ให้ถูกต้อง'
]"
:rules="[(val) => /^[0-9]*$/.test(val) || 'กรุณากรอก โทรศัพท์ให้ถูกต้อง']"
:label="`${'โทรศัพท์'}`"
hide-bottom-space
/>
</div>
</div>
@ -252,10 +249,13 @@
import { ref, onMounted, watch } from 'vue'
import http from '@/plugins/http'
import config from '@/app.config'
import { useCounterMixin } from '@/stores/mixin'
import { useDataStore } from '@/stores/data'
import { useRoute } from 'vue-router'
import { useQuasar } from 'quasar'
import type { Occupation } from '@/modules/01_exam/interface/index/Main'
import { defaultOccupation, changeData } from '@/modules/01_exam/interface/index/Main'
import HeaderTop from '@/components/top.vue'
import { useRoute } from 'vue-router'
const props = defineProps({
status: {
@ -267,16 +267,19 @@ const props = defineProps({
required: true
}
})
const emit = defineEmits(['update:form'])
const $q = useQuasar()
const dataStore = useDataStore()
const { loaderPage } = dataStore
const mixin = useCounterMixin()
const { messageError } = mixin
const edit = ref<boolean>(true)
const myform = ref<any>({})
const loader = ref<boolean>(false)
const route = useRoute()
const examId = ref<string>(route.params.id.toString())
const positionId = ref<string>(route.params.positionId.toString())
const emit = defineEmits(['update:form'])
watch(myform, async (count: any, prevCount: any) => {
emit('update:form', count)
})
@ -290,30 +293,34 @@ onMounted(async () => {
})
const fetchData = async () => {
loader.value = true
loaderPage(true)
await http
.get(config.API.candidateOccupation(examId.value, positionId.value))
.then((res) => {
const data = res.data.result
defaultOccupation.value.status = data.occupationType
defaultOccupation.value.company = data.occupationCompany
defaultOccupation.value.department = data.occupationDepartment
defaultOccupation.value.email = data.occupationEmail
defaultOccupation.value.tel = data.occupationTelephone
defaultOccupation.value.official =
data.occupationType == 'official' ? data.occupationPosition : null
defaultOccupation.value.personnel =
data.occupationType == 'personnel' ? data.occupationPosition : null
defaultOccupation.value.officialsOther =
data.occupationType == 'officialsOther' ? data.occupationPosition : null
defaultOccupation.value.employee =
data.occupationType == 'employee' ? data.occupationPosition : null
defaultOccupation.value.other =
data.occupationType == 'other' ? data.occupationPosition : null
if (data != null) {
defaultOccupation.value.status = data.occupationType
defaultOccupation.value.company = data.occupationCompany
defaultOccupation.value.department = data.occupationDepartment
defaultOccupation.value.email = data.occupationEmail
defaultOccupation.value.tel = data.occupationTelephone
defaultOccupation.value.official =
data.occupationType == 'official' ? data.occupationPosition : null
defaultOccupation.value.personnel =
data.occupationType == 'personnel' ? data.occupationPosition : null
defaultOccupation.value.officialsOther =
data.occupationType == 'officialsOther' ? data.occupationPosition : null
defaultOccupation.value.employee =
data.occupationType == 'employee' ? data.occupationPosition : null
defaultOccupation.value.other =
data.occupationType == 'other' ? data.occupationPosition : null
}
})
.catch((e) => {
messageError($q, e)
})
.catch(() => {})
.finally(() => {
loader.value = false
loaderPage(false)
})
}