- Select Transportation:
-
+
+
+
Select Transportation
-
-
{transportSelected === 'create_new' && (
<>
diff --git a/client/src/components/events/EventsMultipleList.js b/client/src/components/events/EventsMultipleList.js
index 2d2d465..b71ff05 100644
--- a/client/src/components/events/EventsMultipleList.js
+++ b/client/src/components/events/EventsMultipleList.js
@@ -3,7 +3,8 @@ import { useNavigate } from "react-router-dom";
import { AuthService, EventsService, CustomerService, ResourceService } from "../../services";
import DatePicker from "react-datepicker";
import Select from 'react-select';
-import moment from 'moment-timezone';
+import { Spinner, Breadcrumb, BreadcrumbItem, Tabs, Tab, Button, Modal, DropdownButton, Dropdown } from "react-bootstrap";
+import { Columns, Download, Filter, PencilSquare, PersonSquare, Plus } from "react-bootstrap-icons";
const EventsMultipleList = () => {
@@ -19,6 +20,7 @@ const EventsMultipleList = () => {
const [selectedCustomer, setSelectedCustomer] = useState(null);
const [filteredEvents, setFilteredEvents] = useState(events);
const [showDeletedItems, setShowDeletedItems] = useState(false);
+ const [showFilterDropdown, setShowFilterDropdown] = useState(false);
const columns = [
@@ -248,37 +250,6 @@ const EventsMultipleList = () => {
}
const generateMedicalNotificationPdf = () => {
- // const inputData = {
- // events: []
- // };
- // selectedItems?.forEach((id) => {
- // const event = events.find(item => item.id === id);
- // inputData.events.push({
- // event_time: moment(event.start_time).format('hh:mm A MM/DD/YYYY dddd'),
- // client_name: event.data.client_name,
- // client_status: '会员',
- // client_dob: event.data.client_birth_date,
- // client_pcp: event.data.client_pcp,
- // client_pharmacy: event.data.client_pharmacy,
- // client_seating: event.data.client_seating,
- // doctor_name: event.data.resource_name,
- // doctor_phone: event.data.resource_phone,
- // doctor_contact: event.data.resource_contact,
- // doctor_address: event.data.resource_address,
- // title: event.title,
- // description: event.description,
- // interpreter: event.data.interpreter,
- // fasting: event.data.fasting,
- // confirmed: event.data.confirmed,
- // new_patient: event.data.new_patient,
- // doc_order: event.data.doc_order,
- // need_id: event.data.need_id,
- // need_med_list: event.data.need_med_list,
- // reason: event.data.reason,
- // notes: event.data.notes,
- // other: event.data.other
- // });
- // });
if (selectedItems?.length <= 0) {
window.alert("Please select at least one event record")
} else {
@@ -291,60 +262,6 @@ const EventsMultipleList = () => {
if (selectedItems?.length <= 0) {
window.alert("Please select at least one event record")
} else {
- // let customer = {};
- // const inputData = {
- // events: []
- // };
- // for (const id of selectedItems) {
- // const event = events.find(item => item.id === id);
- // if (!event?.data?.customer) {
- // const legacyClient = (await CustomerService.getClient(event.target_uuid))?.data;
- // const mappingCustomer = customers.find((item) => item.email === legacyClient.email && item.username === legacyClient.username);
- // customer = mappingCustomer;
- // } else {
- // customer = customers.find(c => c.id === event?.data?.customer);
- // }
- // let pharmacyInfo = 'This patient has no contracted pharmacy.\n' +
- // 'Please give the prescription directly to the patient';
-
- // const pharmacy = resources.find(r => (r.id === customer?.pharmacy_id)) || resources.find(r => (r.name?.toLowerCase() === event.data.client_pharmacy?.toLowerCase()));
- // if (pharmacy) {
- // pharmacyInfo = `${pharmacy?.name} @ ${pharmacy?.address} \n` +
- // `phone:${pharmacy?.phone} fax:${pharmacy?.fax}`;
- // } else {
- // if (event.data.client_pharmacy) {
- // pharmacyInfo = 'Pharmacy: ' + event.data?.client_pharmacy;
- // }
- // }
-
- // const clientName = (customer?.name_cn && event?.data?.client_name && `${event?.data?.client_name} ${customer?.name_cn}`) || customer?.name_cn || `${customer?.lastname}, ${customer?.firstname}`;
- // inputData.events.push({
- // event_time: moment(event.start_time).format('MM/DD/YYYY hh:mm A'),
- // client_name: clientName, // event.data.client_name,
- // client_status: '会员',
- // client_dob: event.data.client_birth_date,
- // client_pcp: event.data.client_pcp,
- // client_pharmacy: event.data.client_pharmacy,
- // client_seating: event.data.client_seating,
- // doctor_name: event.data.resource_name,
- // doctor_phone: event.data.resource_phone,
- // doctor_contact: event.data.resource_contact,
- // doctor_address: event.data.resource_address,
- // title: event.title,
- // description: event.description,
- // interpreter: event.data.interpreter,
- // fasting: event.data.fasting,
- // confirmed: event.data.confirmed,
- // new_patient: event.data.new_patient,
- // doc_order: event.data.doc_order,
- // need_id: event.data.need_id,
- // need_med_list: event.data.need_med_list,
- // reason: event.data.reason,
- // notes: event.data.notes,
- // other: event.data.other,
- // pharmacy_info: pharmacyInfo
- // })
- // }
const inputData = { eventIds: selectedItems };
EventsService.generateSheet(inputData);
}
@@ -355,58 +272,6 @@ const EventsMultipleList = () => {
if (selectedItems?.length <= 0) {
window.alert("Please select at least one event record")
} else {
- // let customer = {};
- // const inputData = {
- // events: []
- // };
- // for (const id of selectedItems) {
- // const event = events.find(item => item.id === id);
- // if (!event?.data?.customer) {
- // const legacyClient = (await CustomerService.getClient(event.target_uuid))?.data;
- // const mappingCustomer = customers.find((item) => item.email === legacyClient.email && item.username === legacyClient.username);
- // customer = mappingCustomer;
- // } else {
- // customer = customers.find(c => c.id === event?.data?.customer);
- // }
- // let pharmacyInfo = 'This patient has no contracted pharmacy.\n' +
- // 'Please give the prescription directly to the patient';
- // const pharmacy = resources.find(r => (r.id === customer?.pharmacy_id)) || resources.find(r => (r.name?.toLowerCase() === event.data.client_pharmacy?.toLowerCase()));
- // if (pharmacy) {
- // pharmacyInfo = `${pharmacy?.name} @ ${pharmacy?.address} \n` +
- // `phone:${pharmacy?.phone} fax:${pharmacy?.fax}`;
- // } else {
- // if (event.data.client_pharmacy) {
- // pharmacyInfo = 'Pharmacy: ' + event.data?.client_pharmacy;
- // }
- // }
- // const clientName = (customer?.name_cn && event?.data?.client_name && `${event?.data?.client_name} ${customer?.name_cn}`) || customer?.name_cn || `${customer?.lastname}, ${customer?.firstname}`;
- // inputData.events.push({
- // event_time: moment(event.start_time).format('MM/DD/YYYY hh:mm A'),
- // client_name: clientName, // event.data.client_name,
- // client_status: '会员',
- // client_dob: event.data.client_birth_date,
- // client_pcp: event.data.client_pcp,
- // client_pharmacy: event.data.client_pharmacy,
- // client_seating: event.data.client_seating,
- // doctor_name: event.data.resource_name,
- // doctor_phone: event.data.resource_phone,
- // doctor_contact: event.data.resource_contact,
- // doctor_address: event.data.resource_address,
- // title: event.title,
- // description: event.description,
- // interpreter: event.data.interpreter,
- // fasting: event.data.fasting,
- // confirmed: event.data.confirmed,
- // new_patient: event.data.new_patient,
- // doc_order: event.data.doc_order,
- // need_id: event.data.need_id,
- // need_med_list: event.data.need_med_list,
- // reason: event.data.reason,
- // notes: event.data.notes,
- // other: event.data.other,
- // pharmacy_info: pharmacyInfo
- // })
- // }
const inputData = { eventIds: selectedItems };
EventsService.generateSheetPDF(inputData);
}
@@ -417,130 +282,249 @@ const EventsMultipleList = () => {
if (selectedItems?.length <= 0) {
window.alert("Please select at least one event record");
} else {
- // const inputData = {
- // events: [],
- // docTemplateName: "med_notification"
- // };
- // selectedItems?.forEach((id) => {
- // const event = events.find(item => item.id === id);
- // inputData.events.push({
- // event_time: moment(event.start_time).format('hh:mm A MM/DD/YYYY dddd'),
- // client_name: event.data.client_name,
- // client_status: '会员',
- // client_dob: event.data.client_birth_date,
- // client_pcp: event.data.client_pcp,
- // client_pharmacy: event.data.client_pharmacy,
- // client_seating: event.data.client_seating,
- // doctor_name: event.data.resource_name,
- // doctor_phone: event.data.resource_phone,
- // doctor_contact: event.data.resource_contact,
- // doctor_address: event.data.resource_address,
- // title: event.title,
- // description: event.description,
- // interpreter: event.data.interpreter,
- // fasting: event.data.fasting,
- // confirmed: event.data.confirmed,
- // new_patient: event.data.new_patient,
- // doc_order: event.data.doc_order,
- // need_id: event.data.need_id,
- // need_med_list: event.data.need_med_list,
- // reason: event.data.reason,
- // notes: event.data.notes,
- // other: event.data.other
- // });
- // });
const inputData = { eventIds: selectedItems };
EventsService.generateDoc(inputData);
}
+ };
+ const showDeleted = (value) => {
+ setShowDeletedItems(value === 'archivedEvents');
+ // Recover all filters
+ // setKeyword('');
+ setSorting({key: '', order: ''});
+ setSelectedItems([]);
+ };
+
+ const table = (statusParam) =>
;
+
+ const cleanFilterAndClose = () => {
+ setSelectedCustomer(null);
+ setSelectedResource(null);
+ setShowFilterDropdown(false);
}
+
+ const FilterAndClose = () => {
+ setShowFilterDropdown(false);
+ }
+
+
+ const customMenu = React.forwardRef(
+ ({ children, style, className, 'aria-labelledby': labeledBy }, ref) => {
+ const [value, setValue] = useState('');
+
+ return (
+
+
Filter By
+
+
+
Customer
+
+
+
+
+
+
Resource
+
+
+
+
+
+
+
+
+
+
+ );
+ },
+ );
+
return (
<>
+
+ Medical
+
+ Appointment Information (Multi Days)
+
+
-
Medical Event Multiple Days List
-
-
-
-
-
-
-
-
-
+
+ Medical Event Multiple Days List
+ {/*
+ */}
+
-
-
- Pick a Date Range
-
-
- From: {setFromDate(v); setSelectedItems([]);}} />
-
-
- To: {setToDate(v); setSelectedItems([]);}} />
-
-
- You can Filter By:
-
-
- Customer:
-
-
- Resource:
-
-
- Show Deleted Events: {setShowDeletedItems(!showDeletedItems); setSelectedItems([]);}} />
-
-
-
-
-
+
+
+
+
showDeleted(k)}>
+
+
+
+
From
+
{setFromDate(v); setSelectedItems([]);}} />
+
+
+
To
+
{setToDate(v); setSelectedItems([]);}} />
+
+
+
+
+
+
+ {table('active')}
+
+
+
+
+
From
+
{setFromDate(v); setSelectedItems([]);}} />
+
+
+
To
+
{setToDate(v); setSelectedItems([]);}} />
+
+
+
+
+
+
+ {table('inactive')}
+
+
+
+ {/*
setKeyword(e.currentTarget.value)} /> */}
+ {/*
*/}
+
setShowFilterDropdown(!showFilterDropdown)}
+ >
+
+ Filter
+
+
+
+
+
+
+
>
diff --git a/client/src/components/home/menu.js b/client/src/components/home/menu.js
index 6ac558c..c7a50a0 100644
--- a/client/src/components/home/menu.js
+++ b/client/src/components/home/menu.js
@@ -147,7 +147,19 @@ const SideMenu = () => {
{
name: 'Appointment Calendar',
link: '/medical/events/calendar',
- category: '/events',
+ category: '/events/calendar',
+ roleFunc: AuthService.canAccessLegacySystem
+ },
+ {
+ name: 'Appointment One-Day List',
+ link: '/medical/events/list',
+ category: '/events/list',
+ roleFunc: AuthService.canAccessLegacySystem
+ },
+ {
+ name: 'Appointment Multi-Days List',
+ link: '/medical/events/multiple-list',
+ category: '/events/multiple-list',
roleFunc: AuthService.canAccessLegacySystem
}
]