diff --git a/Modules/HospitalPortal/Http/Controllers/Api/MemberController.php b/Modules/HospitalPortal/Http/Controllers/Api/MemberController.php index 7e3de299..8f95823b 100644 --- a/Modules/HospitalPortal/Http/Controllers/Api/MemberController.php +++ b/Modules/HospitalPortal/Http/Controllers/Api/MemberController.php @@ -108,6 +108,17 @@ class MemberController extends Controller $res_data['providers'] = $providers; + //company + $companies = DB::table('corporates') + ->where('corporates.active', '=', 1) + ->select( + 'corporates.id', + 'corporates.name' + ) + ->get(); + + $res_data['companies'] = $companies; + return ApiResponse::apiResponse("Success", $res_data, trans('Message.success'), 200); } diff --git a/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php b/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php index 67c8e2a2..e531bdb6 100644 --- a/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php +++ b/Modules/HospitalPortal/Http/Controllers/Api/RequestLogController.php @@ -29,6 +29,7 @@ class RequestLogController extends Controller 'organization_name' => $request->organization_name, 'address_provider' => $request->address_provider, 'submission_date' => $request->submission_date, + 'corporate_id_partner' => $request->corporate_id_partner, ]; $validator = Validator::make($request->all(), [ 'member_id' => 'required', @@ -83,6 +84,7 @@ class RequestLogController extends Controller 'name' => $request->organization_name, 'code' => $kodeOrganisasi, 'type' => 'hospital', + 'corporate_id_partner' => $request->corporate_id_partner ? implode(',', $request->corporate_id_partner) : null, 'created_at' => now(), 'created_by' => auth()->user()->id ]); diff --git a/frontend/hospital-portal/public/lang/en-US.json b/frontend/hospital-portal/public/lang/en-US.json index c2240c3e..8791f8a0 100644 --- a/frontend/hospital-portal/public/lang/en-US.json +++ b/frontend/hospital-portal/public/lang/en-US.json @@ -49,5 +49,6 @@ "txtUnm" : "unread messages", "txtNew" : "New", "txtBeforeThat" : "Before that", - "txtDischargeDate" : "Discharge Date" + "txtDischargeDate" : "Discharge Date", + "txtPatner" : "Patner" } diff --git a/frontend/hospital-portal/public/lang/id-ID.json b/frontend/hospital-portal/public/lang/id-ID.json index 4d9cca02..6f85bbb5 100644 --- a/frontend/hospital-portal/public/lang/id-ID.json +++ b/frontend/hospital-portal/public/lang/id-ID.json @@ -49,5 +49,6 @@ "txtUnm" : "pesan yang belum dibaca", "txtNew" : "Baru", "txtBeforeThat" : "Sebelum", - "txtDischargeDate" : "Tanggal Keluar" + "txtDischargeDate" : "Tanggal Keluar", + "txtPatner" : "Rekanan" } diff --git a/frontend/hospital-portal/src/sections/dashboard/FormRequestLog.tsx b/frontend/hospital-portal/src/sections/dashboard/FormRequestLog.tsx index 19d5d8c2..70bb881a 100644 --- a/frontend/hospital-portal/src/sections/dashboard/FormRequestLog.tsx +++ b/frontend/hospital-portal/src/sections/dashboard/FormRequestLog.tsx @@ -12,7 +12,7 @@ import { Card } from '@mui/material'; import { Stack, Typography } from '@mui/material'; import axios from '@/utils/axios'; import { enqueueSnackbar } from 'notistack'; -import { useRef, useState, useContext } from 'react'; +import { useRef, useState, useContext, useEffect } from 'react'; import { makeFormData } from '@/utils/jsonToFormData'; import { format } from 'date-fns'; import { LanguageContext } from '@/contexts/LanguageContext'; @@ -27,6 +27,7 @@ interface MemberType { members: any; services: any; providers:any; + companies:any; } interface FormRequestClaimProps { member: MemberType; @@ -40,6 +41,18 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe const [submissionDate, setSubmissionDate] = useState(format(new Date(), "yyyy MMM d HH:mm:ss")); const [submitLoading, setSubmitLoading] = useState(false); + + const [corporate_id_partner, setCorporateIdPartner] = useState([]); + useEffect(() => { + setCorporateIdPartner(member?.companies?.map((item: { id: any; name: any; }) => ({ value: item.id, label: item.name }))); + }, []); + const [selectedCorporatID, setSelectedCorporateID] = useState([]); + + const handleSelectChangePatner = (event:any, selectedOptions:any) => { + const selectedValues = selectedOptions.map((option: { value: any; }) => option.value); + setSelectedCorporateID(selectedValues); + }; + function submitRequest() { if(!idProvider&& (name == '' || alamat == '')) { @@ -63,7 +76,8 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe organization_id: idProvider, organization_name : name, address_provider: alamat, - submission_date: fPostFormat(submissionDate, 'yyyy-MM-dd HH:mm:ss') + submission_date: fPostFormat(submissionDate, 'yyyy-MM-dd HH:mm:ss'), + corporate_id_partner: selectedCorporatID }; axios .post('/request-log', formData) @@ -150,15 +164,28 @@ export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRe {localeData.txtAddNew} * setName(e.target.value)} /> setAlamat(e.target.value)} /> + option.label} + value={corporate_id_partner.filter((option: { value: any; }) => selectedCorporatID.includes(option.value))} + onChange={handleSelectChangePatner} + multiple + renderInput={(params) => ( + + )} + /> )}