AI Analysis: JobPosition infrastructure and candidate association

This commit is contained in:
jeremy bayse
2026-03-22 22:22:45 +01:00
parent 2df0d6def0
commit 878f4bb102
12 changed files with 470 additions and 6 deletions

View File

@@ -10,12 +10,23 @@ import DangerButton from '@/Components/DangerButton.vue';
import InputError from '@/Components/InputError.vue';
const props = defineProps({
candidate: Object
candidate: Object,
jobPositions: Array
});
const page = usePage();
const flashSuccess = computed(() => page.props.flash?.success);
const positionForm = useForm({
job_position_id: props.candidate.job_position_id || ''
});
const updatePosition = () => {
positionForm.patch(route('admin.candidates.update-position', props.candidate.id), {
preserveScroll: true,
});
};
const selectedDocument = ref(null);
const docForm = useForm({
@@ -149,7 +160,21 @@ const updateAnswerScore = (answerId, score) => {
{{ candidate.user.name.charAt(0) }}
</div>
<h3 class="text-xl font-bold">{{ candidate.user.name }}</h3>
<p class="text-slate-500 text-sm mb-6">{{ candidate.user.email }}</p>
<p class="text-slate-500 text-sm mb-4">{{ candidate.user.email }}</p>
<div class="mb-6">
<label class="text-[10px] font-black uppercase tracking-widest text-slate-400 mb-2 block text-left">Poste Cible</label>
<select
v-model="positionForm.job_position_id"
@change="updatePosition"
class="w-full bg-slate-50 dark:bg-slate-900 border-none rounded-xl py-2 px-3 text-xs font-bold text-indigo-600 focus:ring-2 focus:ring-indigo-500/20 transition-all cursor-pointer"
>
<option value="">Non assigné</option>
<option v-for="pos in jobPositions" :key="pos.id" :value="pos.id">
{{ pos.title }}
</option>
</select>
</div>
<div class="flex flex-col gap-3 text-left">
<div class="flex items-center gap-3 p-3 bg-slate-50 dark:bg-slate-900 rounded-xl">