Merge branch 'dev' of bitbucket.org:jubilian/nhance into dev
This commit is contained in:
commit
e049db83b5
@ -33,6 +33,7 @@ class TicketController extends BaseController
|
|||||||
protected $claimType;
|
protected $claimType;
|
||||||
protected $claimStatus;
|
protected $claimStatus;
|
||||||
protected $placeHolders;
|
protected $placeHolders;
|
||||||
|
protected $extraFields;
|
||||||
|
|
||||||
protected $clientModel;
|
protected $clientModel;
|
||||||
protected $ticketMasterModel;
|
protected $ticketMasterModel;
|
||||||
@ -73,7 +74,8 @@ class TicketController extends BaseController
|
|||||||
1 => "In Person",
|
1 => "In Person",
|
||||||
2 => "Courier",
|
2 => "Courier",
|
||||||
3 => "Online Mode - Email",
|
3 => "Online Mode - Email",
|
||||||
4 => "Online Mode - To TPA"
|
4 => "Smart Service Desk",
|
||||||
|
5 => "Direct to TPA"
|
||||||
];
|
];
|
||||||
$this->claimType = [
|
$this->claimType = [
|
||||||
1 => [
|
1 => [
|
||||||
@ -111,6 +113,30 @@ class TicketController extends BaseController
|
|||||||
'((POLICY_TYPE))' => 'policy_type',
|
'((POLICY_TYPE))' => 'policy_type',
|
||||||
'((AUTO_QUERY_CONTENT))' => 'auto_query_content',
|
'((AUTO_QUERY_CONTENT))' => 'auto_query_content',
|
||||||
];
|
];
|
||||||
|
$this->extraFields = [
|
||||||
|
|
||||||
|
3 => ['raised_date'],
|
||||||
|
4 => ['raised_date'],
|
||||||
|
5 => ['claim_number', 'registration_date'],
|
||||||
|
7 => ['query_received_date'],
|
||||||
|
8 => ['denial_reason','denial_date'],
|
||||||
|
9 => ['approved_amount','approved_date', 'approved_letter'],
|
||||||
|
11 => ['utr_details', 'settled_date', 'settle_letter'],
|
||||||
|
40 => ['approved_amount','approved_date', 'approved_letter'],
|
||||||
|
44 => ['utr_details', 'settled_date', 'settle_letter'],
|
||||||
|
30 => ['approved_amount','approved_date', 'approved_letter'],
|
||||||
|
34 => ['utr_details', 'settled_date', 'settle_letter'],
|
||||||
|
20 => ['approved_amount','approved_date', 'approved_letter'],
|
||||||
|
24 => ['utr_details', 'settled_date', 'settle_letter'],
|
||||||
|
14 => ['return_remark', 'awb_no_courier_name'],
|
||||||
|
48 => ['return_remark', 'awb_no_courier_name'],
|
||||||
|
59 => ['return_remark', 'awb_no_courier_name'],
|
||||||
|
54 => ['return_remark', 'awb_no_courier_name'],
|
||||||
|
13 => ['cancel_remark'],
|
||||||
|
47 => ['cancel_remark'],
|
||||||
|
53 => ['cancel_remark'],
|
||||||
|
58 => ['cancel_remark'],
|
||||||
|
];
|
||||||
|
|
||||||
$this->ticketMasterModel = new TicketMasterModel();
|
$this->ticketMasterModel = new TicketMasterModel();
|
||||||
$this->claimStatus = new TicketClaimStatusModel();
|
$this->claimStatus = new TicketClaimStatusModel();
|
||||||
@ -260,7 +286,7 @@ class TicketController extends BaseController
|
|||||||
return $this->loadLayout('ticket_form_handler', $data);
|
return $this->loadLayout('ticket_form_handler', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function ticket_form_data($ticket_type)
|
public function ticket_form_data($ticket_type, $claim_status_id = null)
|
||||||
{
|
{
|
||||||
$this->myLogger->logme('error', "Fetching ticket form data for Ticket Type: $ticket_type");
|
$this->myLogger->logme('error', "Fetching ticket form data for Ticket Type: $ticket_type");
|
||||||
|
|
||||||
@ -294,11 +320,23 @@ class TicketController extends BaseController
|
|||||||
->getResultArray();
|
->getResultArray();
|
||||||
|
|
||||||
// Fetch Claim Status
|
// Fetch Claim Status
|
||||||
$data['claim_status'] = $this->claimStatus
|
|
||||||
->select('*')
|
if(empty($claim_status_id)){
|
||||||
->where(['is_active' => 1, 'ticket_type' => $ticket_type])
|
|
||||||
->get()
|
if($ticket_type == 2){
|
||||||
->getResultArray();
|
$claim_status_id = 15;
|
||||||
|
}else if($ticket_type == 3){
|
||||||
|
$claim_status_id = 25;
|
||||||
|
}else if($ticket_type == 4){
|
||||||
|
$claim_status_id = 35;
|
||||||
|
}else{
|
||||||
|
$claim_status_id = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['claim_status'] = $this->transFormClaimStatus($claim_status_id, $ticket_type);
|
||||||
|
$data['extra_fields'] = $this->getExtraFields($data['claim_status']);
|
||||||
|
$data['extra_fields_array_for_validate'] = $this->getExtraFields($data['claim_status'], 1);
|
||||||
|
|
||||||
if ($ticket_type == 1) {
|
if ($ticket_type == 1) {
|
||||||
$data['claim_type'] = $this->claimType[1];
|
$data['claim_type'] = $this->claimType[1];
|
||||||
@ -311,6 +349,73 @@ class TicketController extends BaseController
|
|||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//transform the claim status
|
||||||
|
public function transFormClaimStatus($claimStatusId, $ticket_type)
|
||||||
|
{
|
||||||
|
// Fetch the main claim status by ID
|
||||||
|
$claimStatusData = $this->claimStatus
|
||||||
|
->select('*')
|
||||||
|
->where(['is_active' => 1, 'ticket_type' => $ticket_type])
|
||||||
|
->where('id', $claimStatusId)
|
||||||
|
->first();
|
||||||
|
// dd($claimStatusData);
|
||||||
|
|
||||||
|
// Initialize the filtered claim status array
|
||||||
|
$filteredClaimStatus = [];
|
||||||
|
|
||||||
|
if (!empty($claimStatusData)) {
|
||||||
|
// Add the main claim status to the result
|
||||||
|
$filteredClaimStatus[] = $claimStatusData;
|
||||||
|
|
||||||
|
// Decode the allowed_status JSON field
|
||||||
|
$filterClaimStatusIds = json_decode($claimStatusData['allowed_status'], true);
|
||||||
|
|
||||||
|
// Fetch additional claim statuses if IDs exist
|
||||||
|
if (!empty($filterClaimStatusIds) && is_array($filterClaimStatusIds)) {
|
||||||
|
$additionalClaimStatuses = $this->claimStatus
|
||||||
|
->select('*')
|
||||||
|
->where(['is_active' => 1, 'ticket_type' => $ticket_type])
|
||||||
|
->whereIn('id', $filterClaimStatusIds)
|
||||||
|
->get()
|
||||||
|
->getResultArray();
|
||||||
|
|
||||||
|
// Merge additional claim statuses into the result
|
||||||
|
$filteredClaimStatus = array_merge($filteredClaimStatus, $additionalClaimStatuses);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $filteredClaimStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getExtraFields(array $claimStatus, $nonFilterArray = 0): array
|
||||||
|
{
|
||||||
|
$extra_fields = [];
|
||||||
|
|
||||||
|
if($nonFilterArray == 1){
|
||||||
|
|
||||||
|
foreach ($claimStatus as $value) {
|
||||||
|
if (isset($this->extraFields[$value['id']])) {
|
||||||
|
if (!isset($extra_fields[$value['id']])) {
|
||||||
|
$extra_fields[$value['id']] = [];
|
||||||
|
}
|
||||||
|
$extra_fields[$value['id']] = array_merge($extra_fields[$value['id']], $this->extraFields[$value['id']]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
foreach ($claimStatus as $value) {
|
||||||
|
if (isset($this->extraFields[$value['id']])) {
|
||||||
|
$extra_fields[] = $this->extraFields[$value['id']];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$extra_fields = array_values(array_unique(array_merge(...$extra_fields)));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $extra_fields;
|
||||||
|
}
|
||||||
|
|
||||||
public function view_ticket($ticket_id)
|
public function view_ticket($ticket_id)
|
||||||
{
|
{
|
||||||
// $ticket_data = $this->ticketMasterModel->where('id', $ticket_id)->where('is_active', 1)->first();
|
// $ticket_data = $this->ticketMasterModel->where('id', $ticket_id)->where('is_active', 1)->first();
|
||||||
@ -322,7 +427,7 @@ class TicketController extends BaseController
|
|||||||
$template_data['mail_content'] = $this->replacePlaceholders($template_data['mail_content'], $ticket_data);
|
$template_data['mail_content'] = $this->replacePlaceholders($template_data['mail_content'], $ticket_data);
|
||||||
$template_data['subject'] = $this->replacePlaceholders($template_data['subject'], $ticket_data);
|
$template_data['subject'] = $this->replacePlaceholders($template_data['subject'], $ticket_data);
|
||||||
}
|
}
|
||||||
$data = $this->ticket_form_data($ticket_data['ticket_type_id']);
|
$data = $this->ticket_form_data($ticket_data['ticket_type_id'], $ticket_data['claim_status_id']);
|
||||||
$data['ticket_data'] = $ticket_data;
|
$data['ticket_data'] = $ticket_data;
|
||||||
$data['reply_data'] = $template_data;
|
$data['reply_data'] = $template_data;
|
||||||
$data['placeHolders'] = $this->placeHolders;
|
$data['placeHolders'] = $this->placeHolders;
|
||||||
@ -430,6 +535,7 @@ class TicketController extends BaseController
|
|||||||
{
|
{
|
||||||
$ticket_data = $this->request->getPost();
|
$ticket_data = $this->request->getPost();
|
||||||
$ticket_data = $this->formatDateForClaim($ticket_data);
|
$ticket_data = $this->formatDateForClaim($ticket_data);
|
||||||
|
// $ticket_data = $this->getLastMatchedStatus($ticket_data, );
|
||||||
// print_rr($ticket_data); die;
|
// print_rr($ticket_data); die;
|
||||||
|
|
||||||
if ($ticket_data) {
|
if ($ticket_data) {
|
||||||
@ -451,6 +557,7 @@ class TicketController extends BaseController
|
|||||||
$ticket_id = $this->request->getPost('ticket_master_id');
|
$ticket_id = $this->request->getPost('ticket_master_id');
|
||||||
$ticket_data = $this->request->getPost();
|
$ticket_data = $this->request->getPost();
|
||||||
$ticket_data = $this->formatDateForClaim($ticket_data);
|
$ticket_data = $this->formatDateForClaim($ticket_data);
|
||||||
|
$ticket_data['claim_status_id'] = $this->getLastMatchedStatus($ticket_data);
|
||||||
// print_rr($ticket_data); die;
|
// print_rr($ticket_data); die;
|
||||||
$old_ticket_data = $this->ticketMasterModel->where('id', $ticket_id)->where('is_active', 1)->first();
|
$old_ticket_data = $this->ticketMasterModel->where('id', $ticket_id)->where('is_active', 1)->first();
|
||||||
|
|
||||||
@ -1242,4 +1349,40 @@ class TicketController extends BaseController
|
|||||||
$this->myLogger->logme('error', "Head Mail can't be sent because ticket data is empty");
|
$this->myLogger->logme('error', "Head Mail can't be sent because ticket data is empty");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getLastMatchedStatus($incoming_form_values)
|
||||||
|
{
|
||||||
|
if (empty($incoming_form_values) || !isset($incoming_form_values['claim_status_id']) || !isset($incoming_form_values['extra_fields_array_for_validate'])) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$lastMatchedStatus = $incoming_form_values['claim_status_id'];
|
||||||
|
|
||||||
|
// Use the provided `extra_fields_array_for_validate` from the incoming data
|
||||||
|
$statusMapping = json_decode($incoming_form_values['extra_fields_array_for_validate']);
|
||||||
|
|
||||||
|
foreach ($statusMapping as $status => $requiredFields) {
|
||||||
|
// Ensure requiredFields is an array
|
||||||
|
if (!is_array($requiredFields)) {
|
||||||
|
$requiredFields = [$requiredFields];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if all required fields exist and are not empty in the incoming form values
|
||||||
|
$allFieldsMatched = true;
|
||||||
|
foreach ($requiredFields as $field) {
|
||||||
|
if (!isset($incoming_form_values[$field]) || empty($incoming_form_values[$field])) {
|
||||||
|
$allFieldsMatched = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update the last matched status if all fields are validated
|
||||||
|
if ($allFieldsMatched) {
|
||||||
|
$lastMatchedStatus = $status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $lastMatchedStatus;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -64,7 +64,12 @@ class TicketMasterModel extends Model
|
|||||||
'utr_details',
|
'utr_details',
|
||||||
'settle_letter',
|
'settle_letter',
|
||||||
'is_head_approved',
|
'is_head_approved',
|
||||||
];
|
|
||||||
|
'return_remark',
|
||||||
|
'cancel_remark',
|
||||||
|
'awb_no_courier_name',
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
// Callbacks
|
// Callbacks
|
||||||
@ -126,6 +131,7 @@ class TicketMasterModel extends Model
|
|||||||
and ticket_mail_template.is_active = 1')
|
and ticket_mail_template.is_active = 1')
|
||||||
->where('ticket_master.id', $ticket_id)
|
->where('ticket_master.id', $ticket_id)
|
||||||
->where('ticket_master.is_active', 1)
|
->where('ticket_master.is_active', 1)
|
||||||
|
->where('ticket_claim_status.is_active', 1)
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
return $template_data;
|
return $template_data;
|
||||||
|
|||||||
@ -139,6 +139,13 @@ function submitClaimForm(event, form) {
|
|||||||
|
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
|
var isValid = $('#ticket_form_data').parsley().validate();
|
||||||
|
|
||||||
|
if (!isValid) {
|
||||||
|
toastr.warning('Form validation failed. Please check the required fields.', 'WARNING');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
const formAction = '<?= base_url("ticket/update"); ?>';
|
const formAction = '<?= base_url("ticket/update"); ?>';
|
||||||
|
|
||||||
// Show loader
|
// Show loader
|
||||||
|
|||||||
@ -20,6 +20,7 @@
|
|||||||
<input type="hidden" id="ticket_type_id" name="ticket_type_id" value="1">
|
<input type="hidden" id="ticket_type_id" name="ticket_type_id" value="1">
|
||||||
<input type="hidden" id="ticket_master_id" name="ticket_master_id" value="<?= isset($ticket_data['id']) ? $ticket_data['id'] : '' ?>">
|
<input type="hidden" id="ticket_master_id" name="ticket_master_id" value="<?= isset($ticket_data['id']) ? $ticket_data['id'] : '' ?>">
|
||||||
<input type="hidden" id="is_head_approved" name="is_head_approved" value="<?= isset($ticket_data['is_head_approved']) ? $ticket_data['is_head_approved'] : '' ?>">
|
<input type="hidden" id="is_head_approved" name="is_head_approved" value="<?= isset($ticket_data['is_head_approved']) ? $ticket_data['is_head_approved'] : '' ?>">
|
||||||
|
<input type="hidden" id="extra_fields_array_for_validate" name="extra_fields_array_for_validate" value='<?= isset($extra_fields_array_for_validate) && !empty($extra_fields_array_for_validate) ? json_encode($extra_fields_array_for_validate) : "[]" ?>'>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
@ -269,7 +270,7 @@
|
|||||||
value="<?= isset($ticket_data['approved_date']) ? $ticket_data['approved_date'] : '' ?>" name="approved_date">
|
value="<?= isset($ticket_data['approved_date']) ? $ticket_data['approved_date'] : '' ?>" name="approved_date">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group col-md-9 approved" style="display: none;">
|
<div class="form-group col-md-6 approved" style="display: none;">
|
||||||
<label for="approved_letter">Approved Letter</label>
|
<label for="approved_letter">Approved Letter</label>
|
||||||
<input type="text" class="form-control" id="approved_letter" placeholder="Enter Approved Letter"
|
<input type="text" class="form-control" id="approved_letter" placeholder="Enter Approved Letter"
|
||||||
value="<?= isset($ticket_data['approved_letter']) ? $ticket_data['approved_letter'] : '' ?>" name="approved_letter">
|
value="<?= isset($ticket_data['approved_letter']) ? $ticket_data['approved_letter'] : '' ?>" name="approved_letter">
|
||||||
@ -287,11 +288,27 @@
|
|||||||
value="<?= isset($ticket_data['settled_date']) ? $ticket_data['settled_date'] : '' ?>" name="settled_date">
|
value="<?= isset($ticket_data['settled_date']) ? $ticket_data['settled_date'] : '' ?>" name="settled_date">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group col-md-9 settled" style="display: none;">
|
<div class="form-group col-md-6 settled" style="display: none;">
|
||||||
<label for="settle_letter">Settle Letter</label>
|
<label for="settle_letter">Settle Letter</label>
|
||||||
<input type="text" class="form-control" id="settle_letter" placeholder="Enter Settle Letter"
|
<input type="text" class="form-control" id="settle_letter" placeholder="Enter Settle Letter"
|
||||||
value="<?= isset($ticket_data['settle_letter']) ? $ticket_data['settle_letter'] : '' ?>" name="settle_letter">
|
value="<?= isset($ticket_data['settle_letter']) ? $ticket_data['settle_letter'] : '' ?>" name="settle_letter">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group col-md-3 returned" style="display: none;">
|
||||||
|
<label for="return_remark">Return Remark</label>
|
||||||
|
<textarea class="form-control" id="return_remark" placeholder="Enter Return Remark" name="return_remark"><?= isset($ticket_data['return_remark']) ? $ticket_data['return_remark'] : '' ?></textarea>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group col-md-3 canceled" style="display: none;">
|
||||||
|
<label for="cancel_remark">Cancel Remark</label>
|
||||||
|
<textarea class="form-control" id="cancel_remark" placeholder="Enter Cancel Remark" name="cancel_remark"><?= isset($ticket_data['cancel_remark']) ? $ticket_data['cancel_remark'] : '' ?></textarea>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group col-md-6 returned" style="display: none;">
|
||||||
|
<label for="awb_no_courier_name">AWB No with Courier Name</label>
|
||||||
|
<input type="text" class="form-control" id="awb_no_courier_name" placeholder="eg : 0001/ST Courier"
|
||||||
|
value="<?= isset($ticket_data['awb_no_courier_name']) ? $ticket_data['awb_no_courier_name'] : '' ?>" name="awb_no_courier_name">
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -344,13 +361,16 @@ $(document).ready(function() {
|
|||||||
flatpickr("#approved_date", { dateFormat: "d/m/Y", allowInput: false });
|
flatpickr("#approved_date", { dateFormat: "d/m/Y", allowInput: false });
|
||||||
flatpickr("#settled_date", { dateFormat: "d/m/Y", allowInput: false });
|
flatpickr("#settled_date", { dateFormat: "d/m/Y", allowInput: false });
|
||||||
|
|
||||||
updateClaimStatusDisplay("<?= isset($ticket_data['claim_status_id']) ? $ticket_data['claim_status_id'] : 0 ?>")
|
// updateClaimStatusDisplay("<?= isset($ticket_data['claim_status_id']) ? $ticket_data['claim_status_id'] : 0 ?>")
|
||||||
|
var extraFields = <?= json_encode(isset($extra_fields) ? $extra_fields : []); ?>;
|
||||||
|
console.log("extraFields", extraFields);
|
||||||
|
claimStatusFieldChanges(extraFields);
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
function updateClaimStatusDisplay(value) {
|
function updateClaimStatusDisplay(value) {
|
||||||
// Hide all sections first
|
// Hide all sections first
|
||||||
$('.cda_ir, .settled, .approved, .rejected, .up_qdr, .up_cnu').hide();
|
$('.cda_ir, .settled, .approved, .rejected, .up_qdr, .up_cnu, .canceled').hide();
|
||||||
|
|
||||||
// Show relevant section based on value
|
// Show relevant section based on value
|
||||||
if (value == 3 || value == 4) { // CDA / INFORMATION REQUIRED
|
if (value == 3 || value == 4) { // CDA / INFORMATION REQUIRED
|
||||||
@ -365,11 +385,35 @@ function updateClaimStatusDisplay(value) {
|
|||||||
$('.approved').show();
|
$('.approved').show();
|
||||||
} else if (value == 11) { // SETTLED
|
} else if (value == 11) { // SETTLED
|
||||||
$('.settled').show();
|
$('.settled').show();
|
||||||
|
}else if (value == 13) { // CANCELLED
|
||||||
|
$('.canceled').show();
|
||||||
|
}else if (value == 14) { // RETURNED
|
||||||
|
$('.returned').show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#claim_status_id').on('change', function() {
|
$('#claim_status_id').on('change', function() {
|
||||||
updateClaimStatusDisplay($(this).val());
|
updateClaimStatusDisplay($(this).val());
|
||||||
|
// claimStatusFieldChanges()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function claimStatusFieldChanges(fields) {
|
||||||
|
|
||||||
|
fields.forEach(function(fieldId) {
|
||||||
|
var $field = $("#" + fieldId);
|
||||||
|
|
||||||
|
if ($field.length) {
|
||||||
|
$field.prop('required', true);
|
||||||
|
|
||||||
|
var $parentDiv = $field.closest("div");
|
||||||
|
$parentDiv.show();
|
||||||
|
|
||||||
|
var $label = $parentDiv.find("label[for='" + fieldId + "']");
|
||||||
|
if ($label.length && !$label.find(".text-danger").length) {
|
||||||
|
$label.append(' <span class="text-danger">*</span>');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
<input type="hidden" id="ticket_master_id" name="ticket_master_id" value="<?= isset($ticket_data['id']) ? $ticket_data['id'] : '' ?>">
|
<input type="hidden" id="ticket_master_id" name="ticket_master_id" value="<?= isset($ticket_data['id']) ? $ticket_data['id'] : '' ?>">
|
||||||
<input type="hidden" id="is_head_approved" name="is_head_approved" value="<?= isset($ticket_data['is_head_approved']) ? $ticket_data['is_head_approved'] : '' ?>">
|
<input type="hidden" id="is_head_approved" name="is_head_approved" value="<?= isset($ticket_data['is_head_approved']) ? $ticket_data['is_head_approved'] : '' ?>">
|
||||||
|
<input type="hidden" id="extra_fields_array_for_validate" name="extra_fields_array_for_validate" value='<?= isset($extra_fields_array_for_validate) && !empty($extra_fields_array_for_validate) ? json_encode($extra_fields_array_for_validate) : "[]" ?>'>
|
||||||
|
|
||||||
<div class="form-group col-md-3">
|
<div class="form-group col-md-3">
|
||||||
<label for="claim_status">Status<span class="text-danger"></span></label>
|
<label for="claim_status">Status<span class="text-danger"></span></label>
|
||||||
@ -209,7 +209,7 @@
|
|||||||
value="<?= isset($ticket_data['approved_date']) ? $ticket_data['approved_date'] : '' ?>" name="approved_date">
|
value="<?= isset($ticket_data['approved_date']) ? $ticket_data['approved_date'] : '' ?>" name="approved_date">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group col-md-9 approved" style="display: none;">
|
<div class="form-group col-md-6 approved" style="display: none;">
|
||||||
<label for="approved_letter">Approved Letter</label>
|
<label for="approved_letter">Approved Letter</label>
|
||||||
<input type="text" class="form-control" id="approved_letter" placeholder="Enter Approved Letter"
|
<input type="text" class="form-control" id="approved_letter" placeholder="Enter Approved Letter"
|
||||||
value="<?= isset($ticket_data['approved_letter']) ? $ticket_data['approved_letter'] : '' ?>" name="approved_letter">
|
value="<?= isset($ticket_data['approved_letter']) ? $ticket_data['approved_letter'] : '' ?>" name="approved_letter">
|
||||||
@ -227,12 +227,29 @@
|
|||||||
value="<?= isset($ticket_data['settled_date']) ? $ticket_data['settled_date'] : '' ?>" name="settled_date">
|
value="<?= isset($ticket_data['settled_date']) ? $ticket_data['settled_date'] : '' ?>" name="settled_date">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group col-md-9 settled" style="display: none;">
|
<div class="form-group col-md-6 settled" style="display: none;">
|
||||||
<label for="settle_letter">Settle Letter</label>
|
<label for="settle_letter">Settle Letter</label>
|
||||||
<input type="text" class="form-control" id="settle_letter" placeholder="Enter Settle Letter"
|
<input type="text" class="form-control" id="settle_letter" placeholder="Enter Settle Letter"
|
||||||
value="<?= isset($ticket_data['settle_letter']) ? $ticket_data['settle_letter'] : '' ?>" name="settle_letter">
|
value="<?= isset($ticket_data['settle_letter']) ? $ticket_data['settle_letter'] : '' ?>" name="settle_letter">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group col-md-3 returned" style="display: none;">
|
||||||
|
<label for="return_remark">Return Remark</label>
|
||||||
|
<textarea class="form-control" id="return_remark" placeholder="Enter Return Remark" name="return_remark"><?= isset($ticket_data['return_remark']) ? $ticket_data['return_remark'] : '' ?></textarea>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group col-md-3 canceled" style="display: none;">
|
||||||
|
<label for="cancel_remark">Cancel Remark</label>
|
||||||
|
<textarea class="form-control" id="cancel_remark" placeholder="Enter Cancel Remark" name="cancel_remark"><?= isset($ticket_data['cancel_remark']) ? $ticket_data['cancel_remark'] : '' ?></textarea>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group col-md-6 returned" style="display: none;">
|
||||||
|
<label for="awb_no_courier_name">AWB No with Courier Name</label>
|
||||||
|
<input type="text" class="form-control" id="awb_no_courier_name" placeholder="eg : 0001/ST Courier"
|
||||||
|
value="<?= isset($ticket_data['awb_no_courier_name']) ? $ticket_data['awb_no_courier_name'] : '' ?>" name="awb_no_courier_name">
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-md-12 text-right m-b-0" style="margin-top: 29px;">
|
<div class="form-group col-md-12 text-right m-b-0" style="margin-top: 29px;">
|
||||||
@ -285,7 +302,11 @@ $(document).ready(function() {
|
|||||||
flatpickr("#approved_date", { dateFormat: "d/m/Y", allowInput: false });
|
flatpickr("#approved_date", { dateFormat: "d/m/Y", allowInput: false });
|
||||||
flatpickr("#settled_date", { dateFormat: "d/m/Y", allowInput: false });
|
flatpickr("#settled_date", { dateFormat: "d/m/Y", allowInput: false });
|
||||||
|
|
||||||
updateClaimStatusDisplay("<?= isset($ticket_data['claim_status_id']) ? $ticket_data['claim_status_id'] : 0 ?>")
|
// updateClaimStatusDisplay("<?= isset($ticket_data['claim_status_id']) ? $ticket_data['claim_status_id'] : 0 ?>")
|
||||||
|
var extraFields = <?= json_encode(isset($extra_fields) ? $extra_fields : []); ?>;
|
||||||
|
console.log("extraFields", extraFields);
|
||||||
|
claimStatusFieldChanges(extraFields);
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -294,18 +315,41 @@ function updateClaimStatusDisplay(value) {
|
|||||||
console.log('value', value);
|
console.log('value', value);
|
||||||
|
|
||||||
// Hide all sections first
|
// Hide all sections first
|
||||||
$('.settled, .approved').hide();
|
$('.settled, .approved, .canceled, .returned').hide();
|
||||||
|
|
||||||
// Show relevant section based on value
|
// Show relevant section based on value
|
||||||
if (value == 20 || value == 30 || value == 40) { // APPROVED
|
if (value == 20 || value == 30 || value == 40) { // APPROVED
|
||||||
$('.approved').show();
|
$('.approved').show();
|
||||||
} else if (value == 24 || value == 34 || value == 44) { // SETTLED
|
} else if (value == 24 || value == 34 || value == 44) { // SETTLED
|
||||||
$('.settled').show();
|
$('.settled').show();
|
||||||
|
}else if (value == 47 || value == 53 || value == 58) { // CANCELLED
|
||||||
|
$('.canceled').show();
|
||||||
|
}else if (value == 48 || value == 54 || value == 59) { // RETURNED
|
||||||
|
$('.returned').show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#claim_status_id').on('change', function() {
|
$('#claim_status_id').on('change', function() {
|
||||||
updateClaimStatusDisplay($(this).val());
|
// updateClaimStatusDisplay($(this).val());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function claimStatusFieldChanges(fields) {
|
||||||
|
|
||||||
|
fields.forEach(function(fieldId) {
|
||||||
|
var $field = $("#" + fieldId);
|
||||||
|
|
||||||
|
if ($field.length) {
|
||||||
|
$field.prop('required', true);
|
||||||
|
|
||||||
|
var $parentDiv = $field.closest("div");
|
||||||
|
$parentDiv.show();
|
||||||
|
|
||||||
|
var $label = $parentDiv.find("label[for='" + fieldId + "']");
|
||||||
|
if ($label.length && !$label.find(".text-danger").length) {
|
||||||
|
$label.append(' <span class="text-danger">*</span>');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@ -417,6 +417,13 @@ function submitClaimForm(event, form) {
|
|||||||
|
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
|
var isValid = $('#ticket_form_data').parsley().validate();
|
||||||
|
|
||||||
|
if (!isValid) {
|
||||||
|
toastr.warning('Form validation failed. Please check the required fields.', 'WARNING');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
const formAction = '<?= isset($view_ticket_page) ? base_url("ticket/update") : base_url("ticket/create"); ?>';
|
const formAction = '<?= isset($view_ticket_page) ? base_url("ticket/update") : base_url("ticket/create"); ?>';
|
||||||
|
|
||||||
// Show loader
|
// Show loader
|
||||||
@ -704,6 +711,12 @@ function setMemberData(input) {
|
|||||||
$(this).prop('selected', true);
|
$(this).prop('selected', true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if(tpaNo == ""){
|
||||||
|
$('#claim_status_id').val(1)
|
||||||
|
}else{
|
||||||
|
$('#claim_status_id').val(2)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#employee_data_points').on('change', function() {
|
$('#employee_data_points').on('change', function() {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user