Team 4 (Mother Forum) Speciality , msl code readonly
Specific Folder FTP Upload / ftp-deploy (push) Successful in 1m44s Details

This commit is contained in:
zeeshan 2026-10-10 11:33:45 +05:30
parent 8ed9f607ae
commit 6d96a86e3f
1 changed files with 83 additions and 108 deletions

View File

@ -80,59 +80,32 @@
@case('dropdown')
@php
$submittedMonths = [];
if (isset($submissions) && is_array($submissions)) {
foreach ($submissions as $sub) {
if (isset($id) && $id && isset($sub->id) && $sub->id == $id) {
continue;
}
<select class="form-control" id="field-{{ $question->code }}" name="{{ $question->code }}" data-initial-value="{{ isset($question->value) ? $question->value : '' }}" {{ $question->required == 'yes' ? 'required' : '' }}>
<option value=""> -- Select -- </option>
@foreach ($question->options as $option)
@if($question->code == 'contact_id' && isset($option->contact->type) && $option->contact->type == 'doctor' )
<option value="{{ $option->value }}"
@if(isset($question->value) && $question->value == $option->value) selected @endif
@if($question->code == 'contact_id')
msl_code="{{ (isset($option->contact->msl_code) ? $option->contact->msl_code : '') }}"
speciality="{{ (isset($option->contact->speciality) ? $option->contact->speciality : '') }}"
@endif
>
{{ $option->display }}
</option>
@elseif($question->code != 'contact_id')
<option value="{{ $option->value }}" {{ isset($question->value) && $question->value == $option->value ? 'selected' : '' }} {{ $question->code == 'contact_id' ? 'pcode= ' . (isset($option->contact->pcode)?$option->contact->pcode:'') . ' ' : '' }} {{ isset($question->value) && $question->value == $option->value ? 'selected' : '' }} {{ $question->code == 'contact_id' ? 'speciality= ' . (isset($option->contact->speciality) ? $option->contact->speciality :'') . ' ' : '' }} >
{{ $option->display }}
</option>
@endif
@endforeach
</select>
$monthVal = $sub->month ?? ($sub->data->month ?? null);
if ($monthVal) {
$submittedMonths[] = trim($monthVal);
}
}
}
@endphp
<select class="form-control"
id="field-{{ $question->code }}"
name="{{ $question->code }}"
data-initial-value="{{ isset($question->value) ? $question->value : '' }}"
{{ $question->required == 'yes' ? 'required' : '' }}>
<option value=""> -- Select -- </option>
@foreach ($question->options as $option)
@php
$optVal = trim($option->value);
$isAlreadySubmitted = ($question->code == 'month' && in_array($optVal, $submittedMonths));
$isSelected = (isset($question->value) && trim($question->value) == $optVal);
@endphp
@if($question->code == 'contact_id' && isset($option->contact->type) && $option->contact->type == 'doctor')
<option value="{{ $option->value }}"
@if($isSelected) selected @endif
msl_code="{{ $option->contact->msl_code ?? '' }}"
speciality="{{ $option->contact->speciality ?? '' }}">
{{ $option->display }}
</option>
@else
<option value="{{ $option->value }}"
{{ $isSelected ? 'selected' : '' }}
{{ $isAlreadySubmitted ? 'disabled' : '' }}
{{ $question->code == 'contact_id' ? 'pcode=' . ($option->contact->pcode ?? '') : '' }}
{{ $question->code == 'contact_id' ? 'speciality=' . ($option->contact->speciality ?? '') : '' }}>
{{ $option->display }} {{ $isAlreadySubmitted ? ' (Already Submitted)' : '' }}
</option>
@endif
@endforeach
</select>
@break
@break
@case('checkbox')
@foreach($question->options as $option)
@ -292,75 +265,77 @@
}
$("[id^='field-contact_id']").each(function() {
var select = $(this);
var select = $(this);
var existingVal = select.attr('data-initial-value') || select.val();
var existingVal = select.attr('data-initial-value') || select.val();
select.empty();
select.empty();
// Default option
select.append($("<option></option>").attr("value", '').text('-- Select --'));
// Default option
select.append($("<option></option>").attr("value", '').text('-- Select --'));
contacts.forEach(function(itm) {
var option = $("<option></option>")
.attr("value", itm.value)
.text(itm.display);
contacts.forEach(function(itm) {
var option = $("<option></option>")
.attr("value", itm.value)
.text(itm.display);
if (itm.contact && itm.contact.msl_code) {
option.attr("msl_code", itm.contact.msl_code);
}
if (itm.contact && itm.contact.speciality) {
option.attr("speciality", itm.contact.speciality);
}
select.append(option);
});
if (itm.contact && itm.contact.msl_code) {
option.attr("msl_code", itm.contact.msl_code);
}
if (itm.contact && itm.contact.speciality) {
option.attr("speciality", itm.contact.speciality);
}
select.append(option);
});
if (existingVal) {
select.val(String(existingVal));
}
if (existingVal) {
select.val(String(existingVal));
}
select.off('change').on('change', function () {
var selected = $(this).find(':selected');
var selectId = $(this).attr('id');
var match = selectId.match(/^field-contact_id(_\d+)?$/);
var suffix = match && match[1] ? match[1] : '';
select.off('change').on('change', function () {
var selected = $(this).find(':selected');
var selectId = $(this).attr('id');
var match = selectId.match(/^field-contact_id(_\d+)?$/);
var suffix = match && match[1] ? match[1] : '';
var mslCodeField = $('#field-msl_code' + suffix);
var specialityField = $('#field-speciality' + suffix);
var mslCodeField = $('#field-msl_code' + suffix);
var specialityField = $('#field-speciality' + suffix);
if (mslCodeField.length) {
mslCodeField.val(selected.attr('msl_code') || '');
}
if (specialityField.length) {
specialityField.val(selected.attr('speciality') || '');
}
if (mslCodeField.length) {
mslCodeField.val(selected.attr('msl_code') || '');
}
if (specialityField.length) {
specialityField.val(selected.attr('speciality') || '');
}
enforceUniqueDoctorSelections();
});
});
applySelect2ToDoctorDropdowns();
$("[id^='field-contact_id']").each(function() {
var select = $(this);
var existingVal = select.attr('data-initial-value');
if (existingVal) {
select.val(String(existingVal)).trigger('change');
}
});
$("#pageloader").fadeOut();
enforceUniqueDoctorSelections();
});
});
applySelect2ToDoctorDropdowns();
$("[id^='field-msl_code'], [id^='field-speciality']").prop('readonly', true);
$("[id^='field-contact_id']").each(function() {
var select = $(this);
var existingVal = select.attr('data-initial-value');
if (existingVal) {
select.val(String(existingVal)).trigger('change');
}
});
$("#pageloader").fadeOut();
});
@endif