สิทธ์ ทดลองงาน
This commit is contained in:
parent
d363b1838a
commit
dcfd784c17
17 changed files with 749 additions and 637 deletions
|
|
@ -10,6 +10,7 @@ const $q = useQuasar();
|
||||||
const isEdit = ref<boolean>(true);
|
const isEdit = ref<boolean>(true);
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const {
|
const {
|
||||||
date2Thai,
|
date2Thai,
|
||||||
|
|
@ -1111,7 +1112,7 @@ onMounted(async () => {
|
||||||
<div v-else class="col-12 row q-gutter-md">
|
<div v-else class="col-12 row q-gutter-md">
|
||||||
<div>แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ</div>
|
<div>แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ</div>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="!isEdit"
|
v-if="!isEdit && !checkRoutePermisson"
|
||||||
size="12px"
|
size="12px"
|
||||||
flat
|
flat
|
||||||
dense
|
dense
|
||||||
|
|
@ -1147,6 +1148,7 @@ onMounted(async () => {
|
||||||
|
|
||||||
<div v-if="!isEdit">
|
<div v-if="!isEdit">
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
dense
|
dense
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
|
|
@ -1160,6 +1162,7 @@ onMounted(async () => {
|
||||||
|
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
dense
|
dense
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
|
|
@ -1171,6 +1174,7 @@ onMounted(async () => {
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<!-- @click="saveEdit(assignId)" -->
|
<!-- @click="saveEdit(assignId)" -->
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
dense
|
dense
|
||||||
flat
|
flat
|
||||||
class="q-ml-md"
|
class="q-ml-md"
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -35,6 +35,7 @@ const {
|
||||||
dialogConfirm,
|
dialogConfirm,
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
const assignId = ref<string>(route.params.form.toString());
|
const assignId = ref<string>(route.params.form.toString());
|
||||||
const personalId = ref<string>(route.params.personalId.toString());
|
const personalId = ref<string>(route.params.personalId.toString());
|
||||||
const myForm = ref<any>(null);
|
const myForm = ref<any>(null);
|
||||||
|
|
@ -430,6 +431,7 @@ onMounted(async () => {
|
||||||
<div>แบบประเมินผล (คณะกรรมการ)</div>
|
<div>แบบประเมินผล (คณะกรรมการ)</div>
|
||||||
<div v-if="status == false">
|
<div v-if="status == false">
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
dense
|
dense
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
|
|
@ -442,10 +444,19 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<q-btn dense flat round color="red" @click="cancel()" icon="mdi-undo">
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
|
dense
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
color="red"
|
||||||
|
@click="cancel()"
|
||||||
|
icon="mdi-undo"
|
||||||
|
>
|
||||||
<q-tooltip>ยกเลิก</q-tooltip>
|
<q-tooltip>ยกเลิก</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
dense
|
dense
|
||||||
class="q-ml-sm"
|
class="q-ml-sm"
|
||||||
flat
|
flat
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ const {
|
||||||
dialogMessageNotify,
|
dialogMessageNotify,
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
const assignId = ref<string>(route.params.form.toString());
|
const assignId = ref<string>(route.params.form.toString());
|
||||||
const personalId = ref<string>(route.params.personalId.toString());
|
const personalId = ref<string>(route.params.personalId.toString());
|
||||||
const action = ref<string>("add");
|
const action = ref<string>("add");
|
||||||
|
|
@ -332,7 +333,7 @@ onMounted(() => {
|
||||||
:locale="'th'"
|
:locale="'th'"
|
||||||
autoApply
|
autoApply
|
||||||
borderless
|
borderless
|
||||||
:readonly="!status"
|
:readonly="!status || checkRoutePermisson"
|
||||||
:enableTimePicker="false"
|
:enableTimePicker="false"
|
||||||
week-start="0"
|
week-start="0"
|
||||||
>
|
>
|
||||||
|
|
@ -346,7 +347,7 @@ onMounted(() => {
|
||||||
<q-input
|
<q-input
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
class="full-width datepicker"
|
class="full-width datepicker"
|
||||||
:model-value="
|
:model-value="
|
||||||
date_start != null ? date2Thai(date_start) : null
|
date_start != null ? date2Thai(date_start) : null
|
||||||
|
|
@ -373,7 +374,7 @@ onMounted(() => {
|
||||||
v-model="date_finish"
|
v-model="date_finish"
|
||||||
:locale="'th'"
|
:locale="'th'"
|
||||||
autoApply
|
autoApply
|
||||||
:readonly="!status"
|
:readonly="!status || checkRoutePermisson"
|
||||||
borderless
|
borderless
|
||||||
:enableTimePicker="false"
|
:enableTimePicker="false"
|
||||||
week-start="0"
|
week-start="0"
|
||||||
|
|
@ -388,7 +389,7 @@ onMounted(() => {
|
||||||
<q-input
|
<q-input
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
class="full-width datepicker"
|
class="full-width datepicker"
|
||||||
:model-value="
|
:model-value="
|
||||||
date_finish != null ? date2Thai(date_finish) : null
|
date_finish != null ? date2Thai(date_finish) : null
|
||||||
|
|
@ -425,7 +426,7 @@ onMounted(() => {
|
||||||
class="col-xs-12 col-sm-6"
|
class="col-xs-12 col-sm-6"
|
||||||
dense
|
dense
|
||||||
borderless
|
borderless
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
emit-value
|
emit-value
|
||||||
map-options
|
map-options
|
||||||
option-label="label"
|
option-label="label"
|
||||||
|
|
@ -454,7 +455,7 @@ onMounted(() => {
|
||||||
]"
|
]"
|
||||||
hide-bottom-space
|
hide-bottom-space
|
||||||
:options="optionsResult"
|
:options="optionsResult"
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
dense
|
dense
|
||||||
borderless
|
borderless
|
||||||
emit-value
|
emit-value
|
||||||
|
|
@ -497,7 +498,7 @@ onMounted(() => {
|
||||||
dense
|
dense
|
||||||
borderless
|
borderless
|
||||||
outlined
|
outlined
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
class="bg-white"
|
class="bg-white"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
v-model="reson"
|
v-model="reson"
|
||||||
|
|
@ -550,7 +551,7 @@ onMounted(() => {
|
||||||
menu-class-name="modalfix"
|
menu-class-name="modalfix"
|
||||||
v-model="chairman_dated"
|
v-model="chairman_dated"
|
||||||
:locale="'th'"
|
:locale="'th'"
|
||||||
:readonly="!status"
|
:readonly="!status || checkRoutePermisson"
|
||||||
autoApply
|
autoApply
|
||||||
borderless
|
borderless
|
||||||
:enableTimePicker="false"
|
:enableTimePicker="false"
|
||||||
|
|
@ -566,7 +567,7 @@ onMounted(() => {
|
||||||
<q-input
|
<q-input
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
class="full-width datepicker col-3"
|
class="full-width datepicker col-3"
|
||||||
:model-value="
|
:model-value="
|
||||||
chairman_dated != null ? date2Thai(chairman_dated) : null
|
chairman_dated != null ? date2Thai(chairman_dated) : null
|
||||||
|
|
@ -612,7 +613,7 @@ onMounted(() => {
|
||||||
:locale="'th'"
|
:locale="'th'"
|
||||||
autoApply
|
autoApply
|
||||||
borderless
|
borderless
|
||||||
:readonly="!status"
|
:readonly="!status || checkRoutePermisson"
|
||||||
:enableTimePicker="false"
|
:enableTimePicker="false"
|
||||||
week-start="0"
|
week-start="0"
|
||||||
>
|
>
|
||||||
|
|
@ -626,7 +627,7 @@ onMounted(() => {
|
||||||
<q-input
|
<q-input
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
class="full-width datepicker col-3"
|
class="full-width datepicker col-3"
|
||||||
:model-value="
|
:model-value="
|
||||||
director1_dated != null
|
director1_dated != null
|
||||||
|
|
@ -675,7 +676,7 @@ onMounted(() => {
|
||||||
v-model="director2_dated"
|
v-model="director2_dated"
|
||||||
:locale="'th'"
|
:locale="'th'"
|
||||||
autoApply
|
autoApply
|
||||||
:readonly="!status"
|
:readonly="!status || checkRoutePermisson"
|
||||||
borderless
|
borderless
|
||||||
:enableTimePicker="false"
|
:enableTimePicker="false"
|
||||||
week-start="0"
|
week-start="0"
|
||||||
|
|
@ -690,7 +691,7 @@ onMounted(() => {
|
||||||
<q-input
|
<q-input
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
class="full-width datepicker col-3"
|
class="full-width datepicker col-3"
|
||||||
:model-value="
|
:model-value="
|
||||||
director2_dated != null
|
director2_dated != null
|
||||||
|
|
@ -717,7 +718,7 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
</q-form>
|
</q-form>
|
||||||
|
|
||||||
<q-toolbar class="text-primary" v-if="action == 'add'">
|
<q-toolbar class="text-primary" v-if="action == 'add' && !checkRoutePermisson">
|
||||||
<q-space />
|
<q-space />
|
||||||
<q-btn label="บันทึก" color="secondary" @click="savaForm" />
|
<q-btn label="บันทึก" color="secondary" @click="savaForm" />
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,11 @@ import criterion from "@/modules/05_placement/components/Other/Criterion.vue";
|
||||||
import type { ListDataText } from "@/modules/05_placement/interface/index/Main";
|
import type { ListDataText } from "@/modules/05_placement/interface/index/Main";
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
const routeName = router.currentRoute.value.name;
|
const routeName = router.currentRoute.value.name;
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
const probationStore = useProbationDataStore();
|
const probationStore = useProbationDataStore();
|
||||||
const { fecthAssignoutput, assign } = probationStore;
|
const { fecthAssignoutput, assign } = probationStore;
|
||||||
|
|
||||||
|
|
@ -362,6 +364,7 @@ onMounted(async () => {
|
||||||
<div>แบบบันทึกผล (ผู้ดูเเล)</div>
|
<div>แบบบันทึกผล (ผู้ดูเเล)</div>
|
||||||
<div v-if="status == false">
|
<div v-if="status == false">
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
dense
|
dense
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
|
|
@ -373,11 +376,12 @@ onMounted(async () => {
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<q-btn dense flat round color="red" @click="cancel()" icon="mdi-undo">
|
<q-btn dense flat round color="red" @click="cancel()" icon="mdi-undo" v-if="!checkRoutePermisson">
|
||||||
<q-tooltip>ยกเลิก</q-tooltip>
|
<q-tooltip>ยกเลิก</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
dense
|
dense
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
class="q-ml-md"
|
class="q-ml-md"
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ const router = useRouter();
|
||||||
const routeName = router.currentRoute.value.name;
|
const routeName = router.currentRoute.value.name;
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
const probationStore = useProbationDataStore();
|
const probationStore = useProbationDataStore();
|
||||||
const { fecthAssignoutput, assign } = probationStore;
|
const { fecthAssignoutput, assign } = probationStore;
|
||||||
|
|
||||||
|
|
@ -373,6 +374,7 @@ onMounted(async () => {
|
||||||
<div>แบบบันทึกผล (ผู้บังคับบัญชา)</div>
|
<div>แบบบันทึกผล (ผู้บังคับบัญชา)</div>
|
||||||
<div v-if="status == false">
|
<div v-if="status == false">
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
dense
|
dense
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
|
|
@ -384,10 +386,19 @@ onMounted(async () => {
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<q-btn dense flat round color="red" @click="cancel()" icon="mdi-undo">
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
|
dense
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
color="red"
|
||||||
|
@click="cancel()"
|
||||||
|
icon="mdi-undo"
|
||||||
|
>
|
||||||
<q-tooltip>ยกเลิก</q-tooltip>
|
<q-tooltip>ยกเลิก</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
dense
|
dense
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
|
|
@ -854,24 +865,24 @@ onMounted(async () => {
|
||||||
<q-item-label>{{ list.label }}</q-item-label>
|
<q-item-label>{{ list.label }}</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section side>
|
<q-item-section side>
|
||||||
<q-btn-group outline>
|
<q-btn-group outline>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-for="(item, index) in 5"
|
v-for="(item, index) in 5"
|
||||||
:disable="!status"
|
:disable="!status"
|
||||||
:class="conduct_level[i] == item && 'active'"
|
:class="conduct_level[i] == item && 'active'"
|
||||||
outline
|
outline
|
||||||
color="grey-6"
|
color="grey-6"
|
||||||
:label="item"
|
:label="item"
|
||||||
@click="conduct_level[i] = item"
|
@click="conduct_level[i] = item"
|
||||||
>
|
>
|
||||||
<q-tooltip>
|
<q-tooltip>
|
||||||
<div class="text-body2">
|
<div class="text-body2">
|
||||||
<span>{{ optionText[index].label }}</span>
|
<span>{{ optionText[index].label }}</span>
|
||||||
</div>
|
</div>
|
||||||
</q-tooltip>
|
</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</q-btn-group>
|
</q-btn-group>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-separator class="q-my-xs" v-if="i + 1 < list2_1.length" />
|
<q-separator class="q-my-xs" v-if="i + 1 < list2_1.length" />
|
||||||
</q-list>
|
</q-list>
|
||||||
|
|
@ -894,24 +905,24 @@ onMounted(async () => {
|
||||||
<q-item-label>{{ list.label }}</q-item-label>
|
<q-item-label>{{ list.label }}</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section side>
|
<q-item-section side>
|
||||||
<q-btn-group outline>
|
<q-btn-group outline>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-for="(item, index) in 5"
|
v-for="(item, index) in 5"
|
||||||
:disable="!status"
|
:disable="!status"
|
||||||
:class="moral_level[i] == item && 'active'"
|
:class="moral_level[i] == item && 'active'"
|
||||||
outline
|
outline
|
||||||
color="grey-6"
|
color="grey-6"
|
||||||
:label="item"
|
:label="item"
|
||||||
@click="moral_level[i] = item"
|
@click="moral_level[i] = item"
|
||||||
>
|
>
|
||||||
<q-tooltip>
|
<q-tooltip>
|
||||||
<div class="text-body2">
|
<div class="text-body2">
|
||||||
<span>{{ optionText[index].label }}</span>
|
<span>{{ optionText[index].label }}</span>
|
||||||
</div>
|
</div>
|
||||||
</q-tooltip>
|
</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</q-btn-group>
|
</q-btn-group>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-separator class="q-my-xs" v-if="i + 1 < list2_2.length" />
|
<q-separator class="q-my-xs" v-if="i + 1 < list2_2.length" />
|
||||||
</q-list>
|
</q-list>
|
||||||
|
|
@ -934,24 +945,24 @@ onMounted(async () => {
|
||||||
<q-item-label>{{ list.label }}</q-item-label>
|
<q-item-label>{{ list.label }}</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section side>
|
<q-item-section side>
|
||||||
<q-btn-group outline>
|
<q-btn-group outline>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-for="(item, index) in 5"
|
v-for="(item, index) in 5"
|
||||||
:disable="!status"
|
:disable="!status"
|
||||||
:class="discipline_level[i] == item && 'active'"
|
:class="discipline_level[i] == item && 'active'"
|
||||||
outline
|
outline
|
||||||
color="grey-6"
|
color="grey-6"
|
||||||
:label="item"
|
:label="item"
|
||||||
@click="discipline_level[i] = item"
|
@click="discipline_level[i] = item"
|
||||||
>
|
>
|
||||||
<q-tooltip>
|
<q-tooltip>
|
||||||
<div class="text-body2">
|
<div class="text-body2">
|
||||||
<span>{{ optionText[index].label }}</span>
|
<span>{{ optionText[index].label }}</span>
|
||||||
</div>
|
</div>
|
||||||
</q-tooltip>
|
</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</q-btn-group>
|
</q-btn-group>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-separator class="q-my-xs" v-if="i + 1 < list2_3.length" />
|
<q-separator class="q-my-xs" v-if="i + 1 < list2_3.length" />
|
||||||
</q-list>
|
</q-list>
|
||||||
|
|
@ -997,24 +1008,24 @@ onMounted(async () => {
|
||||||
</q-item-label>
|
</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section side>
|
<q-item-section side>
|
||||||
<q-btn-group outline>
|
<q-btn-group outline>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-for="(item, index) in 5"
|
v-for="(item, index) in 5"
|
||||||
:disable="!status"
|
:disable="!status"
|
||||||
:class="behavio_orther.level == item && 'active'"
|
:class="behavio_orther.level == item && 'active'"
|
||||||
outline
|
outline
|
||||||
color="grey-6"
|
color="grey-6"
|
||||||
:label="item"
|
:label="item"
|
||||||
@click="behavio_orther.level = item"
|
@click="behavio_orther.level = item"
|
||||||
>
|
>
|
||||||
<q-tooltip>
|
<q-tooltip>
|
||||||
<div class="text-body2">
|
<div class="text-body2">
|
||||||
<span>{{ optionText[index].label }}</span>
|
<span>{{ optionText[index].label }}</span>
|
||||||
</div>
|
</div>
|
||||||
</q-tooltip>
|
</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</q-btn-group>
|
</q-btn-group>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
</q-card>
|
</q-card>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, watch } from "vue";
|
import { ref, watch } from "vue";
|
||||||
|
import { useRoute } from "vue-router";
|
||||||
|
|
||||||
const tabHead = ref<string>("save1");
|
const tabHead = ref<string>("save1");
|
||||||
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
/** รับค่ามาจากหน้าหลัก */
|
/** รับค่ามาจากหน้าหลัก */
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
FileDownload: {
|
FileDownload: {
|
||||||
|
|
@ -29,22 +31,22 @@ const props = defineProps({
|
||||||
});
|
});
|
||||||
|
|
||||||
/** เรียกใช้ฟังชั่นจากหน้าหลัก */
|
/** เรียกใช้ฟังชั่นจากหน้าหลัก */
|
||||||
function downloadFile(type: string){
|
function downloadFile(type: string) {
|
||||||
props.FileDownload(type);
|
props.FileDownload(type);
|
||||||
};
|
}
|
||||||
|
|
||||||
watch(tabHead, () => {
|
watch(tabHead, () => {
|
||||||
props.changeTab(tabHead.value);
|
props.changeTab(tabHead.value);
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ไปยัง step ต่อไป */
|
/** ไปยัง step ต่อไป */
|
||||||
function nextPage(){
|
function nextPage() {
|
||||||
if (props.loop !== undefined) {
|
if (props.loop !== undefined) {
|
||||||
if (props.loop < 3) {
|
if (props.loop < 3) {
|
||||||
props.addData();
|
props.addData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -99,7 +101,7 @@ function nextPage(){
|
||||||
</q-tab>
|
</q-tab>
|
||||||
</q-tabs>
|
</q-tabs>
|
||||||
<div>
|
<div>
|
||||||
<q-btn color="blue" flat dense icon="mdi-plus" @click="nextPage">
|
<q-btn v-if="!checkRoutePermisson" color="blue" flat dense icon="mdi-plus" @click="nextPage">
|
||||||
<q-tooltip> เพิ่ม </q-tooltip>
|
<q-tooltip> เพิ่ม </q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ const FormSaveResult = defineAsyncComponent(
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const probationStore = useProbationDataStore();
|
const probationStore = useProbationDataStore();
|
||||||
const { fecthdataAssign } = probationStore;
|
const { fecthdataAssign } = probationStore;
|
||||||
|
|
@ -169,6 +170,7 @@ onMounted(async () => {
|
||||||
<div class="q-gutter-md" v-else-if="probationStore.tabs.length == 0">
|
<div class="q-gutter-md" v-else-if="probationStore.tabs.length == 0">
|
||||||
<div class="flex justify-center items-center q-my-md q-gutter-md">
|
<div class="flex justify-center items-center q-my-md q-gutter-md">
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
outline
|
outline
|
||||||
color="primary"
|
color="primary"
|
||||||
label="สร้างแบบบันทึกผล"
|
label="สร้างแบบบันทึกผล"
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ const FormSaveResultCommader = defineAsyncComponent(
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const probationStore = useProbationDataStore();
|
const probationStore = useProbationDataStore();
|
||||||
const { fecthdataAssign } = probationStore;
|
const { fecthdataAssign } = probationStore;
|
||||||
|
|
@ -171,6 +172,7 @@ function addData() {
|
||||||
<div class="q-gutter-md" v-else-if="probationStore.tabs.length == 0">
|
<div class="q-gutter-md" v-else-if="probationStore.tabs.length == 0">
|
||||||
<div class="flex justify-center items-center q-my-md q-gutter-md">
|
<div class="flex justify-center items-center q-my-md q-gutter-md">
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
outline
|
outline
|
||||||
color="primary"
|
color="primary"
|
||||||
label="สร้างแบบบันทึกผล"
|
label="สร้างแบบบันทึกผล"
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ const FormEvaluate = defineAsyncComponent(
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const { showLoader, hideLoader, messageError } = mixin;
|
const { showLoader, hideLoader, messageError } = mixin;
|
||||||
|
|
@ -156,7 +157,7 @@ function addData() {
|
||||||
|
|
||||||
<div v-else class="q-gutter-md">
|
<div v-else class="q-gutter-md">
|
||||||
<div class="flex justify-center items-center q-my-md q-gutter-md">
|
<div class="flex justify-center items-center q-my-md q-gutter-md">
|
||||||
<q-btn outline color="primary" label="สร้างแบบประเมิน" @click="addData" />
|
<q-btn v-if="!checkRoutePermisson" outline color="primary" label="สร้างแบบประเมิน" @click="addData" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ const FormEvaluateScore = defineAsyncComponent(
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const { showLoader, hideLoader, messageError, success } = mixin;
|
const { showLoader, hideLoader, messageError, success } = mixin;
|
||||||
|
|
@ -140,7 +141,7 @@ const changeTab = (tabVal: string) => {
|
||||||
|
|
||||||
<div class="q-gutter-md" v-if="tabs.length === 0">
|
<div class="q-gutter-md" v-if="tabs.length === 0">
|
||||||
<div class="flex justify-center items-center q-my-md q-gutter-md">
|
<div class="flex justify-center items-center q-my-md q-gutter-md">
|
||||||
<q-btn outline color="primary" label="สร้างแบบประเมิน" @click="addData" />
|
<q-btn v-if="!checkRoutePermisson" outline color="primary" label="สร้างแบบประเมิน" @click="addData" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ const SummarySurvey = defineAsyncComponent(
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
const drawer = ref<boolean>(true);
|
const drawer = ref<boolean>(true);
|
||||||
const activeTab = ref<string>("");
|
const activeTab = ref<string>("");
|
||||||
const personalId = ref<string>(route.params.personalId.toString());
|
const personalId = ref<string>(route.params.personalId.toString());
|
||||||
|
|
@ -62,7 +63,7 @@ function changeTab(tab: string){
|
||||||
|
|
||||||
/** ปุ่มกลับ */
|
/** ปุ่มกลับ */
|
||||||
function clickBack(){
|
function clickBack(){
|
||||||
router.push(`/probation/detail/${personalId.value}`);
|
router.go(-1)
|
||||||
DataStore.mainTab = "tab1";
|
DataStore.mainTab = "tab1";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ import router from "@/router";
|
||||||
|
|
||||||
import http from "@/plugins/http";
|
import http from "@/plugins/http";
|
||||||
import config from "@/app.config";
|
import config from "@/app.config";
|
||||||
|
import { checkPermission } from "@/utils/permissions";
|
||||||
|
|
||||||
const $q = useQuasar(); //ใช้ noti quasar
|
const $q = useQuasar(); //ใช้ noti quasar
|
||||||
const rows = ref<FormMainProbation[]>([]);
|
const rows = ref<FormMainProbation[]>([]);
|
||||||
|
|
@ -505,8 +506,8 @@ onMounted(async () => {
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="checkPermission($route)?.attrIsCreate"
|
||||||
@click="onclickAddProbation"
|
@click="onclickAddProbation"
|
||||||
size="12px"
|
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
color="add"
|
color="add"
|
||||||
|
|
@ -575,17 +576,47 @@ onMounted(async () => {
|
||||||
>
|
>
|
||||||
<template v-slot:header="props">
|
<template v-slot:header="props">
|
||||||
<q-tr :props="props">
|
<q-tr :props="props">
|
||||||
|
<q-th auto-width></q-th>
|
||||||
<q-th v-for="col in props.cols" :key="col.name" :props="props">
|
<q-th v-for="col in props.cols" :key="col.name" :props="props">
|
||||||
<span class="text-weight-medium">{{ col.label }}</span>
|
<span class="text-weight-medium">{{ col.label }}</span>
|
||||||
</q-th>
|
</q-th>
|
||||||
</q-tr>
|
</q-tr>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:body="props">
|
<template v-slot:body="props">
|
||||||
<q-tr
|
<q-tr :props="props">
|
||||||
:props="props"
|
<q-td auto-width>
|
||||||
class="cursor-pointer"
|
<q-btn
|
||||||
@click="router.push(`/probation/detail/${props.row.personal_id}`)"
|
v-if="checkPermission($route)?.attrIsGet"
|
||||||
>
|
flat
|
||||||
|
dense
|
||||||
|
round
|
||||||
|
color="info"
|
||||||
|
icon="mdi-eye"
|
||||||
|
@click="
|
||||||
|
router.push(
|
||||||
|
`/probation/detail-view/${props.row.personal_id}`
|
||||||
|
)
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<q-tooltip>รายละเอียด</q-tooltip>
|
||||||
|
</q-btn>
|
||||||
|
<q-btn
|
||||||
|
v-if="
|
||||||
|
checkPermission($route)?.attrIsGet &&
|
||||||
|
checkPermission($route)?.attrIsUpdate
|
||||||
|
"
|
||||||
|
flat
|
||||||
|
dense
|
||||||
|
round
|
||||||
|
color="edit"
|
||||||
|
icon="edit"
|
||||||
|
@click="
|
||||||
|
router.push(`/probation/detail/${props.row.personal_id}`)
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||||
|
</q-btn>
|
||||||
|
</q-td>
|
||||||
<q-td v-for="col in props.cols" :key="col.name" :props="props">
|
<q-td v-for="col in props.cols" :key="col.name" :props="props">
|
||||||
<div v-if="col.name == 'no'">
|
<div v-if="col.name == 'no'">
|
||||||
{{ props.rowIndex + 1 }}
|
{{ props.rowIndex + 1 }}
|
||||||
|
|
|
||||||
|
|
@ -8,13 +8,14 @@ import { useQuasar } from "quasar";
|
||||||
import http from "@/plugins/http";
|
import http from "@/plugins/http";
|
||||||
import config from "@/app.config";
|
import config from "@/app.config";
|
||||||
import PopupPersonal from "@/components/Dialogs/PopupPersonalNew.vue";
|
import PopupPersonal from "@/components/Dialogs/PopupPersonalNew.vue";
|
||||||
|
import { checkPermission } from "@/utils/permissions";
|
||||||
|
|
||||||
const modalPersonal = ref<boolean>(false);
|
const modalPersonal = ref<boolean>(false);
|
||||||
const personId = ref<string>("");
|
const personId = ref<string>("");
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const personalId = ref<string>(route.params.id as string);
|
const personalId = ref<string>(route.params.id as string);
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationDetailOnly");
|
||||||
const $q = useQuasar(); //ใช้ noti quasar
|
const $q = useQuasar(); //ใช้ noti quasar
|
||||||
const rows = ref<FormProbationDetail[]>([]);
|
const rows = ref<FormProbationDetail[]>([]);
|
||||||
const name = ref<string>("");
|
const name = ref<string>("");
|
||||||
|
|
@ -220,7 +221,11 @@ async function selectStatus() {
|
||||||
* @param id personal id
|
* @param id personal id
|
||||||
*/
|
*/
|
||||||
function clickSelect(id: string) {
|
function clickSelect(id: string) {
|
||||||
router.push(`${route.fullPath}/${id}`);
|
if (checkRoutePermisson.value) {
|
||||||
|
router.push(`/probation/detail-view/${personalId.value}/${id}`);
|
||||||
|
} else {
|
||||||
|
router.push(`/probation/detail/${personalId.value}/${id}`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** รีเซ็ตค่าในช่อง input */
|
/** รีเซ็ตค่าในช่อง input */
|
||||||
|
|
@ -335,6 +340,7 @@ onMounted(async () => {
|
||||||
<div class="col-12 text-detail">
|
<div class="col-12 text-detail">
|
||||||
<q-select
|
<q-select
|
||||||
:disable="
|
:disable="
|
||||||
|
checkRoutePermisson ||
|
||||||
probation_status == 2 ||
|
probation_status == 2 ||
|
||||||
probation_status == 3 ||
|
probation_status == 3 ||
|
||||||
probation_status == 7 ||
|
probation_status == 7 ||
|
||||||
|
|
@ -361,8 +367,8 @@ onMounted(async () => {
|
||||||
<div class="row col-12 q-col-gutter-sm">
|
<div class="row col-12 q-col-gutter-sm">
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="!checkRoutePermisson"
|
||||||
@click="router.push(`/probation/add/${personalId}`)"
|
@click="router.push(`/probation/add/${personalId}`)"
|
||||||
size="12px"
|
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
color="add"
|
color="add"
|
||||||
|
|
@ -428,18 +434,46 @@ onMounted(async () => {
|
||||||
>
|
>
|
||||||
<template v-slot:header="props">
|
<template v-slot:header="props">
|
||||||
<q-tr :props="props">
|
<q-tr :props="props">
|
||||||
|
<q-th auto-width />
|
||||||
<q-th v-for="col in props.cols" :key="col.name" :props="props">
|
<q-th v-for="col in props.cols" :key="col.name" :props="props">
|
||||||
<span class="text-weight-medium">{{ col.label }}</span>
|
<span class="text-weight-medium">{{ col.label }}</span>
|
||||||
</q-th>
|
</q-th>
|
||||||
<q-th auto-width />
|
|
||||||
</q-tr>
|
</q-tr>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:body="props">
|
<template v-slot:body="props">
|
||||||
<q-tr
|
<q-tr :props="props">
|
||||||
:props="props"
|
<q-td auto-width>
|
||||||
class="cursor-pointer"
|
<q-btn
|
||||||
@click="clickSelect(props.row.id)"
|
v-if="checkPermission($route)?.attrIsGet"
|
||||||
>
|
flat
|
||||||
|
dense
|
||||||
|
round
|
||||||
|
color="info"
|
||||||
|
icon="mdi-eye"
|
||||||
|
@click="
|
||||||
|
router.push(
|
||||||
|
`/probation/detail-view/${personalId}/${props.row.id}`
|
||||||
|
)
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<q-tooltip>รายละเอียด</q-tooltip>
|
||||||
|
</q-btn>
|
||||||
|
<q-btn
|
||||||
|
v-if="
|
||||||
|
checkPermission($route)?.attrIsGet &&
|
||||||
|
checkPermission($route)?.attrIsUpdate &&
|
||||||
|
!checkRoutePermisson
|
||||||
|
"
|
||||||
|
flat
|
||||||
|
dense
|
||||||
|
round
|
||||||
|
color="edit"
|
||||||
|
icon="edit"
|
||||||
|
@click="clickSelect(props.row.id)"
|
||||||
|
>
|
||||||
|
<q-tooltip>แก้ไขข้อมูล</q-tooltip>
|
||||||
|
</q-btn>
|
||||||
|
</q-td>
|
||||||
<q-td v-for="col in props.cols" :key="col.name" :props="props">
|
<q-td v-for="col in props.cols" :key="col.name" :props="props">
|
||||||
<div v-if="col.name == 'no'">
|
<div v-if="col.name == 'no'">
|
||||||
{{ props.rowIndex + 1 }}
|
{{ props.rowIndex + 1 }}
|
||||||
|
|
@ -448,7 +482,6 @@ onMounted(async () => {
|
||||||
{{ col.value }}
|
{{ col.value }}
|
||||||
</div>
|
</div>
|
||||||
</q-td>
|
</q-td>
|
||||||
<q-td auto-width> </q-td>
|
|
||||||
</q-tr>
|
</q-tr>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:pagination="scope">
|
<template v-slot:pagination="scope">
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ const {
|
||||||
dialogConfirm,
|
dialogConfirm,
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
const assignId = ref<string>(route.params.form.toString());
|
const assignId = ref<string>(route.params.form.toString());
|
||||||
const action = ref<string>("edit");
|
const action = ref<string>("edit");
|
||||||
const status = ref<boolean>(false);
|
const status = ref<boolean>(false);
|
||||||
|
|
@ -266,7 +266,7 @@ onMounted(() => {
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
type="number"
|
type="number"
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
v-model="develop_orientation_score"
|
v-model="develop_orientation_score"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -276,7 +276,7 @@ onMounted(() => {
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
type="number"
|
type="number"
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
v-model="develop_orientation_percent"
|
v-model="develop_orientation_percent"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -290,7 +290,7 @@ onMounted(() => {
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
type="number"
|
type="number"
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
v-model="develop_self_learning_score"
|
v-model="develop_self_learning_score"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -300,7 +300,7 @@ onMounted(() => {
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
type="number"
|
type="number"
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
v-model="develop_self_learning_percent"
|
v-model="develop_self_learning_percent"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -314,7 +314,7 @@ onMounted(() => {
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
type="number"
|
type="number"
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
v-model="develop_training_seminar_score"
|
v-model="develop_training_seminar_score"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -324,7 +324,7 @@ onMounted(() => {
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
type="number"
|
type="number"
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
v-model="develop_training_seminar_percent"
|
v-model="develop_training_seminar_percent"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -339,7 +339,7 @@ onMounted(() => {
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
type="number"
|
type="number"
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
v-model="develop_other_training_score"
|
v-model="develop_other_training_score"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -349,7 +349,7 @@ onMounted(() => {
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
type="number"
|
type="number"
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
v-model="develop_other_training_percent"
|
v-model="develop_other_training_percent"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -386,7 +386,7 @@ onMounted(() => {
|
||||||
option-value="value"
|
option-value="value"
|
||||||
map-options
|
map-options
|
||||||
emit-value
|
emit-value
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -405,7 +405,7 @@ onMounted(() => {
|
||||||
autogrow
|
autogrow
|
||||||
hide-bottom-space
|
hide-bottom-space
|
||||||
:row="3"
|
:row="3"
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -426,7 +426,7 @@ onMounted(() => {
|
||||||
option-value="value"
|
option-value="value"
|
||||||
map-options
|
map-options
|
||||||
emit-value
|
emit-value
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -440,7 +440,7 @@ onMounted(() => {
|
||||||
v-model="evaluate_date"
|
v-model="evaluate_date"
|
||||||
:locale="'th'"
|
:locale="'th'"
|
||||||
autoApply
|
autoApply
|
||||||
:readonly="!status"
|
:readonly="!status || checkRoutePermisson"
|
||||||
borderless
|
borderless
|
||||||
:enableTimePicker="false"
|
:enableTimePicker="false"
|
||||||
week-start="0"
|
week-start="0"
|
||||||
|
|
@ -455,7 +455,7 @@ onMounted(() => {
|
||||||
<q-input
|
<q-input
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
class="full-width datepicker"
|
class="full-width datepicker"
|
||||||
:model-value="
|
:model-value="
|
||||||
evaluate_date != null ? date2Thai(evaluate_date) : null
|
evaluate_date != null ? date2Thai(evaluate_date) : null
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ const {
|
||||||
dialogConfirm,
|
dialogConfirm,
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const checkRoutePermisson = ref<boolean>(route.name == "probationFormDetail");
|
||||||
const assignId = ref<string>(route.params.form.toString());
|
const assignId = ref<string>(route.params.form.toString());
|
||||||
const action = ref<string>("edit");
|
const action = ref<string>("edit");
|
||||||
const status = ref<boolean>(true);
|
const status = ref<boolean>(true);
|
||||||
|
|
@ -126,7 +126,7 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-input
|
<q-input
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
label="ความคิดเห็น"
|
label="ความคิดเห็น"
|
||||||
class="bg-white"
|
class="bg-white"
|
||||||
dense
|
dense
|
||||||
|
|
@ -146,7 +146,7 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-input
|
<q-input
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
label="ความคิดเห็น"
|
label="ความคิดเห็น"
|
||||||
class="bg-white"
|
class="bg-white"
|
||||||
dense
|
dense
|
||||||
|
|
@ -168,7 +168,7 @@ onMounted(() => {
|
||||||
<q-btn-group outline>
|
<q-btn-group outline>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-for="(item, index) in 5"
|
v-for="(item, index) in 5"
|
||||||
:disable="!status"
|
:disable="!status || checkRoutePermisson"
|
||||||
:class="
|
:class="
|
||||||
answer3 == item && 'active'
|
answer3 == item && 'active'
|
||||||
"
|
"
|
||||||
|
|
@ -192,7 +192,7 @@ onMounted(() => {
|
||||||
<criterion />
|
<criterion />
|
||||||
</q-form>
|
</q-form>
|
||||||
<!-- <Footer /> -->
|
<!-- <Footer /> -->
|
||||||
<div class="row col-12">
|
<div class="row col-12" v-if="!checkRoutePermisson">
|
||||||
<q-space />
|
<q-space />
|
||||||
<q-btn label="บันทึก" color="secondary" @click="save" v-if="status" />
|
<q-btn label="บันทึก" color="secondary" @click="save" v-if="status" />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,13 @@ const mainProbation = () =>
|
||||||
const probationDetail = () =>
|
const probationDetail = () =>
|
||||||
import("@/modules/05_placement/components/probation/ProbationDetail.vue");
|
import("@/modules/05_placement/components/probation/ProbationDetail.vue");
|
||||||
|
|
||||||
|
const probationDetailOnly = () =>
|
||||||
|
import("@/modules/05_placement/components/probation/ProbationDetail.vue");
|
||||||
|
|
||||||
const probationFormEvaluation = () =>
|
const probationFormEvaluation = () =>
|
||||||
import("@/modules/05_placement/components/probation/MainDetail.vue");
|
import("@/modules/05_placement/components/probation/MainDetail.vue");
|
||||||
|
const probationFormEvaluationDetail = () =>
|
||||||
|
import("@/modules/05_placement/components/probation/MainDetail.vue");
|
||||||
|
|
||||||
const probationWorkAdd = () =>
|
const probationWorkAdd = () =>
|
||||||
import("@/modules/05_placement/components/probation/MainDetail.vue");
|
import("@/modules/05_placement/components/probation/MainDetail.vue");
|
||||||
|
|
@ -143,6 +148,16 @@ export default [
|
||||||
Role: "STAFF",
|
Role: "STAFF",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/probation/detail-view/:id",
|
||||||
|
name: "probationDetailOnly",
|
||||||
|
component: probationDetailOnly,
|
||||||
|
meta: {
|
||||||
|
Auth: true,
|
||||||
|
Key: "SYS_PROBATION",
|
||||||
|
Role: "STAFF",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/probation/detail/:personalId/:form",
|
path: "/probation/detail/:personalId/:form",
|
||||||
name: "probationForm",
|
name: "probationForm",
|
||||||
|
|
@ -153,6 +168,16 @@ export default [
|
||||||
Role: "STAFF",
|
Role: "STAFF",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/probation/detail-view/:personalId/:form",
|
||||||
|
name: "probationFormDetail",
|
||||||
|
component: probationFormEvaluationDetail,
|
||||||
|
meta: {
|
||||||
|
Auth: true,
|
||||||
|
Key: "SYS_PROBATION",
|
||||||
|
Role: "STAFF",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/probation/detail/addresult/:id/:form",
|
path: "/probation/detail/addresult/:id/:form",
|
||||||
name: "probationFormAddresult",
|
name: "probationFormAddresult",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue