Вы отправляете BedgeCode в качестве параметра, но вы должны отправить идентификатор компании в качестве параметра, чтобы получить сотрудников и их код пропуска. Вы в основном пытаетесь получить BadgeCode с BadgeCode. :) Таким образом, это выглядело бы примерно так:
methods: {
getEmployeesBadgeCode: function() {
axios.get("api/getBadgeCode", {
params: { company_id: this.form.company_id}})
.then( function(response) {this.employees = response.data;}.bind(this)
);
}
Вам также нужно изменить метод getBadgeCode на внутреннем сервере:
public function getBadgeCode(Request $request)
{
$Employees= Employee::where('company_id',$request->company_id)->orderBy('BadgeCode','desc')->get();
return ['data' => $Employees];
}
Итак, процесс выглядит так: Вы меняете компанию, отправьте запрос с company_id, получите всех сотрудников с этим company_id и получите их BadgeCode. Вы можете получить доступ к конкретному сотруднику BadgeCode как: this.employees [0] .BadgeCode
Редактировать ответ на вопрос:
Так определите переменную в ваших данных, которая называется BadgeCode:
data() {
return {
BadgeCode:"",
editMode: false,
selectedTicketInvoiceId: false,
Companies: {},
Nationalities: {},
employees: {},
form: new Form({id: "",BadgeCode: "",BadgeType: "",company_id: "",
nationality_id: "",lastname: "",firstname: "",telphonenumber: "",
position: "",supervisorname: "", supervisornumber: "",
issuedate: "",tazker: "", expiredate: "", serialnumber: "" })};
}
Затем присвойте ему значение в функции ответа:
methods: {
getEmployeesBadgeCode: function() {
axios.get("api/getBadgeCode", {
params: { BadgeCode: this.form.BadgeCode}})
.then( function(response) {this.BadgeCode = response.data[0].BadgeCode;}.bind(this)
);
}
И установите v-модель в поле ввода на BadgeCode:
<div class="form-group">
<input
v-model="BadgeCode"
placeholder="Enter BadgeCode"
type="text"
name="BadgeCode"
class="form-control"
:class="{ 'is-invalid': form.errors.has('BadgeCode') }"
/>