{"version":3,"sources":["webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/acc/add-debit/add-debit.component.html","webpack:///src/app/acc/manage-acc/manage-acc.component.html","webpack:///src/app/acc/master-acc/master-acc.component.html","webpack:///src/app/admin/abonmanview/abonmanview.component.html","webpack:///src/app/admin/bulkabonman/bulkabonman.component.html","webpack:///src/app/admin/setting/setting.component.html","webpack:///src/app/app.component.html","webpack:///src/app/call-center/baseinfo/baseinfo.component.html","webpack:///src/app/call-center/callmanager/callmanager.component.html","webpack:///src/app/call-center/cc/new-cc/new-cc.component.html","webpack:///src/app/call-center/cc/newuicc/newuicc.component.html","webpack:///src/app/call-center/driver-profile/driver-profile.component.html","webpack:///src/app/call-center/inp-date-time/inp-date-time.component.html","webpack:///src/app/call-center/logcall/logcall.component.html","webpack:///src/app/call-center/login/login.component.html","webpack:///src/app/call-center/master-cc-web/master-cc-web.component.html","webpack:///src/app/call-center/master-cc/master-cc.component.html","webpack:///src/app/call-center/new-call/complaints.component.html","webpack:///src/app/call-center/new-call/dashboard.component.html","webpack:///src/app/call-center/new-call/driver-monitor.component.html","webpack:///src/app/call-center/new-call/forms-list.component.html","webpack:///src/app/call-center/new-call/founded-objects.component.html","webpack:///src/app/call-center/new-call/logs.component.html","webpack:///src/app/call-center/new-call/new-call-simple.component.html","webpack:///src/app/call-center/new-call/new-call-van.component.html","webpack:///src/app/call-center/new-call/new-call-web.component.html","webpack:///src/app/call-center/new-call/new-call.component.html","webpack:///src/app/call-center/new-call/passangers.component.html","webpack:///src/app/call-center/new-call/register-complaint.component.html","webpack:///src/app/call-center/new-call/register-founded-object.component.html","webpack:///src/app/call-center/new-call/register-passanger.component.html","webpack:///src/app/call-center/new-call/register-station.component.html","webpack:///src/app/call-center/new-call/search-forms.component.html","webpack:///src/app/call-center/new-call/stations.component.html","webpack:///src/app/call-center/new-call/traffic-monitor.component.html","webpack:///src/app/call-center/operators/operators.component.html","webpack:///src/app/call-center/save-driver-info/save-driver-info.component.html","webpack:///src/app/call-center/setmanualdriver/setmanualdriver.component.html","webpack:///src/app/call-center/stationdetail/stationdetail.component.html","webpack:///src/app/driver/call-info/call-info.component.html","webpack:///src/app/driver/cancelbydriver/cancelbydriver.component.html","webpack:///src/app/driver/confirm-info/confirm-info.component.html","webpack:///src/app/driver/driver-log/driver-log.component.html","webpack:///src/app/driver/driver-menu/driver-menu.component.html","webpack:///src/app/driver/drivermismmatch/drivermismmatch.component.html","webpack:///src/app/driver/exitalarm/exitalarm.component.html","webpack:///src/app/driver/finishservice/finishservice.component.html","webpack:///src/app/driver/freeservice/freeservice.component.html","webpack:///src/app/driver/goorigin/goorigin.component.html","webpack:///src/app/driver/login-app-new/login-app-new.component.html","webpack:///src/app/driver/login-shahreman/login-shahreman.component.html","webpack:///src/app/driver/logout/logout.component.html","webpack:///src/app/driver/master-driver/master-driver.component.html","webpack:///src/app/driver/menu-driver/menu-driver.component.html","webpack:///src/app/driver/messgaenotif/messgaenotif.component.html","webpack:///src/app/driver/mytrips/mytrips.component.html","webpack:///src/app/driver/new/new.component.html","webpack:///src/app/driver/peygirialert/peygirialert.component.html","webpack:///src/app/driver/playfile/playfile.component.html","webpack:///src/app/driver/profile/profile.component.html","webpack:///src/app/driver/proposed-request/proposed-request.component.html","webpack:///src/app/driver/propsoed-list/propsoed-list.component.html","webpack:///src/app/driver/showcreatedservice/showcreatedservice.component.html","webpack:///src/app/driver/showfreeservicelist/showfreeservicelist.component.html","webpack:///src/app/driver/snackbarexitdriver/snackbarexitdriver.component.html","webpack:///src/app/driver/station/station.component.html","webpack:///src/app/driver/summaryinfo/summaryinfo.component.html","webpack:///src/app/driver/test-map/test-map.component.html","webpack:///src/app/driver/test-socket/test-socket.component.html","webpack:///src/app/driver/testview/testview.component.html","webpack:///src/app/driver/unlocknotification/unlocknotification.component.html","webpack:///src/app/driver/verifysms/verifysms.component.html","webpack:///src/app/driver/waitforconfirm/waitforconfirm.component.html","webpack:///src/app/drv/drv-master/drv-master.component.html","webpack:///src/app/manage/changestation/changestation.component.html","webpack:///src/app/manage/manage-debit/manage-debit.component.html","webpack:///src/app/manage/manage-driver/manage-driver.component.html","webpack:///src/app/manage/myshift/myshift.component.html","webpack:///src/app/manage/setpriority/setpriority.component.html","webpack:///src/app/manage/shift-scheduler/shift-scheduler.component.html","webpack:///src/app/manage/shiftlisting/shiftlisting.component.html","webpack:///src/app/manage/tripmanage/tripmanage.component.html","webpack:///src/app/messagebox/messagebox.component.html","webpack:///src/app/newrequest/newrequest.component.html","webpack:///src/app/newui/new-footer/new-footer.component.html","webpack:///src/app/newui/new-menu/new-menu.component.html","webpack:///src/app/newui/new-navbar/new-navbar.component.html","webpack:///src/app/newui/new-userinfo/new-userinfo.component.html","webpack:///src/app/newui/newtest/newtest.component.html","webpack:///src/app/passanger/drivernotfound/drivernotfound.component.html","webpack:///src/app/passanger/serviceruning/serviceruning.component.html","webpack:///src/app/passanger/waitfor-request/waitfor-request.component.html","webpack:///src/app/report/monthbymonth/monthbymonth.component.html","webpack:///src/app/report/report-bydriver/report-bydriver.component.html","webpack:///src/app/report/report-byoperator/report-byoperator.component.html","webpack:///src/app/report/report-commission/report-commission.component.html","webpack:///src/app/report/report-karkard/report-karkard.component.html","webpack:///src/app/report/report-trip/report-trip.component.html","webpack:///src/app/shared/actlanuncher/actlanuncher.component.html","webpack:///src/app/shared/confirm-dialog/confirm-dialog.component.html","webpack:///src/app/shared/confirmmessage/confirmmessage.component.html","webpack:///src/app/shared/driver-card/driver-card.component.html","webpack:///src/app/shared/driver-queue/driver-queue.component.html","webpack:///src/app/shared/inputselectItem/inputselectItem.component.html","webpack:///src/app/shared/inputtext/inputtext.component.html","webpack:///src/app/shared/materials/data-table.component.html","webpack:///src/app/shared/materials/pelaque.component.html","webpack:///src/app/shared/okmessage/okmessage.component.html","webpack:///src/app/shared/searchplace/searchplace.component.html","webpack:///src/app/shared/setorigindes/setorigindes.component.html","webpack:///src/app/station/bottomsheetinfo/bottomsheetinfo.component.html","webpack:///src/app/station/station-list/station-list.component.html","webpack:///src/app/station/station-member-select/station-member-select.component.html","webpack:///src/app/station/station-member/station-member.component.html","webpack:///src/app/station/trips/trips.component.html","webpack:///src/app/station/viewstation/viewstation.component.html","webpack:///src/app/taximap/taximap.component.html","webpack:///src/app/test/push/push.component.html","webpack:///src/app/test/queueset/queueset.component.html","webpack:///src/app/test/test/test.component.html","webpack:///src/app/testapi/testapi.component.html","webpack:///src/app/testsocket/testsocket.component.html","webpack:///src/$_lazy_route_resource lazy namespace object","webpack:///src/app/acc/add-debit/add-debit.component.css","webpack:///src/app/acc/add-debit/add-debit.component.ts","webpack:///src/app/acc/manage-acc/manage-acc.component.css","webpack:///src/app/acc/manage-acc/manage-acc.component.ts","webpack:///src/app/acc/master-acc/master-acc.component.css","webpack:///src/app/acc/master-acc/master-acc.component.ts","webpack:///src/app/admin/abonmanview/abonmanview.component.css","webpack:///src/app/admin/abonmanview/abonmanview.component.ts","webpack:///src/app/admin/bulkabonman/bulkabonman.component.css","webpack:///src/app/admin/bulkabonman/bulkabonman.component.ts","webpack:///src/app/admin/setting/setting.component.css","webpack:///src/app/admin/setting/setting.component.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/call-center/baseinfo/baseinfo.component.scss","webpack:///src/app/call-center/baseinfo/baseinfo.component.ts","webpack:///src/app/call-center/callmanager/callmanager.component.scss","webpack:///src/app/call-center/callmanager/callmanager.component.ts","webpack:///src/app/call-center/cc/new-cc/new-cc.component.css","webpack:///src/app/call-center/cc/new-cc/new-cc.component.ts","webpack:///src/app/call-center/cc/newuicc/newuicc.component.css","webpack:///src/app/call-center/cc/newuicc/newuicc.component.ts","webpack:///src/app/call-center/driver-profile/driver-profile.component.scss","webpack:///src/app/call-center/driver-profile/driver-profile.component.ts","webpack:///src/app/call-center/inp-date-time/inp-date-time.component.scss","webpack:///src/app/call-center/inp-date-time/inp-date-time.component.ts","webpack:///src/app/call-center/logcall/logcall.component.scss","webpack:///src/app/call-center/logcall/logcall.component.ts","webpack:///src/app/call-center/login/login.component.scss","webpack:///src/app/call-center/login/login.component.ts","webpack:///src/app/call-center/master-cc-web/master-cc-web.component.scss","webpack:///src/app/call-center/master-cc-web/master-cc-web.component.ts","webpack:///src/app/call-center/master-cc/master-cc.component.ts","webpack:///src/app/call-center/new-call/complaints.component.ts","webpack:///src/app/call-center/new-call/dashboard.component.ts","webpack:///src/app/call-center/new-call/driver-monitor.component.scss","webpack:///src/app/call-center/new-call/driver-monitor.component.ts","webpack:///src/app/call-center/new-call/forms-list.component.ts","webpack:///src/app/call-center/new-call/founded-objects.component.ts","webpack:///src/app/call-center/new-call/logs.component.ts","webpack:///src/app/call-center/new-call/new-call-simple.component.scss","webpack:///src/app/call-center/new-call/new-call-simple.component.ts","webpack:///src/app/call-center/new-call/new-call-van.component.scss","webpack:///src/app/call-center/new-call/new-call-van.component.ts","webpack:///src/app/call-center/new-call/new-call-web.component.scss","webpack:///src/app/call-center/new-call/new-call-web.component.ts","webpack:///src/app/call-center/new-call/new-call.component.scss","webpack:///src/app/call-center/new-call/new-call.component.ts","webpack:///src/app/call-center/new-call/passangers.component.ts","webpack:///src/app/call-center/new-call/register-complaint.component.ts","webpack:///src/app/call-center/new-call/register-founded-object.component.ts","webpack:///src/app/call-center/new-call/register-passanger.component.ts","webpack:///src/app/call-center/new-call/register-station.component.ts","webpack:///src/app/call-center/new-call/search-forms.component.ts","webpack:///src/app/call-center/new-call/stations.component.scss","webpack:///src/app/call-center/new-call/stations.component.ts","webpack:///src/app/call-center/new-call/traffic-monitor.component.scss","webpack:///src/app/call-center/new-call/traffic-monitor.component.ts","webpack:///src/app/call-center/operators/operators.component.scss","webpack:///src/app/call-center/operators/operators.component.ts","webpack:///src/app/call-center/save-driver-info/save-driver-info.component.scss","webpack:///src/app/call-center/save-driver-info/save-driver-info.component.ts","webpack:///src/app/call-center/setmanualdriver/setmanualdriver.component.scss","webpack:///src/app/call-center/setmanualdriver/setmanualdriver.component.ts","webpack:///src/app/call-center/stationdetail/stationdetail.component.scss","webpack:///src/app/call-center/stationdetail/stationdetail.component.ts","webpack:///src/app/driver-guard.guard.ts","webpack:///src/app/driver/call-info/call-info.component.scss","webpack:///src/app/driver/call-info/call-info.component.ts","webpack:///src/app/driver/cancelbydriver/cancelbydriver.component.scss","webpack:///src/app/driver/cancelbydriver/cancelbydriver.component.ts","webpack:///src/app/driver/confirm-info/confirm-info.component.css","webpack:///src/app/driver/confirm-info/confirm-info.component.ts","webpack:///src/app/driver/driver-log/driver-log.component.scss","webpack:///src/app/driver/driver-log/driver-log.component.ts","webpack:///src/app/driver/driver-menu/driver-menu.component.css","webpack:///src/app/driver/driver-menu/driver-menu.component.ts","webpack:///src/app/driver/drivermismmatch/drivermismmatch.component.scss","webpack:///src/app/driver/drivermismmatch/drivermismmatch.component.ts","webpack:///src/app/driver/exitalarm/exitalarm.component.scss","webpack:///src/app/driver/exitalarm/exitalarm.component.ts","webpack:///src/app/driver/finishservice/finishservice.component.scss","webpack:///src/app/driver/finishservice/finishservice.component.ts","webpack:///src/app/driver/freeservice/freeservice.component.scss","webpack:///src/app/driver/freeservice/freeservice.component.ts","webpack:///src/app/driver/goorigin/goorigin.component.scss","webpack:///src/app/driver/goorigin/goorigin.component.ts","webpack:///src/app/driver/login-app-new/login-app-new.component.scss","webpack:///src/app/driver/login-app-new/login-app-new.component.ts","webpack:///src/app/driver/login-shahreman/login-shahreman.component.scss","webpack:///src/app/driver/login-shahreman/login-shahreman.component.ts","webpack:///src/app/driver/logout/logout.component.scss","webpack:///src/app/driver/logout/logout.component.ts","webpack:///src/app/driver/master-driver/master-driver.component.scss","webpack:///src/app/driver/master-driver/master-driver.component.ts","webpack:///src/app/driver/menu-driver/menu-driver.component.scss","webpack:///src/app/driver/menu-driver/menu-driver.component.ts","webpack:///src/app/driver/messgaenotif/messgaenotif.component.scss","webpack:///src/app/driver/messgaenotif/messgaenotif.component.ts","webpack:///src/app/driver/mytrips/mytrips.component.scss","webpack:///src/app/driver/mytrips/mytrips.component.ts","webpack:///src/app/driver/new/new.component.css","webpack:///src/app/driver/new/new.component.ts","webpack:///src/app/driver/peygirialert/peygirialert.component.scss","webpack:///src/app/driver/peygirialert/peygirialert.component.ts","webpack:///src/app/driver/playfile/playfile.component.scss","webpack:///src/app/driver/playfile/playfile.component.ts","webpack:///src/app/driver/profile/profile.component.scss","webpack:///src/app/driver/profile/profile.component.ts","webpack:///src/app/driver/proposed-request/proposed-request.component.css","webpack:///src/app/driver/proposed-request/proposed-request.component.ts","webpack:///src/app/driver/propsoed-list/propsoed-list.component.scss","webpack:///src/app/driver/propsoed-list/propsoed-list.component.ts","webpack:///src/app/driver/showcreatedservice/showcreatedservice.component.scss","webpack:///src/app/driver/showcreatedservice/showcreatedservice.component.ts","webpack:///src/app/driver/showfreeservicelist/showfreeservicelist.component.scss","webpack:///src/app/driver/showfreeservicelist/showfreeservicelist.component.ts","webpack:///src/app/driver/snackbarexitdriver/snackbarexitdriver.component.scss","webpack:///src/app/driver/snackbarexitdriver/snackbarexitdriver.component.ts","webpack:///src/app/driver/station/station.component.scss","webpack:///src/app/driver/station/station.component.ts","webpack:///src/app/driver/summaryinfo/summaryinfo.component.css","webpack:///src/app/driver/summaryinfo/summaryinfo.component.ts","webpack:///src/app/driver/test-map/test-map.component.scss","webpack:///src/app/driver/test-map/test-map.component.ts","webpack:///src/app/driver/test-socket/test-socket.component.scss","webpack:///src/app/driver/test-socket/test-socket.component.ts","webpack:///src/app/driver/testview/testview.component.scss","webpack:///src/app/driver/testview/testview.component.ts","webpack:///src/app/driver/unlocknotification/unlocknotification.component.scss","webpack:///src/app/driver/unlocknotification/unlocknotification.component.ts","webpack:///src/app/driver/verifysms/verifysms.component.css","webpack:///src/app/driver/verifysms/verifysms.component.ts","webpack:///src/app/driver/waitforconfirm/waitforconfirm.component.scss","webpack:///src/app/driver/waitforconfirm/waitforconfirm.component.ts","webpack:///src/app/drv/drv-master/drv-master.component.css","webpack:///src/app/drv/drv-master/drv-master.component.ts","webpack:///src/app/globalVariable.ts","webpack:///src/app/lib/enums/driver-status.enum.ts","webpack:///src/app/lib/enums/form-mode.enum.ts","webpack:///src/app/lib/markerHelper.ts","webpack:///src/app/lib/serviceLib/accService.service.ts","webpack:///src/app/lib/serviceLib/audio.service.ts","webpack:///src/app/lib/serviceLib/baseinfo.service.ts","webpack:///src/app/lib/serviceLib/callcenterservice.service.ts","webpack:///src/app/lib/serviceLib/complaintservice.service.ts","webpack:///src/app/lib/serviceLib/dashboardservice.service.ts","webpack:///src/app/lib/serviceLib/driverservice.service.ts","webpack:///src/app/lib/serviceLib/error.interceptor.ts","webpack:///src/app/lib/serviceLib/foundedObjectservice.service.ts","webpack:///src/app/lib/serviceLib/logservice.service.ts","webpack:///src/app/lib/serviceLib/operatorservice.service.ts","webpack:///src/app/lib/serviceLib/passangerservice.service.ts","webpack:///src/app/lib/serviceLib/profileservice.service.ts","webpack:///src/app/lib/serviceLib/report.service.ts","webpack:///src/app/lib/serviceLib/savedplace.service.ts","webpack:///src/app/lib/serviceLib/servicerequestservice.service.ts","webpack:///src/app/lib/serviceLib/serviceservice.service.ts","webpack:///src/app/lib/serviceLib/stationdetailservice.service.ts","webpack:///src/app/lib/serviceLib/stationservice.service.ts","webpack:///src/app/lib/serviceLib/taxiservice.service.ts","webpack:///src/app/lib/web-socket.service.ts","webpack:///src/app/manage/changestation/changestation.component.scss","webpack:///src/app/manage/changestation/changestation.component.ts","webpack:///src/app/manage/manage-debit/manage-debit.component.scss","webpack:///src/app/manage/manage-debit/manage-debit.component.ts","webpack:///src/app/manage/manage-driver/manage-driver.component.scss","webpack:///src/app/manage/manage-driver/manage-driver.component.ts","webpack:///src/app/manage/myshift/myshift.component.ts","webpack:///src/app/manage/setpriority/setpriority.component.scss","webpack:///src/app/manage/setpriority/setpriority.component.ts","webpack:///src/app/manage/shift-scheduler/shift-scheduler.component.css","webpack:///src/app/manage/shift-scheduler/shift-scheduler.component.ts","webpack:///src/app/manage/shiftlisting/shiftlisting.component.css","webpack:///src/app/manage/shiftlisting/shiftlisting.component.ts","webpack:///src/app/manage/tripmanage/tripmanage.component.scss","webpack:///src/app/manage/tripmanage/tripmanage.component.ts","webpack:///src/app/messagebox/messagebox.component.scss","webpack:///src/app/messagebox/messagebox.component.ts","webpack:///src/app/model/ServiceRequest.ts","webpack:///src/app/model/callLog.ts","webpack:///src/app/model/car.ts","webpack:///src/app/model/dashboard.ts","webpack:///src/app/model/driver.ts","webpack:///src/app/model/enumtype.ts","webpack:///src/app/model/lastCallInfo.ts","webpack:///src/app/model/operatorTable.ts","webpack:///src/app/model/passanger.ts","webpack:///src/app/model/profile.ts","webpack:///src/app/model/routingInfo.ts","webpack:///src/app/model/saveserviceresult.ts","webpack:///src/app/model/service.ts","webpack:///src/app/model/serviceInfo.ts","webpack:///src/app/model/shiftTable.ts","webpack:///src/app/model/socketmodels.ts","webpack:///src/app/model/station.ts","webpack:///src/app/model/stationQueueInfo.ts","webpack:///src/app/newrequest/newrequest.component.css","webpack:///src/app/newrequest/newrequest.component.ts","webpack:///src/app/newui/new-footer/new-footer.component.css","webpack:///src/app/newui/new-footer/new-footer.component.ts","webpack:///src/app/newui/new-menu/new-menu.component.css","webpack:///src/app/newui/new-menu/new-menu.component.ts","webpack:///src/app/newui/new-navbar/new-navbar.component.css","webpack:///src/app/newui/new-navbar/new-navbar.component.ts","webpack:///src/app/newui/new-userinfo/new-userinfo.component.css","webpack:///src/app/newui/new-userinfo/new-userinfo.component.ts","webpack:///src/app/newui/newtest/newtest.component.css","webpack:///src/app/newui/newtest/newtest.component.ts","webpack:///src/app/passanger/drivernotfound/drivernotfound.component.css","webpack:///src/app/passanger/drivernotfound/drivernotfound.component.ts","webpack:///src/app/passanger/serviceruning/serviceruning.component.css","webpack:///src/app/passanger/serviceruning/serviceruning.component.ts","webpack:///src/app/passanger/waitfor-request/waitfor-request.component.css","webpack:///src/app/passanger/waitfor-request/waitfor-request.component.ts","webpack:///src/app/report/monthbymonth/monthbymonth.component.css","webpack:///src/app/report/monthbymonth/monthbymonth.component.ts","webpack:///src/app/report/report-bydriver/report-bydriver.component.css","webpack:///src/app/report/report-bydriver/report-bydriver.component.ts","webpack:///src/app/report/report-byoperator/report-byoperator.component.css","webpack:///src/app/report/report-byoperator/report-byoperator.component.ts","webpack:///src/app/report/report-commission/report-commission.component.css","webpack:///src/app/report/report-commission/report-commission.component.ts","webpack:///src/app/report/report-karkard/report-karkard.component.css","webpack:///src/app/report/report-karkard/report-karkard.component.ts","webpack:///src/app/report/report-trip/report-trip.component.css","webpack:///src/app/report/report-trip/report-trip.component.ts","webpack:///src/app/shared/actlanuncher/actlanuncher.component.scss","webpack:///src/app/shared/actlanuncher/actlanuncher.component.ts","webpack:///src/app/shared/confirm-dialog/confirm-dialog.component.scss","webpack:///src/app/shared/confirm-dialog/confirm-dialog.component.ts","webpack:///src/app/shared/confirmmessage/confirmmessage.component.scss","webpack:///src/app/shared/confirmmessage/confirmmessage.component.ts","webpack:///src/app/shared/driver-card/driver-card.component.scss","webpack:///src/app/shared/driver-card/driver-card.component.ts","webpack:///src/app/shared/driver-queue/driver-queue.component.css","webpack:///src/app/shared/driver-queue/driver-queue.component.ts","webpack:///src/app/shared/inputselectItem/inputselectItem.component.css","webpack:///src/app/shared/inputselectItem/inputselectItem.component.ts","webpack:///src/app/shared/inputtext/inputtext.component.css","webpack:///src/app/shared/inputtext/inputtext.component.ts","webpack:///src/app/shared/materials/button.component.ts","webpack:///src/app/shared/materials/checkbox.component.ts","webpack:///src/app/shared/materials/data-table.component.ts","webpack:///src/app/shared/materials/date-picker.component.ts","webpack:///src/app/shared/materials/dropdown.component.ts","webpack:///src/app/shared/materials/plaque.component.ts","webpack:///src/app/shared/materials/text-area.component.ts","webpack:///src/app/shared/materials/text-field.component.ts","webpack:///src/app/shared/materials/time-picker.component.ts","webpack:///src/app/shared/materials/ui-loader.component.ts","webpack:///src/app/shared/notifalertservice.service.ts","webpack:///src/app/shared/okmessage/okmessage.component.scss","webpack:///src/app/shared/okmessage/okmessage.component.ts","webpack:///src/app/shared/persiandateadapter.service.ts","webpack:///src/app/shared/searchplace/searchplace.component.css","webpack:///src/app/shared/searchplace/searchplace.component.ts","webpack:///src/app/shared/setorigindes/setorigindes.component.css","webpack:///src/app/shared/setorigindes/setorigindes.component.ts","webpack:///src/app/station/bottomsheetinfo/bottomsheetinfo.component.scss","webpack:///src/app/station/bottomsheetinfo/bottomsheetinfo.component.ts","webpack:///src/app/station/station-list/station-list.component.css","webpack:///src/app/station/station-list/station-list.component.ts","webpack:///src/app/station/station-member-select/station-member-select.component.scss","webpack:///src/app/station/station-member-select/station-member-select.component.ts","webpack:///src/app/station/station-member/station-member.component.scss","webpack:///src/app/station/station-member/station-member.component.ts","webpack:///src/app/station/trips/trips.component.scss","webpack:///src/app/station/trips/trips.component.ts","webpack:///src/app/station/viewstation/viewstation.component.css","webpack:///src/app/station/viewstation/viewstation.component.ts","webpack:///src/app/taximap/taximap.component.css","webpack:///src/app/taximap/taximap.component.ts","webpack:///src/app/taxiservice.service.ts","webpack:///src/app/test/push/push.component.scss","webpack:///src/app/test/push/push.component.ts","webpack:///src/app/test/queueset/queueset.component.css","webpack:///src/app/test/queueset/queueset.component.ts","webpack:///src/app/test/test/test.component.scss","webpack:///src/app/test/test/test.component.ts","webpack:///src/app/testapi/testapi.component.css","webpack:///src/app/testapi/testapi.component.ts","webpack:///src/app/testsocket/testsocket.component.css","webpack:///src/app/testsocket/testsocket.component.ts","webpack:///src/environments/environment.prod.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","webpackContextKeys","Object","resolve","module","exports","webpackEmptyAsyncContext","Promise","then","AddDebitComponent","pageTitle","operatorFromGroup","accName","required","comment","selector","template","ManageAccComponent","accService","matDialog","matSnackbar","dialog","columns","options","displayField","rtl","idField","hasChildrenField","actionMapping","mouse","dblClick","tree","node","$event","selectNode","ENTER","expandAll","nodeHeight","allowDrag","allowDrop","allowDragoverStyling","levelPadding","useVirtualScroll","animateExpand","scrollOnActivate","animateSpeed","animateAcceleration","scrollContainer","document","documentElement","nodes","hasChildren","children","parentID","sysRecord","value1","value2","getAccList","subscribe","res","console","log","data","selectedData","openOperatorDialog","Add","Edit","_mode","_data","currentFormMode","reset","currentEditingOperator","patchValue","operatorDialogRef","open","operatorDialogTemplateRef","hasBackdrop","width","valid","formValues","value","insert","_id","push","duration","update","close","confirmRef","message","buttonText","ok","cancel","afterClosed","_confirmed","MasterAccComponent","AbonmanviewComponent","drivService","year","month","filter","abonmanList","_res","calcTotal","BulkabonmanComponent","dialogRef","maxValue","SettingComponent","taxiService","fixedPoorsant","dateFixedPoorsant","Date","commission","suspendDarEkhtiar","stationExit_BackOpportunity","timeForExitAfterGpsNotSend","UpdatePriceTimeForDriver","DriverDebitThreshod","CardNoForPay","VanQueue_HeadTime","VanQueue_OtherTime","VanQueue_SelectedDriverTime","Van_ReadyMessage","Van_MinimumValueForQueue","MonthlyAbonman","fillInitValue","updateSetting","readConfig","forEach","item","title","setValue","AppComponent","router","srv","swUpdate","available","activateUpdate","window","location","reload","events","event","logInfo","JSON","stringify","writeLog","maskConfig","validation","AppModule","declarations","entryComponents","imports","withServerTransition","appId","forRoot","path","redirectTo","pathMatch","component","canActivate","register","enabled","production","providers","provide","useValue","useClass","multi","deps","bootstrap","BaseInfoComponent","baseIService","route","currentGroupID","currentMasterInfo","getMasterInfo","loadMaster","getList","operators","queryParams","params","loadData","name","index","findIndex","_item","splice","groupId","CallmanagerComponent","currentServiceService","renderer2","allserviceList","filteredList","dataSource","sort","selectedRowIndex","selectedElement","displayedColumns","telCall","driverCode","passangerName","address","stationCode","recordCount","showwaiting","showreserved","currentGuid","pauseUpdate","pageSize","row","key","selectRootElement","focus","preventDefault","cancelTrip","requestID","editService","setManualDriver","serviceGuid","which","keyCode","forwardNext","srcElement","element","nextControlDic","related","reportAll","guidDriver","loadPassangerReport","schedulJon","setInterval","schedulingupdatestatus","changedItem","checked","navigate","guid","valp","clearInterval","length","includes","passangerAddress","stationID","toString","passangerMobile","serviceStateName","trip","dialogmsgBoxRef","msgText","msgTitle","result","cancelServiceByRequest","ReProposedRequest","finishService","dCode","dialogSetPriority","exitDriver","guidRequestParam","typeAction","dialogProposedServiceRef","guidRequest","actionType","autoFocus","infoItem","dialogPredicRef","info","driverIDParam","dialogDriverLogRef","maxHeight","driverID","dialogPropLIstServiceRef","NewCcComponent","NewuiccComponent","DriverProfileComponent","currentDriverStatus","getStatus","Traveling","InpDateTimeComponent","selectedhour","selectedminute","date","min","max","LogcallComponent","callCenterService","Line","No","saveLogCall","p","LoginComponent","opService","errorText","hasError","localStorage","removeItem","cur_url","loginFormGroup","username","password","android","nativeElement","click","cur_fbsToken","getItem","loginAll","errorString","isOperator","operatorData","guidCode","isDriver","driverData","setItem","cur_u_tkn","tk","cur_u_name","MasterCcWebComponent","notifAlert","operatorInfo","sharedData","changedRecived","next","complete","loadOperatorInfo","operatorguid","getOperatorInfo","drawer","toggle","MasterCcComponent","renderer","_document","operatorService","adminLevel","logout","isActive","ComplaintsComponent","complaintServiceService","visible","visibleChange","allComplaintList","isLoading","detailsVisible","complaintForm","passangerFName","originAddr","description","destinationAddr","loadComplaintReport","reportAllComplaint","get","fire","DashboardComponent","dashboardService","telID","dashboard","href","getDashboard","t","todayCount","monthCount","DrivermonitorComponent","serviceService","taxiSerivce","stationSerivce","originPoint","mobileSearch","nationalCodeSearch","driverFNameSearch","driverCodeSearch","currentFBSToken","outOfServiceCount","station100Count","waitingOnStationCount","travelingCount","allCount","driverClick","DriverMarkerList","statuesString","outOfService","station100","waitingOnStation","traveling","updateMap","schedulingUpdateMonitoring","valueChanges","clearTimeout","indexOf","observer","getAllForMonitor","removemarker","lstDriver","x","currentStatus","driver","addDriverMarker","driverList","refreshData","marker","addMarker","lat","lng","getMarkerTypeForMonitoring","on","onDriverMarkerClick","driverStatusInfo","getService","bindPopup","fName","lName","text","mobile","lastActivity","passangerLName","status","Off","OutOfService","grayDriver","Station100","greenDriver","WaitingOnStation","yellowDriver","redDriver","i","emit","setTimeout","s","getAddressFromLocation","desc","cordinates","evt","initMarker","setLatLng","removeMap","q","loc","getLatLng","setView","openPopup","FormsListComponent","FoundedObjectsComponent","foundedObjectServiceService","allFoundedObjectList","foundedObjectForm","loadFoundedObjectReport","reportAllFoundedObject","LogsComponent","logServiceService","httpClient","allLogList","typesString","error","getConfig","gpsLogTime","gpsLogDistance","logSocketServer","logSocketClient","serverOffTime","tarikhAz","tarikhTa","timeAz","timeTa","setConfigControls","type1","type2","type3","type20","type99","type100","type0","typeInput","deviceID","deviceModel","managerFormGroup","loadLogReport","reportAllLog","updateConfig","deleteLogs","ids","deleteLogsList","deleteLog","deleteLogByType","NewCallSimpleComponent","placeService","socketService","sanitizer","requestService","stationready","passangerServicesCount","isExpanded","callFormInsertMode","logs","driverStation","telIDCaller","passangerFullName","originAC","moarefID","typePardakht","typeService","destAC","passangerComment","serviceRequestComment","price","serviceCountValue","pos","maeloolin","darEkhtiar","amanati","khadamat","maledriver","femaledriver","reserveMode","stationCapacity","passangerReservedCount","lockDriver","selectedOrigins","selectedDestination_Filter","selectedOrigins_Filter","originMarkerIcon","iconSize","iconAnchor","iconUrl","shadowUrl","destMarkerIcon","carClasses","reserveSelectableDate","savedPlaceItems","passengerId","reserveModal","nearbyStationsModal","stationId","waitingPassengers","capacityCounts","carInStationCounts","driverMarker","currentStation","typesOfShoes","BackMode","CurrentReserved","CarList","passangerServiceCount","currentIDForUpdate","transactionID","selectedDriverIndex","dateControl","tarikhReserved","timeRserved","mode","debounce","fn","ms","timeoutId","args","apply","counter","saveRequestClickDebounce","saverequestLog","showPrice","driverCodes","meesageList$","msg","processMessage","messageBox","msgType","GetClientInfo","fillBaseInfo","loadStation","passangerFormGroup","gpsTest","getIDCaller","gotoupdate","val","loadStationList","loadStationStatics","_initMap","loadSavedPlace","parse","slice","count","target","TypePardakht","lstTypePardakht","TypeService","lstTypeService","getAllMoaref","lstMoaref","passangerID","getSavedPlace","setOrigin","setDestination","getNeighbors","getStationQueue","safeAvatar","bypassSecurityTrustUrl","avatar","loadDriverByIndex","getStation","capacity","reservedCount","queuelist","selectDriver","report","getCurrentReserved","getLastRequest","extraButtonText","peygiri","passangerInfo","checkLastService","checkLastReserved","startsWith","fixedComment","serviceCount","fillCall","getCallerInfoByMobile","fillPassangerInfoFromModel","_reset","getCall","callInfo","tel","passMobile","mobilesString","mobiles","mobilesList","split","mobilesListFiltered","el","trim","passangerMobiles","loadPassangerInfo","getCurrentCallInfo","y","destLatLng","originLatLng","ev","option","searchMap","isValid","requestComment","operatorID","saveServiceSimple","makeid","originMarker","remove","destMarker","originOptions","destinationOptions","resetStationDetail","checkForBackToCaller","clear","mainvalue","addvalue","replace","addTerm","subTerm","dialogCreatedServiceRef","getAllStationList","lstStation","station","serviceResult","diffMs","getTime","diff","Math","abs","saveRequest","dupRef","setParam","driverFound","verticalPosition","horizontalPosition","panelClass","showCreatedService","driverNotFound","inSearchingDriver","update_lastServiceIsCancel","update_NoChange","update_SentAlarmForDriver","err","resetElse","drv","selectedDriver","ctrlKey","dialogStationDetailRef","navigator","geolocation","getCurrentPosition","position","watchPosition","showStationDetails","showStationMember","characters","charactersLength","charAt","floor","random","getRequestServiceByID","selectedStationID","maleDriver","femaleDriver","typeCars","selectedCars","saveRequestForQueue","mapDialogRef","origin","des","originLoc","destLoc","method","dialogStationMemberRef","queue","selectedqueueList","NewCallVanComponent","destinationLat","destinationLng","originLat","originLng","destination2Addr","destinationLat2","destinationLng2","passenger","nationalCode","gender","saveService","alertWanReady","NewCallWebComponent","reservedUntilMinute","fNameMoshtarek","firstdriverCode","firstdriverMobile","firstdriverPelaque","TypeCarOfCurrentDriver","workingmobilecontrol","personalMobile","posStatusControl","stationMarker","addStationMarker","sendMessage","serviceGUID","RequestServiceUpdate","RequestServiceCreate","hour","minute","reservedService","reservedres","pelaque2","pelaqueLetter","pelaque3","pelaqueIR","workingMobile","carName","colorName","altKey","showReserved","Action","reservedRequestForQueue","NewCallComponent","PassangersComponent","passangerServiceService","allPassangerList","passangerForm","natinoalCode","reportAllPassanger","RegisterComplaintComponent","dataItem","onSendToServer","serviceDateTime","createDateTime","insertComplaint","RegisterFoundedObjectComponent","insertFoundedObject","RegisterPassangerComponent","loadpassangerInfo","insertPassanger","RegisterStationComponent","stationServiceService","stationFormGroup","radios","insertStation","SearchFormsComponent","http","allServiceList","dateAz","dateTa","whereString","serviceStates","stateNumber","searchForm","searchKeyWord","serviceState","selectedStateNumbers","formState","dataz","datTa","reportAllService","fieldName","UpdatePrice","guidService","dialogfinishRef","Delete","StationsComponent","setEmptyStation","getCenter","getOriginAddressDesc","onStationMarkerClick","withMarker","getAllStations","updateStationMarker","addinitialMarker","stationInput","TrafficmonitorComponent","driverService","passangerFNameSearch","passangerMobileSearch","lstDriverPosMarker","clearPoints","getAllDriverPosition","markerPos","addPositionMarker","createPositionMarker","relatedServiceID","getServiceByID","shamsiCreateDateTime","speed","toFixed","addTo","m","OperatorsComponent","getAll","operatorName","voipNo","SaveDriverInfoComponent","driverFullName","driverMobile","callFormGroup","nCode","getDriverByNCode","loadInfo","saveManualInfo","SetmanualdriverComponent","drvService","currentRequest","driverName","actionTypeName","firstEnter","loadRequestInfo","getRequestService","saveServiceManualByAdmin","getDriverByCode","onBlurDriverCode","accept","StationdetailComponent","detailService","detailsList","sid","DriverGuardGuard","driverSerivce","state","guidToken","verifyToken","segments","providedIn","CallInfoComponent","CancelbydriverComponent","serviceutil","seasons","today","serviceDate","serviceInfo","diffMins","round","cancelService","favoriteSeason","ConfirmInfoComponent","currentguid","driverInfo","carInfo","loadDriverInfo","getDriverBySuccessfuGUID","car","url","base64Image","bypassSecurityTrustHtml","errorCode","None","setSuccessfullResult","DriverLogComponent","getAllLog","DriverMenuComponent","_bottomSheetRef","Mande","MandeString","mande","mandeString","itemName","dismiss","DrivermismmatchComponent","ExitalarmComponent","untilSecond","dtOutOfRange","check","parseInt","act","FinishserviceComponent","requestSerivce","passengersCount","satisfaction","totalCollected","inputGuid","anam","destination","currentService","UpdateFinishWithDestination","Finished","FreeserviceComponent","getFreeService","list","requestGUID","GooriginComponent","bottomSheet","_location","showBottomDiv","showDetails","callMobile","CurrentState","GotoOrigin","config","checkState","updateServiceState","notifyServiceStateChange","updateCurrentState","OriginReceived","PassangerArrived","disableClose","DriverFound","phone","safedriverAvatar","driverAvatar","_resReq","typePardakhtName","correctPhone","showmapdetails","newState","typeMsg","ServiceState_OriginReceived","ServiceState_PassangerArrived","showbot","setstate","serviceGetLastState","destinationMarker","locate","taxi","LoginAppNewComponent","fbsToken","is_created","saveLauncherInfo","currentversion","old_fbsToken","version","getDriverSuccessfullGUIDWithToken","loadDriverByCacheID","cachID","set","goConfirm","getDriverFBSToken","guidfbs","fbs","uid","LoginShahremanComponent","errorShow","currentuid","checkForUpdat","handleShahremanToken","tempGuid","LogoutComponent","MasterDriverComponent","_bottomSheet","currentPriority","_currentDriverState","drawer2","MenuDriverComponent","MessgaenotifComponent","MytripsComponent","reportDriver","updatablePrice","updatePrice","finishedService","NewComponent","fb","userInfo","group","pattern","nCodeValidator","getDriverByNationalCode","driverGUID","sendVerification","_smsguid","guidS","guidD","errorMessage","control","PeygirialertComponent","PlayfileComponent","fileutil","onAudioPlay","audioPlayerRef","play","playStream","ProfileComponent","profileService","profile","getProfileToday","profileToday","getProfile","todayPrice","workTimeHour","workTime","workTimeMinute","serviceTimeHour","serviceTime","serviceTimeMinute","nowDate","thisMonth","toShamsi","monthTitle","monthPrice","workTimeHourMonth","workTimeMonth","workTimeMinuteMonth","serviceTimeHourMonth","serviceTimeMonth","serviceTimeMinuteMonth","farsiLables","prices","Number","workTimes","serviceTimes","monthCounts","farsiDate","getFullYear","getMonth","currentMonth","dataChart","labels","datasets","label","reportDriverComplaints","getDriverByFBSToken_OnlyInfo","unsubscribe","ProposedRequestComponent","getRequestByPropsedCode","getRequestInfo","PropsoedListComponent","getPropsoedReport","ShowcreatedserviceComponent","curerntinfo","loaddata","ShowfreeservicelistComponent","SnackbarexitdriverComponent","forsat","preClose","StationComponent","swPush","cuerrentVersion","currentStep","destinationPoint","StateName","OutOfRange","gpsFailedTry","driverCount","requestCount","inChangeUpdateMode","stationExit_No_Alarm_PauseClicked","stationExit_No_Alarm_CloseClicked","now","initLoad","getNewPosition","setPosition","enableHighAccuracy","getlastState","UpdateStateFromServer","_r","setgps","getAndFetch_StatusInfo","gpsLat","gpsLng","getCurrentStationID","LogoutForConcurrency","signout","Locked","priority","gotogps","_stationInfo","newStatus","goOnline","updateDriverStatus","dialogFreeServiceRef","getPropsedByDriver_Service","showProposedRequest","GetSuccesfullService","Origin","setState","OriginDefine","cord","initLocation","getDriverByGUID","moveCurrentGPS","coords","latitude","longitude","snackBarStationExit","pause","currentLat","currentLng","distKM","getDistanceFromLatLonInKm","InRange","stopAlarmStation","seenAlarm","openFromComponent","methodname","setdefaultStation","getStationList","addToQueue","stationInfo","driverGuid","afterDismissed","dataFromChild","addtoStation","saveDriverStateOnDatabase","bottomSheetRef","gotoOrigin","mytrip","showFreeServices","turnOff","forceUpdate","myProfile","saveHearBit","getLastStatus","DestinationDefine","addmarker","addOriginMarker","RequestTrip","addDestinationMarker","setFromCordinate","ln","routing","encoded","latLng","PassangerInfo","saveManualService","modiforigin","modifyDestination","dialogProfileMemberRef","SetDriverInfo","ProposedRequestServive","FinishedProposedRequestServive","FinishedBroadCastRequestServive","RequestServiceCancelByPassanger","ServiceGetSubmitedSuccessfully","gotoRunService","acceptRequest","rejectRequest","logOutFToken","SummaryinfoComponent","drvSservice","getDriverWithoutFBSToken","TestMapComponent","TestSocketComponent","callService","testWS","TestviewComponent","isVan","destinationInput","lastReset","lastGPSMinute","balebotURL","saveDriverFBS","fbsres","warn","lastGPSRecieveDistanceSecond","resetGPS","lockComment","locateManual","dialogStationListRef","showStation","dialogsearchPlaceRef","height","addHomaInit","addFreeInit","addMadineInit","newstr","showSearchPlace","showStationList","gotopay","myShift","allShift","startPay","testLog","addressname","setText","dialogMyShiftRef","myInfo","dialogShiftRef","placeAddr","UnlocknotificationComponent","ccService","checkActive","closePopupdialog","proposedDialogClosed","refsnack","VerifysmsComponent","splitInputService","verificationCode","guidSms","checkVerification","processResult","getText","confirm","clearSplitInput","WaitforconfirmComponent","DrvMasterComponent","GlobalVariable","codemelli","fakeCode","Arr","Array","from","some","Sum","Last","divideRemaining","n","mdate","todayFa","getDateFormat","uDate","Intl","DateTimeFormat","format","BaseServiceURL","socketURL","AccBaseServiceURL","DriverBaseServiceURL","ShiftBaseServiceURL","UtilityBaseServiceURL","RequestServiceBaseServiceURL","StationBaseServiceURL","TestBaseServiceURL","ServiceBaseServiceURL","DashboardBaseServiceURL","ProfileBaseServiceURL","ComplaintBaseServiceURL","LogBaseServiceURL","FoundedObjectBaseServiceURL","PassangerBaseServiceURL","CallCenterBaseServiceURL","BaseInfoBaseServiceURL","OperatorBaseServiceURL","PassangerSavedPlaceBaseServiceURL","mokeFLAG","PageState","LocationInfo","ServiceState","DriverStatus","IDriverStatusMeta","statusMap","Blocked","color","Vacation","FormMode","MarkerType","markerHelper","markertype","txt","AccServiceService","post","AudioService","audioObj","Audio","stop$","src","load","currentTime","streamObservable","pipe","BaseInfoEnum","BaseInfoService","moke","masterID","opID","CallCenterService","subscriber","responseType","carType","pelaque","currentCarID","line","no","Title","Body","DriverID","ComplaintserviceService","creatorUserID","whereCondition","orderByExpression","DashboardService","operatorGUID","DriverserviceService","body","newtoken","oldToken","newPriority","shiftName","fileToUpload","formData","FormData","append","token","guidT","ID","headers","actionstring","Status","endpoint2","auth2","p256dh","ncode","statuses","searchkw","selectedShift","refID","refType","typeCar","IsCredit","comission","abonman","shiftNightDriverID","shiftAsrDriverID","DateTime","shiftTables","ErrorIntercept","request","handle","ErrorEvent","FoundedObjectserviceService","LogserviceService","types","type","OperatorService","userName","passWord","needSocket","PassangerserviceService","ProfileService","ReportService","dateStart","dateFinish","keyword","datePrefix","SavedPlaceService","placeName","ServiceRequestService","daleyTime","distanceKM","distanceMinute","getMockServiceRequest","serviceID","ServiceserviceService","carTypeName","colorTypeName","driverFName","driverLName","getMokeService","queueID","ServiceGUID","Price","Anam","CountOfPassangers","DriverVoteToPassanger","Destination","Comment","ServiceID","RequestComment","psng","transID","String","newServiceState","ServiceRequestID","StationID","time","StationService","StationserviceService","getMokeStation","RequestID","content","TaxiserviceService","destlat","destln","distanceText","distanceValue","durationText","durationValue","polylines","summaryTotal","term","userid","userType","WebSocketService","socket","WebSocket","addEventListener","requestAsJson","send","ChangestationComponent","currentStationService","currentInfo","getPredictStation","currentList","keydownEvents","onCancel","backdropClick","ManageDebitComponent","taxiservice","total","totalDebit","totalCredit","currentRefID","currentIsCredit","credit","debit","getAllDebit","getDriverByID","CurrentDriver","isCredit","lockFromGroup","lock","lockDialogRef","operator","unlock","insertdebit","readConfigValue","updateComission","defaultCommission","ManageDriverComponent","driverSearchKey","ColorList","getAllWithShift","getListKeyValue","lockDialogTemplateRef","selected","checkedItem","files","uploadFileToActivity","postFile","did","gid","serializeUrl","createUrlTree","readDefaultStation","updateDefaultStation","defaultAbonman","updateAbonman","updateShift","updateShif","resetVanQueue","MyshiftComponent","getShiftTable","SetpriorityComponent","setPriority","ShiftSchedulerComponent","startNumber","startNumber_Showing","endNumber","skipFirstCount","monthNumber","dayInWeekNumber","rowCount","tableData","tableGenerated","driverNames","AvalShab","fill","currentNumber","date_dayNumber1","date_dayNumber2","driver1Code","driver2Code","driver1Name","driver2Name","print","shift","colIndex","rowIndex","monthNumber1","monthNumber2","dIndex","getAllDriverForSchedule","firstFive","rest","concat","driver2","driver1","mid","saveShiftTable","ShiftlistingComponent","getAllShiftTable","TripmanageComponent","searchKeyword","MessageboxComponent","messageText","ServiceRequest","requestGUI","dateTimeForDisplay","ManualServiceRequest","originMeter","PropsoedReport","CallLog","Car","Dashboard","Driver","DriverStatusInfo","getDriverInfo","DriverPositionHist","NationalCodeCheckResult","DriverLog","ErrorOutput","ErrorOutputMessage","VerificationSms_CodeIsMismatch","VerificationSms_GUIDCodeNotFound","VerificationSms_SentCodeTimeOut","VerificationSms_TryCountMaximumReached","DriverLogin_driverNotFound","DriverLogin_MobileIsMisMatch","DriverLogin_ShahkarFailed","DriverSuccessfull_GUIDMismatch","driverStatusinStation","StationSteps","LastCallInfo","OperatorTable","Passanger","Profile","routingInfo","searchResult","SaveServiceResult","saveservicresultType","Service","ServiceInfo","AllServiceInfo","IShift","SocketMessage","NotificationModel","SquareChangeRequest","Square","SocketMessageType","Station","StationNeighbor","StationQueueInfo","NewrequestComponent","passangerGuid","announcement","processReceivedSocketMessage","SetPassangerInfo","ServiceRequestAssigned","closeloadingBar","DriverNotExistForThisRequest","openNotFoundError","startSocket","openloadingBar","dialogRefDrvNotFound","saveServiceReuest","NewFooterComponent","NewMenuComponent","NewNavbarComponent","NewUserinfoComponent","NewtestComponent","DrivernotfoundComponent","ServiceruningComponent","service","loadService","WaitforRequestComponent","MonthbymonthComponent","repSrv","totalprice","totalcommission","totalmande","totalEtebari","totaldebitCreditMande","driveracc","reports","debitCreditMande","sumPrice","commissionValue","sumEtebari","first","MandeKol","commissionInfo","reverse","mandeMain","MonthByMonthReport","calctotal","CommissionReport","calcMande","ReportBydriverComponent","kw","getAllDriver","displayDriver","filteredOptions","_filter","filterValue","toLowerCase","driverObject","child","ReportByoperatorComponent","operatorList","displayOperator","operatorObject","ReportCommissionComponent","totalbedehkari","totalbestankari","dayPrefix","yearPrefix","getCurrentDate","GetCurrentActiveDate","prc","ReportKarKardComponent","isFirst","nextMande","driverId","bedehkari","bestankari","KarkardReport","defValue","UpdateDestination","UpdateRequestComment","lst","UpdateTypePardakht","UpdateAnam","drvID","ReportTripComponent","ServiceReport","ActlanuncherComponent","ConfirmDialogComponent","confirmButtonText","cancelButtonText","onOKClick","onNoClick","onExtrClick","ConfirmmessageComponent","DriverCardComponent","DriverQueueComponent","InputselectItemComponent","selectedID","InputtextComponent","ButtonComponent","loading","icon","disabled","sqaure","raised","tooltip","onClick","CheckboxComponent","onChange","model","DataTableComponent","contents","actions","onActionButtonClick","f","DatePickerComponent","textAlign","inputDirection","onChangeListener","isDisabled","useExisting","DropdownComponent","items","editable","placeHolder","optionLabel","undefined","showClear","PelqueComponent","_formBuilder","_focusMonitor","_elementRef","_formField","ngControl","parts","area","minLength","maxLength","exchange","stateChanges","focused","touched","controlType","nextId","_","onTouched","_required","_disabled","valueAccessor","empty","_placeholder","disable","enable","MyTel","invalid","stopMonitoring","contains","relatedTarget","nextElement","errors","focusVia","prevElement","controlElement","querySelector","setAttribute","join","controls","subscriberInput","exchangeInput","areaInput","autoFocusNext","host","TextAreaComponent","TextFieldComponent","inputType","showButtons","useGrouping","keyDown","TimePickerComponent","appendTo","UiLoaderComponent","animateTime","loaderElement","classList","add","getElementById","NotifalertserviceService","paramSource","param","OkmessageComponent","PERSIAN_DATE_FORMATS","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","MaterialPersianDateAdapter","clone","jYear","jMonth","jDate","day","style","jMonths","jMonthsShort","valuesArray","weekdays","weekdaysShort","firstDayOfWeek","jDaysInMonth","locale","hours","minutes","seconds","milliseconds","parseFormat","displayFormat","years","months","days","obj","SearchplaceComponent","searchvalue","currentlat","currentlng","lstStation_Filter","listAll","lstPlace","lstPlace_Filter","lstsearchItem","search","st","selectpoint","plc","pl","SetorigindesComponent","OriginDestinationStep","S1_Origin","returnData","locationMarker","S2_Destination","S3_Start","addDestMarker","addLocationMarker","removeOriginMarker","removeLocationMarker","removeDestMarker","changeDest","changeOrigin","BottomsheetinfoComponent","removeQueue","dialogStationTripRef","addQeueMethod","removeFromQueue","StationListComponent","StationMemberSelectComponent","onSelectChange","onSelectButtonChange","selectable","queueList_Filter","queueList","getStationQueueWithOther","_setSelected","unshift","StationMemberComponent","TripsComponent","reportQueue","ViewstationComponent","AcceptProposedRequest","RejectProposedRequest","getLocation","addStationMarkerWithInfo","InQueue","TaximapComponent","mapClick","moveMap","moveEnd","stationClick","StationMarkerList","bindMap","initilizeMapEvent","getElementsByClassName","getBoundingClientRect","top","left","setViewparam","typeM","currentGPS","maxZoom","gpsCirle","removeControl","latlng","onLocationError","mapContainer","attributionControl","zoomLevel","lon","markerType","isdragable","markerOject","getMarker","draggable","getMarkerText","htmlMarker","customIcon","className","html","popupAnchor","onStationClick","getPopup","currentCircle","removeLayer","positionLatLng","bearing","positionMarker","lat1","lon1","lat2","lon2","R","dLat","deg2rad","dLon","a","sin","cos","c","atan2","sqrt","d","deg","PI","off","telNo","PushComponent","VAPID_PUBLIC_KEY","requestSubscription","serverPublicKey","pushSubscription","SaveNotifInfo","sendNotif","QueuesetComponent","drvguid","TestComponent","TestapiComponent","stationService","TestsocketComponent","dateTime","environment","getBaseUrl","getElementsByTagName","useFactory","bootstrapModule"],"mappings":"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;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;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","file":"main-es5.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"
\\r\\n

{{currentFormMode === FormMode.Add ? 'افزودن' : 'ویرایش'}} {{pageTitle}}

\\r\\n
\\r\\n
\\r\\n \\r\\n قیمت \\r\\n \\r\\n پر کردن عنوان الزامی است\\r\\n \\r\\n \\r\\n بابت\\r\\n \\r\\n پر کردن شرح الزامی است\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{ node.data.accName }}\\r\\n
\\r\\n
\\r\\n {{node.data[columnName]}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{currentFormMode === FormMode.Add ? 'افزودن' : 'ویرایش'}} {{pageTitle}}

\\r\\n
\\r\\n
\\r\\n \\r\\n عنوان \\r\\n \\r\\n پر کردن عنوان الزامی است\\r\\n \\r\\n \\r\\n شرح\\r\\n \\r\\n پر کردن شرح الزامی است\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"

master-acc works!

\\n\\n\";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n لیست آبونمان\\r\\n\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n سال\\r\\n \\r\\n \\r\\n \\r\\n ماه\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n تعداد : {{recordCount}}\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n ردیفماهنام رانندهکد رانندهمبلغعملیات
\\r\\n \\r\\n \\r\\n {{i + 1}}{{operator.fName}}{{operator.driverCode}}{{operator.username}}{{operator.workingMobile}}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"

ثبت آبونمان

\\r\\n
\\r\\n

\\r\\n \\r\\n سال\\r\\n \\r\\n \\r\\n \\r\\n ماه\\r\\n \\r\\n \\r\\n \\r\\n مبلغ آبونمان\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

ثبت فرم تماس

\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n فعال\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n  \\r\\n
\\r\\n\";","export default \" \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n person_add_alt_1\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

مدیریت {{currentMasterInfo.groupName}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
ردیفشناسهعنوانشرحعملیات
{{i + 1}}{{operator.id}}{{operator.name}}{{operator.comment}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n

{{currentFormMode === FormMode.Add ? 'افزودن' : 'ویرایش'}} {{currentMasterInfo.groupName}}

\\r\\n
\\r\\n

لطفا موارد فرم زیر را پر کنید.

\\r\\n
\\r\\n \\r\\n عنوان\\r\\n \\r\\n پر کردن عنوان الزامی است\\r\\n \\r\\n \\r\\n شرح\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\";","export default \"
\\r\\n \\r\\n مدیریت و نظارت سفرها\\r\\n \\r\\n \\r\\n \\r\\n کد راننده\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n تلفن تماس\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n نام مشترک\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n آدرس مشترک\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n ایستگاه\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n تعداد : {{recordCount}}\\r\\n\\r\\n\\r\\n \\r\\n توقف بروزرسانی\\r\\n \\r\\n \\r\\n نمایش سرویس های در انتظار\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
ردیف {{i+1}}-{{element.requestID}} نام میهمان {{element.passangerName}} تلفن میهمان {{element.passangerMobile}} مبدا {{element.originAddr}} مقصد {{element.destinationAddr}} توضیحات {{element.tripComment}} ایستگاه {{element.stationID}} ویرایش\\r\\n \\r\\n ثبت دستی\\r\\n \\r\\n ارسال پیشنهاد\\r\\n \\r\\n ارسال مجدد\\r\\n \\r\\n لاگ راننده\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n صف\\r\\n \\r\\n ثبت اولویت\\r\\n \\r\\n اتمام \\r\\n \\r\\n خروج\\r\\n \\r\\n انصراف \\r\\n \\r\\n راننده {{element.driverCode}} تلفن راننده {{element.driverMobile}} زمان سپری شده {{element.timedConsume}} وضعیت {{element.serviceStateName}} کاربر اعزام {{element.operatorName}} تعدادراننده {{element.driverCount}}
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

سفارشات جدید

\\r\\n 524\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n 10٪ \\r\\n از ماه گذشته\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

رزرو جدید

\\r\\n 1،258\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n 10٪ \\r\\n از ماه گذشته\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

استعلام

\\r\\n 10،225\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n 10٪ \\r\\n از ماه گذشته\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

درآمد

\\r\\n 2،658 تومان\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n 10٪ \\r\\n از ماه گذشته\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

درآمد

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

درآمد

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

پیش نویس سریع

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
کل فروش ماهانه
\\r\\n
\\r\\n
\\r\\n \\r\\n 20٪ از سال گذشته بالا است.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

سفارشات اخیر

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
نام نگهبانشماره سفارشوضعیتمیزانجزئیات
\\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n
\\r\\n
کارا استیونز
\\r\\n
مشتری اصلی
\\r\\n
\\r\\n
\\r\\n
CT56743\\r\\n
30٪
\\r\\n
\\r\\n
\\r\\n
\\r\\n
955 تومان\\r\\n
\\r\\n جزئیات\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n
\\r\\n
جان دو
\\r\\n
مشتری عادی
\\r\\n
\\r\\n
\\r\\n
OT58743\\r\\n
50٪
\\r\\n
\\r\\n
\\r\\n
\\r\\n
234 تومان\\r\\n
\\r\\n جزئیات\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n
\\r\\n
مدیر سایت
\\r\\n
مشتری اصلی
\\r\\n
\\r\\n
\\r\\n
KJ76543\\r\\n
43٪
\\r\\n
\\r\\n
\\r\\n
\\r\\n
2432 تومان\\r\\n
\\r\\n جزئیات\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n
\\r\\n
\\r\\n اشتون کاکس\\r\\n
\\r\\n
مشتری اصلی
\\r\\n
\\r\\n
\\r\\n
FD56743\\r\\n
65٪
\\r\\n
\\r\\n
\\r\\n
\\r\\n
234 تومان\\r\\n
\\r\\n جزئیات\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n
\\r\\n
حسن بصری
\\r\\n
مشتری عادی
\\r\\n
\\r\\n
\\r\\n
XU56743\\r\\n
39٪
\\r\\n
\\r\\n
\\r\\n
\\r\\n
747 تومان\\r\\n
\\r\\n جزئیات\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

جزئیات پروژه

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#نام پروژهمشتریتیمپیش رفتنتاریخ شروعتاریخ تحویلعمل
\\r\\n
\\r\\n \\r\\n
\\r\\n
وب سایت تجارت الکترونیکیمدیر سایت\\r\\n
    \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • +4
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
19 ژوئیه 201825 مارس 2019\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
برنامه Androidایری ساتو\\r\\n
    \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • +2
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
21 مارس 201522 ژوئیه 2017\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
طراحی آرماشتون کاکس\\r\\n
    \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • +5
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
02 فوریه 201812 مارس 2019\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
پروژه جاواکارا استیونز\\r\\n
    \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • 1+
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
19 ژوئیه 201825 مارس 2019\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
وب سایت تجارت الکترونیکیجان دو\\r\\n
    \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • +2
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
11 مه 201715 مارس 2018\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
برنامه Androidآنجلیکا راموس\\r\\n
    \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • +2
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
02 ژوئن 201805 آوریل 2019\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\r\\n 10٪\\r\\n از ماه گذشته\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
91٪
\\r\\n

آنلاین

\\r\\n
\\r\\n
\\r\\n
\\r\\n

آفلاین

\\r\\n
\\r\\n
\\r\\n
\\r\\n

NA

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

آخرین معاملات

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#شماره سفارشنام نگهبانوضعیتمیزانویرایش کنید
\\r\\n \\\"تصویر\\\"\\r\\n XY56987جان دئوتایید955 تومان\\r\\n \\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n XY12587مدیر سایتپرداخت ناموفق215 تومان\\r\\n \\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n XY58987جان دوتایید125 تومان\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"

newuicc works!

\\r\\n\";","export default \"\\r\\n \\r\\n
\\r\\n \\r\\n person_search\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
صادق عیدی‌زاده
\\r\\n
وضعیت: {{currentDriverStatus.text}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n drive_eta\\r\\n
{{'405 نقره‌ای'}}
\\r\\n
{{'12 ب 6492'}}
\\r\\n
\\r\\n
\\r\\n \\r\\n weoufawhe\\r\\n \\r\\n
\\r\\n\";","export default \"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n ساعت : \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n دقیقه: \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"{{result}}\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n نام کاربری خود را وارد کنید.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n رمز عبور خودرا وارد کنید.\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n {{errorText}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{operatorInfo.operatorName}}
\\r\\n
{{operatorInfo.username}}
\\r\\n
\\r\\n
\\r\\n
تعداد روزانه
\\r\\n
{{operatorInfo.countThisOperator}}
\\r\\n
\\r\\n
\\r\\n
شماره سرویس
\\r\\n
{{operatorInfo.countAll}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n ورژن 1.1\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
تنظیم پنل
\\r\\n
\\r\\n
رنگ قالب
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
رنگ نوار کناری
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
تم رنگی
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

میزان حافظه

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n 26% باقی مانده است\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

بارگذاری سرور

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n در حال بارگذاری \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n جستجوی شکایت ها\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
نام: {{complaint.passangerFName}}
\\r\\n\\r\\n\\r\\n\\r\\n
مبدا: {{complaint.originAddr}}
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
تلفن: {{complaint.passangerMobile}}
\\r\\n\\r\\n
مقصد: {{complaint.destinationAddr}}
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
تاریخ سفر: {{complaint.tarikhStart}} - {{complaint.saatStart}}
\\r\\n\\r\\n
تاریخ شکایت: {{complaint.tarikhSabt}} - {{complaint.saatSabt}}
\\r\\n\\r\\n
\\r\\n\\r\\n شرح شکایت: {{complaint.description}}\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

تعداد فرم های امروز

\\r\\n {{dashboard.todayCount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n 10٪ \\r\\n از ماه گذشته\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

تعداد فرم های ماه

\\r\\n {{dashboard.monthCount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n 10٪ \\r\\n از ماه گذشته\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

داشبورد

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n داشبورد\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n تعداد فرم‌های امروز\\r\\n
\\r\\n {{dashboard.todayCount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n تعداد فرم‌های ماه\\r\\n
\\r\\n {{dashboard.monthCount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n مانیتورینگ خودروها\\r\\n \\r\\n \\r\\n کد راننده\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n نام\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n به روز رسانی\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n غیرفعال {{outOfServiceCount}}\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n آماده به سرویس {{station100Count}}\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n ثبت در ایستگاه {{waitingOnStationCount}}\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n در حال سفر {{travelingCount}}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
نام: {{serviceInfo.passangerName}}
\\r\\n\\r\\n \\r\\n\\r\\n
مبدا: {{serviceInfo.originAddr}}
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
ایستگاه: {{serviceInfo.stationID}}
\\r\\n\\r\\n
مقصد: {{serviceInfo.destinationAddr}}
\\r\\n\\r\\n
\\r\\n\\r\\n تلفن: {{serviceInfo.passangerMobile}}\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n جستجوی اشیا\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
نام: {{foundedObject.passangerFName}}
\\r\\n\\r\\n\\r\\n\\r\\n
مبدا: {{foundedObject.originAddr}}
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
تلفن: {{foundedObject.passangerMobile}}
\\r\\n\\r\\n
مقصد: {{foundedObject.destinationAddr}}
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
تاریخ سفر: {{foundedObject.tarikhStart}} - {{foundedObject.saatStart}}
\\r\\n\\r\\n
تاریخ اشیا: {{foundedObject.tarikhSabt}} - {{foundedObject.saatSabt}}
\\r\\n\\r\\n
\\r\\n\\r\\n شرح اشیا: {{foundedObject.description}}\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n مدیریت\\r\\n \\r\\n
\\r\\n \\r\\n کانفیگ ها\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n لاگ سوکت سرور\\r\\n \\r\\n \\r\\n لاگ سوکت کلاینت\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n لاگ ها\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n اعلان\\r\\n\\r\\n سفر\\r\\n\\r\\n gps\\r\\n\\r\\n اندروید\\r\\n\\r\\n حذف ساکت\\r\\n\\r\\n خطا\\r\\n\\r\\n سایر\\r\\n\\r\\n\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ردیفمتنآی دیمدلنوعزمان
{{i + 1}}{{log.logText}}{{log.deviceID}}{{log.deviceModel}}{{log.logType}}{{log.dateAndTime | date:'dd.MM.yyyy   HH:mm:ss.SSS'}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

ثبت فرم تماس

\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n در اختیار\\r\\n arrow_downward\\r\\n arrow_downward\\r\\n\\r\\n \\r\\n {{origin}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n یک\\r\\n دو\\r\\n سه\\r\\n چهار\\r\\n پنج\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

درخواست ون

\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{origin}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{origin}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\";","export default \"\\r\\n ثبت فرم تماس\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n شماره تماس گرفته شده\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n نام \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n شماره همراه مسافر\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n تعداد سفر تا کنون\\r\\n \\r\\n {{passangerServiceCount}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n مبدا\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{origin}}\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n یادداشت ثابت مسافر\\r\\n \\r\\n \\r\\n \\r\\n یادداشت فرم\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n رانندگان قفل : \\r\\n {{lockDriver}}\\r\\n
\\r\\n
\\r\\n \\r\\n مقصد\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n نوع خودرو\\r\\n \\r\\n \\r\\n {{\\r\\ncar.name\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{origin}}\\r\\n \\r\\n \\r\\n کارت خوان\\r\\n \\r\\n \\r\\n ویژه معلولین\\r\\n \\r\\n \\r\\n در اختیار\\r\\n \\r\\n \\r\\n امانتی\\r\\n \\r\\n \\r\\n خدمات\\r\\n \\r\\n \\r\\n اقا\\r\\n \\r\\n \\r\\n خانم\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n چند سرویسه\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n رزرو :\\r\\n
\\r\\n {{CurrentReserved.reservedDate}}
\\r\\n {{CurrentReserved.reservedTime}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n کد ایستگاه\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n تعداد خودرو در ایستگاه : \\r\\n {{currentStation?.length}}\\r\\n
\\r\\n
\\r\\n تعداد مسافر در انتظار : \\r\\n {{currentStation?.requestCount}} \\r\\n
\\r\\n
\\r\\n ظرفیت ایستگاه : \\r\\n \\r\\n {{currentStation?.capacity}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n کد راننده :\\r\\n \\r\\n \\r\\n \\r\\n نوع خودرو:\\r\\n \\r\\n \\r\\n \\r\\n تلفن همراه کاری:\\r\\n \\r\\n \\r\\n \\r\\n تلفن همراه شخصی:\\r\\n \\r\\n \\r\\n \\r\\n وضعیت کارت خوان:\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n پلاک:\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
ردیفتاریخساعت درخواست ساعت پذیرشایستگاه مبداء مقصد وضعیت راننده کرایه تاریخ رزرو عملیات
\\r\\n {{\\r\\ni + 1\\r\\n }}\\r\\n {{log.tarikhStart}}{{log.saatForm}}{{log.saatAccept}}{{log.stationID}}{{log.originAddr}}{{log.destinationAddr}}{{log.serviceStateName}}{{log.driverCode}}{{log.price}}{{log.reservedDate}} {{log.reservedTime}} \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

ثبت فرم تماس

\\r\\n \\r\\n تعداد سفر تا کنون :\\r\\n\\r\\n \\r\\n\\r\\n {{passangerServiceCount}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{origin}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
تعداد خودرو {{currentStation?.length}}
\\r\\n\\r\\n
تعداد مسافر {{currentStation?.requestCount}}
\\r\\n\\r\\n
ظرفیت {{currentStation?.capacity}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n جزئیات بیشتر\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n کارتخوان\\r\\n \\r\\n \\r\\n ویژه معلولین\\r\\n \\r\\n \\r\\n در اختیار\\r\\n \\r\\n \\r\\n امانتی\\r\\n \\r\\n \\r\\n خدمات\\r\\n \\r\\n \\r\\n آقا\\r\\n \\r\\n \\r\\n خانم\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n حالت رزرو\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n جستجوی اشتراک ها\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
نام: {{passanger.fName}}
\\r\\n\\r\\n
نام خانوادگی: {{passanger.lName}}
\\r\\n\\r\\n\\r\\n\\r\\n
تلفن: {{passanger.mobile}}
\\r\\n\\r\\n
کد ملی: {{passanger.nationalCode}}
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n ثبت شکایت\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
نام: {{passangerFName}}
\\r\\n\\r\\n\\r\\n\\r\\n
مبدا: {{originAddr}}
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
تلفن: {{passangerMobile}}
\\r\\n\\r\\n
مقصد: {{destinationAddr}}
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n ثبت اشیا\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
نام: {{passangerFName}}
\\r\\n\\r\\n\\r\\n\\r\\n
مبدا: {{originAddr}}
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
تلفن: {{passangerMobile}}
\\r\\n\\r\\n
مقصد: {{destinationAddr}}
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n ثبت اشتراک\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n {{stationID ? \\\"ویرایش\\\" : \\\"ثبت\\\"}} ایستگاه\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n جستجوی سفرها\\r\\n\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n مقصد:\\r\\n \\r\\n {{serviceInfo.destinationAddr}}\\r\\n \\r\\n
\\r\\n
\\r\\n راننده:\\r\\n\\r\\n\\r\\n \\r\\n {{serviceInfo.driverCode}} - {{serviceInfo.driverName}}\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
وضعیت: {{serviceInfo.serviceStateName}}
\\r\\n\\r\\n\\r\\n
کرایه : {{serviceInfo.price}}
\\r\\n\\r\\n
مبدا: {{serviceInfo.originAddr}}
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
نام: {{serviceInfo.passangerName}}
\\r\\n\\r\\n
تلفن: {{serviceInfo.passangerMobile}}
\\r\\n
نوع پرداخت: {{serviceInfo.typePardakhtName}}
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
ایستگاه: {{serviceInfo.stationID}}
\\r\\n\\r\\n
اپراتور: {{serviceInfo.operatorName}}
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
تاریخ سفر: {{serviceInfo.tarikhStart}} - {{serviceInfo.saatStart}}
\\r\\n
توضیحات: {{serviceInfo.tripComment}}
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n مدیریت ایستگاه ها\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n {{station.name}}\\r\\n\\r\\n
\\r\\n \\r\\n {{station.code}} \\r\\n \\r\\n {{station.radios}} \\r\\n \\r\\n {{station.capacity}} \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n\\r\\n \\r\\n \\r\\n مانیتورینگ تردد خودرو\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \" \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

مدیریت اپراتورها

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
ردیفشناسهشمارهنامنام کاربریداخلیعملیات
{{i + 1}}{{operator.id}}{{operator.mobile}}{{operator.operatorName}}{{operator.username}}{{operator.voipNo}}\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n

{{currentFormMode === FormMode.Add ? 'افزودن' : 'ویرایش'}} اپراتور

\\r\\n
\\r\\n

لطفا موارد فرم زیر را پر کنید.

\\r\\n
\\r\\n \\r\\n شماره موبایل\\r\\n \\r\\n پر کردن شماره همراه الزامی است\\r\\n \\r\\n \\r\\n نام\\r\\n \\r\\n پر کردن نام الزامی است\\r\\n \\r\\n \\r\\n نام کاربری\\r\\n \\r\\n پر کردن نام کاربری الزامی است\\r\\n \\r\\n \\r\\n گذر واژه\\r\\n \\r\\n پر کردن گذر واژه الزامی است\\r\\n \\r\\n \\r\\n داخلی\\r\\n \\r\\n پر کردن داخلی الزامی است\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\";","export default \"
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n کد ملی راننده \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{msg}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n نام و نام خانوادگی\\r\\n \\r\\n \\r\\n \\r\\n شماره همراه \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\";","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
مبدا:
\\r\\n
{{currentRequest.originAddr}}
\\r\\n
\\r\\n
\\r\\n
مقصد:
\\r\\n
{{currentRequest.destinationAddr}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n کد راننده\\r\\n \\r\\n \\r\\n {{driverName}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\";","export default \"
\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
ردیفنامزوجفرد
{{i + 1}}{{det.placeName}}{{det.zoj}}{{det.fard}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\";","export default \"\\r\\n\";","export default \"\\r\\n\\r\\n\\r\\n \\r\\n {{season.name}}\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\";","export default \"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
{{driverInfo.fName}}
\\r\\n
\\r\\n همراه:\\r\\n {{driverInfo.mobile}}\\r\\n
\\r\\n
\\r\\n کد ملی:\\r\\n {{driverInfo.nationalCode}}\\r\\n
\\r\\n
\\r\\n کد :\\r\\n {{driverInfo.driverCode}}\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n نوع ماشین :\\r\\n {{carInfo.carName}}\\r\\n
\\r\\n
\\r\\n رنگ:\\r\\n {{carInfo.colorName}}\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{carInfo.pelaque}}\\r\\n
\\r\\n
\\r\\n اطلاعات و مشخصات شما در بالا نمایش داده شده است. در صورت تایید اطلاعات ورود به برنامه مسئولیت اقدامات انجام شده در این نرم افزار بر عهده شخص شما می‌باشد..\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
ردیف {{i+1}} تاریخ {{element.persianDate}} ساعت {{element.eventTime}} نوع {{element.logTypeName}} شرح {{element.logMessage}}
\\r\\n\\r\\n
\\r\\n\";","export default \"
\\r\\n
0 ? 'mandePositiveDIV': 'mandeNegativeDIV'\\\"\\r\\n style=\\\"\\r\\n font-weight: bolder;\\r\\n font-size: large;\\r\\n font-family: iranyekan_regular,iransans !important;\\r\\n padding: 5px;\\r\\n text-align: center;\\r\\n\\\">\\r\\n 0 ? 'mandePositive': 'mandeNegative'\\\">\\r\\n {{MandeString}}\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\";","export default \"\\r\\n \\r\\n
\\r\\n عدم احراز هویت\\r\\n
\\r\\nاطلاعات شما صحیح نمی باشد
\\r\\n با راهبر سامانه تماس گرفته شود\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

شما از محدوده ایستگاه خارج شده اید

\\r\\n
\\r\\n
\\r\\n در صورت عدم بازگشت تا\\r\\n \\r\\n {{untilSecond}}\\r\\n \\r\\n ثانیه دیگر از صف خارج خواهید شد\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n

\\r\\n {{msg}}\\r\\n

\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n \\\"{{currentService.driverFName}}\\\"\\r\\n
\\r\\n
{{currentService.driverFName}}
\\r\\n
{{currentService.carTypeName}} {{currentService.colorTypeName}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n expand_more\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n مبدا : \\r\\n {{currentRequest.originAddr}}\\r\\n
\\r\\n \\r\\n
\\r\\n مقصد : \\r\\n {{currentRequest.destinationAddr}}\\r\\n
\\r\\n
\\r\\n ایستگاه: \\r\\n {{currentRequest.selectedStationID}}\\r\\n\\r\\n ساعت درخواست : \\r\\n {{currentRequest.createTime}}\\r\\n    \\r\\n ساعت قبول : \\r\\n {{currentRequest.acceptTime}}\\r\\n
\\r\\n
\\r\\n مسافر : \\r\\n {{currentRequest.passangerFName}} - {{currentRequest.passangerMobile}} , {{currentRequest.telCallerID}}\\r\\n تعداد سفر تاکنون : {{currentRequest.passangerServiceCount}} \\r\\n
\\r\\n
\\r\\n نوع : \\r\\n\\r\\n {{currentRequest.typePardakhtName}}\\r\\n\\r\\n توضیحات : \\r\\n {{currentRequest.requestComment}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
{{driverInfo.fName}}
\\r\\n
\\r\\n همراه:\\r\\n {{driverInfo.mobile}}\\r\\n
\\r\\n
\\r\\n کد ملی:\\r\\n {{driverInfo.nationalCode}}\\r\\n
\\r\\n
\\r\\n کد :\\r\\n {{driverInfo.driverCode}}\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n نوع ماشین :\\r\\n {{carInfo.carName}}\\r\\n
\\r\\n
\\r\\n رنگ:\\r\\n {{carInfo.colorName}}\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{carInfo.pelaque}}\\r\\n
\\r\\n
\\r\\n \\r\\n
{{msg}}
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n\\r\\n

در حال بارگزاری اپ تاکسی

\\r\\n

\\r\\n version 1.1.22\\r\\n

\\r\\n\\r\\n\\r\\n
\\r\\n خطا در ارتباط با سامانه\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\";","export default \"

logout works!

\\r\\n\";","export default \"\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{driverInfo.fName}}
\\r\\n
{{carInfo.carName}} {{carInfo.colorName}}
\\r\\n
{{driverInfo.driverCode}}
\\r\\n
{{carInfo.pelaque}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n arrow_left\\r\\n {{station.name}}\\r\\n {{station.length}} نفر\\r\\n {{station.distanceKM}}km\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n وضعیت: {{this.driverInfo.currentDriverStatus.text}}\\r\\n ایستگاه:\\r\\n {{currentStation?.id}}\\r\\n \\r\\n نوبت :\\r\\n {{currentPriority}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

{{title}}

\\r\\n
\\r\\n

\\r\\n

{{msg}}

\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n

\\r\\n لسیت سفرها\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{q.price| number: '2.'}} تومان\\r\\n\\r\\n {{q.typePardakhtName}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{q.saatStart}} - {{q.tarikhStart}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n place\\r\\n \\r\\n \\r\\n {{q.destinationAddr}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n انعام\\r\\n \\r\\n \\r\\n {{q.anam}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n توضیحات\\r\\n \\r\\n \\r\\n {{q.requestComment}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n سامانه هوشمند مدیریت ناوگان برو\\r\\n

برای ورود به سامانه کد ملی و شماره همراه خود را وارد نمایید.

\\r\\n \\r\\n کد ملی\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n شماره همراه\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n {{errorText}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"

peygirialert works!

\\r\\nسرویس از سوی مشترک در حال پیگیری می باشد\\r\\n
\\r\\nمبدا :\\r\\n{{origin}}\\r\\n
\\r\\nمقصد :\\r\\n{{destination}}\\r\\n\\r\\n\";","export default \"

playfile works!

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

مانده : {{profileToday.mande | number: '2.'}}

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{driverInfo.fName}}
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
{{driverInfo.driverCode}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n امروز\\r\\n
\\r\\n
\\r\\n
\\r\\n درآمد\\r\\n
\\r\\n {{profileToday.todayPrice | number: '2.'}} تومان\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n تعداد سفر\\r\\n
\\r\\n {{profileToday.todayCount | number: '2.'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n جمع اعتباری\\r\\n
\\r\\n {{profileToday.sumEtebariToday | number: '2.'}} \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ساعات سفر\\r\\n
\\r\\n {{profileToday.serviceTime| number: '2.'}} \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ماه {{thisMonth| number: '2.'}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n درآمد\\r\\n
\\r\\n {{profileToday.monthPrice| number: '2.' }} تومان\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n تعداد سفر\\r\\n
\\r\\n {{profileToday.monthCount| number: '2.'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n جمع اعتباری ماه\\r\\n
\\r\\n {{profileToday.sumEtebariMonth| number: '2.'}} \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ساعات سفر\\r\\n
\\r\\n {{profileToday.serviceTimeMonth| number: '2.'}} \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n کل\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n درآمد\\r\\n
\\r\\n {{profileToday.totalPrice| number: '2.' }} تومان\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n تعداد سفر\\r\\n
\\r\\n {{profileToday.totalCount| number: '2.'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n جمع اعتباری کل\\r\\n
\\r\\n {{profileToday.sumEtebariTotal| number: '2.'}} \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ساعات سفر\\r\\n
\\r\\n {{profileToday.serviceTimeTotal| number: '2.'}} \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n جمع کل پرداختی\\r\\n
\\r\\n {{profileToday.sumCredit| number: '2.'}} \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n جمع کلی دریافتی\\r\\n
\\r\\n {{profileToday.sumDebit| number: '2.'}} \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n\\r\\n \\r\\n {{currentRequest.passangerFName}}\\r\\n {{currentRequest.createTime}}\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
توضیحات:
\\r\\n
{{currentRequest.requestComment}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n مبدا:\\r\\n {{currentRequest.originAddr}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n مقصد:\\r\\n {{currentRequest.destinationAddr}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
مقصد دوم:
\\r\\n
{{currentRequest.destination2Addr}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n تعداد سفر تا کنون:\\r\\n {{currentRequest.passangerServiceCount}} \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
ایستگاه : {{currentRequest.selectedStationID}}
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n در اختیار\\r\\n \\r\\n \\r\\n امانتی\\r\\n \\r\\n \\r\\n خدمات\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
ردیف {{i+1}} کد راننده {{element.driverCode}} زمان {{element.timeText}} نوع {{element.typeName}} ایستگاه {{element.stationCode}} نتیجه {{element.resultName}}
\\r\\n\\r\\n
\\r\\n\";","export default \"\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n \\r\\n
\\r\\n\";","export default \"

شما از صف خارج شده اید

\\r\\n
\\r\\n

در صورت عدم بازگشت تا {{forsat }} ثانیه دیگر نوبت شما از بین خواهد رفت

\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{driverInfo.fName}}
\\r\\n\\r\\n
{{carInfo.carName}} {{carInfo.colorName}}
\\r\\n
{{driverInfo.driverCode}}
\\r\\n
\\r\\n
\\r\\n
{{now | date:'HH:mm'}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{this.driverInfo.currentDriverStatus.text}}\\r\\n ایستگاه:\\r\\n {{currentStation?.code}}\\r\\n \\r\\n نوبت :\\r\\n {{currentPriority}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n مبدا:\\r\\n {{originPoint.desc }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
= 2 && CurrentState <= 3\\\" style=\\\"margin-right:10px;\\\">\\r\\n
\\r\\n مقصد:\\r\\n {{destinationPoint.desc }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n نام خانوادگی\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n شماره تلفن\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n توضیحات\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\n
\\n
\\n \\n
\\n\\n \\n خلاصه اطلاعات راننده\\n \\n
\\n \\n کد راننده\\n \\n \\n
\\n
\\n \\n نام\\n \\n \\n
\\n
\\n \\n جمع کرایه \\n \\n \\n
\\n
\\n \\n جمع اعتباری \\n \\n \\n
\\n
\\n \\n جمع کمیسیون \\n \\n \\n
\\n
\\n \\n درصد کمیسیون\\n \\n \\n
\\n
\\n \\n مانده پرداخت\\n \\n \\n
\\n
\\n \\n مانده نهایی\\n \\n \\n\\n
\\n\\n\\n\\n
\\n\\n
\\n\\n \\n خلاصه کارکرد ماه\\n \\n
\\n \\n تعداد کل\\n \\n \\n
\\n
\\n \\n جمع کل\\n \\n \\n
\\n
\\n \\n تعداد اعتباری\\n \\n \\n
\\n
\\n \\n جمع اعتباری\\n \\n \\n
\\n
\\n
\\n\\n\\n
\\n
\\n\";","export default \"\\r\\n\\r\\n\";","export default \"

test-socket works!

\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{driverInfo.fName}}
\\r\\n\\r\\n
کد {{driverInfo.driverCode}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n {{lastGPSMinute}}\\r\\n \\r\\n
\\r\\n 0 ? 'mandePositive': 'mandeNegative'\\\">\\r\\n {{Mande| number: '2.'}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{this.driverInfo.currentDriverStatus.text}}\\r\\n ایستگاه:\\r\\n {{currentStation?.code}}\\r\\n \\r\\n نوبت :\\r\\n {{currentPriority}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

قفل - {{driverInfo.lockComment}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
= 2 && CurrentState <= 3\\\" style=\\\"margin-right:10px;\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n در اختیار\\r\\n arrow_downward\\r\\n arrow_downward\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\";","export default \"\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n
سامانه هوشمند مدیریت ناوگان برو
\\r\\n
لطفا کد 5 رقمی ارسال شده را وارد نمایید.
\\r\\n {{errorMessage}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n \\r\\n
\\r\\n اطلاعات شما ثبت شده و در مرحله بررسی می باشد\\r\\n
\\r\\n در صورت برقراری امکان استفاده از سرویس و یا نتیجه بررسی اطلاعات از طریق پیامک به اطلاع شما خواهد رسید\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
مبدا: \\r\\n {{currentInfo.originAddr}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
مقصد: \\r\\n {{currentInfo.destinationAddr}}
\\r\\n
\\r\\n
\\r\\n
ایستگاه: \\r\\n {{currentInfo.stationID}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
مسافر: {{currentInfo.passangerName}} - {{currentInfo.passangerMobile}}
\\r\\n
\\r\\n
\\r\\n
توضیحات: {{currentInfo.tripComment}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
ایستگاه : {{info.id}}\\r\\n\\r\\n \\r\\n {{driverCode}}\\r\\n \\r\\n -\\r\\n
\\r\\n\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n مدیریت پرداخت ها\\r\\n\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n کد راننده\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n نام\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n تعداد : {{recordCount}}\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
ردیفنامتاریخساعتشرحثباتبدهکاربستانکارمانده
{{i + 1}}{{operator.title}}{{operator.dateShamsi}}{{operator.saat}}{{operator.comment}}{{operator.operatorName}}{{operator.debit}}{{operator.credit}}\\r\\n\\r\\n {{operator.mande}}\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n {{totalDebit| number: '2.'}}\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n {{totalCredit| number: '2.'}}\\r\\n\\r\\n \\r\\n مانده :\\r\\n\\r\\n {{Mande| number: '2.'}}\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

\\r\\n {{currentFormMode === FormMode.Add ? 'افزودن' : 'ویرایش'}}\\r\\n\\r\\n {{currentIsCredit === true ? 'بستانکاری' : 'بدهکاری'}}\\r\\n\\r\\n

\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n مبلغ\\r\\n \\r\\n پر کردن مبلغ همراه الزامی است\\r\\n \\r\\n \\r\\n شرح\\r\\n \\r\\n پر کردن شرح الزامی است\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{currentEditingOperator.driverCode}} {{currentEditingOperator.fName}}

\\r\\n
\\r\\n
\\r\\n \\r\\n شرح\\r\\n \\r\\n پر کردن شرح الزامی است\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n ساعت : \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n دقیقه: \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n مدیریت راننده ها\\r\\n\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n جستجو\\r\\n \\r\\n \\r\\n \\r\\n شیفت\\r\\n \\r\\n ---\\r\\n فرد\\r\\n زوج\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n تعداد : {{recordCount}} \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n ردیفنامکدنام کاربریتلفن کاریتلفن همراهکمیسیونآبونمانشیفتعملیات
\\r\\n \\r\\n \\r\\n {{i + 1}}{{operator.fName}}{{operator.driverCode}}{{operator.username}}{{operator.workingMobile}}{{operator.mobile}}{{operator.commission}}{{operator.abonman}}\\r\\n \\r\\n {{operator.shiftName}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

{{currentFormMode === FormMode.Add ? 'افزودن' : 'ویرایش'}} راننده

\\r\\n
\\r\\n
\\r\\n \\r\\n شماره کاری\\r\\n \\r\\n پر کردن شماره همراه الزامی است\\r\\n \\r\\n \\r\\n کد\\r\\n \\r\\n پر کردن کداست\\r\\n \\r\\n \\r\\n نام\\r\\n \\r\\n پر کردن نام الزامی است\\r\\n \\r\\n \\r\\n شماره همراه\\r\\n \\r\\n پر کردن شماره همراه الزامی است\\r\\n \\r\\n \\r\\n کد ملی\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n نوع خودرو\\r\\n \\r\\n \\r\\n {{\\r\\ncar.value\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n رنگ \\r\\n \\r\\n \\r\\n {{\\r\\ncolr.value\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n ایران\\r\\n \\r\\n ایران\\r\\n \\r\\n\\r\\n \\r\\n دو رقم\\r\\n \\r\\n دو قم\\r\\n \\r\\n \\r\\n حرف\\r\\n \\r\\n حرف\\r\\n \\r\\n \\r\\n سه رقم\\r\\n \\r\\n سه رقم\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n نام کاربری\\r\\n \\r\\n پر کردن نام کاربری الزامی است\\r\\n \\r\\n \\r\\n رمز\\r\\n \\r\\n پر کردن رمز ورود الزامی است\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{currentEditingOperator.driverCode}} {{currentEditingOperator.fName}}

\\r\\n
\\r\\n
\\r\\n \\r\\n شرح\\r\\n \\r\\n پر کردن شرح الزامی است\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n ساعت : \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n دقیقه: \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n شیفت های من\\r\\n {{myInfo.fName}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ردیفتاریخروزشیفت عصرشیفت شب
{{i+1}}{{q.datePersian}}{{q.dayWeekName}}\\r\\n \\r\\n done_outline\\r\\n \\r\\n \\r\\n \\r\\n done_outline\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\";","export default \"\\r\\n ایستگاه: \\r\\n \\r\\n\\r\\n\\r\\n کد راننده : \\r\\n \\r\\n\\r\\n\\r\\n نوبت: \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n شب 21 الی 8 صبح\\r\\n  \\r\\n\\r\\n تاریخ و روز\\r\\n  \\r\\n بعد از ظهر 17 الی 21\\r\\n\\r\\n
 
\\r\\n \\r\\n \\r\\n\\r\\n {{row.driver1Name}}\\r\\n {{getDayName(row,1)}}{{row.monthNumber1}}/{{row.date_dayNumber1}}{{getDayName(row,2)}}{{row.monthNumber2}}/{{row.date_dayNumber2}}{{row.driver2Name}}\\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n کل شیفت ها\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
تاریخروزشیفت عصرشیفت شب
{{q.datePersian}}\\r\\n {{q.dayWeekName}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n\\r\\n \\r\\nمدیریت سفرها\\r\\n \\r\\n \\r\\n \\r\\n کد راننده\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n تلفن تماس\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n نام مشترک\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n آدرس مشترک\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n ایستگاه\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n متن جستجو\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n تعداد : {{recordCount}}\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n ma\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
ردیف {{i+1}} نام میهمان {{element.passangerName}} تلفن میهمان {{element.passangerMobile}} مبدا {{element.originAddr}} مقصد {{element.destinationAddr}} توضیحات {{element.tripComment}} ایستگاه {{element.stationID}} ویرایش\\r\\n \\r\\n انتساب دستی\\r\\n \\r\\n ارسال مجدد\\r\\n \\r\\n ثبت اولویت\\r\\n \\r\\n اتمام \\r\\n \\r\\n خروج\\r\\n \\r\\n انصراف \\r\\n \\r\\n راننده {{element.driverCode}} تلفن راننده {{element.driverMobile}} زمان سپری شده {{element.timedConsume}} وضعیت {{element.serviceStateName}} کاربر اعزام {{element.operatorName}} تعدادراننده {{element.driverCount}}
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\";","export default \"

{{title}}

\\r\\n
\\r\\n

{{messageText}}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"\\n\\n\\n
\\n\\n
\\n\\n میدا :\\n \\n {{this.originPoint.desc }}\\n \\n
\\n
\\n مقصد :\\n \\n {{this.destinationPoint.desc }}\\n \\n
\\n \\n
\\n\";","export default \"\\r\\n
\\r\\n حق چاپ © 2023
مدیریت هوشمند ناوگان خودرویی برو\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n\";","export default \"\\r\\n\";","export default \"\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

سفارشات جدید

\\r\\n 524\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n 10٪ \\r\\n از ماه گذشته\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

رزرو جدید

\\r\\n 1،258\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n 10٪ \\r\\n از ماه گذشته\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

استعلام

\\r\\n 10،225\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n 10٪ \\r\\n از ماه گذشته\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

درآمد

\\r\\n 2،658 تومان\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n 10٪ \\r\\n از ماه گذشته\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

درآمد

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

درآمد

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

پیش نویس سریع

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
کل فروش ماهانه
\\r\\n
\\r\\n
\\r\\n \\r\\n 20٪ از سال گذشته بالا است.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

سفارشات اخیر

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
نام نگهبانشماره سفارشوضعیتمیزانجزئیات
\\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n
\\r\\n
کارا استیونز
\\r\\n
مشتری اصلی
\\r\\n
\\r\\n
\\r\\n
CT56743\\r\\n
30٪
\\r\\n
\\r\\n
\\r\\n
\\r\\n
955 تومان\\r\\n
\\r\\n جزئیات\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n
\\r\\n
جان دو
\\r\\n
مشتری عادی
\\r\\n
\\r\\n
\\r\\n
OT58743\\r\\n
50٪
\\r\\n
\\r\\n
\\r\\n
\\r\\n
234 تومان\\r\\n
\\r\\n جزئیات\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n
\\r\\n
مدیر سایت
\\r\\n
مشتری اصلی
\\r\\n
\\r\\n
\\r\\n
KJ76543\\r\\n
43٪
\\r\\n
\\r\\n
\\r\\n
\\r\\n
2432 تومان\\r\\n
\\r\\n جزئیات\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n
\\r\\n
\\r\\n اشتون کاکس\\r\\n
\\r\\n
مشتری اصلی
\\r\\n
\\r\\n
\\r\\n
FD56743\\r\\n
65٪
\\r\\n
\\r\\n
\\r\\n
\\r\\n
234 تومان\\r\\n
\\r\\n جزئیات\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n
\\r\\n
حسن بصری
\\r\\n
مشتری عادی
\\r\\n
\\r\\n
\\r\\n
XU56743\\r\\n
39٪
\\r\\n
\\r\\n
\\r\\n
\\r\\n
747 تومان\\r\\n
\\r\\n جزئیات\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

جزئیات پروژه

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#نام پروژهمشتریتیمپیش رفتنتاریخ شروعتاریخ تحویلعمل
\\r\\n
\\r\\n \\r\\n
\\r\\n
وب سایت تجارت الکترونیکیمدیر سایت\\r\\n
    \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • +4
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
19 ژوئیه 201825 مارس 2019\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
برنامه Androidایری ساتو\\r\\n
    \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • +2
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
21 مارس 201522 ژوئیه 2017\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
طراحی آرماشتون کاکس\\r\\n
    \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • +5
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
02 فوریه 201812 مارس 2019\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
پروژه جاواکارا استیونز\\r\\n
    \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • 1+
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
19 ژوئیه 201825 مارس 2019\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
وب سایت تجارت الکترونیکیجان دو\\r\\n
    \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • +2
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
11 مه 201715 مارس 2018\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
برنامه Androidآنجلیکا راموس\\r\\n
    \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • \\\"کاربر\\\"
  • \\r\\n
  • +2
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
02 ژوئن 201805 آوریل 2019\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\r\\n 10٪\\r\\n از ماه گذشته\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
91٪
\\r\\n

آنلاین

\\r\\n
\\r\\n
\\r\\n
\\r\\n

آفلاین

\\r\\n
\\r\\n
\\r\\n
\\r\\n

NA

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

آخرین معاملات

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#شماره سفارشنام نگهبانوضعیتمیزانویرایش کنید
\\r\\n \\\"تصویر\\\"\\r\\n XY56987جان دئوتایید955 تومان\\r\\n \\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n XY12587مدیر سایتپرداخت ناموفق215 تومان\\r\\n \\r\\n
\\r\\n \\\"تصویر\\\"\\r\\n XY58987جان دوتایید125 تومان\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"\\n \\n
\\n taxi_alert\\n
متاسفانه راننده ای پیدا نشد!
\\n
\\n
\\n\\n \\n \\n\\n\\n\";","export default \"

serviceruning works!

\\n\\n\\n{{currentService.colorTypeName}}\\n
\\n\\n\\n{{currentService.carTypeName}}\\n
\\n{{currentService.pelaqueIR}}\\n
\\n{{currentService.pelaqueLetter}}\\n
\\n{{currentService.pelaque2}}\\n
\\n{{currentService.pelaque3}}\\n
\\n{{currentService.passangerFName}}\\n
\\n{{currentService.passangerLName}}\\n
\\n{{currentService.passangerMobile}}\\n
\\n{{currentService.driverFName}}\\n
\\n{{currentService.driverLName}}\\n
\\n{{currentService.driverMobile}}\\n
\\n\";","export default \"\\n \\n
لطفا چند لحظه صبر کنید...!
\\n \\n
\\n\\n \\n\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n راننده\\r\\n \\r\\n \\r\\n \\r\\n {{option}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
جمع کرایهدرصد پورسانتمبلغ کمیسیونمبلغ اعتباریمانده پرداخت مانده کل
{{commissionInfo.sumPrice | number: '2.'}}{{commissionInfo.commissionPercent}}{{commissionInfo.commissionValue | number: '2.'}}{{commissionInfo.sumEtebari | number: '2.'}}{{commissionInfo.abonman | number: '2.'}}\\r\\n 0 ? 'mandePositive': 'mandeNegative'\\\">\\r\\n {{commissionInfo.mande | number: '2.'}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
ردیفماهتعداد سفرجمع کرایهدرصد کمیسیونمبلغ کمیسیونتعداد اعتباریجمع اعتباریجمع پرداختیتعداد پرداختیجمع آبونمان و بدهیمانده پرداخت و بدهیحضورمانده ماهمانده تجمیعی
{{i+1}}{{row.monthValue}}{{row.counttotal | number: '2.'}}{{row.sumPrice | number: '2.'}}{{row.commissionPercent}}{{row.commissionValue | number: '2.'}}{{row.countEtebari | number: '2.'}}{{row.sumEtebari | number: '2.'}}{{row.sumCredit | number: '2.'}}{{row.countCredit | number: '2.'}}{{row.debitSum | number: '2.'}}{{row.debitCreditMande | number: '2.'}}{{row.dayCount | number: '2.'}}\\r\\n 0 ? 'mandePositive': 'mandeNegative'\\\">\\r\\n {{row.mande | number: '2.'}}\\r\\n \\r\\n {{row.mandeMain | number: '2.'}}
تعداد : {{count}} جمع کرایه : {{totalprice | number: '2.' }}جمع کمیسیون: {{totalcommission | number: '2.' }}جمع اعتباری: {{totalEtebari | number: '2.' }}جمع پرداخت: {{totaldebitCreditMande | number: '2.' }}مانده کل : {{totalmande | number: '2.' }}
\\r\\n\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

گزارش کارکرد راننده ها

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n راننده\\r\\n \\r\\n \\r\\n \\r\\n {{option}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n متن\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

گزارش کارکرد اپراتور ها

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n اپراتور\\r\\n \\r\\n \\r\\n \\r\\n {{option}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n انتخاب ماه :\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n انتخاب سال :\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ردیفنام رانندهکد رانندهجمع کرایهدرصد پورسانتمبلغ کمیسیونمبلغ اعتباریمانده پرداخت مانده کل
{{i+1}}{{row.fName}}{{row.driverCode}}{{row.sumPrice | number: '2.'}}{{row.commissionPercent}}{{row.commissionValue | number: '2.'}}{{row.sumEtebari | number: '2.'}}{{row.abonman | number: '2.'}}\\r\\n 0 ? 'mandePositive': 'mandeNegative'\\\" >\\r\\n {{row.mande | number: '2.'}}\\r\\n \\r\\n
تعداد : {{count}}
\\r\\n\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

گزارش کارکرد

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n راننده\\r\\n \\r\\n \\r\\n \\r\\n {{option}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ردیف\\r\\n مبدا /\\r\\n مقصد\\r\\n تاریخ ساعت نوعکرایهتوضیحاتانعامدرصد بدهکاربستانکار مانده
{{i+1}}\\r\\n {{row.originAddr}}\\r\\n\\r\\n \\r\\n /\\r\\n {{row.destinationAddr}}\\r\\n\\r\\n \\r\\n {{row.createDateTimeShamsi}}{{row.saat}}\\r\\n \\r\\n {{row.typePardakhtName }}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{row.price| number: '2.'}}\\r\\n \\r\\n \\r\\n \\r\\n {{row.requestComment}}\\r\\n \\r\\n \\r\\n \\r\\n {{row.anam| number: '2.'}}\\r\\n \\r\\n {{row.commissionPercent| number: '2.'}}{{row.bedehkari| number: '2.'}}{{row.bestankari| number: '2.'}}\\r\\n\\r\\n {{row.mande | number: '2.'}}\\r\\n
تعداد : {{count}} جمع کرایه : {{totalprice | number: '2.' }}جمع بدهکاری : {{totalbedehkari | number: '2.' }}جمع بستانکاری : {{totalbestankari | number: '2.' }}جمع مانده: {{mande | number: '2.' }}
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\";","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ردیف رانندهمبدامقصدتاریخ ساعت شروعساعت خاتمهنوعکرایهتوضیحاتانعامدرصد بدهکاربستانکار مانده
{{i+1}}{{row.driverName}}{{row.originAddr}}\\r\\n \\r\\n {{row.destinationAddr}}\\r\\n \\r\\n arrow_downward\\r\\n arrow_downward\\r\\n \\r\\n \\r\\n {{row.serviceCreateDateTimeShamsi}}{{row.saatServie}}{{row.saatFinish}}\\r\\n \\r\\n {{row.typePardakhtName }}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{row.price| number: '2.'}}\\r\\n \\r\\n \\r\\n \\r\\n {{row.requestComment}}\\r\\n \\r\\n \\r\\n \\r\\n {{row.anam| number: '2.'}}\\r\\n \\r\\n {{row.commissionPercent| number: '2.'}}{{row.bedehkari| number: '2.'}}{{row.bestankari| number: '2.'}}\\r\\n\\r\\n {{row.mande | number: '2.'}}
تعداد : {{count}} جمع کرایه : {{totalprice | number: '2.' }}جمع بدهکاری : {{totalbedehkari | number: '2.' }}جمع بستانکاری : {{totalbestankari | number: '2.' }}جمع مانده: {{totalcommission | number: '2.' }}
\\r\\n\\r\\n
\\r\\n\";","export default \"

actlanuncher works!

\\r\\n\";","export default \"
\\r\\n\\r\\n \\r\\n
\\r\\n

\\r\\n {{message}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\";","export default \"

{{data.title}}

\\r\\n
\\r\\n

{{data.messageText}}

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n {{info.fName +' - ' + info.driverCode}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n\\r\\n\\r\\n\";","export default \"

{{data.title}}

\\r\\n
\\r\\n\\r\\n\\r\\n

{{data.msg}}

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"

{{data.title}}

\\r\\n
\\r\\n

{{data.msg}}

\\r\\n \\r\\n {{data.fieldName}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"\\r\\n \\r\\n \\r\\n ردیف\\r\\n \\r\\n \\r\\n {{contents.indexOf(element) + 1 }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{disCol.text}}\\r\\n \\r\\n {{element[disCol.value]}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n عملیات\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{actionItem.text}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"
\\r\\n\\r\\n\\r\\n
\\r\\n

{{data.messageText}}

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

مکان های منتخب

\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n در اختیار\\r\\n arrow_downward\\r\\n arrow_downward\\r\\n
  • \\r\\n
  • {{place.placeName}}
  • \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

نتایج جستجوی : {{searchvalue}}

\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • {{srchItem.title}}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\";","export default \"
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
=2\\\" style=\\\" height:56px; display: flex; padding-right: 8px !important; padding-left: 8px !important; align-items: center;\\\">\\r\\n
\\r\\n مبدا :\\r\\n {{origin}}\\r\\n
\\r\\n\\r\\n
تغییر مبدا
\\r\\n
\\r\\n
\\r\\n
\\r\\n مقصد :\\r\\n {{des}}\\r\\n
\\r\\n\\r\\n
تغییر مقصد
\\r\\n
\\r\\n
\\r\\n
\\r\\n کجا هستید ؟\\r\\n کجا می روید ؟\\r\\n
\\r\\n\\r\\n\\r\\n
جستجو
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"\\r\\n

\\r\\n لیست ایستگاه ها\\r\\n

\\r\\n \\r\\n \\r\\n آماده به سرویس :\\r\\n {{driverCount}}\\r\\n \\r\\n
\\r\\n تعداد سفر در انتظار :\\r\\n {{requestCount}}\\r\\n\\r\\n
\\r\\n {{station.name}}\\r\\n\\r\\n
\\r\\n person\\r\\n {{station.requestCount}} \\r\\n {{station.length}} \\r\\n directions_car\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n {{q.priority}}-\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
    \\r\\n \\\"\\\"\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    {{q.fName +' - ' + q.driverCode}}
    \\r\\n
    \\r\\n drive_eta\\r\\n
    {{q.carName + q.colorName}}
    \\r\\n
    {{'ایران' + q.pelaqueIR + ' - ' +q.pelaque3 + ' ' + q.pelaqueLetter + ' ' +q.pelaque2 }}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"\\n
    \\n
  • \\n
    \\n
    \\n \\\"\\\"\\n
    \\n
    \\n
    \\n
    {{q.driverName}} - {{q.driverCode}}
    \\n
    \\n
    {{q.tarikhStart}} {{q.saatStart}}
    \\n \\n arrow_downward\\n arrow_downward\\n \\n
    \\n
    \\n \\n
    \\n\\n
  • \\n
\\n
\\n\\n \\n\\n\\n\\n\\n\";","export default \"\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n ایستگاه\\r\\n {{currentStation.name}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  \\r\\n
\\r\\n\";","export default \"
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n body :\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n title:\\r\\n \\r\\n
\\r\\n driverID :\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\";","export default \"drvguid\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"

test works!

\\n\\n\\n\";","export default \"

testapi works!

\\n\\n\\n\";","export default \"\\r\\n{{msg}}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FjYy9hZGQtZGViaXQvYWRkLWRlYml0LmNvbXBvbmVudC5jc3MifQ== */\";","import { Component, OnInit } from '@angular/core';\nimport { Acc_Acc } from '../../model/accModels';\nimport { FormMode } from '../../lib/enums/form-mode.enum';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\n\n\n@Component({\n selector: 'app-add-debit',\n templateUrl: './add-debit.component.html',\n styleUrls: ['./add-debit.component.css']\n})\nexport class AddDebitComponent implements OnInit {\n get FormMode() {\n return FormMode;\n }\n constructor() { }\n pageTitle = 'هزینه';\n currentFormMode: FormMode;\n operatorFromGroup: FormGroup;\n currentEditingOperator: Partial;\n\n ngOnInit(): void {\n this.operatorFromGroup = new FormGroup({\n accName: new FormControl('', [Validators.required]),\n comment: new FormControl('', [Validators.required]),\n \n });\n\n }\n\n\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FjYy9tYW5hZ2UtYWNjL21hbmFnZS1hY2MuY29tcG9uZW50LmNzcyJ9 */\";","import { TREE_ACTIONS, KEYS, IActionMapping, ITreeOptions } from '@circlon/angular-tree-component';\r\nimport { AccServiceService } from '../../lib/serviceLib/accService.service';\r\nimport { Acc_Acc } from '../../model/accModels';\r\nimport { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { FormMode } from '../../lib/enums/form-mode.enum';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ConfirmDialogComponent } from '../../shared/confirm-dialog/confirm-dialog.component';\r\n@Component({\r\n selector: 'app-manage-acc',\r\n templateUrl: './manage-acc.component.html',\r\n styleUrls: ['./manage-acc.component.css']\r\n})\r\nexport class ManageAccComponent implements OnInit {\r\n\r\n @ViewChild('operatorDialog', { static: false }) operatorDialogTemplateRef: TemplateRef;\r\n operatorDialogRef: MatDialogRef;\r\n\r\n pageTitle = 'هزینه';\r\n currentFormMode: FormMode;\r\n operatorFromGroup: FormGroup;\r\n currentEditingOperator: Partial;\r\n\r\n columns = [];\r\n options: ITreeOptions = {\r\n displayField: 'accName',\r\n rtl: true,\r\n\r\n idField: 'id',\r\n hasChildrenField: 'hasChildren',\r\n actionMapping: {\r\n mouse: {\r\n dblClick: (tree, node, $event) => {\r\n this.selectNode(tree, node, $event);\r\n }\r\n },\r\n keys: {\r\n [KEYS.ENTER]: (tree, node, $event) => {\r\n node.expandAll();\r\n }\r\n }\r\n },\r\n nodeHeight: 23,\r\n allowDrag: (node) => {\r\n return true;\r\n },\r\n allowDrop: (node) => {\r\n return true;\r\n },\r\n allowDragoverStyling: true,\r\n levelPadding: 150,\r\n useVirtualScroll: true,\r\n animateExpand: true,\r\n scrollOnActivate: true,\r\n animateSpeed: 30,\r\n animateAcceleration: 1.2,\r\n scrollContainer: document.documentElement // HTML\r\n }\r\n\r\n constructor(\r\n private accService: AccServiceService,\r\n private matDialog: MatDialog,\r\n private matSnackbar: MatSnackBar,\r\n private dialog: MatDialog,\r\n\r\n ) { }\r\n nodes: Partial[];\r\n ngOnInit(): void {\r\n this.nodes = [\r\n {\r\n id: 0,\r\n accName: '---',\r\n hasChildren: false,\r\n\r\n children: [],\r\n parentID: 0,\r\n comment: '',\r\n sysRecord: false,\r\n value1: '',\r\n value2: ''\r\n }\r\n ]\r\n this.accService.getAccList(-1).subscribe(res => {\r\n this.nodes = res;\r\n })\r\n\r\n this.operatorFromGroup = new FormGroup({\r\n accName: new FormControl('', [Validators.required]),\r\n comment: new FormControl('', [Validators.required]),\r\n \r\n });\r\n\r\n }\r\n get FormMode() {\r\n return FormMode;\r\n }\r\n selectedData: Acc_Acc;\r\n selectNode(tree, node, $event) {\r\n //console.log(tree);\r\n console.log(node.data);\r\n this.selectedData = node.data;\r\n\r\n if (node.data.id <= 0) {\r\n this.openOperatorDialog(FormMode.Add)\r\n }\r\n else {\r\n this.openOperatorDialog(FormMode.Edit, this.selectedData)\r\n\r\n }\r\n \r\n //console.log($event);\r\n }\r\n openOperatorDialog(_mode: FormMode, _data?: Partial) {\r\n console.log(_data);\r\n this.currentFormMode = _mode;\r\n this.operatorFromGroup.reset();\r\n\r\n if (_mode === FormMode.Edit && _data) {\r\n\r\n this.currentEditingOperator = _data;\r\n this.operatorFromGroup.patchValue(this.currentEditingOperator);\r\n }\r\n\r\n this.operatorDialogRef = this.matDialog.open(this.operatorDialogTemplateRef, {\r\n hasBackdrop: true,\r\n width: '360px'\r\n });\r\n }\r\n submit() {\r\n if (this.operatorFromGroup.valid) {\r\n const formValues: Partial = this.operatorFromGroup.value;\r\n\r\n if (this.currentFormMode === FormMode.Add) {\r\n formValues.parentID = this.selectedData.parentID;\r\n this.accService.insert(formValues).subscribe(_id => {\r\n formValues.id = _id;\r\n this.nodes.push(formValues);\r\n this.matSnackbar.open(' درج با موفقیت افزوده شد.', null, { duration: 5000 });\r\n });\r\n\r\n } else if (this.currentFormMode === FormMode.Edit) {\r\n \r\n formValues.id = this.selectedData.id;\r\n \r\n\r\n this.accService.update(formValues).subscribe(_id => {\r\n this.matSnackbar.open('ویرایش با موفقیت انجام شد.', null, { duration: 5000 });\r\n }); \r\n }\r\n\r\n this.operatorDialogRef.close();\r\n }\r\n }\r\n update(node) {\r\n this.selectedData = node.data;\r\n this.openOperatorDialog(FormMode.Edit, node.data)\r\n }\r\n delete(node) {\r\n console.log(node)\r\n const confirmRef = this.matDialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مطمئن هستید «' + node.data['accName'] + '» حذف شود؟',\r\n buttonText: {\r\n ok: 'بله',\r\n cancel: 'خیر'\r\n }\r\n }\r\n });\r\n\r\n confirmRef.afterClosed().subscribe(_confirmed => {\r\n //if (_confirmed) {\r\n // this.baseIService.delete(_data.id).subscribe(_res => {\r\n // const index = this.operators.findIndex(_item => _item.id === _data.id);\r\n // if (index > -1) {\r\n // this.operators.splice(index, 1);\r\n // }\r\n // this.matSnackbar.open('رکورد با شناسه ' + _data.id + ' حذف شد.', null, { duration: 5000 });\r\n // });\r\n //}\r\n });\r\n }\r\n /*\r\n deleteNode(node, tree) {\r\n const parentNode = node.realParent ? node.realParent : node.treeModel.virtualRoot;\r\n parentNode.data.children = parentNode.data.children.filter(child => {\r\n return child !== node.data;\r\n });\r\n\r\n tree.treeModel.update();\r\n if (node && node.parent && node.parent.data && node.parent.data.children.length === 0) {\r\n node.parent.data.hasChildren = false;\r\n }\r\n\r\n if (this.selectedNode?.id === node.data.id) {\r\n this.selectedNode = null;\r\n }\r\n }\r\n */\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FjYy9tYXN0ZXItYWNjL21hc3Rlci1hY2MuY29tcG9uZW50LmNzcyJ9 */\";","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-master-acc',\n templateUrl: './master-acc.component.html',\n styleUrls: ['./master-acc.component.css']\n})\nexport class MasterAccComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2Fib25tYW52aWV3L2Fib25tYW52aWV3LmNvbXBvbmVudC5jc3MifQ== */\";","import { Component, OnInit } from '@angular/core';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { Abonman } from '../../model/abonman';\r\n\r\n@Component({\r\n selector: 'app-abonmanview',\r\n templateUrl: './abonmanview.component.html',\r\n styleUrls: ['./abonmanview.component.css']\r\n})\r\nexport class AbonmanviewComponent implements OnInit {\r\n\r\n \r\n constructor(private drivService: DriverserviceService,) { }\r\n\r\n ngOnInit(): void {\r\n this.filter();\r\n }\r\n year = '1402';\r\n month = '';\r\n abonmanList: Partial[];\r\n\r\n filter() {\r\n console.log('filter');\r\n this.drivService.abonmanList(this.year, this.month).subscribe(_res => {\r\n console.log(_res);\r\n this.abonmanList = _res;\r\n this.calcTotal();\r\n\r\n });\r\n }\r\n calcTotal() { }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2J1bGthYm9ubWFuL2J1bGthYm9ubWFuLmNvbXBvbmVudC5jc3MifQ== */\";","import { Component, Inject, OnInit, Renderer2 } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n\n@Component({\n selector: 'app-bulkabonman',\n templateUrl: './bulkabonman.component.html',\n styleUrls: ['./bulkabonman.component.css']\n})\nexport class BulkabonmanComponent implements OnInit {\n\n\n ngOnInit() { }\n constructor(\n private matSnackbar: MatSnackBar,\n\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: {\n title: string,\n msg: string,\n fieldName: string,\n value: number,\n maxValue: number\n\n },) { }\n\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n onYesClick(): void {\n if (this.data.maxValue > 0) {\n if (this.data.value < this.data.maxValue) {\n this.matSnackbar.open('مبلغ صحیح نمی باشد', null, { duration: 2000 });\n\n return;\n\n }\n else\n this.dialogRef.close(this.data.value);\n\n }\n this.dialogRef.close(this.data.value);\n }\n\n\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL3NldHRpbmcvc2V0dGluZy5jb21wb25lbnQuY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n@Component({\r\n selector: 'app-setting',\r\n templateUrl: './setting.component.html',\r\n styleUrls: ['./setting.component.css']\r\n})\r\nexport class SettingComponent implements OnInit {\r\n\r\n constructor(\r\n private taxiService: TaxiserviceService,\r\n private matSnackbar: MatSnackBar,\r\n ) { }\r\n fixedPoorsant: boolean = false;\r\n dateFixedPoorsant = new FormControl(new Date(), []);\r\n commission = new FormControl();\r\n suspendDarEkhtiar = new FormControl();\r\n stationExit_BackOpportunity = new FormControl();\r\n timeForExitAfterGpsNotSend = new FormControl();\r\n UpdatePriceTimeForDriver = new FormControl();\r\n DriverDebitThreshod = new FormControl();\r\n CardNoForPay = new FormControl();\r\n VanQueue_HeadTime = new FormControl();\r\n VanQueue_OtherTime = new FormControl();\r\n VanQueue_SelectedDriverTime = new FormControl();\r\n Van_ReadyMessage = new FormControl();\r\n Van_MinimumValueForQueue = new FormControl();\r\n MonthlyAbonman = new FormControl();\r\n ngOnInit(): void {\r\n this.fillInitValue();\r\n }\r\n saveForm() {\r\n if (this.fixedPoorsant) {\r\n this.taxiService.updateSetting('PoorsantPercent', this.commission.value).subscribe(res => { })\r\n this.taxiService.updateSetting('PoorsantDate', this.dateFixedPoorsant.value).subscribe(res => { })\r\n\r\n }\r\n else {\r\n this.taxiService.updateSetting('PoorsantPercent', '0').subscribe(res => { })\r\n this.taxiService.updateSetting('PoorsantDate', '').subscribe(res => { })\r\n }\r\n \r\n this.taxiService.updateSetting('DarEkhtiarBlock', this.suspendDarEkhtiar.value).subscribe(res => { })\r\n this.taxiService.updateSetting('StationExit_BackOpportunity', this.stationExit_BackOpportunity.value).subscribe(res => { })\r\n this.taxiService.updateSetting('TimeForExitAfterGpsNotSend', this.timeForExitAfterGpsNotSend.value).subscribe(res => { })\r\n this.taxiService.updateSetting('MonthlyAbonman', this.MonthlyAbonman.value).subscribe(res => { })\r\n this.taxiService.updateSetting('UpdatePriceTimeForDriver', this.UpdatePriceTimeForDriver.value).subscribe(res => { })\r\n this.taxiService.updateSetting('DriverDebitThreshod', this.DriverDebitThreshod.value).subscribe(res => { })\r\n this.taxiService.updateSetting('CardNoForPay', this.CardNoForPay.value).subscribe(res => { })\r\n this.taxiService.updateSetting('VanQueue_HeadTime', this.VanQueue_HeadTime.value).subscribe(res => { })\r\n this.taxiService.updateSetting('VanQueue_OtherTime', this.VanQueue_OtherTime.value).subscribe(res => { })\r\n this.taxiService.updateSetting('VanQueue_SelectedDriverTime', this.VanQueue_SelectedDriverTime.value).subscribe(res => { })\r\n this.taxiService.updateSetting('Van_ReadyMessage', this.Van_ReadyMessage.value).subscribe(res => { })\r\n this.taxiService.updateSetting('Van_MinimumValueForQueue', this.Van_MinimumValueForQueue.value).subscribe(res => { })\r\n \r\n this.matSnackbar.open('ذخیره انجام شد', null, { duration: 5000 });\r\n\r\n\r\n\r\n }\r\n fillInitValue() {\r\n this.taxiService.readConfig().subscribe(res => {\r\n console.log(res);\r\n res.forEach(item => {\r\n if (item.title == 'PoorsantPercent') {\r\n this.commission.setValue(item.value);\r\n if (item.value > 0)\r\n this.fixedPoorsant = true;\r\n else\r\n this.fixedPoorsant = false;\r\n\r\n }\r\n else if (item.title == 'PoorsantDate') {\r\n this.dateFixedPoorsant.setValue(item.value);\r\n \r\n\r\n }\r\n else if (item.title == 'DarEkhtiarBlock') {\r\n this.suspendDarEkhtiar.setValue(item.value);\r\n }\r\n else if (item.title == 'TimeForExitAfterGpsNotSend') {\r\n this.timeForExitAfterGpsNotSend.setValue(item.value);\r\n }\r\n else if (item.title == 'StationExit_BackOpportunity') {\r\n this.stationExit_BackOpportunity.setValue(item.value);\r\n }\r\n else if (item.title == 'MonthlyAbonman') {\r\n this.MonthlyAbonman.setValue(item.value);\r\n }\r\n else if (item.title == 'UpdatePriceTimeForDriver') {\r\n this.UpdatePriceTimeForDriver.setValue(item.value);\r\n }\r\n else if (item.title == 'DriverDebitThreshod') {\r\n this.DriverDebitThreshod.setValue(item.value);\r\n }\r\n else if (item.title == 'CardNoForPay') {\r\n this.CardNoForPay.setValue(item.value);\r\n }\r\n else if (item.title == 'VanQueue_SelectedDriverTime') {\r\n this.VanQueue_SelectedDriverTime.setValue(item.value);\r\n }\r\n else if (item.title == 'VanQueue_OtherTime') {\r\n this.VanQueue_OtherTime.setValue(item.value);\r\n }\r\n else if (item.title == 'VanQueue_HeadTime') {\r\n this.VanQueue_HeadTime.setValue(item.value);\r\n }\r\n else if (item.title == 'Van_ReadyMessage') {\r\n this.Van_ReadyMessage.setValue(item.value);\r\n }\r\n else if (item.title == 'Van_MinimumValueForQueue') {\r\n this.Van_MinimumValueForQueue.setValue(item.value);\r\n }\r\n\r\n\r\n \r\n\r\n }\r\n )\r\n })\r\n console.log('fixedPoorsant' + this.fixedPoorsant);\r\n }\r\n resetForm() {\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, RouterOutlet } from '@angular/router';\r\nimport { DashboardService } from './lib/serviceLib/dashboardservice.service';\r\nimport { SwUpdate } from '@angular/service-worker';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n // styles: [`\r\n //div.loading{\r\n // height: 100px;\r\n // background-color: red;\r\n // display: none;\r\n //}\r\n //router-outlet + div.loading{\r\n // display: block;\r\n //}\r\n\r\n //`]\r\n})\r\nexport class AppComponent implements OnInit {\r\n constructor(\r\n private router: Router,\r\n private srv: DashboardService,\r\n private swUpdate: SwUpdate\r\n\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n this.swUpdate.available.subscribe(() => {\r\n this.swUpdate.activateUpdate().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n\r\n this.router.events.subscribe((event) => {\r\n try {\r\n\r\n let logInfo = JSON.stringify({ event });\r\n console.log(logInfo)\r\n this.srv.writeLog(logInfo).subscribe(res => { })\r\n }\r\n catch (e) {\r\n console.log(event)\r\n\r\n }\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AppComponent } from './app.component';\r\nimport {\r\n MatExpansionModule,\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle\r\n} from \"@angular/material/expansion\";\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { UiLoaderComponent } from \"./shared/materials/ui-loader.component\";\r\nimport { CheckboxComponent } from \"./shared/materials/checkbox.component\";\r\nimport { DataTableComponent } from \"./shared/materials/data-table.component\";\r\nimport { PelqueComponent } from \"./shared/materials/plaque.component\";\r\n\r\nimport { DropdownComponent } from \"./shared/materials/dropdown.component\";\r\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { DateAdapter } from '@angular/material/core';\r\nimport { MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\nimport { NewComponent } from './driver/new/new.component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\n\r\nimport { ConfirmInfoComponent } from './driver/confirm-info/confirm-info.component';\r\nimport { VerifysmsComponent } from './driver/verifysms/verifysms.component';\r\nimport { TestapiComponent } from './testapi/testapi.component';\r\nimport { WebSocketService } from './lib/web-socket.service';\r\nimport { TestsocketComponent } from './testsocket/testsocket.component';\r\nimport { TaximapComponent } from './taximap/taximap.component';\r\nimport { NewrequestComponent } from './newrequest/newrequest.component';\r\nimport { QueuesetComponent } from './test/queueset/queueset.component';\r\nimport { ProposedRequestComponent } from './driver/proposed-request/proposed-request.component';\r\nimport { StationComponent } from './driver/station/station.component';\r\nimport { ViewstationComponent } from './station/viewstation/viewstation.component';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\n\r\n\r\nimport { ServiceruningComponent } from './passanger/serviceruning/serviceruning.component';\r\nimport { WaitforRequestComponent } from './passanger/waitfor-request/waitfor-request.component';\r\nimport { DrivernotfoundComponent } from './passanger/drivernotfound/drivernotfound.component';\r\nimport { DrivermismmatchComponent } from './driver/drivermismmatch/drivermismmatch.component';\r\nimport { GooriginComponent } from './driver/goorigin/goorigin.component';\r\n// import { GodestinationComponent } from './driver/godestination/godestination.component';\r\nimport { FinishserviceComponent } from './driver/finishservice/finishservice.component';\r\nimport { NgxSplitInputModule } from 'ngx-splitinput';\r\nimport { NewCallComponent } from './call-center/new-call/new-call.component';\r\nimport { NewCallVanComponent } from './call-center/new-call/new-call-van.component';\r\n\r\nimport { NewCallSimpleComponent } from './call-center/new-call/new-call-simple.component';\r\n\r\nimport { NewCallWebComponent } from './call-center/new-call/new-call-web.component';\r\nimport { FoundedObjectsComponent } from './call-center/new-call/founded-objects.component';\r\nimport { RegisterFoundedObjectComponent } from './call-center/new-call/register-founded-object.component';\r\nimport { RegisterComplaintComponent } from './call-center/new-call/register-complaint.component';\r\nimport { ComplaintsComponent } from './call-center/new-call/complaints.component';\r\nimport { LogsComponent } from './call-center/new-call/logs.component';\r\n\r\nimport { RegisterPassangerComponent } from './call-center/new-call/register-passanger.component';\r\nimport { PassangersComponent } from './call-center/new-call/passangers.component';\r\nimport { RegisterStationComponent } from './call-center/new-call/register-station.component';\r\nimport { StationsComponent } from './call-center/new-call/stations.component';\r\nimport { DrivermonitorComponent } from './call-center/new-call/driver-monitor.component';\r\nimport { TrafficmonitorComponent } from './call-center/new-call/traffic-monitor.component';\r\nimport { LoginComponent } from './call-center/login/login.component';\r\nimport { OperatorsComponent } from './call-center/operators/operators.component';\r\nimport { ConfirmDialogComponent } from './shared/confirm-dialog/confirm-dialog.component';\r\nimport { DriverProfileComponent } from './call-center/driver-profile/driver-profile.component';\r\nimport { ServiceWorkerModule } from '@angular/service-worker';\r\nimport { environment } from '../environments/environment';\r\nimport { WaitforconfirmComponent } from './driver/waitforconfirm/waitforconfirm.component';\r\nimport { StationMemberComponent } from './station/station-member/station-member.component';\r\nimport { StationMemberSelectComponent } from './station/station-member-select/station-member-select.component';\r\nimport { TestComponent } from './test/test/test.component';\r\nimport { BottomsheetinfoComponent } from './station/bottomsheetinfo/bottomsheetinfo.component';\r\nimport { TripsComponent } from './station/trips/trips.component';\r\nimport { MytripsComponent } from './driver/mytrips/mytrips.component';\r\n\r\nimport { ShowcreatedserviceComponent } from './driver/showcreatedservice/showcreatedservice.component';\r\nimport { MessageboxComponent } from './messagebox/messagebox.component';\r\nimport { PlayfileComponent } from './driver/playfile/playfile.component';\r\nimport { LogcallComponent } from './call-center/logcall/logcall.component';\r\nimport { PushComponent } from './test/push/push.component';\r\nimport { LogoutComponent } from './driver/logout/logout.component';\r\nimport { FreeserviceComponent } from './driver/freeservice/freeservice.component';\r\nimport { LoginShahremanComponent } from './driver/login-shahreman/login-shahreman.component';\r\nimport { UnlocknotificationComponent } from './driver/unlocknotification/unlocknotification.component';\r\nimport { MasterCcComponent } from './call-center/master-cc/master-cc.component';\r\nimport { MasterCcWebComponent } from './call-center/master-cc-web/master-cc-web.component';\r\nimport { TestSocketComponent } from './driver/test-socket/test-socket.component';\r\nimport { TestMapComponent } from './driver/test-map/test-map.component';\r\nimport { PeygirialertComponent } from './driver/peygirialert/peygirialert.component';\r\nimport { CancelbydriverComponent } from './driver/cancelbydriver/cancelbydriver.component';\r\nimport { ConfirmmessageComponent } from './shared/confirmmessage/confirmmessage.component';\r\nimport { SaveDriverInfoComponent } from './call-center/save-driver-info/save-driver-info.component';\r\nimport { InpDateTimeComponent } from './call-center/inp-date-time/inp-date-time.component';\r\nimport { CallmanagerComponent } from './call-center/callmanager/callmanager.component';\r\nimport { LoginAppNewComponent } from './driver/login-app-new/login-app-new.component';\r\nimport { StationdetailComponent } from './call-center/stationdetail/stationdetail.component';\r\nimport { SetmanualdriverComponent } from './call-center/setmanualdriver/setmanualdriver.component';\r\nimport { MasterDriverComponent } from './driver/master-driver/master-driver.component';\r\nimport { MenuDriverComponent } from './driver/menu-driver/menu-driver.component';\r\nimport { ShowfreeservicelistComponent } from './driver/showfreeservicelist/showfreeservicelist.component';\r\nimport { DriverGuardGuard } from './driver-guard.guard';\r\n//import { OperatorGuardGuard } from './operator-guard.guard';\r\nimport { ActlanuncherComponent } from './shared/actlanuncher/actlanuncher.component';\r\nimport { MaterialPersianDateAdapter, PERSIAN_DATE_FORMATS } from './shared/persiandateadapter.service';\r\nimport { SnackbarexitdriverComponent } from './driver/snackbarexitdriver/snackbarexitdriver.component';\r\nimport { ExitalarmComponent } from './driver/exitalarm/exitalarm.component';\r\nimport { MessgaenotifComponent } from './driver/messgaenotif/messgaenotif.component';\r\nimport { TripmanageComponent } from './manage/tripmanage/tripmanage.component';\r\nimport { CallInfoComponent } from './driver/call-info/call-info.component';\r\nimport { SetpriorityComponent } from './manage/setpriority/setpriority.component';\r\nimport { ManageDriverComponent } from './manage/manage-driver/manage-driver.component';\r\nimport { ManageDebitComponent } from './manage/manage-debit/manage-debit.component';\r\nimport { OkmessageComponent } from './shared/okmessage/okmessage.component';\r\nimport { ChangestationComponent } from './manage/changestation/changestation.component';\r\n\r\nimport { DriverLogComponent } from './driver/driver-log/driver-log.component';\r\nimport { PropsoedListComponent } from './driver/propsoed-list/propsoed-list.component';\r\nimport { TextFieldComponent } from './shared/materials/text-field.component';\r\nimport { TextAreaComponent } from './shared/materials/text-area.component';\r\nimport { FormsListComponent } from './call-center/new-call/forms-list.component';\r\nimport { SearchFormsComponent } from './call-center/new-call/search-forms.component';\r\nimport { DashboardComponent } from './call-center/new-call/dashboard.component';\r\nimport { ProfileComponent } from './driver/profile/profile.component';\r\nimport { DatePickerComponent } from \"./shared/materials/date-picker.component\";\r\nimport { TimePickerComponent } from \"./shared/materials/time-picker.component\";\r\nimport { ButtonComponent } from \"./shared/materials/button.component\";\r\nimport { InputTextModule } from \"primeng/inputtext\";\r\nimport { CalendarModule } from \"primeng/calendar\";\r\nimport { TooltipModule } from \"primeng/tooltip\";\r\nimport { InputNumberModule } from \"primeng/inputnumber\";\r\nimport { InputMaskModule } from \"primeng/inputmask\";\r\nimport { DropdownModule } from \"primeng/dropdown\";\r\nimport { InputTextareaModule } from \"primeng/inputtextarea\";\r\nimport { TableModule } from \"primeng/table\";\r\nimport { ToolbarModule } from \"primeng/toolbar\";\r\nimport { DialogModule } from \"primeng/dialog\";\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { ChartModule } from 'primeng/chart';\r\n\r\nimport { ErrorIntercept } from './lib/serviceLib/error.interceptor';\r\nimport { NewtestComponent } from './newui/newtest/newtest.component';\r\nimport { NewNavbarComponent } from './newui/new-navbar/new-navbar.component';\r\nimport { NewMenuComponent } from './newui/new-menu/new-menu.component';\r\nimport { NewFooterComponent } from './newui/new-footer/new-footer.component';\r\nimport { NewUserinfoComponent } from './newui/new-userinfo/new-userinfo.component';\r\nimport { NewCcComponent } from './call-center/cc/new-cc/new-cc.component';\r\nimport { NewuiccComponent } from './call-center/cc/newuicc/newuicc.component';\r\nimport { SetorigindesComponent } from './shared/setorigindes/setorigindes.component';\r\nimport { SearchplaceComponent } from './shared/searchplace/searchplace.component';\r\nimport { DrvMasterComponent } from './drv/drv-master/drv-master.component';\r\nimport { BaseInfoComponent } from './call-center/baseinfo/baseinfo.component';\r\nimport { ReportTripComponent } from './report/report-trip/report-trip.component';\r\nimport { ReportBydriverComponent } from './report/report-bydriver/report-bydriver.component';\r\nimport { ReportKarKardComponent } from './report/report-karkard/report-karkard.component';\r\n\r\nimport { ReportByoperatorComponent } from './report/report-byoperator/report-byoperator.component';\r\nimport { ReportCommissionComponent } from './report/report-commission/report-commission.component';\r\n\r\nimport { TestviewComponent } from './driver/testview/testview.component';\r\nimport { DriverMenuComponent } from './driver/driver-menu/driver-menu.component';\r\nimport { StationListComponent } from './station/station-list/station-list.component';\r\nimport { DriverCardComponent } from './shared/driver-card/driver-card.component';\r\nimport { DriverQueueComponent } from './shared/driver-queue/driver-queue.component';\r\nimport { InputtextComponent } from './shared/inputtext/inputtext.component';\r\nimport { InputselectItemComponent } from './shared/inputselectItem/inputselectItem.component';\r\nimport { SettingComponent } from './admin/setting/setting.component';\r\nimport { BulkabonmanComponent } from './admin/bulkabonman/bulkabonman.component';\r\nimport { AbonmanviewComponent } from './admin/abonmanview/abonmanview.component';\r\nimport { MonthbymonthComponent } from './report/monthbymonth/monthbymonth.component';\r\nimport { SummaryinfoComponent } from './driver/summaryinfo/summaryinfo.component';\r\nimport { ManageAccComponent } from './acc/manage-acc/manage-acc.component';\r\nimport { TreeModule } from '@circlon/angular-tree-component';\r\nimport { NgxMaskModule, IConfig } from 'ngx-mask';\r\nimport { AddDebitComponent } from './acc/add-debit/add-debit.component';\r\nimport { MasterAccComponent } from './acc/master-acc/master-acc.component';\r\nimport { ShiftlistingComponent } from './manage/shiftlisting/shiftlisting.component';\r\nimport { MyshiftComponent } from './manage/myshift/myshift.component';\r\nimport { ShiftSchedulerComponent } from './manage/shift-scheduler/shift-scheduler.component'\r\n\r\n \r\n\r\n\r\nconst maskConfig: Partial = {\r\n validation: false,\r\n};\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n UiLoaderComponent,\r\n NewComponent,\r\n ConfirmInfoComponent,\r\n VerifysmsComponent,\r\n TestapiComponent,\r\n TestsocketComponent,\r\n TaximapComponent,\r\n NewrequestComponent,\r\n QueuesetComponent,\r\n ProposedRequestComponent,\r\n SetpriorityComponent,\r\n StationComponent,\r\n ViewstationComponent,\r\n ServiceruningComponent,\r\n WaitforRequestComponent,\r\n DrivernotfoundComponent,\r\n DrivermismmatchComponent,\r\n GooriginComponent,\r\n FinishserviceComponent,\r\n NewCallComponent,\r\n NewCallVanComponent,\r\n NewCallSimpleComponent,\r\n\r\n NewCallWebComponent,\r\n FoundedObjectsComponent,\r\n RegisterFoundedObjectComponent,\r\n RegisterComplaintComponent,\r\n ComplaintsComponent,\r\n LogsComponent,\r\n RegisterPassangerComponent,\r\n PassangersComponent,\r\n RegisterStationComponent,\r\n StationsComponent,\r\n DrivermonitorComponent,\r\n TrafficmonitorComponent,\r\n LoginComponent,\r\n TestapiComponent,\r\n OperatorsComponent,\r\n ConfirmDialogComponent,\r\n DriverProfileComponent,\r\n WaitforconfirmComponent,\r\n StationMemberComponent,\r\n StationMemberSelectComponent,\r\n TestComponent,\r\n BottomsheetinfoComponent,\r\n TripsComponent,\r\n MytripsComponent,\r\n ShowcreatedserviceComponent,\r\n MessageboxComponent,\r\n PlayfileComponent,\r\n LogcallComponent,\r\n PushComponent,\r\n LogoutComponent,\r\n FreeserviceComponent,\r\n LoginShahremanComponent,\r\n UnlocknotificationComponent,\r\n MasterCcComponent,\r\n MasterCcWebComponent,\r\n TestSocketComponent,\r\n TestMapComponent,\r\n PeygirialertComponent,\r\n CancelbydriverComponent,\r\n ConfirmmessageComponent,\r\n SaveDriverInfoComponent,\r\n InpDateTimeComponent,\r\n CallmanagerComponent,\r\n LoginAppNewComponent,\r\n StationdetailComponent,\r\n SetmanualdriverComponent,\r\n MasterDriverComponent,\r\n MenuDriverComponent,\r\n ShowfreeservicelistComponent,\r\n ActlanuncherComponent,\r\n SnackbarexitdriverComponent,\r\n ExitalarmComponent,\r\n MessgaenotifComponent,\r\n TripmanageComponent,\r\n CallInfoComponent,\r\n SetpriorityComponent,\r\n ManageDriverComponent,\r\n ManageDebitComponent,\r\n AbonmanviewComponent,\r\n OkmessageComponent,\r\n ChangestationComponent,\r\n DriverLogComponent,\r\n PropsoedListComponent,\r\n TextFieldComponent,\r\n TextAreaComponent,\r\n FormsListComponent,\r\n SearchFormsComponent,\r\n DashboardComponent,\r\n ProfileComponent,\r\n DatePickerComponent,\r\n TimePickerComponent,\r\n ButtonComponent,\r\n CheckboxComponent,\r\n DataTableComponent,\r\n\r\n DropdownComponent,\r\n NewtestComponent,\r\n NewNavbarComponent,\r\n NewMenuComponent,\r\n NewFooterComponent,\r\n NewUserinfoComponent,\r\n NewCcComponent,\r\n NewuiccComponent,\r\n SetorigindesComponent,\r\n SearchplaceComponent,\r\n DrvMasterComponent,\r\n BaseInfoComponent,\r\n ReportTripComponent,\r\n ReportBydriverComponent,\r\n ReportKarKardComponent,\r\n ReportByoperatorComponent,\r\n ReportCommissionComponent,\r\n TestviewComponent,\r\n DriverMenuComponent,\r\n StationListComponent,\r\n DriverCardComponent,\r\n DriverQueueComponent,\r\n InputtextComponent,\r\n InputselectItemComponent,\r\n SettingComponent,\r\n BulkabonmanComponent,\r\n AbonmanviewComponent,\r\n MonthbymonthComponent,\r\n SummaryinfoComponent,\r\n ManageAccComponent,\r\n AddDebitComponent,\r\n MasterAccComponent,\r\n ShiftlistingComponent,\r\n ShiftSchedulerComponent,\r\n MyshiftComponent\r\n\r\n ],\r\n entryComponents: [\r\n StationdetailComponent,\r\n DriverLogComponent,\r\n ProposedRequestComponent,\r\n SetpriorityComponent,\r\n WaitforRequestComponent,\r\n DrivernotfoundComponent,\r\n ConfirmDialogComponent,\r\n StationMemberComponent,\r\n \r\n BottomsheetinfoComponent,\r\n TripsComponent,\r\n MytripsComponent,\r\n ShiftlistingComponent,\r\n MyshiftComponent ,\r\n FinishserviceComponent,\r\n ShowcreatedserviceComponent,\r\n MessageboxComponent,\r\n FreeserviceComponent,\r\n CancelbydriverComponent,\r\n ConfirmmessageComponent,\r\n InpDateTimeComponent,\r\n SetmanualdriverComponent,\r\n SnackbarexitdriverComponent,\r\n OkmessageComponent,\r\n ChangestationComponent,\r\n PropsoedListComponent,\r\n SetorigindesComponent ,\r\n SearchplaceComponent\r\n ],\r\n imports: [\r\n TreeModule,\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n //MatExpansionPanel,\r\n //MatExpansionPanelHeader,\r\n //MatExpansionPanelTitle,\r\n MatExpansionModule,\r\n MatBottomSheetModule,\r\n CommonModule,\r\n HttpClientModule,\r\n MatSliderModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatCardModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MultiSelectModule,\r\n MatIconModule,\r\n MatBottomSheetModule,\r\n MatTooltipModule,\r\n NgxSplitInputModule,\r\n MatChipsModule,\r\n MatButtonToggleModule,\r\n MatProgressBarModule,\r\n MatTableModule,\r\n MatSortModule,\r\n MatAutocompleteModule,\r\n MatSnackBarModule,\r\n MatSidenavModule,\r\n MatRadioModule,\r\n MatListModule,\r\n MatBadgeModule,\r\n MatMenuModule,\r\n MatDividerModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n InputTextModule,\r\n CalendarModule,\r\n TooltipModule,\r\n InputNumberModule,\r\n InputMaskModule,\r\n DropdownModule,\r\n InputTextareaModule,\r\n TableModule,\r\n MatProgressSpinnerModule,\r\n ToolbarModule,\r\n DialogModule,\r\n ChartModule,\r\n NgxMaskModule.forRoot(maskConfig),\r\n\r\n RouterModule.forRoot([\r\n { path: '', redirectTo: 'login', pathMatch: 'full' },\r\n // { path: '', redirectTo: 'acc', pathMatch: 'full' },\r\n {\r\n path: 'acc', component: MasterAccComponent\r\n\r\n ,\r\n children: [\r\n { path: 'adddebit', component: AddDebitComponent}, \r\n { path: 'manage', component: ManageAccComponent}, \r\n\r\n ]},\r\n \r\n //{ path: '', component: TestviewComponent, pathMatch: 'full' },\r\n { path: 'bi', component: BaseInfoComponent, pathMatch: 'full' },\r\n {\r\n path: 'driver', component: DrvMasterComponent, children: [\r\n { path: 'test', component: TestviewComponent }, //login\r\n { path: 'new', redirectTo: '/login' /*component: NewComponent */}, //login\r\n { path: 'verify', component: VerifysmsComponent }, //verify sms\r\n { path: 'station2', component: TestviewComponent, canActivate: [DriverGuardGuard] },\r\n { path: 'confirm', component: ConfirmInfoComponent },\r\n { path: 'mismatch', component: DrivermismmatchComponent },\r\n { path: 'profile', component: ProfileComponent, canActivate: [DriverGuardGuard] },\r\n { path: 'waitconfirm', component: WaitforconfirmComponent },\r\n { path: 'sound', component: PlayfileComponent },\r\n { path: 'logout', component: LogoutComponent },\r\n { path: 'saveInfo', component: SaveDriverInfoComponent },\r\n ]\r\n }, //login\r\n {\r\n path: 'driver', component: MasterDriverComponent, canActivate: [DriverGuardGuard], children: [\r\n {\r\n path: 'freelist',\r\n component: ShowfreeservicelistComponent,\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: 'drv', component: DrvMasterComponent, children: [\r\n { path: 'new', component: NewComponent }, //login\r\n { path: 'verify', component: VerifysmsComponent }, //verify sms\r\n { path: 'mismatch', component: DrivermismmatchComponent }, //login fialed with miss authentication info\r\n { path: 'waitconfirm', component: WaitforconfirmComponent }, //wait for un allowd driver\r\n { path: 'confirm', component: ConfirmInfoComponent }, //confirm info at first login\r\n ]\r\n },\r\n\r\n\r\n { path: 'testApi', component: TestapiComponent },\r\n { path: 'socket', component: TestsocketComponent },\r\n { path: 'map', component: TaximapComponent },\r\n { path: 'new', component: NewrequestComponent },\r\n { path: 'test/q', component: QueuesetComponent },\r\n { path: 'message/exitq', component: ExitalarmComponent },\r\n { path: 'message/notifshow', component: MessgaenotifComponent },\r\n\r\n\r\n { path: 'station/view', component: ViewstationComponent, canActivate: [DriverGuardGuard] },\r\n { path: 'passanger/service', component: ServiceruningComponent },\r\n\r\n { path: 'service/origin', component: GooriginComponent },\r\n { path: 'service/finish', component: FinishserviceComponent, canActivate: [DriverGuardGuard] },\r\n //{ path: 'cc/new', component: NewCallComponent },\r\n { path: 'login', component: LoginComponent },\r\n\r\n { path: 'cc/setpr', component: SetpriorityComponent },\r\n\r\n { path: 'cc/driver-profile', component: DriverProfileComponent },\r\n { path: 'test/test', component: TestComponent },\r\n { path: 'CallCenter/LogCall', component: LogcallComponent },\r\n { path: 'test/push', component: PushComponent },\r\n { path: 'sso/user', component: LoginShahremanComponent },\r\n { path: 'shahreman/pushnotif1', component: UnlocknotificationComponent },\r\n { path: 'shahreman/pushnotif2', component: UnlocknotificationComponent },\r\n { path: 'shahreman/pushnotif4', component: UnlocknotificationComponent },\r\n { path: 'shahreman/pushnotif3', component: UnlocknotificationComponent },\r\n { path: 'lauchercall/setact', component: ActlanuncherComponent },\r\n { path: 'newui', component: NewtestComponent },\r\n\r\n { path: 'shahreman/pushnotif', component: UnlocknotificationComponent },\r\n { path: 'shahreman/peygiri', component: PeygirialertComponent },\r\n { path: 'service/cancel', component: CancelbydriverComponent },\r\n { path: 'shahreman/test', component: TestSocketComponent },\r\n { path: 'test/map', component: TestMapComponent },\r\n { path: 'station/det', component: StationdetailComponent },\r\n\r\n { path: 'DirectLogin', component: LoginAppNewComponent },\r\n { path: 'testqu', component: DriverQueueComponent },\r\n \r\n {\r\n path: 'origin',\r\n component: SetorigindesComponent,\r\n\r\n },\r\n {\r\n path: 'places',\r\n component: SearchplaceComponent,\r\n\r\n },\r\n \r\n {\r\n path: 'report', component: ReportBydriverComponent, children: [\r\n ]\r\n },\r\n {\r\n path: 'cc', component: MasterCcComponent, children: [\r\n {\r\n path: 'places',\r\n component: SearchplaceComponent,\r\n\r\n },\r\n {\r\n path: 'reportcommission',\r\n component: ReportCommissionComponent,\r\n\r\n },\r\n \r\n {\r\n path: 'report', component: ReportBydriverComponent\r\n },\r\n {\r\n path: 'karkard', component: ReportKarKardComponent\r\n }\r\n ,\r\n {\r\n path: 'mbym', component: MonthbymonthComponent\r\n },\r\n \r\n {\r\n path: 'reportoperator', component: ReportByoperatorComponent\r\n },\r\n\r\n {\r\n path: 'new',\r\n component: NewCallComponent,\r\n },\r\n {\r\n path: 'newvan',\r\n component: NewCallVanComponent,\r\n },\r\n {\r\n path: 'newsimple',\r\n component: NewCallSimpleComponent,\r\n },\r\n {\r\n path: 'baseinfo',\r\n component: BaseInfoComponent,\r\n },\r\n {\r\n path: 'login',\r\n component: LoginComponent,\r\n },\r\n {\r\n path: 'pelaq',\r\n component: PelqueComponent,\r\n },\r\n {\r\n path: 'p',\r\n component: PelqueComponent,\r\n },\r\n\r\n\r\n {\r\n path: 'newui',\r\n component: NewCcComponent,\r\n },\r\n {\r\n path: 'newweb',\r\n component: NewCallWebComponent,\r\n },\r\n {\r\n path: 'dashboard',\r\n component: DashboardComponent,\r\n },\r\n {\r\n path: 'formslist',\r\n component: FormsListComponent,\r\n },\r\n {\r\n path: 'searchforms',\r\n component: SearchFormsComponent,\r\n },\r\n {\r\n path: 'foundeds',\r\n component: FoundedObjectsComponent,\r\n },\r\n {\r\n path: 'regFounded',\r\n component: RegisterFoundedObjectComponent,\r\n },\r\n {\r\n path: 'regComplaint',\r\n component: RegisterComplaintComponent,\r\n },\r\n {\r\n path: 'logs',\r\n component: LogsComponent,\r\n },\r\n {\r\n path: 'complaints',\r\n component: ComplaintsComponent,\r\n },\r\n {\r\n path: 'regPassanger',\r\n component: RegisterPassangerComponent,\r\n },\r\n {\r\n path: 'passangers',\r\n component: PassangersComponent,\r\n },\r\n {\r\n path: 'regStation',\r\n component: RegisterStationComponent,\r\n },\r\n {\r\n path: 'stations',\r\n component: StationsComponent,\r\n },\r\n {\r\n path: 'manage',\r\n component: CallmanagerComponent\r\n },\r\n { path: 'operators', component: OperatorsComponent },\r\n { path: 'drivers', component: ManageDriverComponent },\r\n { path: 'shift', component: ShiftSchedulerComponent },\r\n \r\n { path: 'debits', component: ManageDebitComponent },\r\n { path: 'abonman', component: AbonmanviewComponent },\r\n {\r\n path: 'manageall',\r\n component: TripmanageComponent\r\n },\r\n {\r\n path: 'drivermonitor',\r\n component: DrivermonitorComponent\r\n },\r\n {\r\n path: 'trafficmonitor',\r\n component: TrafficmonitorComponent\r\n }\r\n ,\r\n {\r\n path: 'setting',\r\n component: SettingComponent\r\n }\r\n\r\n\r\n ],\r\n },\r\n\r\n\r\n\r\n ]),\r\n BrowserAnimationsModule,\r\n ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production })\r\n ],\r\n providers: [\r\n //WebSocketService,\r\n { provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: { hasBackdrop: true } },\r\n //{ provide: HTTP_INTERCEPTORS, useClass: MyHttpInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorIntercept, multi: true },\r\n { provide: DateAdapter, useClass: MaterialPersianDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: PERSIAN_DATE_FORMATS }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n","export default \"mat-card {\\n margin: 1rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvYmFzZWluZm8vYmFzZWluZm8uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFBO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9jYWxsLWNlbnRlci9iYXNlaW5mby9iYXNlaW5mby5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIm1hdC1jYXJkIHtcclxuICBtYXJnaW46IDFyZW07XHJcbn1cclxuIl19 */\";","import {Component, OnInit, TemplateRef, ViewChild} from '@angular/core';\r\nimport {MatDialog} from '@angular/material/dialog';\r\nimport { FormMode } from '../../lib/enums/form-mode.enum';\r\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport {ConfirmDialogComponent} from '../../shared/confirm-dialog/confirm-dialog.component';\r\nimport { BaseInfoService } from '../../lib/serviceLib/baseinfo.service';\r\nimport { IBaseInfo, IBaseInfoMaster } from '../../lib/interfaces/Ibaseinfo';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-operators',\r\n templateUrl: './baseinfo.component.html',\r\n styleUrls: ['./baseinfo.component.scss']\r\n})\r\nexport class BaseInfoComponent implements OnInit {\r\n\r\n currentGroupID: number=2;\r\n currentMasterInfo: Partial = {} ;\r\n @ViewChild('operatorDialog', {static: false}) operatorDialogTemplateRef: TemplateRef;\r\n operatorDialogRef: MatDialogRef;\r\n currentFormMode: FormMode;\r\n operatorFromGroup: FormGroup;\r\n operators: Partial[];\r\n currentEditingOperator: Partial;\r\n\r\n constructor(\r\n private baseIService: BaseInfoService,\r\n private matDialog: MatDialog,\r\n private matSnackbar: MatSnackBar,\r\n private route: ActivatedRoute,\r\n ) {\r\n }\r\n loadMaster() {\r\n this.baseIService.getMasterInfo(this.currentGroupID).subscribe(_res => {\r\n this.currentMasterInfo = _res;\r\n console.log('master info details');\r\n console.log(_res);\r\n });\r\n }\r\n loadData() {\r\n this.loadMaster();\r\n\r\n this.baseIService.getList(this.currentGroupID).subscribe(_res => {\r\n this.operators = _res;\r\n console.log('baseinfo details');\r\n console.log(_res);\r\n });\r\n }\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n if (params['gid']) {\r\n if (this.currentGroupID != params['gid']) {\r\n this.currentGroupID = params['gid'];\r\n this.loadData();\r\n }\r\n this.currentGroupID = params['gid'];\r\n }\r\n });\r\n this.loadMaster();\r\n this.operatorFromGroup = new FormGroup({\r\n name: new FormControl('', [Validators.required]),\r\n comment: new FormControl('', []),\r\n });\r\n }\r\n\r\n get FormMode() {\r\n return FormMode;\r\n }\r\n\r\n openOperatorDialog(_mode: FormMode, _data?: Partial) {\r\n console.log('openOperatorDialog');\r\n this.currentFormMode = _mode;\r\n this.operatorFromGroup.reset();\r\n\r\n if (_mode === FormMode.Edit && _data) {\r\n this.currentEditingOperator = _data;\r\n this.operatorFromGroup.patchValue(this.currentEditingOperator);\r\n }\r\n\r\n this.operatorDialogRef = this.matDialog.open(this.operatorDialogTemplateRef, {\r\n hasBackdrop: true,\r\n width: '360px'\r\n });\r\n }\r\n\r\n delete(_data: Partial) {\r\n const confirmRef = this.matDialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مطمئن هستید «' + _data.name + '» حذف شود؟',\r\n buttonText: {\r\n ok: 'بله',\r\n cancel: 'خیر'\r\n }\r\n }\r\n });\r\n\r\n confirmRef.afterClosed().subscribe(_confirmed => {\r\n if (_confirmed) {\r\n this.baseIService.delete(_data.id).subscribe(_res => {\r\n const index = this.operators.findIndex(_item => _item.id === _data.id);\r\n if (index > -1) {\r\n this.operators.splice(index, 1);\r\n }\r\n this.matSnackbar.open('رکورد با شناسه ' + _data.id + ' حذف شد.', null, {duration: 5000});\r\n });\r\n }\r\n });\r\n }\r\n\r\n submit() {\r\n if (this.operatorFromGroup.valid) {\r\n const formValues: Partial = this.operatorFromGroup.value;\r\n formValues.groupId = this.currentGroupID;\r\n if (this.currentFormMode === FormMode.Add) {\r\n this.baseIService.insert(formValues).subscribe(_id => {\r\n formValues.id = _id;\r\n this.operators.push(formValues);\r\n this.matSnackbar.open('رکورد جدید با موفقیت افزوده شد.', null, {duration: 5000});\r\n });\r\n\r\n }\r\n else if (this.currentFormMode === FormMode.Edit) {\r\n this.currentEditingOperator.name = formValues.name;\r\n this.currentEditingOperator.comment = formValues.comment;\r\n\r\n this.baseIService.update(this.currentEditingOperator).subscribe(_id => {\r\n this.matSnackbar.open('ویرایش سطر با موفقیت انجام شد.', null, {duration: 5000});\r\n });\r\n }\r\n\r\n this.operatorDialogRef.close();\r\n }\r\n }\r\n}\r\n","export default \"mat-card {\\n margin: 1rem;\\n}\\n\\ntable {\\n width: 100%;\\n /*overflow-x: scroll;\\n overflow-y: scroll;*/\\n}\\n\\n.mat-card {\\n padding: 5px;\\n}\\n\\n.mat-row:nth-child(even) {\\n background-color: #c5f3fa;\\n}\\n\\n.mat-row:nth-child(odd) {\\n background-color: white;\\n}\\n\\n.highlight {\\n background: #42A948;\\n /* green */\\n}\\n\\n.mat-cell {\\n font-size: 14px;\\n min-height: 48px;\\n text-align: center;\\n border-right: 1px solid black;\\n}\\n\\n.mat-header-cell {\\n border-right: 1px solid black;\\n color: white;\\n}\\n\\n.mat-cell,\\n.mat-header-cell {\\n word-wrap: initial;\\n display: table-cell;\\n padding: 0px 5px;\\n line-break: unset;\\n width: 100%;\\n white-space: nowrap;\\n overflow: hidden;\\n vertical-align: middle;\\n text-align: center !important;\\n}\\n\\n.mat-row,\\n.mat-header-row {\\n display: table-row;\\n}\\n\\n.mat-icon-button {\\n width: 20px;\\n}\\n\\n.mat-column-driverLogCol, .mat-column-manualProposedCol, .mat-column-queueCol, .mat-column-finishCol, .mat-column-exitCol, .mat-column-setPriorityCol, .mat-column-resendCol, .mat-column-position, .mat-column-passangerName, .mat-column-passangerMobile, .mat-column-originAddr, .mat-column-destinationAddr, .mat-column-tripComment, .mat-column-stationID, .mat-column-editCol, .mat-column-manualCol, .mat-column-deleteCol, .mat-column-driverName, .mat-column-driverMobile, .mat-column-timedConsume, .mat-column-serviceStateName, .mat-column-operatorName, .mat-column-driverCount {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 30px !important;\\n width: 30px !important;\\n /* overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;*/\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-header-row {\\n position: sticky;\\n top: 0;\\n z-index: 100;\\n background: red;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvY2FsbG1hbmFnZXIvY2FsbG1hbmFnZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFBO0FBQ0Y7O0FBQ0E7RUFDRSxXQUFBO0VBQ0E7c0JBQUE7QUFHRjs7QUFBQTtFQUNFLFlBQUE7QUFHRjs7QUFEQTtFQUNFLHlCQUFBO0FBSUY7O0FBREE7RUFDRSx1QkFBQTtBQUlGOztBQUZBO0VBQ0UsbUJBQUE7RUFBcUIsVUFBQTtBQU12Qjs7QUFKQTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsNkJBQUE7QUFPRjs7QUFKQTtFQUNFLDZCQUFBO0VBQ0EsWUFBQTtBQU9GOztBQUpBOztFQUVFLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLDZCQUFBO0FBT0Y7O0FBTEE7O0VBRUUsa0JBQUE7QUFRRjs7QUFOQTtFQUNFLFdBQUE7QUFTRjs7QUFMQTtFQUNFLGdDQUFBO0VBQ0EsNkJBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0VBQ0E7OzBCQUFBO0VBS0EscUJBQUE7RUFDQSxhQUFBO0FBUUY7O0FBTEE7RUFDRSxnQkFBQTtFQUNBLE1BQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBQVFGIiwiZmlsZSI6InNyYy9hcHAvY2FsbC1jZW50ZXIvY2FsbG1hbmFnZXIvY2FsbG1hbmFnZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJtYXQtY2FyZCB7XHJcbiAgbWFyZ2luOiAxcmVtO1xyXG59XHJcbnRhYmxlIHtcclxuICB3aWR0aDogMTAwJTtcclxuICAvKm92ZXJmbG93LXg6IHNjcm9sbDtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7Ki9cclxufVxyXG4ubWF0LWNhcmQge1xyXG4gIHBhZGRpbmc6IDVweDtcclxufVxyXG4ubWF0LXJvdzpudGgtY2hpbGQoZXZlbikge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjNWYzZmE7XHJcbn1cclxuXHJcbi5tYXQtcm93Om50aC1jaGlsZChvZGQpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xyXG59XHJcbi5oaWdobGlnaHQge1xyXG4gIGJhY2tncm91bmQ6ICM0MkE5NDg7IC8qIGdyZWVuICovXHJcbn1cclxuLm1hdC1jZWxsICB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGJsYWNrO1xyXG59XHJcblxyXG4ubWF0LWhlYWRlci1jZWxsIHtcclxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBibGFjaztcclxuICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5tYXQtY2VsbCxcclxuLm1hdC1oZWFkZXItY2VsbCB7XHJcbiAgd29yZC13cmFwOiBpbml0aWFsO1xyXG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgcGFkZGluZzogMHB4IDVweDtcclxuICBsaW5lLWJyZWFrOiB1bnNldDtcclxuICB3aWR0aDogMTAwJTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxufVxyXG4ubWF0LXJvdyxcclxuLm1hdC1oZWFkZXItcm93IHtcclxuICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbn1cclxuLm1hdC1pY29uLWJ1dHRvbiB7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbn1cclxuXHJcblxyXG4ubWF0LWNvbHVtbi1kcml2ZXJMb2dDb2wsIC5tYXQtY29sdW1uLW1hbnVhbFByb3Bvc2VkQ29sLCAubWF0LWNvbHVtbi1xdWV1ZUNvbCwgLm1hdC1jb2x1bW4tZmluaXNoQ29sLCAubWF0LWNvbHVtbi1leGl0Q29sLCAubWF0LWNvbHVtbi1zZXRQcmlvcml0eUNvbCwgLm1hdC1jb2x1bW4tcmVzZW5kQ29sLCAubWF0LWNvbHVtbi1wb3NpdGlvbiwgLm1hdC1jb2x1bW4tcGFzc2FuZ2VyTmFtZSwgLm1hdC1jb2x1bW4tcGFzc2FuZ2VyTW9iaWxlLCAubWF0LWNvbHVtbi1vcmlnaW5BZGRyLCAubWF0LWNvbHVtbi1kZXN0aW5hdGlvbkFkZHIsIC5tYXQtY29sdW1uLXRyaXBDb21tZW50LCAubWF0LWNvbHVtbi1zdGF0aW9uSUQsIC5tYXQtY29sdW1uLWVkaXRDb2wsIC5tYXQtY29sdW1uLW1hbnVhbENvbCwgLm1hdC1jb2x1bW4tZGVsZXRlQ29sLCAubWF0LWNvbHVtbi1kcml2ZXJOYW1lLCAubWF0LWNvbHVtbi1kcml2ZXJNb2JpbGUsIC5tYXQtY29sdW1uLXRpbWVkQ29uc3VtZSwgLm1hdC1jb2x1bW4tc2VydmljZVN0YXRlTmFtZSwgLm1hdC1jb2x1bW4tb3BlcmF0b3JOYW1lLCAubWF0LWNvbHVtbi1kcml2ZXJDb3VudCB7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XHJcbiAgd2hpdGUtc3BhY2U6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgZmxleDogMCAwIDMwcHggIWltcG9ydGFudDtcclxuICB3aWR0aDogMzBweCAhaW1wb3J0YW50O1xyXG4gIC8qICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyovXHJcbiAgLW1zLWh5cGhlbnM6IGF1dG87XHJcbiAgLW1vei1oeXBoZW5zOiBhdXRvO1xyXG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcclxuICBoeXBoZW5zOiBhdXRvO1xyXG59XHJcblxyXG4ubWF0LWhlYWRlci1yb3cge1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgdG9wOiAwO1xyXG4gIHotaW5kZXg6IDEwMDtcclxuICBiYWNrZ3JvdW5kOiByZWQ7XHJcbn1cclxuIl19 */\";","import { Component, OnDestroy, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SetmanualdriverComponent } from '../../call-center/setmanualdriver/setmanualdriver.component';\r\nimport { DriverLogComponent } from '../../driver/driver-log/driver-log.component';\r\nimport { PropsoedListComponent } from '../../driver/propsoed-list/propsoed-list.component';\r\nimport { SetpriorityComponent } from '../../manage/setpriority/setpriority.component';\r\nimport { ChangestationComponent } from '../../manage/changestation/changestation.component';\r\nimport { MessageboxComponent } from '../../messagebox/messagebox.component';\r\nimport { AllServiceInfo } from '../../model/serviceInfo';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\n\r\n@Component({\r\n selector: 'app-callmanager',\r\n templateUrl: './callmanager.component.html',\r\n styleUrls: ['./callmanager.component.scss']\r\n})\r\nexport class CallmanagerComponent implements OnInit, OnDestroy {\r\n allserviceList: AllServiceInfo[] = [];\r\n filteredList: AllServiceInfo[] = [];\r\n dataSource = new MatTableDataSource(this.filteredList);\r\n dialogProposedServiceRef: MatDialogRef ;\r\n dialogSetPriority: MatDialogRef ;\r\n\r\n constructor(\r\n private currentServiceService: ServiceserviceService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private dialog: MatDialog,\r\n private renderer2: Renderer2,\r\n private matSnackbar: MatSnackBar,\r\n \r\n ) {\r\n }\r\n @ViewChild(\"sort\", { static: false })\r\n public sort: MatSort = new MatSort;\r\n\r\n \r\n\r\n ngAfterViewInit() {\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n highlight(row : any) {\r\n //console.log('highlight' + row.id);\r\n this.selectedRowIndex = row.id;\r\n this.selectedElement = row;\r\n\r\n }\r\n handleShortCut(event: KeyboardEvent) {\r\n if (event.key === 'F2') {\r\n this.renderer2.selectRootElement('#driverCode').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F3') {\r\n this.filter();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F7') {\r\n // cancelTrip(element.requestID, element)\r\n if (this.selectedElement) {\r\n this.cancelTrip(this.selectedElement.requestID, this.selectedElement);\r\n }\r\n this.filter();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F8') {\r\n //console.log('F8 is pressed');\r\n\r\n //editService(element.requestID)\r\n if (this.selectedElement) {\r\n //console.log('selectedElement is ' + this.selectedElement);\r\n this.editService(this.selectedElement.requestID);\r\n }\r\n else\r\n //console.log('selectedElement is null');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F9') {\r\n //(click)=\"setManualDriver(element.serviceGuid)\">\r\n if (this.selectedElement) {\r\n this.setManualDriver(this.selectedElement.serviceGuid,2);\r\n }\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F10') {\r\n //(click)=\"setManualDriver(element.serviceGuid)\">\r\n if (this.selectedElement) {\r\n this.setManualDriver(this.selectedElement.serviceGuid, 1);\r\n }\r\n event.preventDefault();\r\n }\r\n\r\n\r\n else if ((event.which == 13 || event.keyCode == 13)) {\r\n //console.log('enter pressed');\r\n\r\n this.filter();\r\n this.forwardNext(event.srcElement);\r\n\r\n event.preventDefault();\r\n }\r\n }\r\n forwardNext(element : any) {\r\n\r\n var nextControlDic: { [id: string]: string; } = {};\r\n nextControlDic[\"driverCode\"] = \"telCall\";\r\n nextControlDic[\"telCall\"] = \"passangerName\";\r\n nextControlDic[\"passangerName\"] = \"address\";\r\n nextControlDic[\"address\"] = \"stationCode\";\r\n nextControlDic[\"stationCode\"] = \"\";\r\n\r\n\r\n\r\n\r\n var related = nextControlDic[element.id];\r\n if (related) {\r\n //console.log('realted is ' + related)\r\n this.renderer2.selectRootElement('#' + related).focus();\r\n }\r\n else {\r\n if (element.id == 'stationCode') {\r\n this.filter();\r\n }\r\n\r\n }\r\n }\r\n selectedRowIndex = -1;\r\n selectedElement: AllServiceInfo = new AllServiceInfo();\r\n displayedColumns: string[] = ['position', 'passangerName', 'passangerMobile', 'originAddr', 'destinationAddr', 'tripComment', 'stationID', 'editCol', 'manualCol', 'manualProposedCol', 'deleteCol', 'resendCol', 'exitCol', 'driverLogCol','finishCol', 'setPriorityCol','queueCol','driverName', 'driverMobile', 'timedConsume', 'serviceStateName', 'operatorName','driverCount'];\r\n loadPassangerReport() {\r\n //console.log('loadPassangerReport');\r\n this.currentServiceService.reportAll().subscribe(res => {\r\n //console.log(res);\r\n this.allserviceList = res;\r\n this.filter();\r\n });\r\n }\r\n telCall = '';\r\n driverCode = '';\r\n passangerName = '';\r\n address = '';\r\n stationCode = '';\r\n recordCount = 0;\r\n showwaiting: Boolean = true;\r\n showreserved: Boolean = true;\r\n currentGuid = '';\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n const guidDriver = params['guid'];\r\n if (guidDriver) {\r\n this.currentGuid = guidDriver;\r\n this.loadPassangerReport();\r\n }\r\n\r\n\r\n });\r\n this.schedulJon = setInterval(() => {\r\n this.schedulingupdatestatus();\r\n }, 5 * 1000);\r\n }\r\n\r\n pauseUpdate = false;\r\n schedulingupdatestatus() {\r\n if (!this.pauseUpdate) {\r\n //console.log('update list');\r\n this.loadPassangerReport();\r\n }\r\n else {\r\n //console.log('update cancel');\r\n }\r\n\r\n }\r\n valueChange(changedItem: any, $event: any) {\r\n if (changedItem == 'showwaiting') {\r\n this.showwaiting = $event.checked;\r\n this.filter();\r\n }\r\n else if (changedItem == 'pauseUpdate') {\r\n this.pauseUpdate = $event.checked;\r\n }\r\n else if (changedItem == 'showreserved') {\r\n this.showreserved= $event.checked;\r\n this.filter();\r\n }\r\n \r\n }\r\n\r\n editService(id: any) {\r\n this.router.navigate(['cc/new'], { queryParams: { guid: this.currentGuid, valp: id } });\r\n }\r\n schedulJon: any;\r\n ngOnDestroy() {\r\n if (this.schedulJon) {\r\n clearInterval(this.schedulJon);\r\n }\r\n }\r\n pageSize = 30;\r\n filter() {\r\n //if (this.telCall)\r\n //console.log(this.telCall);\r\n \r\n\r\n this.filteredList = [];\r\n //console.log(this.showwaiting);\r\n this.allserviceList.forEach((data) => {\r\n\r\n this.recordCount = this.filteredList.length;\r\n if (this.recordCount > this.pageSize && !this.showwaiting)\r\n return;\r\n\r\n if ((this.driverCode && data.driverCode == this.driverCode)\r\n ||\r\n (this.passangerName && data.passangerName.includes(this.passangerName))\r\n ||\r\n (this.address && data.passangerAddress.includes(this.address))\r\n ||\r\n (this.stationCode && data.stationID.toString() == (this.stationCode))\r\n ||\r\n (this.telCall && data.passangerMobile.includes(this.telCall))\r\n ) {\r\n this.filteredList.push(data);\r\n }\r\n else\r\n\r\n\r\n if ((this.driverCode === '' || data.driverCode == this.driverCode)\r\n &&\r\n (this.passangerName === '' || data.passangerName.includes(this.passangerName))\r\n &&\r\n (this.address === '' || data.passangerAddress.includes(this.address))\r\n &&\r\n (this.stationCode === '' || data.stationID.toString() == (this.stationCode))\r\n ) {\r\n\r\n if (this.showwaiting) {\r\n \r\n if (data.serviceStateName === 'در حال یافتن راننده' || data.serviceStateName === 'راننده ای یافت نشده' || data.serviceStateName === 'بدون راننده') {\r\n \r\n this.filteredList.push(data);\r\n }\r\n }\r\n else\r\n this.filteredList.push(data);\r\n\r\n //console.log('record count is ' + this.recordCount);\r\n }\r\n });\r\n this.recordCount = this.filteredList.length;\r\n this.dataSource = new MatTableDataSource(this.filteredList);\r\n\r\n }\r\n dialogmsgBoxRef: MatDialogRef;\r\n cancelTrip(requestID: any, trip: any) {\r\n //console.log('cancelTrip');\r\n //console.log(requestID);\r\n //console.log(trip);\r\n \r\n this.dialogmsgBoxRef = this.dialog.open(MessageboxComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n msgText: 'آیا از کنسل کردن سفر اطمینان دارید؟',\r\n msgTitle: 'انصراف'\r\n }\r\n });\r\n this.dialogmsgBoxRef.afterClosed().subscribe((result : any) => {\r\n\r\n if (result == 'ok') {\r\n this.currentServiceService.cancelServiceByRequest(requestID).subscribe(res => {\r\n if (trip) {\r\n trip.serviceStateName = 'کنسل شده';\r\n this.loadPassangerReport();\r\n\r\n }\r\n });\r\n }\r\n\r\n });\r\n\r\n //console.warn(trip);\r\n }\r\n resend(requestID: any) {\r\n //console.log('resend')\r\n //console.log(trip)\r\n this.currentServiceService.ReProposedRequest(requestID).subscribe(res => {\r\n //this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n this.matSnackbar.open('فرم دوباره ثبت گردید', null, { duration: 3000 });\r\n //console.log(res);\r\n });\r\n\r\n\r\n\r\n\r\n }\r\n finishTrip(serviceGuid: any) {\r\n this.currentServiceService.finishService(serviceGuid).subscribe(_res => {\r\n\r\n });\r\n }\r\n ListProposed(requestID: any) {\r\n\r\n }\r\n \r\n SetPriority(dCode: any, stationID: any) {\r\n this.dialogSetPriority = this.dialog.open(SetpriorityComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n driverCode: dCode,\r\n stationID: stationID\r\n }\r\n });\r\n\r\n }\r\n exitDriver(driverCode: any) {\r\n this.currentServiceService.exitDriver(driverCode).subscribe(_res => {\r\n\r\n });\r\n }\r\n setManualDriver(guidRequestParam: any, typeAction: any) {\r\n //console.log(guidRequestParam);\r\n this.dialogProposedServiceRef = this.dialog.open(SetmanualdriverComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n guidRequest: guidRequestParam , \r\n actionType: typeAction\r\n },\r\n autoFocus: true,\r\n });\r\n this.dialogProposedServiceRef.afterClosed().subscribe((result : any) => {\r\n if (result == 'Accept') {\r\n\r\n\r\n\r\n } else if (result == 'Reject') {\r\n\r\n }\r\n });\r\n\r\n //this.taxiSerivce.getRequestByPropsedCode(guidRequestParam).subscribe(_res => {\r\n // console.warn(_res);\r\n //});\r\n\r\n }\r\n\r\n getPredict(infoItem: any) {\r\n \r\n \r\n \r\n this.dialogPredicRef = this.dialog.open(ChangestationComponent, {\r\n width: '1200px',\r\n hasBackdrop: true,\r\n data: {\r\n info: infoItem\r\n }\r\n });\r\n }\r\n public dialogPredicRef: MatDialogRef\r\n dialogDriverLogRef: MatDialogRef;\r\n showLog(driverIDParam: any) {\r\n this.dialogDriverLogRef = this.dialog.open(DriverLogComponent, {\r\n width: '800px',\r\n hasBackdrop: true,\r\n maxHeight: '90vh',\r\n data: {\r\n driverID: driverIDParam\r\n },\r\n autoFocus: true,\r\n });\r\n }\r\n dialogPropLIstServiceRef: MatDialogRef;\r\n showproposed(requestID: any) {\r\n this.dialogPropLIstServiceRef = this.dialog.open(PropsoedListComponent, {\r\n width: '800px',\r\n hasBackdrop: true,\r\n data: {\r\n requestID: requestID\r\n },\r\n autoFocus: true,\r\n });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhbGwtY2VudGVyL2NjL25ldy1jYy9uZXctY2MuY29tcG9uZW50LmNzcyJ9 */\";","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-new-cc',\r\n templateUrl: './new-cc.component.html',\r\n styleUrls: ['./new-cc.component.css']\r\n})\r\nexport class NewCcComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhbGwtY2VudGVyL2NjL25ld3VpY2MvbmV3dWljYy5jb21wb25lbnQuY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-newuicc',\r\n templateUrl: './newuicc.component.html',\r\n styleUrls: ['./newuicc.component.css']\r\n})\r\nexport class NewuiccComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","export default \":host {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n}\\n\\nmat-drawer-container {\\n flex: 1 0 auto;\\n}\\n\\n.driver-search {\\n width: 50%;\\n position: relative;\\n}\\n\\n.driver-search__input {\\n box-sizing: border-box;\\n width: 100%;\\n background-color: rgba(255, 255, 255, 0.15);\\n border: 2px solid transparent;\\n font-size: 16px;\\n font-family: inherit;\\n border-radius: 0.25em;\\n padding: 0.25em 0.5em 0.25em 2.5rem;\\n outline: 0;\\n margin: 0;\\n color: #fff;\\n transition: background-color 0.3s, color 0.4s, box-shadow 0.3s;\\n box-shadow: 0 0 0 #000;\\n}\\n\\n.driver-search__input::-moz-placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input::placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input:focus {\\n background-color: #fff;\\n color: #282b3b;\\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);\\n}\\n\\n.driver-search__input:focus + .driver-search__icon {\\n color: #282b3b;\\n}\\n\\n.driver-search__icon {\\n position: absolute;\\n left: 9px;\\n top: 7px;\\n z-index: 1;\\n}\\n\\n.side-bar {\\n padding: 1rem;\\n width: 320px;\\n}\\n\\n.driver-information {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.driver-information__details {\\n margin-right: 1rem;\\n}\\n\\n.driver-information__name {\\n font-size: 1rem;\\n}\\n\\n.driver-information__status-label {\\n font-size: 0.875rem;\\n color: #888;\\n}\\n\\n.avatar {\\n position: relative;\\n width: 54px;\\n height: 54px;\\n}\\n\\n.avatar__image {\\n width: 100%;\\n height: 100%;\\n border-radius: 50%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.avatar__status {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: #fff;\\n border: 2px solid #fff;\\n}\\n\\n.car-info {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin-top: 0.5rem;\\n}\\n\\n.car-info__type {\\n margin-right: 0.5rem;\\n margin-left: auto;\\n}\\n\\n.car-info__id {\\n border: 2px solid rgba(0, 0, 0, 0.2);\\n border-radius: 4px;\\n padding: 0.125rem 0.5rem;\\n background-color: #eee;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvZHJpdmVyLXByb2ZpbGUvZHJpdmVyLXByb2ZpbGUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0FBQ0Y7O0FBRUE7RUFDRSxjQUFBO0FBQ0Y7O0FBRUE7RUFDRSxVQUFBO0VBQ0Esa0JBQUE7QUFDRjs7QUFDRTtFQUNFLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLDJDQUFBO0VBQ0EsNkJBQUE7RUFDQSxlQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLG1DQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsOERBQUE7RUFDQSxzQkFBQTtBQUNKOztBQUNJO0VBQ0UsK0JBQUE7QUFDTjs7QUFGSTtFQUNFLCtCQUFBO0FBQ047O0FBRUk7RUFDRSxzQkFBQTtFQUNBLGNBQUE7RUFDQSx5Q0FBQTtBQUFOOztBQUVNO0VBQ0UsY0FBQTtBQUFSOztBQUtFO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7QUFISjs7QUFPQTtFQUNFLGFBQUE7RUFDQSxZQUFBO0FBSkY7O0FBT0E7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtBQUpGOztBQU1FO0VBQ0Usa0JBQUE7QUFKSjs7QUFPRTtFQUNFLGVBQUE7QUFMSjs7QUFRRTtFQUNFLG1CQUFBO0VBQ0EsV0FBQTtBQU5KOztBQVVBO0VBQ0Usa0JBQUE7RUFFQSxXQURPO0VBRVAsWUFGTztBQU5UOztBQVVFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0tBQUEsaUJBQUE7QUFSSjs7QUFXRTtFQUNFLGtCQUFBO0VBQ0EsT0FBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxzQkFBQTtBQVRKOztBQWFBO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBQVZGOztBQVlFO0VBQ0Usb0JBQUE7RUFDQSxpQkFBQTtBQVZKOztBQWFFO0VBQ0Usb0NBQUE7RUFDQSxrQkFBQTtFQUNBLHdCQUFBO0VBQ0Esc0JBQUE7QUFYSiIsImZpbGUiOiJzcmMvYXBwL2NhbGwtY2VudGVyL2RyaXZlci1wcm9maWxlL2RyaXZlci1wcm9maWxlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbm1hdC1kcmF3ZXItY29udGFpbmVyIHtcclxuICBmbGV4OiAxIDAgYXV0bztcclxufVxyXG5cclxuLmRyaXZlci1zZWFyY2gge1xyXG4gIHdpZHRoOiA1MCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAmX19pbnB1dCB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIDAuMTUpO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcclxuICAgIHBhZGRpbmc6IDAuMjVlbSAwLjVlbSAwLjI1ZW0gMi41cmVtO1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjRzLCBib3gtc2hhZG93IDAuM3M7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAjMDAwO1xyXG5cclxuICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgY29sb3I6IHJnYmEoI2ZmZiwgMC4zKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgY29sb3I6ICMyODJiM2I7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG5cclxuICAgICAgKyAuZHJpdmVyLXNlYXJjaF9faWNvbiB7XHJcbiAgICAgICAgY29sb3I6ICMyODJiM2I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogOXB4O1xyXG4gICAgdG9wOiA3cHg7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLnNpZGUtYmFyIHtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG4gIHdpZHRoOiAzMjBweDtcclxufVxyXG5cclxuLmRyaXZlci1pbmZvcm1hdGlvbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICZfX2RldGFpbHMge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgJl9fbmFtZSB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgfVxyXG5cclxuICAmX19zdGF0dXMtbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgIGNvbG9yOiAjODg4O1xyXG4gIH1cclxufVxyXG5cclxuLmF2YXRhciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICRzaXplOiA1NHB4O1xyXG4gIHdpZHRoOiAkc2l6ZTtcclxuICBoZWlnaHQ6ICRzaXplO1xyXG5cclxuICAmX19pbWFnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgJl9fc3RhdHVzIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB3aWR0aDogOHB4O1xyXG4gICAgaGVpZ2h0OiA4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi5jYXItaW5mbyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG5cclxuICAmX190eXBlIHtcclxuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAmX19pZCB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgcGFkZGluZzogMC4xMjVyZW0gMC41cmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICB9XHJcbn1cclxuIl19 */\";","import {Component, OnInit} from '@angular/core';\r\nimport { DriverStatus, IDriverStatusMeta } from '../../lib/enums/driver-status.enum';\r\n\r\n@Component({\r\n selector: 'app-driver-profile',\r\n templateUrl: './driver-profile.component.html',\r\n styleUrls: ['./driver-profile.component.scss']\r\n})\r\nexport class DriverProfileComponent implements OnInit {\r\n\r\n currentDriverStatus: IDriverStatusMeta;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n this.currentDriverStatus = IDriverStatusMeta.getStatus(DriverStatus.Traveling);\r\n }\r\n\r\n \r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhbGwtY2VudGVyL2lucC1kYXRlLXRpbWUvaW5wLWRhdGUtdGltZS5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, Inject, OnInit, Renderer2 } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport * as moment from 'jalali-moment';\r\n\r\n@Component({\r\n selector: 'app-inp-date-time',\r\n templateUrl: './inp-date-time.component.html',\r\n styleUrls: ['./inp-date-time.component.scss']\r\n})\r\nexport class InpDateTimeComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private matSnackbar: MatSnackBar,\r\n private renderer2: Renderer2,\r\n @Inject(MAT_DIALOG_DATA) public data: { guidRequest: string })\r\n {\r\n\r\n }\r\n selectedhour: FormControl;\r\n selectedminute: FormControl;\r\n date: FormControl; \r\n \r\n\r\n\r\n save() {\r\n if ((!this.selectedhour.value) || +this.selectedhour.value > 23) {\r\n this.matSnackbar.open('ساعت وارد شده صحیح نمی باشد', null, { duration: 1500 });\r\n return;\r\n }\r\n \r\n\r\n if ((!this.selectedminute.value) || +this.selectedminute.value > 59) {\r\n this.matSnackbar.open('دقیقه وارد شده صحیح نمی باشد', null, { duration: 1500 });\r\n return;\r\n }\r\n if (!this.date.value) {\r\n this.matSnackbar.open('تاریخ وارد شده صحیح نمی باشد', null, { duration: 1500 });\r\n return;\r\n }\r\n\r\n\r\n this.dialogRef.close({ 'Action': 'Save', 'date': this.date, 'hour': this.selectedhour.value, 'minute': this.selectedminute.value });\r\n }\r\n cancel() {\r\n this.dialogRef.close({ 'Action': 'Cancel', 'date': this.date, 'hour': this.selectedhour.value, 'minute': this.selectedminute.value });\r\n }\r\n ngOnInit() {\r\n\r\n this.selectedhour = new FormControl('', [Validators.required, Validators.min(0), Validators.max(23)]);\r\n this.selectedminute = new FormControl('', [Validators.required, Validators.min(0), Validators.max(59)]);\r\n this.date = new FormControl(new Date(), [Validators.required]);\r\n }\r\n \r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhbGwtY2VudGVyL2xvZ2NhbGwvbG9nY2FsbC5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\n\r\n@Component({\r\n selector: 'app-logcall',\r\n templateUrl: './logcall.component.html',\r\n styleUrls: ['./logcall.component.scss']\r\n})\r\nexport class LogcallComponent implements OnInit {\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private callCenterService: CallCenterService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n this.loadData(params['Line'], params['No']);\r\n });\r\n }\r\n result =''\r\n loadData(Line: any, No: any) {\r\n this.callCenterService.saveLogCall(Line, No).subscribe(p => {\r\n this.result = p;\r\n });\r\n }\r\n\r\n}\r\n","export default \".logo {\\n width: 200px;\\n height: auto;\\n display: block;\\n margin: auto;\\n padding-top: 30px;\\n}\\n\\n.card-header h4 {\\n margin: auto;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvbG9naW4vbG9naW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QUFDRjs7QUFFQTtFQUNJLFlBQUE7QUFDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGwtY2VudGVyL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxvZ28ge1xyXG4gIHdpZHRoOiAyMDBweDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHBhZGRpbmctdG9wOiAzMHB4O1xyXG59XHJcblxyXG4uY2FyZC1oZWFkZXIgaDR7XHJcbiAgICBtYXJnaW46YXV0bztcclxufVxyXG4iXX0= */\";","//import { renderFlagCheckIfStmt } from '@angular/compiler/src/render3/view/template';\r\nimport { Component, OnInit, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\r\nimport {FormControl, FormGroup} from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { OperatorService } from '../../lib/serviceLib/operatorservice.service';\r\nimport { environment } from '../../../environments/environment.prod';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit, AfterViewInit {\r\n loginFormGroup: FormGroup;\r\n @ViewChild('android')\r\n public android: ElementRef;\r\n\r\n errorText = 'اطلاعات وارد شده صحیح نمی باشد';\r\n hasError = false;\r\n\r\n constructor(private opService: OperatorService, private router: Router) {\r\n\r\n //var cur_url = localStorage.getItem(environment.cur_url);\r\n //if (cur_url && cur_url.includes(\"guid\")) {\r\n // let regexT = '/' + window.location.origin.replace(\"https://\", \"\") + '([\\\\w/]+)';\r\n // let guidCache = cur_url.match(/guid=([\\w-]+)/)[1];\r\n // let routeCache = cur_url.match(regexT)[1];\r\n // this.router.navigate([routeCache], { queryParams: { guid: guidCache } });\r\n //}\r\n //else {\r\n localStorage.removeItem(environment.cur_url);\r\n\r\n this.loginFormGroup = new FormGroup({\r\n username: new FormControl(''),\r\n password: new FormControl('')\r\n });\r\n //}\r\n \r\n }\r\n\r\n ngOnInit() {\r\n\r\n\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n console.log(this.android.nativeElement.click());\r\n }\r\n\r\n submit() {\r\n this.hasError = false;\r\n var cur_fbsToken = localStorage.getItem(environment.cur_fbsToken);\r\n\r\n this.opService.loginAll(this.loginFormGroup.value.username, this.loginFormGroup.value.password, cur_fbsToken).subscribe(res => {\r\n console.log(res);\r\n if (res) {\r\n if (res.errorString && res.errorString != \"\") {\r\n this.hasError = true;\r\n this.errorText = res.errorString;\r\n }\r\n else {\r\n if (res.isOperator && res.operatorData)\r\n this.router.navigate(['cc/dashboard'], { queryParams: { guid: res.operatorData.guidCode } });\r\n else if (res.isDriver && res.driverData) {\r\n localStorage.setItem(environment.cur_u_tkn, res.driverData.tk);\r\n localStorage.setItem(environment.cur_u_name, res.driverData.info.guid);\r\n console.log('environment.cur_u_name is ');\r\n console.log(res.driverData.info.guid);\r\n console.log('res.driverData.tk is ');\r\n console.log(res.driverData.tk);\r\n\r\n\r\n console.log('cur_u_tkn is ');\r\n console.log(localStorage.getItem(environment.cur_u_tkn));\r\n\r\n\r\n this.router.navigate(['driver/test'], { queryParams: { guid: res.driverData.info.guid } });\r\n\r\n }\r\n }\r\n }\r\n\r\n });\r\n \r\n }\r\n\r\n}\r\n","export default \":host {\\n display: flex;\\n flex-direction: column;\\n height: 100vh;\\n}\\n\\nmat-drawer-container {\\n flex: 1 0 auto;\\n}\\n\\n.driver-search {\\n width: 50%;\\n position: relative;\\n}\\n\\n.driver-search__input {\\n box-sizing: border-box;\\n width: 100%;\\n background-color: rgba(255, 255, 255, 0.15);\\n border: 2px solid transparent;\\n font-size: 16px;\\n font-family: inherit;\\n border-radius: 0.25em;\\n padding: 0.25em 0.5em 0.25em 2.5rem;\\n outline: 0;\\n margin: 0;\\n color: #fff;\\n transition: background-color 0.3s, color 0.4s, box-shadow 0.3s;\\n box-shadow: 0 0 0 #000;\\n}\\n\\n.driver-search__input::-moz-placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input::placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input:focus {\\n background-color: #fff;\\n color: #282b3b;\\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);\\n}\\n\\n.driver-search__input:focus + .driver-search__icon {\\n color: #282b3b;\\n}\\n\\n.driver-search__icon {\\n position: absolute;\\n left: 9px;\\n top: 7px;\\n z-index: 1;\\n}\\n\\n.side-bar {\\n padding: 1rem;\\n width: 320px;\\n}\\n\\n.driver-information {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.driver-information__details {\\n margin-right: 1rem;\\n}\\n\\n.driver-information__name {\\n font-size: 1rem;\\n}\\n\\n.driver-information__status-label {\\n font-size: 0.875rem;\\n color: #888;\\n}\\n\\n.avatar {\\n position: relative;\\n width: 54px;\\n height: 54px;\\n}\\n\\n.avatar__image {\\n width: 100%;\\n height: 100%;\\n border-radius: 50%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.avatar__status {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: #fff;\\n border: 2px solid #fff;\\n}\\n\\n.car-info {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin-top: 0.5rem;\\n}\\n\\n.car-info__type {\\n margin-right: 0.5rem;\\n margin-left: auto;\\n}\\n\\n.car-info__id {\\n border: 2px solid rgba(0, 0, 0, 0.2);\\n border-radius: 4px;\\n padding: 0.125rem 0.5rem;\\n background-color: #eee;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvbWFzdGVyLWNjLXdlYi9tYXN0ZXItY2Mtd2ViLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsYUFBQTtBQUNGOztBQUVBO0VBQ0UsY0FBQTtBQUNGOztBQUVBO0VBQ0UsVUFBQTtFQUNBLGtCQUFBO0FBQ0Y7O0FBQ0U7RUFDRSxzQkFBQTtFQUNBLFdBQUE7RUFDQSwyQ0FBQTtFQUNBLDZCQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxtQ0FBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLDhEQUFBO0VBQ0Esc0JBQUE7QUFDSjs7QUFDSTtFQUNFLCtCQUFBO0FBQ047O0FBRkk7RUFDRSwrQkFBQTtBQUNOOztBQUVJO0VBQ0Usc0JBQUE7RUFDQSxjQUFBO0VBQ0EseUNBQUE7QUFBTjs7QUFFTTtFQUNFLGNBQUE7QUFBUjs7QUFLRTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0FBSEo7O0FBT0E7RUFDRSxhQUFBO0VBQ0EsWUFBQTtBQUpGOztBQU9BO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7QUFKRjs7QUFNRTtFQUNFLGtCQUFBO0FBSko7O0FBT0U7RUFDRSxlQUFBO0FBTEo7O0FBUUU7RUFDRSxtQkFBQTtFQUNBLFdBQUE7QUFOSjs7QUFVQTtFQUNFLGtCQUFBO0VBRUEsV0FETztFQUVQLFlBRk87QUFOVDs7QUFVRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0FBUko7O0FBV0U7RUFDRSxrQkFBQTtFQUNBLE9BQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0Esc0JBQUE7QUFUSjs7QUFhQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUFWRjs7QUFZRTtFQUNFLG9CQUFBO0VBQ0EsaUJBQUE7QUFWSjs7QUFhRTtFQUNFLG9DQUFBO0VBRUEsa0JBQUE7RUFDQSx3QkFBQTtFQUNBLHNCQUFBO0FBWkoiLCJmaWxlIjoic3JjL2FwcC9jYWxsLWNlbnRlci9tYXN0ZXItY2Mtd2ViL21hc3Rlci1jYy13ZWIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcbm1hdC1kcmF3ZXItY29udGFpbmVyIHtcclxuICBmbGV4OiAxIDAgYXV0bztcclxufVxyXG5cclxuLmRyaXZlci1zZWFyY2gge1xyXG4gIHdpZHRoOiA1MCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAmX19pbnB1dCB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIDAuMTUpO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcclxuICAgIHBhZGRpbmc6IDAuMjVlbSAwLjVlbSAwLjI1ZW0gMi41cmVtO1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjRzLCBib3gtc2hhZG93IDAuM3M7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAjMDAwO1xyXG5cclxuICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgY29sb3I6IHJnYmEoI2ZmZiwgMC4zKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgY29sb3I6ICMyODJiM2I7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG5cclxuICAgICAgKyAuZHJpdmVyLXNlYXJjaF9faWNvbiB7XHJcbiAgICAgICAgY29sb3I6ICMyODJiM2I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogOXB4O1xyXG4gICAgdG9wOiA3cHg7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLnNpZGUtYmFyIHtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG4gIHdpZHRoOiAzMjBweDtcclxufVxyXG5cclxuLmRyaXZlci1pbmZvcm1hdGlvbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICZfX2RldGFpbHMge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgJl9fbmFtZSB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgfVxyXG5cclxuICAmX19zdGF0dXMtbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgIGNvbG9yOiAjODg4O1xyXG4gIH1cclxufVxyXG5cclxuLmF2YXRhciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICRzaXplOiA1NHB4O1xyXG4gIHdpZHRoOiAkc2l6ZTtcclxuICBoZWlnaHQ6ICRzaXplO1xyXG5cclxuICAmX19pbWFnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgJl9fc3RhdHVzIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB3aWR0aDogOHB4O1xyXG4gICAgaGVpZ2h0OiA4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi5jYXItaW5mbyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG5cclxuICAmX190eXBlIHtcclxuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAmX19pZCB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjVyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG4gIH1cclxufVxyXG4iXX0= */\";","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { NotifalertserviceService } from '../../shared/notifalertservice.service';\r\nimport { environment } from '../../../environments/environment.prod';\r\n\r\n@Component({\r\n selector: 'app-master-cc-web',\r\n templateUrl: './master-cc-web.component.html',\r\n styleUrls: ['./master-cc-web.component.scss']\r\n})\r\nexport class MasterCcWebComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"drawer\", { static: false })\r\n public drawer: MatSidenav;\r\n\r\n constructor(\r\n private callCenterService: CallCenterService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private notifAlert: NotifalertserviceService\r\n ) {\r\n this.notifAlert.sharedData.subscribe(data => { this.changedRecived(data); })\r\n\r\n }\r\n ngOnDestroy() {\r\n this.notifAlert.sharedData.next(\"\");\r\n this.notifAlert.sharedData.complete();\r\n }\r\n\r\n\r\n changedRecived(data: any) {\r\n if (data == 'savenew') {\r\n this.loadOperatorInfo(this.operatorguid);\r\n }\r\n //console.log(data +' recived as master')\r\n }\r\n operatorInfo = new OperatorTable();\r\n operatorguid: string;\r\n ngOnInit() {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n this.loadOperatorInfo(this.operatorguid);\r\n });\r\n\r\n }\r\n loadOperatorInfo(guidCode: any) {\r\n this.callCenterService.getOperatorInfo(guidCode).subscribe(res => {\r\n if (res) {\r\n this.operatorInfo = res;\r\n //console.log(this.operatorInfo);\r\n } else {\r\n\r\n this.router.navigate(['login'], { queryParams: {} });\r\n }\r\n });\r\n }\r\n signout() {\r\n\r\n this.router.navigate(['login'], { queryParams: {} });\r\n }\r\n menuItemClick(item: any) {\r\n\r\n\r\n if (item == 'dashboard') {\r\n this.router.navigate(['cc/dashboard'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else\r\n if (item == 'newForm') {\r\n this.router.navigate(['cc/new'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'searchForms') {\r\n this.router.navigate(['cc/searchforms'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'formsList') {\r\n this.router.navigate(['cc/formslist'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'regComplaint') {\r\n this.router.navigate(['cc/regComplaint'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'regFounded') {\r\n this.router.navigate(['cc/regFounded'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'founded') {\r\n this.router.navigate(['cc/founded'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'bisim') {\r\n this.router.navigate(['cc/manage'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'operatosmanage') {\r\n this.router.navigate(['cc/operators'], { queryParams: { guid: this.operatorguid } });\r\n\r\n }\r\n else if (item == 'manage') {\r\n this.router.navigate(['cc/manageall'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'managedrivers') {\r\n this.router.navigate(['cc/drivers'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'newWebForm') {\r\n this.router.navigate(['cc/newweb'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n\r\n\r\n this.drawer.toggle()\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnDestroy, OnInit, ViewChild, Renderer2, AfterViewInit, ElementRef } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { OperatorService } from '../../lib/serviceLib/operatorservice.service';\r\nimport { NotifalertserviceService } from '../../shared/notifalertservice.service';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { environment } from '../../../environments/environment.prod';\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport { Inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-master-cc',\r\n templateUrl: './master-cc.component.html',\r\n styles: [`\r\n .mat-toolbar {\r\n background-color: #00dc6f !important;\r\n color: #ffffff !important;\r\n }\r\n\r\n ::ng-deep mat-drawer custom-button {\r\n width: 100% !important;\r\n }\r\n\r\n ::ng-deep mat-drawer custom-button button {\r\n width: 100% !important;\r\n background-color: white !important;\r\n color: black !important;\r\n text-align: right !important;\r\n }\r\n\r\n ::ng-deep mat-toolbar {\r\n position: sticky;\r\n position: -webkit-sticky; /* For macOS/iOS Safari */\r\n top: 0;\r\n z-index: 1000;\r\n }\r\n `]\r\n})\r\nexport class MasterCcComponent implements OnInit, OnDestroy, AfterViewInit {\r\n @ViewChild(\"drawer\", { static: false })\r\n public drawer: MatSidenav;\r\n @ViewChild('android', { static: false })\r\n public android: ElementRef;\r\n\r\n\r\n ngAfterViewInit() {\r\n console.log(this.android.nativeElement.click());\r\n \r\n\r\n }\r\n constructor(\r\n private renderer: Renderer2,\r\n @Inject(DOCUMENT) private _document ,\r\n private callCenterService: CallCenterService,\r\n private operatorService: OperatorService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private notifAlert: NotifalertserviceService ) {\r\n this.notifAlert.sharedData.subscribe(data => { this.changedRecived(data); })\r\n\r\n }\r\n ngOnDestroy() {\r\n this.notifAlert.sharedData.next(\"\");\r\n this.notifAlert.sharedData.complete();\r\n }\r\n\r\n\r\n changedRecived(data: any) {\r\n if (data == 'savenew') {\r\n this.loadOperatorInfo(this.operatorguid);\r\n }\r\n //console.log(data +' recived as master')\r\n }\r\n operatorInfo = new OperatorTable();\r\n operatorguid: string;\r\n ngOnInit() {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n this.loadOperatorInfo(this.operatorguid);\r\n });\r\n\r\n }\r\n loadOperatorInfo(guidCode: any) {\r\n this.callCenterService.getOperatorInfo(guidCode).subscribe(res => {\r\n if (res) {\r\n this.operatorInfo = res;\r\n GlobalVariable.adminLevel = this.operatorInfo.adminLevel;\r\n\r\n } else {\r\n localStorage.removeItem(environment.cur_url);\r\n\r\n this.router.navigate(['login'], { queryParams: {} });\r\n }\r\n });\r\n }\r\n signout() {\r\n localStorage.removeItem(environment.cur_url);\r\n\r\n try {\r\n this.operatorService.logout(this.operatorInfo.id, false).subscribe(\r\n res => {\r\n this.router.navigate(['login'], {});\r\n })\r\n }\r\n catch (e) {\r\n\r\n }\r\n\r\n }\r\n menuItemClick(item: any) {\r\n\r\n\r\n if (item == 'dashboard') {\r\n this.router.navigate(['cc/dashboard'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else\r\n if (item == 'newForm') {\r\n this.router.navigate(['cc/new'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'searchForms') {\r\n this.router.navigate(['cc/searchforms'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'formsList') {\r\n this.router.navigate(['cc/formslist'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'regComplaint') {\r\n this.router.navigate(['cc/regComplaint'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'complaints') {\r\n this.router.navigate(['cc/complaints'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'regFounded') {\r\n this.router.navigate(['cc/regFounded'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'foundeds') {\r\n this.router.navigate(['cc/foundeds'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'regPassanger') {\r\n this.router.navigate(['cc/regPassanger'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'passangers') {\r\n this.router.navigate(['cc/passangers'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'regStation') {\r\n this.router.navigate(['cc/regStation'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'stations') {\r\n this.router.navigate(['cc/stations'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'bisim') {\r\n this.router.navigate(['cc/manage'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'operatosmanage') {\r\n this.router.navigate(['cc/operators'], { queryParams: { guid: this.operatorguid } });\r\n\r\n }\r\n else if (item == 'manage') {\r\n this.router.navigate(['cc/manageall'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'managedrivers') {\r\n this.router.navigate(['cc/drivers'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'newWebForm') {\r\n this.router.navigate(['cc/newweb'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'logs') {\r\n this.router.navigate(['cc/logs'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'drivermonitor') {\r\n this.router.navigate(['cc/drivermonitor'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'trafficmonitor') {\r\n this.router.navigate(['cc/trafficmonitor'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n\r\n this.drawer.toggle()\r\n\r\n }\r\n\r\n\r\n powerClick() {\r\n if (this.operatorInfo.isActive)\r\n this.operatorInfo.isActive = false;\r\n else\r\n this.operatorInfo.isActive = true;\r\n //let po: Partial = this.operatorInfo;\r\n\r\n this.operatorService.update(this.operatorInfo).subscribe(res => {\r\n //console.log(res);\r\n });\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output,AfterViewInit,ViewChild,ElementRef } from '@angular/core';\r\nimport { Complaint } from '../../model/complaint';\r\nimport Swal from \"sweetalert2\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ComplaintserviceService } from '../../lib/serviceLib/complaintservice.service';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { environment } from '../../../environments/environment.prod';\r\n\r\n@Component({\r\n selector: 'app-complaints',\r\n templateUrl: './complaints.component.html'\r\n})\r\nexport class ComplaintsComponent implements OnInit, AfterViewInit {\r\n @Input() visible: boolean = true;\r\n @Input() data: any = [];\r\n @Output() visibleChange = new EventEmitter();\r\n allComplaintList: Complaint[] = [];\r\n @ViewChild('android')\r\n public android: ElementRef;\r\n isLoading: boolean = false;\r\n detailsVisible: boolean = false;\r\n public result: any[] = [];\r\n\r\n recordCount = 0;\r\n pageSize = 30;\r\n\r\n\r\n\r\n constructor(\r\n private complaintServiceService: ComplaintserviceService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n\r\n ) {\r\n }\r\n\r\n operatorguid: string;\r\n\r\n complaintForm: FormGroup;\r\n\r\n ngOnInit(): void {\r\n this.complaintForm = new FormGroup({\r\n passangerFName: new FormControl(),\r\n passangerMobile: new FormControl(),\r\n originAddr: new FormControl(),\r\n driverCode: new FormControl(),\r\n description: new FormControl(),\r\n destinationAddr: new FormControl()\r\n });\r\n\r\n this.allComplaintList = [];\r\n this.loadComplaintReport();\r\n }\r\n ngAfterViewInit() {\r\n console.log(this.android.nativeElement.click());\r\n }\r\n\r\n async submitFormAndSend() {\r\n\r\n \r\n this.loadComplaintReport();\r\n }\r\n loadComplaintReport() {\r\n this.complaintServiceService.reportAllComplaint(this.complaintForm.get('passangerFName')?.value, this.complaintForm.get('passangerMobile')?.value, this.complaintForm.get('driverCode')?.value, this.complaintForm.get('originAddr')?.value, this.complaintForm.get('destinationAddr')?.value, this.complaintForm.get('description')?.value).subscribe(res => {\r\n if (res.length > 0) {\r\n //console.log(res);\r\n\r\n this.allComplaintList = res;\r\n //this.filter();\r\n } else {\r\n this.allComplaintList = [];\r\n\r\n Swal.fire('یافت نشد', 'موردی جهت جستجو یافت نشد!');\r\n }\r\n });\r\n }\r\n\r\n resetForm() {\r\n this.complaintForm.reset();\r\n this.allComplaintList = [];\r\n\r\n }\r\n\r\n}\r\n\r\n","import { Component, OnInit, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { DashboardService } from '../../lib/serviceLib/dashboardservice.service'\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service'\r\nimport { Dashboard } from '../../model/dashboard';\r\nimport { environment } from '../../../environments/environment.prod';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styles: [`\r\n .count-number {\r\n font-family: IranSans;\r\n font-weight: bold;\r\n font-size: 1.8rem;\r\n }\r\n\r\n .title {\r\n font-family: IranYekan;\r\n }\r\n `]\r\n})\r\nexport class DashboardComponent implements OnInit, AfterViewInit {\r\n operatorguid: any;\r\n telID = new FormControl('123');\r\n dashboard = new Dashboard();\r\n @ViewChild('android')\r\n public android: ElementRef;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private dashboardService: DashboardService,\r\n private callCenterService: CallCenterService,\r\n private router: Router\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n localStorage.setItem(environment.cur_url, window.location.href);\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n\r\n this.dashboardService.getDashboard(this.operatorguid).subscribe(t => {\r\n this.dashboard.todayCount = t.todayCount;\r\n this.dashboard.monthCount = t.monthCount;\r\n\r\n });\r\n\r\n });\r\n\r\n\r\n\r\n\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n console.log(this.android.nativeElement.click());\r\n }\r\n\r\n getCallClick() {\r\n this.router.navigate(['cc/new'], { queryParams: { guid: this.operatorguid, telID: this.telID.value } });\r\n\r\n }\r\n\r\n}\r\n","export default \":host {\\n position: relative;\\n}\\n\\napp-taximap {\\n display: block;\\n height: calc(100vh - 96px);\\n width: calc(100% - 3px);\\n}\\n\\n:host {\\n display: flex;\\n flex-direction: column;\\n height: 91vh;\\n}\\n\\nmat-drawer-container {\\n flex: 1 0 auto;\\n}\\n\\n.driver-search {\\n width: 50%;\\n position: relative;\\n}\\n\\n.driver-search__input {\\n box-sizing: border-box;\\n width: 100%;\\n background-color: rgba(255, 255, 255, 0.15);\\n border: 2px solid transparent;\\n font-size: 16px;\\n font-family: inherit;\\n border-radius: 0.25em;\\n padding: 0.25em 0.5em 0.25em 2.5rem;\\n outline: 0;\\n margin: 0;\\n color: #fff;\\n transition: background-color 0.3s, color 0.4s, box-shadow 0.3s;\\n box-shadow: 0 0 0 #000;\\n}\\n\\n.driver-search__input::-moz-placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input::placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input:focus {\\n background-color: #fff;\\n color: #282b3b;\\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);\\n}\\n\\n.driver-search__input:focus + .driver-search__icon {\\n color: #282b3b;\\n}\\n\\n.driver-search__icon {\\n position: absolute;\\n left: 9px;\\n top: 7px;\\n z-index: 1;\\n}\\n\\n.side-bar {\\n padding: 1rem;\\n width: 320px;\\n}\\n\\n.driver-information {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.driver-information__details {\\n margin-right: 1rem;\\n}\\n\\n.driver-information__name {\\n font-size: 1rem;\\n}\\n\\n.driver-information__status-label {\\n font-size: 0.875rem;\\n color: #888;\\n}\\n\\n.avatar {\\n position: relative;\\n width: 54px;\\n height: 54px;\\n}\\n\\n.avatar__image {\\n width: 100%;\\n height: 100%;\\n border-radius: 50%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.avatar__status {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: #fff;\\n border: 2px solid #fff;\\n}\\n\\n.car-info {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin-top: 0.5rem;\\n}\\n\\n.car-info__type {\\n margin-right: 0.5rem;\\n margin-left: auto;\\n}\\n\\n.car-info__id {\\n border: 2px solid rgba(0, 0, 0, 0.2);\\n border-radius: 4px;\\n padding: 0.125rem 0.5rem;\\n background-color: #eee;\\n}\\n\\n.bottomDiv {\\n padding: 1rem;\\n background-color: #282b3b;\\n color: #fff;\\n text-align: center;\\n position: absolute;\\n bottom: 0px;\\n width: 100vw;\\n z-index: 314195;\\n left: 0px;\\n}\\n\\n.spanDetailState {\\n font-weight: bolder;\\n padding-left: 8px;\\n}\\n\\ndiv_origin {\\n text-align: right;\\n direction: rtl;\\n width: 95%;\\n background-color: white;\\n border-radius: 8px;\\n background: white;\\n padding: 8px;\\n margin-left: auto;\\n margin-right: auto;\\n margin-top: 8px;\\n margin-bottom: 8px;\\n}\\n\\n.btnreq {\\n display: block;\\n background: #32cb00;\\n width: 95%;\\n margin-left: auto;\\n margin-right: auto;\\n margin-top: 8px;\\n margin-bottom: 8px;\\n height: 35px;\\n}\\n\\n.spanAddr {\\n font-weight: bold;\\n}\\n\\n.address__origin::before, .address__dest::before, .address__dest-2::before {\\n position: absolute;\\n content: \\\"\\\";\\n width: 14px;\\n height: 28px;\\n background: #9c27b0;\\n border-radius: 8px;\\n display: block;\\n right: -20px !important;\\n top: 0 !important;\\n}\\n\\n.disabledCheckBox {\\n background-color: #a2a2a2;\\n padding: 5px;\\n padding-top: 10px;\\n}\\n\\n.tripingCheckBox {\\n background-color: #f74839;\\n padding: 5px;\\n padding-top: 10px;\\n}\\n\\n.onStationCheckBox {\\n background-color: yellow;\\n padding: 5px;\\n padding-top: 10px;\\n}\\n\\n.Station100CheckBox {\\n background-color: green;\\n padding: 5px;\\n padding-top: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvbmV3LWNhbGwvZHJpdmVyLW1vbml0b3IuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxrQkFBQTtBQUNKOztBQUVBO0VBQ0UsY0FBQTtFQUNBLDBCQUFBO0VBQ0EsdUJBQUE7QUFDRjs7QUFDQTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7QUFFRjs7QUFDQTtFQUNFLGNBQUE7QUFFRjs7QUFDQTtFQUNFLFVBQUE7RUFDQSxrQkFBQTtBQUVGOztBQUFFO0VBQ0Usc0JBQUE7RUFDQSxXQUFBO0VBQ0EsMkNBQUE7RUFDQSw2QkFBQTtFQUNBLGVBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUNBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSw4REFBQTtFQUNBLHNCQUFBO0FBRUo7O0FBQUk7RUFDRSwrQkFBQTtBQUVOOztBQUhJO0VBQ0UsK0JBQUE7QUFFTjs7QUFDSTtFQUNFLHNCQUFBO0VBQ0EsY0FBQTtFQUNBLHlDQUFBO0FBQ047O0FBQ007RUFDRSxjQUFBO0FBQ1I7O0FBSUU7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtBQUZKOztBQU1BO0VBQ0UsYUFBQTtFQUNBLFlBQUE7QUFIRjs7QUFNQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FBSEY7O0FBS0U7RUFDRSxrQkFBQTtBQUhKOztBQU1FO0VBQ0UsZUFBQTtBQUpKOztBQU9FO0VBQ0UsbUJBQUE7RUFDQSxXQUFBO0FBTEo7O0FBU0E7RUFDRSxrQkFBQTtFQUVBLFdBRE87RUFFUCxZQUZPO0FBTFQ7O0FBU0U7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBQVBKOztBQVVFO0VBQ0Usa0JBQUE7RUFDQSxPQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0FBUko7O0FBWUE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FBVEY7O0FBV0U7RUFDRSxvQkFBQTtFQUNBLGlCQUFBO0FBVEo7O0FBWUU7RUFDRSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0Esd0JBQUE7RUFDQSxzQkFBQTtBQVZKOztBQWFBO0VBQ0UsYUFBQTtFQUNBLHlCQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxTQUFBO0FBVkY7O0FBWUE7RUFFSSxtQkFBQTtFQUNBLGlCQUFBO0FBVko7O0FBYUE7RUFDRSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxVQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7QUFWRjs7QUFhQTtFQUNFLGNBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtBQVZGOztBQWFBO0VBQ0UsaUJBQUE7QUFWRjs7QUFjQTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSx1QkFBQTtFQUNBLGlCQUFBO0FBWEY7O0FBY0E7RUFDRSx5QkFBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtBQVhGOztBQWFBO0VBQ0UseUJBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QUFWRjs7QUFZQTtFQUNFLHdCQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0FBVEY7O0FBV0E7RUFDRSx1QkFBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtBQVJGIiwiZmlsZSI6InNyYy9hcHAvY2FsbC1jZW50ZXIvbmV3LWNhbGwvZHJpdmVyLW1vbml0b3IuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbmFwcC10YXhpbWFwIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA5NnB4KTtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gM3B4KTtcclxufVxyXG46aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGhlaWdodDogOTF2aDtcclxufVxyXG5cclxubWF0LWRyYXdlci1jb250YWluZXIge1xyXG4gIGZsZXg6IDEgMCBhdXRvO1xyXG59XHJcblxyXG4uZHJpdmVyLXNlYXJjaCB7XHJcbiAgd2lkdGg6IDUwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICZfX2lucHV0IHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMC4xNSk7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xyXG4gICAgcGFkZGluZzogMC4yNWVtIDAuNWVtIDAuMjVlbSAyLjVyZW07XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuNHMsIGJveC1zaGFkb3cgMC4zcztcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICMwMDA7XHJcblxyXG4gICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogcmdiYSgjZmZmLCAwLjMpO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICBjb2xvcjogIzI4MmIzYjtcclxuICAgICAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcblxyXG4gICAgICArIC5kcml2ZXItc2VhcmNoX19pY29uIHtcclxuICAgICAgICBjb2xvcjogIzI4MmIzYjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faWNvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA5cHg7XHJcbiAgICB0b3A6IDdweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZS1iYXIge1xyXG4gIHBhZGRpbmc6IDFyZW07XHJcbiAgd2lkdGg6IDMyMHB4O1xyXG59XHJcblxyXG4uZHJpdmVyLWluZm9ybWF0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgJl9fZGV0YWlscyB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgfVxyXG5cclxuICAmX19uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICB9XHJcblxyXG4gICZfX3N0YXR1cy1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgY29sb3I6ICM4ODg7XHJcbiAgfVxyXG59XHJcblxyXG4uYXZhdGFyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgJHNpemU6IDU0cHg7XHJcbiAgd2lkdGg6ICRzaXplO1xyXG4gIGhlaWdodDogJHNpemU7XHJcblxyXG4gICZfX2ltYWdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgfVxyXG5cclxuICAmX19zdGF0dXMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHdpZHRoOiA4cHg7XHJcbiAgICBoZWlnaHQ6IDhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xyXG4gIH1cclxufVxyXG5cclxuLmNhci1pbmZvIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAwLjVyZW07XHJcblxyXG4gICZfX3R5cGUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICB9XHJcblxyXG4gICZfX2lkIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuNXJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgfVxyXG59XHJcbi5ib3R0b21EaXYge1xyXG4gIHBhZGRpbmc6IDFyZW07XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4MmIzYjtcclxuICBjb2xvcjogI2ZmZjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMHB4O1xyXG4gIHdpZHRoOiAxMDB2dztcclxuICB6LWluZGV4OiAzMTQxOTU7XHJcbiAgbGVmdDowcHg7XHJcbn1cclxuLnNwYW5EZXRhaWxTdGF0ZVxyXG57XHJcbiAgICBmb250LXdlaWdodDpib2xkZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6OHB4O1xyXG59XHJcblxyXG5kaXZfb3JpZ2luIHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBkaXJlY3Rpb246IHJ0bDtcclxuICB3aWR0aDogOTUlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBwYWRkaW5nOiA4cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi10b3A6IDhweDtcclxuICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5idG5yZXEge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQ6ICMzMmNiMDA7XHJcbiAgd2lkdGg6IDk1JTtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLXRvcDogOHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDhweDtcclxuICBoZWlnaHQ6IDM1cHg7XHJcbn1cclxuXHJcbi5zcGFuQWRkciB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcblxyXG4uYWRkcmVzc19fb3JpZ2luOjpiZWZvcmUsIC5hZGRyZXNzX19kZXN0OjpiZWZvcmUsIC5hZGRyZXNzX19kZXN0LTI6OmJlZm9yZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDE0cHg7XHJcbiAgaGVpZ2h0OiAyOHB4O1xyXG4gIGJhY2tncm91bmQ6ICM5YzI3YjA7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHJpZ2h0OiAtMjBweCAhaW1wb3J0YW50O1xyXG4gIHRvcDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGlzYWJsZWRDaGVja0JveCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EyYTJhMjtcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbn1cclxuLnRyaXBpbmdDaGVja0JveCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3NDgzOTtcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbn1cclxuLm9uU3RhdGlvbkNoZWNrQm94IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcbi5TdGF0aW9uMTAwQ2hlY2tCb3gge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xyXG4gIHBhZGRpbmc6IDVweDtcclxuICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG4iXX0= */\";","import { Component, EventEmitter, Input, OnInit, Output, ViewChild, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { TaximapComponent } from '../../taximap/taximap.component';\r\nimport { LatLng, Marker } from 'leaflet';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { MarkerType } from '../../lib/markerHelper';\r\nimport { LocationInfo } from '../../globalVariable';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { Driver } from '../../model/driver';\r\nimport { DriverStatus, IDriverStatusMeta } from '../../lib/enums/driver-status.enum';\r\nimport { FormControl } from '@angular/forms';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { StationMemberSelectComponent } from '../../station/station-member-select/station-member-select.component';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-driver-monitor',\r\n templateUrl: './driver-monitor.component.html',\r\n styleUrls: ['./driver-monitor.component.scss']\r\n\r\n})\r\nexport class DrivermonitorComponent implements OnInit, OnDestroy {\r\n @Input() visible: boolean = true;\r\n @Input() data: any = [];\r\n @Output() visibleChange = new EventEmitter();\r\n \r\n @ViewChild(\"map\", { static: false })\r\n public map: any;\r\n operatorguid: string;\r\n originPoint = new LocationInfo();\r\n originMarker: any;\r\n initMarker: Marker;\r\n destinationMarker: any;\r\n recordCount = 0;\r\n pageSize = 30;\r\n mobileSearch = '';\r\n nationalCodeSearch = '';\r\n driverFNameSearch = '';\r\n driverCodeSearch = '';\r\n stationCode = '';\r\n currentFBSToken = '';\r\n outOfServiceCount= 0;\r\n station100Count= 0;\r\n waitingOnStationCount= 0;\r\n travelingCount= 0;\r\n allCount= 0;\r\n outOfService: FormControl;\r\n station100: FormControl;\r\n waitingOnStation: FormControl;\r\n traveling: FormControl;\r\n @Output() driverClick = new EventEmitter();\r\n schedulJon: any;\r\n lstDriver: Driver[];\r\n updateMap : FormControl;\r\n \r\n DriverMarkerList: { [id: number]: Marker; } = {};\r\n statuesString: string[] = ['1006','1007','1008','1004','1005'];\r\n constructor(\r\n private drivService: DriverserviceService,\r\n private serviceService: ServiceserviceService,\r\n private route: ActivatedRoute,\r\n private taxiSerivce: TaxiserviceService,\r\n private matDialog: MatDialog,\r\n private matSnackbar: MatSnackBar,\r\n private stationSerivce: StationserviceService,\r\n private router: Router\r\n\r\n ) {\r\n\r\n }\r\n @ViewChild(\"driverList\", { static: false })\r\n public driverList: StationMemberSelectComponent;\r\n\r\n ngOnInit(): void {\r\n if (!this.map) { \r\n this.map = new TaximapComponent();\r\n \r\n }\r\n \r\n //if (!this.driverList) {\r\n // this.driverList = new StationMemberSelectComponent();\r\n\r\n //}\r\n this.outOfService = new FormControl(true);\r\n this.station100 = new FormControl(true);\r\n this.waitingOnStation = new FormControl(true);\r\n this.traveling = new FormControl(true);\r\n this.updateMap = new FormControl(true);\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n });\r\n\r\n\r\n\r\n\r\n\r\n this.schedulingUpdateMonitoring();\r\n\r\n this.updateMap.valueChanges.subscribe(() => {\r\n if (this.updateMap.value) {\r\n this.schedulingUpdateMonitoring();\r\n }\r\n else {\r\n clearTimeout(this.schedulJon);\r\n }\r\n }\r\n );\r\n\r\n\r\n this.outOfService.valueChanges.subscribe(() => {\r\n if (!this.outOfService.value) {\r\n this.statuesString.splice(this.statuesString.indexOf('1004', 0), 2);\r\n }\r\n else if (this.outOfService.value) {\r\n if (!this.statuesString.includes('1004'))\r\n this.statuesString.push('1004');\r\n if (!this.statuesString.includes('1005'))\r\n this.statuesString.push('1005');\r\n }\r\n this.filter().subscribe(() => { });\r\n }\r\n );\r\n\r\n this.station100.valueChanges.subscribe(() => {\r\n if (!this.station100.value) {\r\n this.statuesString.splice(this.statuesString.indexOf('1006', 0), 1);\r\n }\r\n else if (this.station100.value) {\r\n if (!this.statuesString.includes('1006'))\r\n this.statuesString.push('1006');\r\n }\r\n this.filter().subscribe(() => { });\r\n }\r\n );\r\n\r\n this.waitingOnStation.valueChanges.subscribe(() => {\r\n if (!this.waitingOnStation.value) {\r\n this.statuesString.splice(this.statuesString.indexOf('1007', 0), 1);\r\n }\r\n else if (this.waitingOnStation.value) {\r\n if (!this.statuesString.includes('1007'))\r\n this.statuesString.push('1007');\r\n }\r\n this.filter().subscribe(() => { });\r\n }\r\n );\r\n\r\n this.traveling.valueChanges.subscribe(() => {\r\n if (!this.traveling.value) {\r\n this.statuesString.splice(this.statuesString.indexOf('1008', 0), 1);\r\n }\r\n else if (this.traveling.value) {\r\n if (!this.statuesString.includes('1008'))\r\n this.statuesString.push('1008');\r\n }\r\n this.filter().subscribe(() => { });\r\n }\r\n );\r\n\r\n\r\n }\r\n\r\n filter(): Observable{\r\n\r\n return new Observable((observer) => {\r\n \r\n\r\n if (!this.outOfService.value && !this.station100.value && !this.waitingOnStation.value && !this.traveling.value) {\r\n this.statuesString = ['888'];\r\n }\r\n this.drivService.getAllForMonitor(this.mobileSearch, this.driverFNameSearch, this.driverCodeSearch, this.nationalCodeSearch, this.statuesString).subscribe(_res => {\r\n \r\n for (let key in this.DriverMarkerList) {\r\n this.map.removemarker(this.DriverMarkerList[key]);\r\n }\r\n\r\n if (_res && _res.length > 0) {\r\n this.lstDriver = [];\r\n this.DriverMarkerList = {};\r\n\r\n this.lstDriver = _res;\r\n\r\n this.outOfServiceCount = _res.filter(x => x.currentStatus == 1005 || x.currentStatus == 1004).length;\r\n this.station100Count = _res.filter(x => x.currentStatus == 1006).length;\r\n this.waitingOnStationCount = _res.filter(x => x.currentStatus == 1007).length;\r\n this.travelingCount = _res.filter(x => x.currentStatus == 1008).length;\r\n this.allCount = _res.length;\r\n\r\n _res.forEach(driver => {\r\n this.DriverMarkerList[driver.id] =\r\n this.addDriverMarker(driver);\r\n\r\n });\r\n\r\n\r\n }\r\n else {\r\n //Swal.fire('یافت نشد', 'موردی یافت نشد!');\r\n\r\n }\r\n observer.next(_res);\r\n\r\n\r\n });\r\n if (this.driverList)\r\n this.driverList.refreshData();\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n \r\n\r\n \r\n addDriverMarker(driver: Driver): Marker {\r\n let marker : Marker;\r\n marker = this.map.addMarker(driver.lat, driver.lng, this.getMarkerTypeForMonitoring(driver.currentStatus));\r\n marker.on('click', (e: any) => { this.onDriverMarkerClick(e, driver); });\r\n driver.currentDriverStatus = IDriverStatusMeta.getStatus(driver.currentStatus);\r\n if (driver.driverStatusInfo.guid) {\r\n this.serviceService.getService(driver.driverStatusInfo.guid).subscribe(_res => {\r\n marker.bindPopup(\r\n '

نام راننده : ' + driver.fName + ' ' + driver.lName + '
کد راننده : ' + driver.driverCode + '
وضعیت : ' + driver.currentDriverStatus?.text + '
موبایل : ' + driver.mobile + '
کد ایستگاه : ' + driver.driverStatusInfo.stationID + '
آخرین اتصال : ' + driver.lastActivity + '
نام مسافر : ' + _res.passangerFName + ' ' + _res.passangerLName + '
موبایل مسافر : ' + _res.passangerMobile + '
مبدا : ' + _res.originAddr + '
مقصد : ' + _res.destinationAddr + '

');\r\n });\r\n\r\n }\r\n else {\r\n marker.bindPopup(\r\n '

نام راننده : ' + driver.fName + ' ' + driver.lName + '
کد راننده : ' + driver.driverCode + '
وضعیت : ' + driver.currentDriverStatus?.text + '
موبایل : ' + driver.mobile + '
کد ایستگاه : ' + driver.driverStatusInfo.stationID + '
آخرین اتصال : ' + driver.lastActivity + '

');\r\n }\r\n\r\n return marker;\r\n }\r\n\r\n\r\n getMarkerTypeForMonitoring(status: number): MarkerType {\r\n if (status == DriverStatus.Off || status == DriverStatus.OutOfService)\r\n return MarkerType.grayDriver;\r\n if (status == DriverStatus.Station100)\r\n return MarkerType.greenDriver;\r\n if (status == DriverStatus.WaitingOnStation)\r\n return MarkerType.yellowDriver;\r\n if (status == DriverStatus.Traveling)\r\n return MarkerType.redDriver;\r\n else\r\n return MarkerType.grayDriver;\r\n }\r\n\r\n\r\n onDriverMarkerClick(e: any, i: any) {\r\n this.driverClick.emit(i);\r\n\r\n }\r\n\r\n\r\n\r\n schedulingUpdateMonitoring() {\r\n this.filter().subscribe(res => {\r\n if (this.updateMap.value) { \r\n this.schedulJon = setTimeout(() => { this.schedulingUpdateMonitoring() }, 5000);\r\n }\r\n }\r\n )\r\n }\r\n\r\n\r\n resetForm() {\r\n this.mobileSearch = '';\r\n this.nationalCodeSearch = '';\r\n this.driverFNameSearch = '';\r\n this.driverCodeSearch = '';\r\n this.stationCode = '';\r\n this.filter().subscribe(() => { });\r\n }\r\n\r\n\r\n\r\n\r\n getOriginAddressDesc(lat: any, lng: any) {\r\n var s = this.taxiSerivce.getAddressFromLocation(lat, lng);\r\n s.subscribe(_res => {\r\n this.originPoint.desc = _res;\r\n });\r\n }\r\n\r\n map_Click(cordinates: any) {\r\n\r\n\r\n\r\n }\r\n\r\n gotoOrigin() {\r\n\r\n }\r\n\r\n\r\n moveMapEvent(evt: any) {\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(evt.location[0], evt.location[1]));\r\n }\r\n }\r\n\r\n moveEndMapEvent(evt: any) {\r\n //if (this.CurrentState == PageState.OriginDefine) {\r\n // this.getOriginAddressDesc(evt.location[0], evt.location[1]);\r\n //}\r\n //else if (this.CurrentState == PageState.DestinationDefine) {\r\n // var s = this.taxiSerivce.getAddressFromLocation(evt.location[0], evt.location[1]);\r\n // s.subscribe(_res => {\r\n // this.destinationPoint.desc = _res;\r\n // });\r\n //}\r\n\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(evt.location[0], evt.location[1]));\r\n }\r\n }\r\n\r\n setEmptyStation() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n //console.log('ngAfterViewInit');\r\n\r\n\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.schedulJon) {\r\n clearInterval(this.schedulJon);\r\n }\r\n\r\n this.map.removeMap();\r\n\r\n \r\n }\r\n onSelectedDriver(q) {\r\n var loc = this.DriverMarkerList[q.driverID]?.getLatLng();\r\n if (loc) {\r\n this.map.setView(loc.lat, loc.lng, 20);\r\n this.map.openPopup(loc)\r\n }\r\n \r\n }\r\n \r\n\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport Swal from \"sweetalert2\";\r\nimport { AllServiceInfo } from '../../model/serviceInfo';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-forms-list',\r\n templateUrl: './forms-list.component.html',\r\n styles: [`\r\n ::ng-deep .p-dialog-content {\r\n width: 100%;\r\n }\r\n `]\r\n})\r\nexport class FormsListComponent implements OnInit {\r\n @Input() visible: boolean = true;\r\n @Input() data: any = [];\r\n @Output() visibleChange = new EventEmitter();\r\n allserviceList: AllServiceInfo[] = [];\r\n passangerMobile = '';\r\n driverCode = '';\r\n passangerName = '';\r\n originAddr = '';\r\n stationID = '';\r\n filteredList: AllServiceInfo[] = [];\r\n recordCount = 0;\r\n pageSize = 30;\r\n\r\n\r\n\r\n constructor(\r\n private currentServiceService: ServiceserviceService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n const guidDriver = params['guid'];\r\n this.passangerName = params['passangerName'] ?? '';\r\n this.passangerMobile = params['passangerMobile'] ?? '';\r\n this.originAddr = params['originAddr'] ?? '';\r\n this.driverCode = params['driverCode'] ?? '';\r\n this.stationID = params['stationID'] ?? '';\r\n if (guidDriver) {\r\n this.loadPassangerReport();\r\n }\r\n })\r\n }\r\n\r\n loadPassangerReport() {\r\n //console.log('loadPassangerReport');\r\n this.currentServiceService.reportAll().subscribe(res => {\r\n if (res.length > 0) {\r\n\r\n //console.log(res);\r\n this.allserviceList = res;\r\n this.filter();\r\n\r\n } else {\r\n Swal.fire('یافت نشد', 'موردی جهت جستجو یافت نشد!');\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n filter() {\r\n \r\n\r\n\r\n this.filteredList = [];\r\n //console.log(this.showwaiting);\r\n this.allserviceList.forEach((data) => {\r\n\r\n this.recordCount = this.filteredList.length;\r\n if (this.recordCount > this.pageSize )\r\n return;\r\n\r\n if ((this.driverCode && data.driverCode == this.driverCode)\r\n ||\r\n (this.passangerName && data.passangerName.includes(this.passangerName))\r\n ||\r\n (this.originAddr && data.passangerAddress.includes(this.originAddr))\r\n ||\r\n (this.stationID && data.stationID.toString() == (this.stationID))\r\n ||\r\n (this.passangerMobile && data.passangerMobile.includes(this.passangerMobile))\r\n ) {\r\n this.filteredList.push(data);\r\n }\r\n else\r\n\r\n\r\n if ((this.driverCode === '' || data.driverCode == this.driverCode)\r\n &&\r\n (this.passangerName === '' || data.passangerName.includes(this.passangerName))\r\n &&\r\n (this.originAddr === '' || data.passangerAddress.includes(this.originAddr))\r\n &&\r\n (this.stationID === '' || data.stationID.toString() == (this.stationID))\r\n &&\r\n (this.passangerMobile === '' || data.passangerMobile.toString() == (this.passangerMobile))\r\n ) {\r\n\r\n \r\n this.filteredList.push(data);\r\n\r\n //console.log('record count is ' + this.recordCount);\r\n }\r\n });\r\n this.recordCount = this.filteredList.length;\r\n this.allserviceList = this.filteredList;\r\n\r\n }\r\n\r\n editForm() {\r\n\r\n }\r\n\r\n newComplaint() {\r\n\r\n }\r\n\r\n newFounded() {\r\n\r\n }\r\n\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output,ElementRef,ViewChild,AfterViewInit } from '@angular/core';\r\nimport { FoundedObject } from '../../model/foundedObject';\r\nimport Swal from \"sweetalert2\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FoundedObjectserviceService } from '../../lib/serviceLib/foundedObjectservice.service';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { environment } from '../../../environments/environment.prod';\r\n\r\n@Component({\r\n selector: 'app-founded-objects',\r\n templateUrl: './founded-objects.component.html'\r\n})\r\nexport class FoundedObjectsComponent implements OnInit, AfterViewInit {\r\n @Input() visible: boolean = true;\r\n @Input() data: any = [];\r\n @Output() visibleChange = new EventEmitter();\r\n allFoundedObjectList: FoundedObject[] = [];\r\n @ViewChild('android')\r\n public android: ElementRef;\r\n isLoading: boolean = false;\r\n detailsVisible: boolean = false;\r\n public result: any[] = [];\r\n\r\n recordCount = 0;\r\n pageSize = 30;\r\n\r\n\r\n\r\n constructor(\r\n private foundedObjectServiceService: FoundedObjectserviceService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n\r\n ) {\r\n }\r\n\r\n operatorguid: string;\r\n foundedObjectForm: FormGroup;\r\n\r\n ngOnInit(): void {\r\n this.foundedObjectForm = new FormGroup({\r\n passangerFName: new FormControl(),\r\n passangerMobile: new FormControl(),\r\n originAddr: new FormControl(),\r\n driverCode: new FormControl(),\r\n description: new FormControl(),\r\n destinationAddr: new FormControl()\r\n });\r\n\r\n\r\n this.allFoundedObjectList = [];\r\n this.loadFoundedObjectReport();\r\n }\r\n\r\n ngAfterViewInit() {\r\n console.log(this.android.nativeElement.click());\r\n }\r\n\r\n async submitFormAndSend() {\r\n\r\n\r\n this.loadFoundedObjectReport();\r\n }\r\n loadFoundedObjectReport() {\r\n this.foundedObjectServiceService.reportAllFoundedObject(this.foundedObjectForm.get('passangerFName')?.value, this.foundedObjectForm.get('passangerMobile')?.value, this.foundedObjectForm.get('driverCode')?.value, this.foundedObjectForm.get('originAddr')?.value, this.foundedObjectForm.get('destinationAddr')?.value, this.foundedObjectForm.get('description')?.value).subscribe(res => {\r\n if (res.length > 0) {\r\n //console.log(res);\r\n this.allFoundedObjectList = res;\r\n //this.filter();\r\n } else {\r\n this.allFoundedObjectList = [];\r\n\r\n Swal.fire('یافت نشد', 'موردی جهت جستجو یافت نشد!');\r\n }\r\n });\r\n }\r\n\r\n resetForm() {\r\n this.foundedObjectForm.reset();\r\n this.allFoundedObjectList = [];\r\n\r\n }\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Log } from '../../model/log';\r\nimport Swal from \"sweetalert2\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { LogserviceService } from '../../lib/serviceLib/logservice.service';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmDialogComponent } from '../../shared/confirm-dialog/confirm-dialog.component';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { throwError } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'app-logs',\r\n templateUrl: './logs.component.html'\r\n})\r\nexport class LogsComponent implements OnInit {\r\n @Input() visible: boolean = true;\r\n @Input() data: any = [];\r\n @Output() visibleChange = new EventEmitter();\r\n allLogList: Log[] = [];\r\n\r\n isLoading: boolean = false;\r\n detailsVisible: boolean = false;\r\n public result: any[] = [];\r\n\r\n recordCount = 0;\r\n pageSize = 30;\r\n typesString: string[] = ['1', '2', '3', '20', '99', '100', '0'];\r\n\r\n tarikhAz : FormControl;\r\n tarikhTa: FormControl;\r\n timeAz: FormControl;\r\n timeTa: FormControl;\r\n\r\n gpsLogTime: FormControl;\r\n gpsLogDistance: FormControl;\r\n logSocketServer : FormControl;\r\n logSocketClient: FormControl;\r\n managerFormGroup: FormGroup;\r\n serverOffTime: FormControl;\r\n\r\n type1: FormControl;\r\n type2: FormControl;\r\n type3: FormControl;\r\n type20: FormControl;\r\n type99: FormControl;\r\n type100: FormControl;\r\n type0: FormControl;\r\n\r\n typeInput: FormControl;\r\n deviceID: FormControl;\r\n deviceModel: FormControl;\r\n\r\n\r\n constructor(\r\n private logServiceService: LogserviceService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private matDialog: MatDialog,\r\n private httpClient: HttpClient\r\n\r\n ) {\r\n }\r\n\r\n operatorguid: string;\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n if (error.status === 0) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('An error occurred:', error.error);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong.\r\n console.error(\r\n `Backend returned code ${error.status}, body was: `, error.error);\r\n }\r\n // Return an observable with a user-facing error message.\r\n return throwError(() => new Error('Something bad happened; please try again later.'));\r\n }\r\n setConfigControls() {\r\n this.logServiceService.getConfig().subscribe(res => {\r\n\r\n console.log(res);\r\n\r\n this.gpsLogTime.setValue(res.gpsLogTime);\r\n this.gpsLogDistance.setValue(res.gpsLogDistance);\r\n this.logSocketServer.setValue(res.logSocketServer);\r\n this.logSocketClient.setValue(res.logSocketClient);\r\n this.serverOffTime.setValue(res.serverOffTime);\r\n\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n //var result = this.httpClient.post(GlobalVariable.DashboardBaseServiceURL + \"/GetConfig\", new HttpParams()).pipe(\r\n // catchError(this.handleError)\r\n //);;\r\n\r\n //result.subscribe(res => { console.log(res) });\r\n\r\n this.tarikhAz = new FormControl('');\r\n this.tarikhTa = new FormControl('');\r\n this.timeAz = new FormControl('');\r\n this.timeTa = new FormControl('');\r\n this.gpsLogTime = new FormControl('');\r\n this.gpsLogDistance = new FormControl('');\r\n this.logSocketServer = new FormControl(false);\r\n this.logSocketClient = new FormControl(false);\r\n this.serverOffTime = new FormControl('');\r\n\r\n this.setConfigControls();\r\n\r\n\r\n this.type1 = new FormControl(true);\r\n this.type2 = new FormControl(true);\r\n this.type3 = new FormControl(true);\r\n this.type20 = new FormControl(true);\r\n this.type99 = new FormControl(true);\r\n this.type100 = new FormControl(true);\r\n this.type0 = new FormControl(true);\r\n\r\n this.typeInput = new FormControl(20);\r\n this.deviceID = new FormControl();\r\n this.deviceModel = new FormControl();\r\n\r\n this.managerFormGroup = new FormGroup({\r\n gpsLogTime: this.gpsLogTime,\r\n gpsLogDistance: this.gpsLogDistance,\r\n logSocketServer: this.logSocketServer,\r\n logSocketClient: this.logSocketClient,\r\n serverOffTime: this.serverOffTime\r\n })\r\n\r\n this.allLogList = [];\r\n this.loadLogReport();\r\n\r\n\r\n\r\n this.type1.valueChanges.subscribe(() => {\r\n if (!this.type1.value) {\r\n this.typesString.splice(this.typesString.indexOf('1', 0), 1);\r\n }\r\n else if (this.type1.value) {\r\n if (!this.typesString.includes('1'))\r\n this.typesString.push('1');\r\n }\r\n this.loadLogReport();\r\n }\r\n );\r\n\r\n this.type2.valueChanges.subscribe(() => {\r\n if (!this.type2.value) {\r\n this.typesString.splice(this.typesString.indexOf('2', 0), 1);\r\n }\r\n else if (this.type2.value) {\r\n if (!this.typesString.includes('2'))\r\n this.typesString.push('2');\r\n }\r\n this.loadLogReport();\r\n }\r\n );\r\n\r\n this.type3.valueChanges.subscribe(() => {\r\n if (!this.type3.value) {\r\n this.typesString.splice(this.typesString.indexOf('3', 0), 1);\r\n }\r\n else if (this.type3.value) {\r\n if (!this.typesString.includes('3'))\r\n this.typesString.push('3');\r\n }\r\n this.loadLogReport();\r\n }\r\n );\r\n\r\n this.type20.valueChanges.subscribe(() => {\r\n if (!this.type20.value) {\r\n this.typesString.splice(this.typesString.indexOf('20', 0), 1);\r\n }\r\n else if (this.type20.value) {\r\n if (!this.typesString.includes('20'))\r\n this.typesString.push('20');\r\n }\r\n this.loadLogReport();\r\n }\r\n );\r\n\r\n this.type99.valueChanges.subscribe(() => {\r\n if (!this.type99.value) {\r\n this.typesString.splice(this.typesString.indexOf('99', 0), 1);\r\n }\r\n else if (this.type99.value) {\r\n if (!this.typesString.includes('99'))\r\n this.typesString.push('99');\r\n }\r\n this.loadLogReport();\r\n }\r\n );\r\n this.type100.valueChanges.subscribe(() => {\r\n if (!this.type100.value) {\r\n this.typesString.splice(this.typesString.indexOf('100', 0), 1);\r\n }\r\n else if (this.type100.value) {\r\n if (!this.typesString.includes('100'))\r\n this.typesString.push('100');\r\n }\r\n this.loadLogReport();\r\n }\r\n );\r\n this.type0.valueChanges.subscribe(() => {\r\n if (!this.type0.value) {\r\n this.typesString.splice(this.typesString.indexOf('0', 0), 1);\r\n }\r\n else if (this.type0.value) {\r\n if (!this.typesString.includes('0'))\r\n this.typesString.push('0');\r\n }\r\n this.loadLogReport();\r\n }\r\n );\r\n\r\n\r\n\r\n\r\n }\r\n\r\n async submitFormAndSend() {\r\n\r\n\r\n this.loadLogReport();\r\n }\r\n loadLogReport() {\r\n\r\n\r\n if (!this.type1.value && !this.type2.value && !this.type3.value && !this.type20.value && !this.type99.value && !this.type100.value && !this.type0.value) {\r\n this.typesString = ['888'];\r\n }\r\n\r\n this.logServiceService.reportAllLog(this.typesString, this.deviceID.value, this.deviceModel.value, this.tarikhAz.value, this.tarikhTa.value, this.timeAz.value, this.timeTa.value).subscribe(res => {\r\n if (res.length > 0) {\r\n //console.log(res);\r\n\r\n this.allLogList = res;\r\n //this.filter();\r\n } else {\r\n this.allLogList = [];\r\n\r\n Swal.fire('یافت نشد', 'موردی جهت جستجو یافت نشد!');\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n saveConfig() {\r\n this.logServiceService.updateConfig(this.gpsLogTime.value, this.logSocketServer.value, this.logSocketClient.value, this.gpsLogDistance.value, this.serverOffTime.value).subscribe(res => {\r\n if (res) {\r\n this.setConfigControls();\r\n Swal.fire('به روزرسانی شد', 'کانفیگ ها به روزرسانی شدند!');\r\n } else {\r\n\r\n }\r\n });\r\n }\r\n\r\n deletelogs() {\r\n\r\n const confirmRef = this.matDialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مطمئن هستید لاگ ها حذف شوند؟',\r\n buttonText: {\r\n ok: 'بله',\r\n cancel: 'خیر'\r\n }\r\n }\r\n });\r\n\r\n confirmRef.afterClosed().subscribe(_confirmed => {\r\n if (_confirmed) {\r\n this.logServiceService.deleteLogs().subscribe(res => {\r\n if (res) {\r\n Swal.fire('حذف شدند', 'لاگ ها حذف شدند!');\r\n } else {\r\n\r\n }\r\n });\r\n this.loadLogReport();\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n deletelogsList() {\r\n\r\n const confirmRef = this.matDialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مطمئن هستید لاگ های فعلی حذف شوند؟',\r\n buttonText: {\r\n ok: 'بله',\r\n cancel: 'خیر'\r\n }\r\n }\r\n });\r\n\r\n confirmRef.afterClosed().subscribe(_confirmed => {\r\n if (_confirmed) {\r\n var ids = this.allLogList.map(x => x.id);\r\n this.logServiceService.deleteLogsList(ids).subscribe(res => {\r\n if (res) {\r\n Swal.fire('حذف شدند', 'لاگ های فعلی حذف شدند!');\r\n } else {\r\n\r\n }\r\n });\r\n this.loadLogReport();\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n resetForm() {\r\n this.tarikhAz.reset();\r\n this.tarikhTa.reset();\r\n this.timeAz.reset();\r\n this.timeTa.reset();\r\n this.deviceID.reset();\r\n this.deviceModel.reset();\r\n this.allLogList = [];\r\n this.loadLogReport();\r\n\r\n }\r\n\r\n delete(log: any) {\r\n\r\n\r\n this.logServiceService.deleteLog(log.id).subscribe(res => {\r\n if (res) {\r\n //Swal.fire('حذف شد', 'لاگ موردنظر حذف شد!');\r\n this.allLogList = [];\r\n\r\n this.loadLogReport();\r\n } else {\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n deletelogsByType() {\r\n\r\n const confirmRef = this.matDialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مطمئن هستید لاگ ها حذف شوند؟',\r\n buttonText: {\r\n ok: 'بله',\r\n cancel: 'خیر'\r\n }\r\n }\r\n });\r\n\r\n confirmRef.afterClosed().subscribe(_confirmed => {\r\n if (_confirmed) {\r\n this.logServiceService.deleteLogByType(this.typeInput.value).subscribe(res => {\r\n if (res) {\r\n //Swal.fire('حذف شد', 'لاگ موردنظر حذف شد!');\r\n this.allLogList = [];\r\n\r\n this.loadLogReport();\r\n } else {\r\n\r\n }\r\n });\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n}\r\n\r\n","export default \"* {\\n font-size: 2vh;\\n}\\n\\n.new-call {\\n display: flex;\\n padding: 1rem;\\n}\\n\\n.new-call__col {\\n flex: 1 1 auto;\\n}\\n\\n.map-container {\\n background-color: rgba(0, 0, 0, 0.1);\\n border-radius: 0.25rem;\\n margin-right: 1rem;\\n border: 4px solid #bbb;\\n}\\n\\n.caller-form {\\n margin-top: 1rem;\\n}\\n\\n.caller-form mat-form-field {\\n margin-left: 1rem;\\n}\\n\\n.table-wrapper {\\n max-height: 250px;\\n overflow: auto;\\n}\\n\\n#map {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.inputBadge > .mat-badge-content {\\n top: 45px;\\n}\\n\\n.inputStationBadge > .mat-badge-content {\\n right: 0px !important;\\n}\\n\\n.divlbl {\\n display: inline-block;\\n position: relative;\\n padding: 5px;\\n min-width: 30px;\\n}\\n\\n.divlbl > .value {\\n font-weight: bolder;\\n}\\n\\n.mat-drawer-content {\\n padding: 5px 0px;\\n}\\n\\n.mat-simple-snackbar {\\n justify-content: center !important;\\n}\\n\\n.blue-snackbar {\\n background: #2196F3;\\n}\\n\\n.mat-card-title {\\n text-align: center;\\n}\\n\\n.checkbox-margin {\\n margin: 0px 5px;\\n}\\n\\n.countings-style {\\n margin-top: 20px;\\n margin-bottom: 20px;\\n}\\n\\n.countings-style strong {\\n font-family: IranSans;\\n}\\n\\n/*.countings-style span {\\n font-family: IranYekan;\\n}*/\\n\\n.top-snackbar {\\n z-index: 1000 !important;\\n}\\n\\n/*\\nlabel {\\n font-family: IranYekan;\\n}*/\\n\\n::ng-deep p-inputnumber .p-inputnumber-button {\\n border-radius: 0px !important;\\n}\\n\\n::ng-deep p-inputnumber .p-inputnumber-button-group {\\n flex-direction: row !important;\\n}\\n\\n::ng-deep p-inputnumber .p-inputnumber-input {\\n flex-direction: row !important;\\n}\\n\\n.fixedHeight {\\n max-height: 300px;\\n overflow-y: scroll;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvbmV3LWNhbGwvbmV3LWNhbGwtc2ltcGxlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksY0FBQTtBQUNKOztBQUNBO0VBQ0UsYUFBQTtFQUNBLGFBQUE7QUFFRjs7QUFBRTtFQUNFLGNBQUE7QUFFSjs7QUFFQTtFQUNFLG9DQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxnQkFBQTtBQUNGOztBQUNFO0VBQ0UsaUJBQUE7QUFDSjs7QUFHQTtFQUNFLGlCQUFBO0VBQ0EsY0FBQTtBQUFGOztBQUdBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7QUFBRjs7QUFHQTtFQUNFLFNBQUE7QUFBRjs7QUFFQTtFQUNFLHFCQUFBO0FBQ0Y7O0FBQ0E7RUFDRSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QUFFRjs7QUFBQTtFQUVJLG1CQUFBO0FBRUo7O0FBQUE7RUFDRSxnQkFBQTtBQUdGOztBQUFBO0VBQ0Usa0NBQUE7QUFHRjs7QUFBQTtFQUNFLG1CQUFBO0FBR0Y7O0FBQUE7RUFDRSxrQkFBQTtBQUdGOztBQUFBO0VBQ0UsZUFBQTtBQUdGOztBQUFBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtBQUdGOztBQUFBO0VBQ0UscUJBQUE7QUFHRjs7QUFDQTs7RUFBQTs7QUFHQTtFQUNJLHdCQUFBO0FBRUo7O0FBQUE7OztFQUFBOztBQUtBO0VBQ0UsNkJBQUE7QUFFRjs7QUFDQTtFQUNFLDhCQUFBO0FBRUY7O0FBQ0E7RUFDRSw4QkFBQTtBQUVGOztBQUFBO0VBRUEsaUJBQUE7RUFDQSxrQkFBQTtBQUVBIiwiZmlsZSI6InNyYy9hcHAvY2FsbC1jZW50ZXIvbmV3LWNhbGwvbmV3LWNhbGwtc2ltcGxlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiKntcclxuICAgIGZvbnQtc2l6ZToydmg7XHJcbn1cclxuLm5ldy1jYWxsIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBhZGRpbmc6IDFyZW07XHJcblxyXG4gICZfX2NvbCB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi5tYXAtY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcclxuICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgYm9yZGVyOiA0cHggc29saWQgI2JiYjtcclxufVxyXG5cclxuLmNhbGxlci1mb3JtIHtcclxuICBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuICBtYXQtZm9ybS1maWVsZCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi50YWJsZS13cmFwcGVyIHtcclxuICBtYXgtaGVpZ2h0OiAyNTBweDtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuI21hcCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uaW5wdXRCYWRnZSA+IC5tYXQtYmFkZ2UtY29udGVudCB7XHJcbiAgdG9wOiA0NXB4O1xyXG59XHJcbi5pbnB1dFN0YXRpb25CYWRnZSA+IC5tYXQtYmFkZ2UtY29udGVudCB7XHJcbiAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5kaXZsYmwge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzo1cHg7XHJcbiAgbWluLXdpZHRoOjMwcHg7XHJcbn1cclxuLmRpdmxibCA+LnZhbHVlXHJcbntcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGRlcjtcclxufVxyXG4ubWF0LWRyYXdlci1jb250ZW50IHtcclxuICBwYWRkaW5nOiA1cHggMHB4O1xyXG59XHJcblxyXG4ubWF0LXNpbXBsZS1zbmFja2JhciB7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJsdWUtc25hY2tiYXIge1xyXG4gIGJhY2tncm91bmQ6ICMyMTk2RjM7XHJcbn1cclxuXHJcbi5tYXQtY2FyZC10aXRsZSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY2hlY2tib3gtbWFyZ2luIHtcclxuICBtYXJnaW46IDBweCA1cHg7XHJcbn1cclxuXHJcbi5jb3VudGluZ3Mtc3R5bGUge1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLmNvdW50aW5ncy1zdHlsZSBzdHJvbmcge1xyXG4gIGZvbnQtZmFtaWx5OiBJcmFuU2FucztcclxufVxyXG5cclxuXHJcbi8qLmNvdW50aW5ncy1zdHlsZSBzcGFuIHtcclxuICBmb250LWZhbWlseTogSXJhbllla2FuO1xyXG59Ki9cclxuLnRvcC1zbmFja2JhcntcclxuICAgIHotaW5kZXg6MTAwMCAhaW1wb3J0YW50O1xyXG59XHJcbi8qXHJcbmxhYmVsIHtcclxuICBmb250LWZhbWlseTogSXJhbllla2FuO1xyXG59Ki9cclxuXHJcbjo6bmctZGVlcCBwLWlucHV0bnVtYmVyIC5wLWlucHV0bnVtYmVyLWJ1dHRvbiB7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCBwLWlucHV0bnVtYmVyIC5wLWlucHV0bnVtYmVyLWJ1dHRvbi1ncm91cCB7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46Om5nLWRlZXAgcC1pbnB1dG51bWJlciAucC1pbnB1dG51bWJlci1pbnB1dCB7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xyXG59XHJcbi5maXhlZEhlaWdodFxyXG57XHJcbm1heC1oZWlnaHQ6IDMwMHB4O1xyXG5vdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuIl19 */\";","import { Component, OnInit, Renderer2, ViewChild, AfterViewInit, ElementRef } from '@angular/core';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { Map, map as LeafletMap, tileLayer, CRS, marker, icon, LeafletMouseEvent, Icon, Marker, LatLng } from 'leaflet';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { ServiceInfo } from '../../model/serviceInfo';\r\nimport { searchResult } from '../../model/routingInfo';\r\nimport { SavedPlaceService } from '../../lib/serviceLib/savedplace.service';\r\nimport { Passanger } from '../../model/passanger';\r\nimport { ServiceRequest } from '../../model/ServiceRequest';\r\nimport { SaveServiceResult, saveservicresultType } from '../../model/saveserviceresult';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\n\r\nimport { LastCallInfo } from '../../model/lastCallInfo';\r\nimport { Station } from '../../model/station';\r\nimport { StationQueueInfo } from '../../model/stationQueueInfo';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { StationMemberComponent } from '../../station/station-member/station-member.component';\r\nimport { ShowcreatedserviceComponent } from '../../driver/showcreatedservice/showcreatedservice.component';\r\nimport { TaximapComponent } from '../../taximap/taximap.component';\r\nimport { WebSocketService } from '../../lib/web-socket.service';\r\nimport { NotificationModel, SocketMessageType } from '../../model/socketmodels';\r\nimport { MessageboxComponent } from '../../messagebox/messagebox.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { ConfirmDialogComponent } from '../../shared/confirm-dialog/confirm-dialog.component';\r\nimport { InpDateTimeComponent } from '../inp-date-time/inp-date-time.component';\r\nimport { StationdetailComponent } from '../../call-center/stationdetail/stationdetail.component';\r\nimport { NotifalertserviceService } from '../../shared/notifalertservice.service';\r\nimport { CallLog } from '../../model/callLog';\r\nimport { ResevedService } from '../../model/reservedService';\r\nimport { OkmessageComponent } from '../../shared/okmessage/okmessage.component';\r\nimport { environment } from '../../../environments/environment.prod';\r\nimport { SetorigindesComponent } from '../../shared/setorigindes/setorigindes.component';\r\nimport { BaseInfoEnum, BaseInfoService } from '../../lib/serviceLib/baseinfo.service';\r\nimport { IBaseInfo } from '../../lib/interfaces/Ibaseinfo';\r\nimport { OperatorService } from '../../lib/serviceLib/operatorservice.service';\r\nimport { IOperator } from '../../lib/interfaces/operator';\r\nimport { StationMemberSelectComponent } from '../../station/station-member-select/station-member-select.component';\r\n\r\n@Component({\r\n selector: 'app-new-call-simple',\r\n templateUrl: './new-call-simple.component.html',\r\n styleUrls: ['./new-call-simple.component.scss']\r\n})\r\nexport class NewCallSimpleComponent implements OnInit, AfterViewInit {\r\n //@ViewChild(\"map\", { static: false })\r\n //public map: TaximapComponent;\r\n //@ViewChild('android')\r\n //public android: ElementRef;\r\n\r\n mapDialogRef: MatDialogRef;\r\n\r\n @ViewChild(\"driverList\", { static: false })\r\n public driverList: StationMemberSelectComponent;\r\n\r\n\r\n\r\n passangerMobiles: string[];\r\n dialogProposedServiceRef: MatDialogRef;\r\n dialogStationDetailRef: MatDialogRef;\r\n\r\n @ViewChild(\"drawer\", { static: false })\r\n public drawer: MatSidenav;\r\n\r\n operatorInfo: OperatorTable;\r\n passangerFormGroup: FormGroup;\r\n\r\n constructor(\r\n private callCenterService: CallCenterService,\r\n private taxiService: TaxiserviceService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private currentServiceService: ServiceserviceService,\r\n private placeService: SavedPlaceService,\r\n private matSnackbar: MatSnackBar,\r\n private stationSerivce: StationserviceService,\r\n private dialog: MatDialog,\r\n private socketService: WebSocketService,\r\n private sanitizer: DomSanitizer,\r\n private renderer2: Renderer2,\r\n private requestService: ServiceRequestService,\r\n private notifAlert: NotifalertserviceService,\r\n private baseIService: BaseInfoService,\r\n private operatorService: OperatorService,\r\n\r\n ) {\r\n // هر جا مثه این با سوکت کار کرد اضافه است\r\n this.socketService.meesageList$.subscribe(msg => {\r\n if (msg) {\r\n this.processMessage(msg);\r\n }\r\n });\r\n }\r\n // متد مربوط به زمان دریافت یه پیام سوکت بوده\r\n processMessage(messageBox: NotificationModel) {\r\n switch (messageBox.msgType) {\r\n case SocketMessageType.GetClientInfo:\r\n break;\r\n }\r\n\r\n }\r\n callInfo: LastCallInfo;\r\n stationready: Station[] = [];\r\n passangerServicesCount: any = '0';\r\n isExpanded: boolean = false;\r\n callFormInsertMode = false;\r\n\r\n logs: ServiceInfo[] = [];\r\n driverStation: StationQueueInfo[] = [];\r\n selectedDriver: StationQueueInfo;\r\n telIDCaller = new FormControl('', [Validators.required]);\r\n passangerFullName = new FormControl('', [Validators.required]);\r\n originAC = new FormControl('', [Validators.required]);\r\n stationCode = new FormControl('', [Validators.required]);\r\n moarefID = new FormControl('', [Validators.required]);\r\n typePardakht = new FormControl('1019', [Validators.required]);\r\n\r\n typeService = new FormControl('', [Validators.required]);\r\n\r\n destAC = new FormControl('');\r\n passangerMobile = new FormControl();\r\n passangerComment = new FormControl();\r\n serviceRequestComment = new FormControl();\r\n price = new FormControl();\r\n \r\n serviceCountValue=1;\r\n\r\n pos = new FormControl(false);\r\n maeloolin = new FormControl(false);\r\n darEkhtiar = new FormControl(false);\r\n amanati = new FormControl(false);\r\n khadamat = new FormControl(false);\r\n maledriver = new FormControl(true);\r\n femaledriver = new FormControl(true);\r\n\r\n reserveMode = new FormControl(false);\r\n\r\n ngOnInit() {\r\n this.fillBaseInfo();\r\n this.loadStation();\r\n this.passangerFormGroup = new FormGroup({\r\n telIDCaller: this.telIDCaller,\r\n passangerFullName: this.passangerFullName,\r\n originAC: this.originAC,\r\n stationCode: this.stationCode,\r\n destAC: this.destAC,\r\n passangerMobile: this.passangerMobile,\r\n passangerComment: this.passangerComment,\r\n serviceRequestComment: this.serviceRequestComment,\r\n price: this.price,\r\n //serviceCount: this.serviceCountValue,\r\n pos: this.pos,\r\n maeloolin: this.maeloolin,\r\n darEkhtiar: this.darEkhtiar,\r\n amanati: this.amanati,\r\n khadamat: this.khadamat,\r\n maledriver: this.maledriver,\r\n femaledriver: this.femaledriver,\r\n reserveMode: this.reserveMode,\r\n typePardakht: this.typePardakht,\r\n typeService: this.typeService,\r\n moarefID: this.moarefID,\r\n });\r\n this.gpsTest();\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n if (params['telID']) {\r\n this.passangerFormGroup.patchValue({ telIDCaller: params['telID'] });\r\n this.getIDCaller();\r\n }\r\n this.mode = 'insert';\r\n this.currentIDForUpdate = -1;\r\n\r\n this.loadOperatorInfo(this.operatorguid).subscribe(res => {\r\n const mode = params['valp'];\r\n //console.log('mode' + mode);\r\n if (mode) {\r\n // ازین پارامتر برای زمانی که طرف میاد فرم رو برای ویرایش باز می کنه استفاده مییشه\r\n // توی فرم بی سیم چک کنی ازونجا مقدار میگیره\r\n this.BackMode = 'manage';\r\n //this.getCall();\r\n this.gotoupdate(mode);\r\n }\r\n\r\n });\r\n\r\n\r\n });\r\n\r\n //this.originLatLng = new LatLng(36.297182, 59.604767);\r\n //this.originOptions = this.originAC.valueChanges.pipe(\r\n // // startWith(''),\r\n // debounceTime(500),\r\n // distinctUntilChanged(),\r\n // switchMap(_val => this._getPlaces(_val))\r\n //);\r\n //this.destinationOptions = this.destAC.valueChanges.pipe(\r\n // // startWith(''),\r\n // debounceTime(500),\r\n // distinctUntilChanged(),\r\n // switchMap(_val => this._getPlaces(_val))\r\n //);\r\n this.stationCode.valueChanges.subscribe(val => {\r\n this.loadStationList(val);\r\n this.loadStationStatics(val);\r\n }\r\n );\r\n\r\n this._initMap();\r\n this.loadSavedPlace(1);\r\n //this.map.setView(36.329616, 59.56543);\r\n //this.socketService.startSocket2();\r\n\r\n this.passangerFormGroup.get('destAC')?.valueChanges.subscribe((value: string) => {\r\n // با تایپ یه حرف توی مبدا و مقصد بایستی فیلتر بشه لیست مناطق ذخیره شده\r\n if (!value)\r\n this.selectedOrigins_Filter = JSON.parse(JSON.stringify(this.selectedOrigins.slice(0, 5)));\r\n else {\r\n this.selectedOrigins_Filter = [];\r\n var count = 0;\r\n this.selectedOrigins.forEach((data) => {\r\n if (data.includes(value)) {\r\n if (this.selectedOrigins_Filter.length < 5)\r\n this.selectedOrigins_Filter.push(data);\r\n\r\n }\r\n })\r\n }\r\n\r\n });\r\n this.passangerFormGroup.get('destAC').valueChanges.subscribe((value: string) => {\r\n // مثه بالایی\r\n if (!value) {\r\n this.selectedDestination_Filter = JSON.parse(JSON.stringify(this.selectedOrigins.slice(0, 5)));\r\n }\r\n else {\r\n this.selectedDestination_Filter = [];\r\n this.selectedOrigins.forEach((data) => {\r\n if (this.selectedOrigins_Filter.length < 5) {\r\n if (data.includes(value))\r\n this.selectedDestination_Filter.push(data);\r\n }\r\n })\r\n }\r\n });\r\n\r\n\r\n }\r\n stationChanged(e) {\r\n console.log('selectedStation is ' + e.target.value)\r\n this.loadStationList(e.target.value);\r\n this.loadStationStatics(e.target.value);\r\n }\r\n ngAfterViewInit() {\r\n }\r\n\r\n lstTypePardakht: Partial[];\r\n lstTypeService: Partial[];\r\n lstMoaref: IOperator[];\r\n fillBaseInfo() {\r\n this.baseIService.getList(BaseInfoEnum.TypePardakht).subscribe(_res => {\r\n this.lstTypePardakht = _res;\r\n console.log(_res);\r\n\r\n });\r\n this.baseIService.getList(BaseInfoEnum.TypeService).subscribe(_res => {\r\n this.lstTypeService = _res;\r\n\r\n });\r\n\r\n this.operatorService.getAllMoaref().subscribe(_res => {\r\n this.lstMoaref = _res;\r\n console.log(_res);\r\n });\r\n console.log('base info ');\r\n\r\n\r\n }\r\n //reservedUntilMinute : new FormControl(),\r\n\r\n stationCapacity = '';\r\n passangerReservedCount = '';\r\n lockDriver = '';\r\n\r\n\r\n originMarker: Marker;\r\n destMarker: Marker;\r\n originOptions: Observable;\r\n destinationOptions: Observable;\r\n\r\n selectedOrigins: string[] = [];\r\n\r\n //این دو تا که تهش فیلتر داره برای لیست مبدا و مقصد ها هست - بعد از وارد کردن بخشی از حرف باید فیلتر بشه\r\n selectedDestination_Filter: string[] = [];\r\n selectedOrigins_Filter: string[] = [];\r\n\r\n\r\n value = 0;\r\n //این مارکر ها هم اضافه است. یکی مال مبدا بوده یکی مال مقصد الان دیگه نقشه ای نیست و مبدا و مقصد هم نیس\r\n originMarkerIcon: Icon = icon({\r\n iconSize: [40, 60],\r\n iconAnchor: [20, 60],\r\n iconUrl: 'assets/marker-origin.png',\r\n shadowUrl: 'assets/marker-shadow.png'\r\n });\r\n\r\n destMarkerIcon: Icon = icon({\r\n iconSize: [40, 60],\r\n iconAnchor: [20, 60],\r\n iconUrl: 'assets/marker-dest.png',\r\n shadowUrl: 'assets/marker-shadow.png'\r\n });\r\n\r\n operatorguid: string;\r\n carClasses: any = [];\r\n reserveSelectableDate: boolean = false;\r\n savedPlaceItems: any = [];\r\n passengerId: string = '';\r\n reserveModal = {\r\n visible: false,\r\n data: null,\r\n }\r\n nearbyStationsModal = {\r\n visible: false,\r\n stationId: '',\r\n data: [],\r\n }\r\n waitingPassengers: any = '0';\r\n capacityCounts: any = '0';\r\n carInStationCounts: any = '0';\r\n\r\n\r\n\r\n nearbyStationsModalClick() {\r\n //this.http.get(`station/getDetails/${this.formGroup.get('station')?.value}`).subscribe((result: any) => {\r\n // if (result.length < 1) {\r\n // Swal.fire({\r\n // icon: 'warning',\r\n // text: 'هیچ ایستگاه فعالی در محدوۀ فوق یافت نشد!',\r\n // confirmButtonText: 'تأیید'\r\n // });\r\n // return;\r\n // }\r\n // this.nearbyStationsModal.data = result;\r\n // this.nearbyStationsModal.visible = true;\r\n //}, error => {\r\n //});\r\n }\r\n\r\n\r\n\r\n // بار گزاری کردن آدرس های ذخیره شده کاربر\r\n loadSavedPlace(passangerID: any) {\r\n\r\n this.placeService.getSavedPlace(passangerID).subscribe(res => {\r\n if (res) {\r\n this.selectedOrigins = res;\r\n this.selectedDestination_Filter = JSON.parse(JSON.stringify(res.slice(0, 5)));\r\n this.selectedOrigins_Filter = JSON.parse(JSON.stringify(res.slice(0, 5)));\r\n }\r\n else {\r\n this.selectedOrigins = null;\r\n this.selectedDestination_Filter = null;\r\n this.selectedOrigins_Filter = null;\r\n }\r\n\r\n\r\n });\r\n }\r\n // وقتی از بین گزینه های مبدا ئو مقضصد انتخابی روی یکی کلیک می کنه این صدا زده می شه - برای مبدا\r\n gotoPlace(p: any) {\r\n this.setOrigin(0, 0, p);\r\n }\r\n // مثه بالایی برای مقصد\r\n gotoPlacedest(p: any) {\r\n this.setDestination(0, 0, p);\r\n }\r\n\r\n\r\n // بعد از لاگین اپراتور کدش رو میگیره و اطلاعاتش رو لود می کنه\r\n loadOperatorInfo(guidCode: any): Observable {\r\n return new Observable((observer) => {\r\n console.log('loadOperatorInfo');\r\n this.callCenterService.getOperatorInfo(guidCode).subscribe(res => {\r\n if (res) {\r\n this.operatorInfo = res;\r\n observer.next(res);\r\n } else {\r\n\r\n this.router.navigate(['login'], { queryParams: {} });\r\n }\r\n });\r\n });\r\n }\r\n stationMarker: any;\r\n driverMarker: Marker[] = [];\r\n\r\n\r\n loadStationList(stationID: any) {\r\n if (stationID) {\r\n // قبلا این شکلی بود که یه ایستگاه کهوارد می شد لیست ایستگاه های همجوارش رو نشون میداد این 99 درصد الان کلا استفاده نمیشه\r\n this.stationSerivce.getNeighbors(stationID).subscribe(_res => {\r\n this.stationready = _res;\r\n\r\n //console.log('stationready');\r\n //console.log(this.stationready);\r\n });\r\n // با انتخاب شدن یه ایستگاه ما لیست کسانی که توی صف هستند رو زیرش نشون میدیم این اگر صدا زده میشه که لازمه\r\n this.stationSerivce.getStationQueue(stationID).subscribe(_res => {\r\n\r\n this.driverStation = _res;\r\n this.selectedDriverIndex = 0;\r\n if (this.driverStation) {\r\n this.driverStation.forEach((data) => {\r\n data.safeAvatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + data.avatar);\r\n })\r\n\r\n this.loadDriverByIndex();\r\n }\r\n });\r\n // نمیش جزییات یه ایستگاه بعد از انتخاب آن\r\n this.stationSerivce.getStation(stationID).subscribe(_res => {\r\n this.currentStation = _res;\r\n\r\n //console.log('currentStation');\r\n //console.log(this.currentStation);\r\n if (_res) {\r\n this.stationCapacity = this.currentStation.capacity.toString();\r\n this.passangerReservedCount = this.currentStation.reservedCount.toString();\r\n\r\n\r\n this.driverMarker = [];\r\n this.stationSerivce.getStationQueue(_res.id).subscribe(_res => {\r\n let queuelist = _res;\r\n //console.log(queuelist);\r\n\r\n\r\n });\r\n\r\n }\r\n else {\r\n this.matSnackbar.open('ایستگاه وارد شده صحیح نمی باشد', null, { duration: 250 });\r\n }\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n }\r\n resetStationDetail() {\r\n this.driverStation = null;\r\n this.selectedDriverIndex = -1;\r\n this.selectDriver(null);\r\n this.stationready = null;\r\n this.currentStation = null;\r\n this.stationCapacity = '';\r\n this.passangerReservedCount = '';\r\n }\r\n currentStation = new Station();\r\n typesOfShoes: string[] = ['Boots', 'Clogs', 'Loafers', 'Moccasins', 'Sneakers'];\r\n BackMode = '';\r\n loadStationStatics(stationID: any) {\r\n\r\n }\r\n\r\n loadPassangerReport(passangerID: number) {\r\n this.currentServiceService.report(passangerID).subscribe(res => {\r\n\r\n this.logs = res;\r\n });\r\n }\r\n CurrentReserved: ResevedService = null;\r\n // زمانی که مسافر دوباره تماس میگیره اگر سفر رزرو شده ای داشته باشه باید بهش هشدار بدیم\r\n // چون ممکنه قبلا رزرو کرده باشه بعد دوباره تماس میگیره اپراتور نفهمه و دوباره ثبت کنه وتکراری بشه\r\n // این تابع چک می کنه اگر سفر رزرو شده ای داره هشدار بده\r\n checkLastReserved(passangerID: any) {\r\n this.requestService.getCurrentReserved(passangerID).subscribe(res => {\r\n //console.log('reserved service is');\r\n //console.log(res);\r\n if (res) {\r\n this.CurrentReserved = res;\r\n } else\r\n this.CurrentReserved = null;\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n // زمانی که تماس گرفته میشه و اپراتور وصل میشه در صورتی که قبلا سفر یا درخواست بازی داشته باشه هنوز ، یعنی سفری که هنوز راننده نگرفته یا تمام نشده\r\n // یا نیم ساعت ازش نگذشته همون ابتدا به اپراتور پیام داده میشه و بهش هشدار داده میشه\r\n checkLastService(passangerID: any) {\r\n this.requestService.getLastRequest(passangerID).subscribe(res => {\r\n if (res) {\r\n\r\n\r\n const confirmRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مایل به ویرایش سفر اخیر می باشید؟',\r\n buttonText: {\r\n ok: '(1) بله',\r\n cancel: '(2) خیر ثبت سفر جدید',\r\n extraButtonText: '(3) ثبت پیگیری'\r\n }\r\n }\r\n });\r\n\r\n confirmRef.afterClosed().subscribe((_confirmed: any) => {\r\n if (_confirmed === 'OK') {\r\n this.gotoupdate(res.id);\r\n }\r\n else if (_confirmed === 'btn3') {\r\n this.peygiri(res.id);\r\n\r\n }\r\n else {\r\n this.CurrentReserved = null;\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n // بعد از انتخاب آخرین تماس و برای لود شدن اطالعات مسافر\r\n loadPassangerInfo(passangerInfo: Passanger) {\r\n //console.warn(passangerInfo);\r\n\r\n this.checkLastService(passangerInfo.id);\r\n this.checkLastReserved(passangerInfo.id);\r\n\r\n this.loadPassangerReport(passangerInfo.id);\r\n\r\n //this.callFormGroup.patchValue(passangerInfo);\r\n\r\n //this.callFormGroup.disable();\r\n this.loadSavedPlace(passangerInfo.id);\r\n this.passangerFormGroup.patchValue({ passangerFullName: passangerInfo.fName });\r\n if (passangerInfo.mobile && passangerInfo.mobile.length > 9 && !passangerInfo.mobile.startsWith('051') && !passangerInfo.mobile.startsWith('51')) {\r\n this.passangerFormGroup.patchValue({ passangerMobile: passangerInfo.mobile });\r\n\r\n }\r\n this.passangerFormGroup.patchValue({ passangerComment: passangerInfo.fixedComment });\r\n this.lockDriver = passangerInfo.lockDriver;\r\n //console.warn(passangerInfo.serviceCount);\r\n this.passangerServiceCount = passangerInfo.serviceCount;\r\n\r\n }\r\n selectedCars: any;\r\n CarList = [{ value: '3', name: 'سمند' }, { name: 'پژو', value: 2 }, { value: '4', name: 'آریو' }, { name: 'برلیانس', value: 1 }, { value: '5', name: 'ون' }];\r\n\r\n // خواندن آخرین شماره تماس گیرنده از آی دی کالر\r\n getIDCaller() {\r\n console.log('getIDCaller')\r\n this.passangerFormGroup.patchValue({ passangerMobile: '' });\r\n this.fillCall(this.passangerFormGroup.get('telIDCaller').value);\r\n }\r\n //شماره مشخص شده و می باید اطلاعات کاربر از روی شماره پر بشه - ممکنه شماره دستی وارد بشه یا با زدن آخرین تماس از ای دی کالر گرفته بشه\r\n fillCall(mobile: any) {\r\n this.mode = 'insert';\r\n this.currentIDForUpdate = -1;\r\n this.callCenterService.getCallerInfoByMobile(mobile).subscribe(_res => {\r\n this.fillPassangerInfoFromModel(_res);\r\n\r\n });\r\n }\r\n getCallClick() {\r\n console.log('getCallClick')\r\n this._reset();\r\n //console.log('getCallClick');\r\n this.getCall();\r\n }\r\n passangerServiceCount = 0\r\n\r\n fillPassangerInfoFromModel(_res: LastCallInfo) {\r\n\r\n if (_res) {\r\n //console.warn('استعلام تماس خروجی :');\r\n //console.warn(_res);\r\n this.callInfo = _res;\r\n if (this.callInfo.callInfo) {\r\n try {\r\n this.passangerFormGroup.patchValue({ telIDCaller: _res.callInfo.tel });\r\n //debugger\r\n if (_res.callInfo.tel.length > 9 && !_res.callInfo.tel.startsWith('051') && !_res.callInfo.tel.startsWith('51')) {\r\n this.passangerFormGroup.patchValue({ passangerMobile: _res.callInfo.tel });\r\n }\r\n else {\r\n\r\n var passMobile = _res.passangerInfo ? _res.passangerInfo.mobile : '';\r\n if (passMobile.length >= 9 && !passMobile.startsWith('051') && !passMobile.startsWith('51')\r\n )\r\n this.passangerFormGroup.patchValue({ passangerMobile: passMobile });\r\n }\r\n this.passangerServiceCount = _res.passangerInfo.serviceCount;\r\n let mobilesString = _res.passangerInfo.mobiles;\r\n if (mobilesString) {\r\n let mobilesList = mobilesString?.split('-');\r\n let mobilesListFiltered = mobilesList.filter(function (el) {\r\n return el != null && el.trim()?.length == 11;\r\n });\r\n\r\n this.passangerMobiles = mobilesListFiltered;\r\n }\r\n\r\n this.callFormInsertMode = !_res.passangerInfo;\r\n if (!this.callFormInsertMode && this.BackMode != 'manage') {\r\n this.loadPassangerInfo(_res.passangerInfo);\r\n }\r\n }\r\n catch (e) {\r\n\r\n }\r\n\r\n\r\n }\r\n else {\r\n this.matSnackbar.open('در حال حاضر شما تماسی ندارید.', null, { duration: 3000 });\r\n this.callInfo = new LastCallInfo();\r\n this.callInfo.callInfo = new CallLog();\r\n this.callInfo.passangerInfo = new Passanger();\r\n\r\n }\r\n }\r\n\r\n\r\n }\r\n getCall() {\r\n this.callCenterService.getCurrentCallInfo(this.operatorInfo.id).subscribe(_res => {\r\n this.fillPassangerInfoFromModel(_res)\r\n\r\n\r\n });\r\n }\r\n\r\n submitCallForm() {\r\n\r\n }\r\n\r\n //displayFn(_searchResult: searchResult): string {\r\n // return _searchResult && `${_searchResult.title} - ${_searchResult.address}`;\r\n //}\r\n\r\n originLatLng: LatLng;\r\n destLatLng: LatLng;\r\n // دیگه استفاده نمیشه 99 درصد\r\n setDestination(x: any, y: any, title: any) {\r\n this.passangerFormGroup.patchValue({ destAC: title });\r\n this.destLatLng = new LatLng(x, y);\r\n\r\n //if (this.destMarker) {\r\n // this.destMarker.setLatLng(this.destLatLng);\r\n // this.map.setView(this.destLatLng.lat, this.destLatLng.lng);\r\n //} else {\r\n // this.destMarker = this.map.addMarker(this.destLatLng.lat, this.destLatLng.lng, MarkerType.destination, '', true);\r\n // this.map.setView(this.destLatLng.lat, this.destLatLng.lng);\r\n //}\r\n\r\n }\r\n\r\n setOrigin(lat: any, lng: any, title: any) {\r\n this.passangerFormGroup.patchValue({ originAC: title });\r\n this.originLatLng = new LatLng(lat, lng);\r\n //////console.log('originLatLng : ');\r\n //console.log(this.originLatLng);\r\n\r\n\r\n //if (this.originMarker) {\r\n // //console.log('this.originMarker is not null ');\r\n // this.originMarker.setLatLng(this.originLatLng);\r\n // //console.log('then set view');\r\n // this.map.setView(lat, lng);\r\n //} else {\r\n // //console.log('else this.originMarker is null ');\r\n // this.originMarker = this.map.addMarker(this.originLatLng.lat, this.originLatLng.lng, MarkerType.origin, '', true);\r\n // //console.log('else set view');\r\n // this.map.setView(lat, lng);\r\n //}\r\n }\r\n\r\n optionSelected(ev: any) {\r\n //console.log(ev);\r\n const result: searchResult = ev.option.value;\r\n this.setOrigin(result.y, result.x, result.title);\r\n this.renderer2.selectRootElement('#passangerComment').focus();\r\n }\r\n\r\n optionSelecteddest(ev: any) {\r\n //console.log(ev);\r\n const result: searchResult = ev.option.value;\r\n this.setDestination(result.y, result.x, result.title);\r\n this.renderer2.selectRootElement('#selectedCars').focus();\r\n\r\n }\r\n\r\n private _getPlaces(value: string): Observable {\r\n ////console.log(value);\r\n return this.taxiService.searchMap(value, this.originLatLng.lat, this.originLatLng.lng);\r\n }\r\n\r\n private _getPlacesdes(value: string): Observable {\r\n ////console.log(value);\r\n return this.taxiService.searchMap(value, this.destLatLng.lat, this.destLatLng.lng);\r\n }\r\n\r\n private _initMap(): void {\r\n //this.map = new TaximapComponent();\r\n //this.map = LeafletMap('map', {\r\n // crs: CRS.EPSG4326\r\n //});\r\n\r\n //tileLayer('https://bpms.mashhad.ir/favageoserver/gwc/service/tms/1.0.0/osm%3Aosm@EPSG:4326@png/{z}/{x}/{y}.png', {\r\n // tms: true,\r\n //}).addTo(this.map);\r\n\r\n //this.map.setView([36.329616, 59.56543], 12);\r\n\r\n // add marker on click\r\n // this.map.on('click', (ev: LeafletMouseEvent) => {\r\n // //console.log(ev);\r\n // marker(ev.latlng, {\r\n // icon: this.markerIcon\r\n // }).addTo(this.map);\r\n // });\r\n }\r\n\r\n\r\n\r\n currentIDForUpdate = -1;\r\n\r\n //این تابع وظیفه اعتبار سنجی قبل از ذخیره رو داره\r\n isValid(): boolean {\r\n\r\n\r\n\r\n return true;\r\n }\r\n onMatGroupChange(event) {\r\n this.serviceCountValue = event.value\r\n \r\n }\r\n date: Date = null;\r\n saveRequest(): Observable {\r\n\r\n\r\n\r\n console.log('saveRequest');\r\n console.log(this.serviceCountValue);\r\n \r\n if (!this.isValid()) {\r\n console.log('if (!this.isValid()) {');\r\n return null;\r\n }\r\n var result: Observable;\r\n \r\n\r\n\r\n\r\n\r\n let destinationAddr = this.passangerFormGroup.get('destAC')?.value;\r\n\r\n let typePardakht = this.passangerFormGroup.get('typePardakht')?.value;\r\n\r\n\r\n\r\n let requestComment = this.passangerFormGroup.get('serviceRequestComment')?.value;\r\n let price = this.passangerFormGroup.get('price')?.value;\r\n\r\n let operatorID = this.operatorInfo.id;\r\n\r\n let driverCode = '';\r\n\r\n if (this.driverCodes && this.driverCodes.length > 0) {\r\n this.driverCodes.forEach(p => {\r\n if (driverCode == '')\r\n driverCode = p.driverCode;\r\n else\r\n driverCode = driverCode + ','+ p.driverCode;\r\n\r\n })\r\n \r\n }\r\n\r\n\r\n\r\n return this.currentServiceService.saveServiceSimple(destinationAddr, operatorID, requestComment, this.serviceCountValue, price, this.darEkhtiar.value, driverCode, typePardakht, this.stationCode.value);\r\n }\r\n transactionID = ''\r\n private _reset(): void {\r\n this.transactionID = this.makeid(36);\r\n //console.log(this.transactionID);\r\n //this.nosave = false;\r\n this.mode = 'insert';\r\n /*\r\n * inja\r\n this.callFormGroup.reset();\r\n */\r\n this.callFormInsertMode = false;\r\n this.stationready = [];\r\n this.logs = [];\r\n this.isExpanded = false;\r\n this.passangerFormGroup.patchValue({ telIDCaller: '' });\r\n this.passangerFormGroup.patchValue({ stationCode: '0' });\r\n this.passangerFormGroup.patchValue({ originAC: '' });\r\n this.passangerFormGroup.patchValue({ destAC: '' });\r\n\r\n\r\n if (this.originMarker) {\r\n this.originMarker.remove();\r\n this.originMarker = null;\r\n }\r\n if (this.destMarker) {\r\n this.destMarker.remove();\r\n this.destMarker = null;\r\n }\r\n this.originOptions = null;\r\n this.destinationOptions = null;\r\n\r\n this.selectedOrigins = [];\r\n this.selectedDestination_Filter = [];\r\n this.selectedOrigins_Filter = [];\r\n this.passangerFormGroup.patchValue({ passangerComment: '' });\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: '' });\r\n this.passangerFormGroup.patchValue({ price: '' });\r\n this.passangerFormGroup.patchValue({ passangerFullName: '' });\r\n this.passangerFormGroup.patchValue({ passangerMobile: '' });\r\n\r\n\r\n this.lockDriver = '';\r\n this.passangerServiceCount = 0;\r\n this.passangerFormGroup.patchValue({ pos: false });\r\n this.passangerFormGroup.patchValue({ maeloolin: false });\r\n this.passangerFormGroup.patchValue({ darEkhtiar: false });\r\n this.passangerFormGroup.patchValue({ amanati: false });\r\n this.passangerFormGroup.patchValue({ khadamat: false });\r\n this.passangerFormGroup.patchValue({ maledriver: true });\r\n this.passangerFormGroup.patchValue({ femaledriver: true });\r\n this.passangerFormGroup.patchValue({ serviceCount: '1' });\r\n this.passangerFormGroup.patchValue({ reserveMode: false });\r\n\r\n\r\n\r\n this.resetStationDetail();\r\n //this.map.setView(36.329616, 59.56543);\r\n this.checkForBackToCaller(false);\r\n this.CurrentReserved = null;\r\n this.currentStation = new Station();\r\n //console.log(this.pos);\r\n\r\n this.loadSavedPlace(1);\r\n this.driverList.clear();\r\n \r\n }\r\n // با زدن بعضی تیک ها مثه دراختیار و اینا باید به کامنت اضافه یا کم بشن این تابع ها برای اون کاره\r\n addTerm(mainvalue: any, addvalue: any) {\r\n if (!mainvalue)\r\n return addvalue;\r\n else {\r\n if (!mainvalue.includes(addvalue))\r\n return mainvalue + ' ' + addvalue;\r\n else\r\n return mainvalue;\r\n }\r\n }\r\n subTerm(mainvalue: any, addvalue: any) {\r\n if (mainvalue)\r\n return mainvalue.replace(addvalue, '');\r\n else\r\n return '';\r\n }\r\n\r\n // مرتبط با دو تا تابع بالا\r\n // با انتخاب گزینه ها و تیک های دراختیار و ... می بایست توی توضیحات سفر نیز متن مرتبط اضافه یا کم بشه\r\n valueChange(changedItem: any, $event: any) {\r\n //console.log('dar ekhtiar before ' + this.darEkhtiar);\r\n if (changedItem == 'pos') {\r\n this.pos = $event.checked;\r\n if (this.pos) {\r\n\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' کارتخوان ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' کارتخوان ') });\r\n\r\n }\r\n }\r\n else if (changedItem == 'maeloolin') {\r\n this.maeloolin = $event.checked;\r\n if (this.maeloolin) {\r\n\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' معلولین ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' معلولین ') });\r\n\r\n }\r\n }\r\n else if (changedItem == 'darEkhtiar') {\r\n this.darEkhtiar.setValue($event.checked);\r\n //if (this.darEkhtiar) {\r\n // this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' در اختیار ') });\r\n //}\r\n //else {\r\n // this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' در اختیار ') });\r\n //}\r\n }\r\n else if (changedItem == 'amanati') {\r\n this.amanati = $event.checked;\r\n if (this.amanati) {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' امانتی ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' امانتی ') });\r\n\r\n }\r\n }\r\n else if (changedItem == 'femaledriver') {\r\n this.femaledriver = $event.checked;\r\n }\r\n else if (changedItem == 'maledriver') {\r\n {\r\n this.maledriver = $event.checked;\r\n }\r\n\r\n }\r\n else if (changedItem == 'khadamat') {\r\n this.khadamat = $event.checked;\r\n if (this.khadamat) {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' خدمات ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' خدمات ') });\r\n\r\n }\r\n\r\n }\r\n //console.log('dar ekhtiar after ' + this.darEkhtiar);\r\n }\r\n\r\n //valueChange(changedItem, $event) {\r\n\r\n // changedItem= $event.checked;\r\n //}\r\n dialogCreatedServiceRef: MatDialogRef;\r\n private showCreatedService(info: SaveServiceResult) {\r\n //console.warn(info.serviceGUID);\r\n\r\n this.dialogCreatedServiceRef = this.dialog.open(ShowcreatedserviceComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n info: info\r\n }\r\n });\r\n }\r\n lstStation: Station[];\r\n loadStation() {\r\n this.stationSerivce.getAllStationList().subscribe(_res => {\r\n console.log('station list');\r\n console.log(this.lstStation);\r\n this.lstStation = _res;\r\n //_res.forEach(station => {\r\n // this.map.addStationMarker(station);\r\n\r\n //});\r\n });\r\n }\r\n private setStationItemResult(stationID: any, result: saveservicresultType) {\r\n this.stationready.forEach(async function (station) {\r\n if (station.id == stationID) {\r\n station.serviceResult = result;\r\n }\r\n })\r\n }\r\n testClick() {\r\n console.log('click');\r\n\r\n }\r\n //nosave = false;\r\n saveRequestForQueue(): void {\r\n\r\n console.log('saveRequestForQueue');\r\n \r\n \r\n\r\n\r\n //if (this.nosave) {\r\n\r\n // this.matSnackbar.open('ثبت تکراری', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\" });\r\n // setTimeout(() => { this.nosave=false }, 25000);\r\n // return;\r\n //}\r\n\r\n if (!this.isValid())\r\n return;\r\n if (this.date) {\r\n var diffMs = this.date.getTime() - new Date().getTime();\r\n var diff = Math.abs(diffMs) < 6000\r\n //console.log('diff')\r\n //console.log(diffMs)\r\n //console.log(diff)\r\n\r\n if (diff) {\r\n //console.log('duplicate')\r\n\r\n return;\r\n }\r\n }\r\n this.date = new Date();\r\n const confirmRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'در حال ثبت',\r\n buttonText: {\r\n ok: '(1) متوجه شدم',\r\n cancel: ' '\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n //this.nosave = true;\r\n this.saveRequest().subscribe(res => {\r\n if (!res) {\r\n // چون هر کار می کردیم باز هم این اپراتور ها یه جوری کلیک می کردن پشت سر هم که فرم تکراری ثبت می شد\r\n // سمت سرور هم یه شرط هایی گذاشتیم و ممکنه ذخیره به علت تکراری بودن انجام نشه\r\n confirmRef.close('CancelRequest');\r\n const dupRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'فرم تکراری است - در فرم مدیریت سفر چک شود',\r\n buttonText: {\r\n ok: '(1) متوجه شدم',\r\n cancel: ' '\r\n }\r\n }\r\n });\r\n return;\r\n }\r\n confirmRef.close('CancelRequest');\r\n\r\n\r\n\r\n //this.nosave = false; \r\n //console.warn(res);\r\n this.notifAlert.setParam('savenew');\r\n //if (this.mode == 'update') {\r\n // this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n //}\r\n //else {\r\n // this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n //}\r\n\r\n\r\n //if (this.tarikhReserved) {\r\n // this.currentServiceService.reservedService(res.requestID, this.passangerFormGroup.get('stationCode')?.value, this.tarikhReserved, this.timeRserved).subscribe(reservedres => {\r\n // //console.log(reservedres)\r\n // if (reservedres > 0) {\r\n // this.matSnackbar.open('درخواست رزرو شما با موفقیت ثبت گردید', null, { duration: 3000 });\r\n // this._reset();\r\n // }\r\n // });\r\n //}\r\n\r\n\r\n // این حالت هایی که در ادامه امده اینا برداشته شده و دیگه نیازی نیست \r\n // چون بهمحض اینکه فرم ثبت میشه فرم بسته باید بشه و بره برای ثبت بعدی = قبلا در حالت انتظار می موند مثه نسخه مسافر اسنپ\r\n if (res.result == saveservicresultType.driverFound) {\r\n //console.warn('saveservicresultType.driverFound');\r\n this.matSnackbar.open('راننده پیدا شده و به سفر اختصاص داده شد', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n this.showCreatedService(res);\r\n }\r\n else if (res.result == saveservicresultType.driverNotFound) {\r\n this.matSnackbar.open('متاسفانه راننده ای یافت نشد', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.inSearchingDriver) {\r\n const confirmRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'با موفقیت ثبت شد',\r\n buttonText: {\r\n ok: '(1) متوجه شدم',\r\n cancel: ' '\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n this.matSnackbar.open('در حال پذیرش از سوی راننده', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.update_lastServiceIsCancel) {\r\n this.matSnackbar.open('سرویس قبلی کنسل شده و سرویس جدید ثبت گردید', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.update_NoChange) {\r\n this.matSnackbar.open('تغییرات اعمال گردید', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.update_SentAlarmForDriver) {\r\n this.matSnackbar.open('تغییرات اعمال گردیده و در انتظار تایید راننده می باشد', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n //console.warn('station:' + station + ' -> res.result' + res.result)\r\n //this.setStationItemResult(station.id, res.result);\r\n\r\n this.checkForBackToCaller(true);\r\n },\r\n (err) => {\r\n confirmRef.close('CancelRequest');\r\n //console.log(err)\r\n }\r\n );\r\n\r\n }\r\n // وقتی از فرم بی سیم یا جای دیگه فرم رو باز می کنی برای ویرایش بعد از ذخیره باید برگردی به همون آدرس . این تابع همین رو چک می کنه\r\n checkForBackToCaller(resetElse: any) {\r\n if (this.BackMode == 'manage') {\r\n this.router.navigate(['cc/manage'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (resetElse)\r\n this._reset();\r\n\r\n\r\n }\r\n\r\n\r\n dialogmsgBoxRef: MatDialogRef;\r\n //گزینه ارسال مجدد - این گزینه برای وقتیه که شما یه درخواست زدی ویه نتجیه ای داشته اما می خای دوباره بره تو فرآیند ارسال و دوباره ارسال بشه\r\n resend(trip: any) {\r\n //console.log('resend')\r\n //console.log(trip)\r\n this.currentServiceService.ReProposedRequest(trip.requestID).subscribe(res => {\r\n //this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n this.matSnackbar.open('فرم دوباره ثبت گردید', null, { duration: 3000 });\r\n //console.log(res);\r\n });\r\n\r\n\r\n\r\n\r\n }\r\n\r\n cancelTrip(requestID: any, trip: any) {\r\n\r\n this.dialogmsgBoxRef = this.dialog.open(MessageboxComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n msgText: 'آیا از کنسل کردن سفر اطمینان دارید؟',\r\n msgTitle: 'انصراف'\r\n }\r\n });\r\n this.dialogmsgBoxRef.afterClosed().subscribe((result: any) => {\r\n if (result == 'ok') {\r\n this.currentServiceService.cancelServiceByRequest(requestID).subscribe(res => {\r\n\r\n });\r\n if (trip)\r\n trip.serviceStateName = 'کنسل شده';\r\n\r\n }\r\n this.checkForBackToCaller(true);\r\n });\r\n\r\n //console.warn(trip);\r\n }\r\n peygiri(requestID: any) {\r\n this.requestService.peygiri(requestID).subscribe(res => {\r\n this.matSnackbar.open('پیام پیگیری برای راننده صادر گردید', null, { duration: 2000 });\r\n }\r\n );\r\n }\r\n selectDriver(drv: any) {\r\n //console.log(drv);\r\n this.selectedDriver = drv;\r\n //if (this.selectedDriver) {\r\n\r\n // this.firstdriverCode.setValue(this.selectedDriver.driverCode);\r\n // //this.firstdriverFullName.setValue(this.selectedDriver.fName);\r\n // this.firstdriverPelaque.setValue(this.selectedDriver.pelaque2 + this.selectedDriver.pelaqueLetter + this.selectedDriver.pelaque3 + '- ایران ' + this.selectedDriver.pelaqueIR);\r\n // this.posStatusControl.setValue(this.selectedDriver.pos);\r\n // if (this.selectedDriver.pos == true)\r\n // this.posStatusControl.setValue('دارد');\r\n // else\r\n // this.posStatusControl.setValue('ندارد');\r\n // this.personalMobile.setValue(this.selectedDriver.mobile);\r\n // this.workingmobilecontrol.setValue(this.selectedDriver.workingMobile);\r\n // this.TypeCarOfCurrentDriver.setValue(this.selectedDriver.carName + this.selectedDriver.colorName);\r\n\r\n //}\r\n //else {\r\n // this.firstdriverCode.setValue('');\r\n // //this.firstdriverFullName.setValue('');\r\n // this.firstdriverPelaque.setValue('');\r\n // this.posStatusControl.setValue('');\r\n // this.personalMobile.setValue('');\r\n // this.workingmobilecontrol.setValue('');\r\n // this.TypeCarOfCurrentDriver.setValue('');\r\n //}\r\n }\r\n loadDriverByIndex() {\r\n this.selectDriver(this.driverStation[this.selectedDriverIndex]);\r\n }\r\n selectedDriverIndex = 0;\r\n\r\n // مطابق متد پایینی\r\n nextDriver() {\r\n //console.log(this.driverStation.length);\r\n this.selectedDriverIndex = this.selectedDriverIndex + 1;\r\n if (this.selectedDriverIndex > this.driverStation.length)\r\n this.selectedDriverIndex = 0;\r\n this.loadDriverByIndex();\r\n }\r\n\r\n // لیست راننده های ایستگاه گزینه بعد و قبل داره این برای قبلیه\r\n predDriver() {\r\n //console.log(this.driverStation.length);\r\n this.selectedDriverIndex = this.selectedDriverIndex - 1;\r\n if (this.selectedDriverIndex < 0)\r\n this.selectedDriverIndex = 0;\r\n this.loadDriverByIndex();\r\n }\r\n\r\n handleShortCut(event: KeyboardEvent) {\r\n\r\n //console.log(' event key is :');\r\n\r\n //console.log(event);\r\n\r\n\r\n if ((event.which == 13 || event.keyCode == 13)) {\r\n //console.log('enter pressed');\r\n this.forwardNext(event.srcElement);\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F1') {\r\n this.getCall();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F2') {\r\n this.renderer2.selectRootElement('#txttellIDCaller').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'Escape') {\r\n //console.log('ESC');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F8') {\r\n //console.log('F8');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F5') {\r\n this.renderer2.selectRootElement('#passangerMobile').focus();\r\n event.preventDefault();\r\n }\r\n\r\n else if (event.key === 'F3') {\r\n this.renderer2.selectRootElement('#originAC').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F7') {\r\n this.renderer2.selectRootElement('#firstdriverCode').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F6') {\r\n this.renderer2.selectRootElement('#stationCode').focus();\r\n event.preventDefault();\r\n }\r\n\r\n else if (event.ctrlKey) { // ctrl\r\n\r\n\r\n\r\n if (event.key === '1') {\r\n //console.log('ctrl+1');\r\n event.preventDefault();\r\n }\r\n else if (event.key === '5') {\r\n //console.log('ctrl+5');\r\n event.preventDefault();\r\n }\r\n else if (event.key === '6') {\r\n //console.log('ctrl+6');\r\n event.preventDefault();\r\n }\r\n else if ((['h', 'H', 'ا'].indexOf(event.key) > -1)) {\r\n //console.log('ctrl+H');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'x') {\r\n //console.log('ctrl+X');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'q') {\r\n //console.log('ctrl+Q');\r\n event.preventDefault();\r\n }\r\n else if ((['e', 'E', 'ث'].indexOf(event.key) > -1)) {\r\n //console.log('ctrl+E');\r\n event.preventDefault();\r\n //this.saveRequestClickDebounce();\r\n\r\n\r\n }\r\n }\r\n else {\r\n //console.log(event);\r\n }\r\n }\r\n\r\n\r\n okdialogRef: MatDialogRef;\r\n\r\n showStationDetails() {\r\n this.dialogStationDetailRef = this.dialog.open(StationdetailComponent, {\r\n width: '1200px',\r\n hasBackdrop: true,\r\n data: {\r\n stationID: this.passangerFormGroup.get('stationCode')?.value\r\n },\r\n autoFocus: true,\r\n });\r\n\r\n //this.stationdet.loadData(this.passangerFormGroup.get('stationCode')?.value);\r\n //this.drawer.toggle()\r\n\r\n }\r\n gpsTest() {\r\n //console.log('gpstest');\r\n\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n //console.log(position);\r\n //console.log(`position in watch getCurrentPosition lat is ${position.coords.latitude} , longitude is ${position.coords.longitude}`);\r\n });\r\n navigator.geolocation.watchPosition((position) => {\r\n //console.log(`position in watch position lat is ${position.coords.latitude} , longitude is ${position.coords.longitude}`);\r\n });\r\n }\r\n\r\n onStationKeydown(event: any) {\r\n //زمانی که در تکست باکس کد ایتسگاه اسپیس می زته لیست جزییات ایستگاه نمایش داده میشه\r\n if (event.key === \" \") {\r\n event.preventDefault();\r\n if (this.passangerFormGroup.get('stationCode')?.value)\r\n this.showStationDetails();\r\n }\r\n //console.log('onStationKeydown');\r\n //console.log(event);\r\n }\r\n showStationDetailClick() {\r\n this.showStationMember();\r\n //if (this.passangerFormGroup.get('stationCode')?.value)\r\n // this.showStationDetails();\r\n\r\n }\r\n\r\n selectedhour = new FormControl('', [Validators.required, Validators.min(0), Validators.max(23)]);\r\n selectedminute = new FormControl('', [Validators.required, Validators.min(0), Validators.max(59)]);\r\n dateControl = new FormControl(new Date(), [Validators.required]);\r\n tarikhReserved = '';\r\n timeRserved = '';\r\n\r\n\r\n\r\n\r\n // برای وقتی که اینتر می زنه میخاد بره کنترل بعدی استفاده شده\r\n forwardNext(element: any) {\r\n\r\n var nextControlDic: { [id: string]: string; } = {};\r\n nextControlDic[\"txttellIDCaller\"] = \"passangerFullName\";\r\n nextControlDic[\"passangerFullName\"] = \"passangerMobile\";\r\n nextControlDic[\"passangerMobile\"] = \"originAC\";\r\n nextControlDic[\"originAC\"] = \"passangerComment\";\r\n nextControlDic[\"passangerComment\"] = \"serviceRequestComment\";\r\n\r\n\r\n nextControlDic[\"serviceRequestComment\"] = \"price\";\r\n nextControlDic[\"price\"] = \"destAC\";\r\n nextControlDic[\"destAC\"] = \"selectedCars\";\r\n nextControlDic[\"selectedCars\"] = \"stationCode\";\r\n nextControlDic[\"stationCode\"] = \"firstdriverCode\";\r\n nextControlDic[\"firstdriverCode\"] = \"TypeCarOfCurrentDriver\";\r\n nextControlDic[\"TypeCarOfCurrentDriver\"] = \"workingmobilecontrol\";\r\n nextControlDic[\"workingmobilecontrol\"] = \"personalMobile\";\r\n nextControlDic[\"personalMobile\"] = \"posStatusControl\";\r\n nextControlDic[\"posStatusControl\"] = \"firstdriverPelaque\";\r\n nextControlDic[\"firstdriverPelaque\"] = \"serviceCount\";\r\n nextControlDic[\"serviceCount\"] = \"txttellIDCaller\";\r\n\r\n\r\n\r\n var related = nextControlDic[element.id];\r\n if (related) {\r\n //console.log('realted is ' + related)\r\n this.renderer2.selectRootElement('#' + related).focus();\r\n }\r\n else {\r\n //console.log('relates is null');\r\n this.renderer2.selectRootElement('#txttellIDCaller').focus();\r\n }\r\n }\r\n mode = '';\r\n makeid(length: any) {\r\n var result = '';\r\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n var charactersLength = characters.length;\r\n for (var i = 0; i < length; i++) {\r\n result += characters.charAt(Math.floor(Math.random() *\r\n charactersLength));\r\n }\r\n return result;\r\n }\r\n\r\n // یعنی این آی دی رو برای اپدیت باز کن\r\n gotoupdate(requestID: any) {\r\n\r\n\r\n //console.log(requestID);\r\n this.requestService.getRequestServiceByID(requestID).subscribe(res => {\r\n //console.log('getRequestServiceByID out');\r\n //console.log(res);\r\n this.mode = 'update';\r\n this.callInfo = new LastCallInfo();\r\n this.callInfo.callInfo = new CallLog();\r\n this.callInfo.passangerInfo = new Passanger();\r\n this.callInfo.callInfo.tel = res.telIDCaller;\r\n this.callInfo.callInfo.tel = res.passangerMobile;\r\n\r\n\r\n\r\n this.currentIDForUpdate = requestID;\r\n this.passangerFormGroup.patchValue({ passangerFullName: res.passangerFName });\r\n this.passangerFormGroup.patchValue({ telIDCaller: res.telIDCaller });\r\n this.passangerFormGroup.patchValue({ passangerMobile: res.passangerMobile });\r\n this.lockDriver = '';\r\n this.passangerServiceCount = (res.passangerServiceCount);\r\n this.passangerFormGroup.patchValue({ stationCode: res.selectedStationID.toString() });\r\n this.stationCapacity = '';\r\n this.passangerReservedCount = '';\r\n this.passangerFormGroup.patchValue({ originAC: res.originAddr });\r\n this.passangerFormGroup.patchValue({ destAC: res.destinationAddr });\r\n this.passangerFormGroup.patchValue({ passangerComment: res.fixedComment });\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: res.requestComment });\r\n this.passangerFormGroup.patchValue({ price: res.price });\r\n this.passangerFormGroup.patchValue({ pos: res.pos });\r\n this.passangerFormGroup.patchValue({ maeloolin: res.maeloolin });\r\n this.passangerFormGroup.patchValue({ darEkhtiar: res.darEkhtiar });\r\n this.passangerFormGroup.patchValue({ amanati: res.amanati });\r\n this.passangerFormGroup.patchValue({ khadamat: res.khadamat });\r\n this.passangerFormGroup.patchValue({ maledriver: res.maleDriver });\r\n this.passangerFormGroup.patchValue({ femaledriver: res.femaleDriver });\r\n\r\n if (res.typeCars)\r\n this.selectedCars.setValue(res.typeCars.split(','));\r\n else\r\n this.selectedCars.setValue('');\r\n\r\n });\r\n\r\n\r\n\r\n }\r\n // ازین برای این استفاده شد که یارو مثه خر روی گزینه ذخیره کلیک می کرد پشت سر هم این میگه توی سیصد میلی ثانیه فقط یه بار فایر بشه\r\n debounce = (fn: Function, ms = 300) => {\r\n let timeoutId: ReturnType;\r\n return function (this: any, ...args: any[]) {\r\n clearTimeout(timeoutId);\r\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\r\n };\r\n };\r\n counter = 0;\r\n saverequestLog() {\r\n this.counter++\r\n this.saveRequestForQueue();\r\n }\r\n saveRequestClickDebounce = this.debounce(this.saverequestLog, 1000);\r\n\r\n resetForm() {\r\n this._reset();\r\n this.passangerFormGroup.patchValue({ telIDCaller: '' });\r\n\r\n }\r\n\r\n onReserveTimePickerModalClick() {\r\n this.reserveModal.visible = true;\r\n }\r\n showMap() {\r\n\r\n this.mapDialogRef = this.dialog.open(SetorigindesComponent, {\r\n hasBackdrop: true,\r\n width: '90%',\r\n data: {\r\n origin: this.passangerFormGroup.get('originAC')?.value,\r\n des: this.passangerFormGroup.get('destAC')?.value,\r\n originLoc: this.originLatLng,\r\n destLoc: this.destLatLng\r\n }\r\n\r\n });\r\n this.mapDialogRef.afterClosed().subscribe((result: any) => {\r\n console.log(result);\r\n this.originLatLng = result.originLoc;\r\n this.destLatLng = result.destLoc;\r\n if (!this.passangerFormGroup.get('originAC')?.value)\r\n this.passangerFormGroup.get('originAC')?.setValue(result.origin);\r\n if (!this.passangerFormGroup.get('destAC')?.value)\r\n this.passangerFormGroup.get('destAC')?.setValue(result.des);\r\n\r\n });\r\n\r\n }\r\n showPrice: boolean = true\r\n changeInputHelper(method, e) {\r\n if (method == 'typePardakht') {\r\n this.typePardakht.setValue(e.target.value);\r\n this.showPrice = e.target.value == '1020'\r\n console.log('this.showPrice ' + this.showPrice + 'e.target.value ' + e.target.value);\r\n\r\n }\r\n if (method == 'typeService') {\r\n this.typeService.setValue(e.target.value);\r\n if (this.typeService.value == '1034') {\r\n if (this.stationCode.value != '100') {\r\n this.stationCode.setValue('100');\r\n this.matSnackbar.open('سرویس ون در ایستگاه آزاد ثبت خواهد شد', null, { duration: 3000 });\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n if (method == 'moarefID')\r\n this.moarefID.setValue(e.target.value);\r\n\r\n\r\n console.log(this.moarefID.value);\r\n console.log(this.typePardakht.value);\r\n console.log(this.typeService.value);\r\n\r\n }\r\n showStationMember() {\r\n //console.log('this.currentStation.id');\r\n //console.log(this.currentStation.id);\r\n this.stationSerivce.getStationQueue(this.currentStation.id).subscribe(_res => {\r\n\r\n\r\n let dialogStationMemberRef = this.dialog.open(StationMemberComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n stationID: this.currentStation.id,\r\n queue: _res\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n driverCodes: StationQueueInfo[] = []\r\n onSelectDriverChange(selectedqueueList: StationQueueInfo[]) {\r\n this.driverCodes = selectedqueueList;\r\n console.log('selected is ');\r\n console.log(selectedqueueList);\r\n\r\n\r\n }\r\n gotoDarEkhtiar() {\r\n this.darEkhtiar.setValue(true) ;\r\n this.setDestination(0, 0, 'در اختیار');\r\n }\r\n \r\n\r\n}\r\n","export default \".new-call {\\n display: flex;\\n padding: 1rem;\\n}\\n.new-call__col {\\n flex: 1 1 auto;\\n}\\n.map-container {\\n background-color: rgba(0, 0, 0, 0.1);\\n border-radius: 0.25rem;\\n margin-right: 1rem;\\n border: 4px solid #bbb;\\n}\\n.caller-form {\\n margin-top: 1rem;\\n}\\n.caller-form mat-form-field {\\n margin-left: 1rem;\\n}\\n.table-wrapper {\\n max-height: 250px;\\n overflow: auto;\\n}\\n#map {\\n width: 100%;\\n height: 100%;\\n}\\n.inputBadge > .mat-badge-content {\\n top: 45px;\\n}\\n.inputStationBadge > .mat-badge-content {\\n right: 0px !important;\\n}\\n.divlbl {\\n display: inline-block;\\n position: relative;\\n padding: 5px;\\n min-width: 30px;\\n}\\n.divlbl > .value {\\n font-weight: bolder;\\n}\\n.mat-drawer-content {\\n padding: 5px 0px;\\n}\\n.mat-simple-snackbar {\\n justify-content: center !important;\\n}\\n.blue-snackbar {\\n background: #2196F3;\\n}\\n.mat-card-title {\\n text-align: center;\\n}\\n.checkbox-margin {\\n margin: 0px 5px;\\n}\\n.countings-style {\\n margin-top: 20px;\\n margin-bottom: 20px;\\n}\\n.countings-style strong {\\n font-family: IranSans;\\n}\\n/*.countings-style span {\\n font-family: IranYekan;\\n}*/\\n.top-snackbar {\\n z-index: 1000 !important;\\n}\\n/*\\nlabel {\\n font-family: IranYekan;\\n}*/\\n::ng-deep p-inputnumber .p-inputnumber-button {\\n border-radius: 0px !important;\\n}\\n::ng-deep p-inputnumber .p-inputnumber-button-group {\\n flex-direction: row !important;\\n}\\n::ng-deep p-inputnumber .p-inputnumber-input {\\n flex-direction: row !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvbmV3LWNhbGwvbmV3LWNhbGwtdmFuLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0VBQ0UsYUFBQTtFQUNBLGFBQUE7QUFBRjtBQUVFO0VBQ0UsY0FBQTtBQUFKO0FBSUE7RUFDRSxvQ0FBQTtFQUNBLHNCQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtBQURGO0FBSUE7RUFDRSxnQkFBQTtBQURGO0FBR0U7RUFDRSxpQkFBQTtBQURKO0FBS0E7RUFDRSxpQkFBQTtFQUNBLGNBQUE7QUFGRjtBQUtBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7QUFGRjtBQUtBO0VBQ0UsU0FBQTtBQUZGO0FBSUE7RUFDRSxxQkFBQTtBQURGO0FBR0E7RUFDRSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QUFBRjtBQUVBO0VBRUksbUJBQUE7QUFBSjtBQUVBO0VBQ0UsZ0JBQUE7QUFDRjtBQUVBO0VBQ0Usa0NBQUE7QUFDRjtBQUVBO0VBQ0UsbUJBQUE7QUFDRjtBQUVBO0VBQ0Usa0JBQUE7QUFDRjtBQUVBO0VBQ0UsZUFBQTtBQUNGO0FBRUE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0FBQ0Y7QUFFQTtFQUNFLHFCQUFBO0FBQ0Y7QUFHQTs7RUFBQTtBQUdBO0VBQ0ksd0JBQUE7QUFBSjtBQUVBOzs7RUFBQTtBQUtBO0VBQ0UsNkJBQUE7QUFBRjtBQUdBO0VBQ0UsOEJBQUE7QUFBRjtBQUdBO0VBQ0UsOEJBQUE7QUFBRiIsImZpbGUiOiJzcmMvYXBwL2NhbGwtY2VudGVyL25ldy1jYWxsL25ldy1jYWxsLXZhbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4ubmV3LWNhbGwge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcGFkZGluZzogMXJlbTtcclxuXHJcbiAgJl9fY29sIHtcclxuICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLm1hcC1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xyXG4gIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICBib3JkZXI6IDRweCBzb2xpZCAjYmJiO1xyXG59XHJcblxyXG4uY2FsbGVyLWZvcm0ge1xyXG4gIG1hcmdpbi10b3A6IDFyZW07XHJcblxyXG4gIG1hdC1mb3JtLWZpZWxkIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG4gIH1cclxufVxyXG5cclxuLnRhYmxlLXdyYXBwZXIge1xyXG4gIG1heC1oZWlnaHQ6IDI1MHB4O1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4jbWFwIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5pbnB1dEJhZGdlID4gLm1hdC1iYWRnZS1jb250ZW50IHtcclxuICB0b3A6IDQ1cHg7XHJcbn1cclxuLmlucHV0U3RhdGlvbkJhZGdlID4gLm1hdC1iYWRnZS1jb250ZW50IHtcclxuICByaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmRpdmxibCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOjVweDtcclxuICBtaW4td2lkdGg6MzBweDtcclxufVxyXG4uZGl2bGJsID4udmFsdWVcclxue1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZGVyO1xyXG59XHJcbi5tYXQtZHJhd2VyLWNvbnRlbnQge1xyXG4gIHBhZGRpbmc6IDVweCAwcHg7XHJcbn1cclxuXHJcbi5tYXQtc2ltcGxlLXNuYWNrYmFyIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYmx1ZS1zbmFja2JhciB7XHJcbiAgYmFja2dyb3VuZDogIzIxOTZGMztcclxufVxyXG5cclxuLm1hdC1jYXJkLXRpdGxlIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jaGVja2JveC1tYXJnaW4ge1xyXG4gIG1hcmdpbjogMHB4IDVweDtcclxufVxyXG5cclxuLmNvdW50aW5ncy1zdHlsZSB7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4uY291bnRpbmdzLXN0eWxlIHN0cm9uZyB7XHJcbiAgZm9udC1mYW1pbHk6IElyYW5TYW5zO1xyXG59XHJcblxyXG5cclxuLyouY291bnRpbmdzLXN0eWxlIHNwYW4ge1xyXG4gIGZvbnQtZmFtaWx5OiBJcmFuWWVrYW47XHJcbn0qL1xyXG4udG9wLXNuYWNrYmFye1xyXG4gICAgei1pbmRleDoxMDAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLypcclxubGFiZWwge1xyXG4gIGZvbnQtZmFtaWx5OiBJcmFuWWVrYW47XHJcbn0qL1xyXG5cclxuOjpuZy1kZWVwIHAtaW5wdXRudW1iZXIgLnAtaW5wdXRudW1iZXItYnV0dG9uIHtcclxuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIHAtaW5wdXRudW1iZXIgLnAtaW5wdXRudW1iZXItYnV0dG9uLWdyb3VwIHtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCBwLWlucHV0bnVtYmVyIC5wLWlucHV0bnVtYmVyLWlucHV0IHtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XHJcbn1cclxuIl19 */\";","import { Component, OnInit, Renderer2, ViewChild, AfterViewInit, ElementRef } from '@angular/core';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { Map, map as LeafletMap, tileLayer, CRS, marker, icon, LeafletMouseEvent, Icon, Marker, LatLng } from 'leaflet';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { ServiceInfo } from '../../model/serviceInfo';\r\nimport { searchResult } from '../../model/routingInfo';\r\nimport { SavedPlaceService } from '../../lib/serviceLib/savedplace.service';\r\nimport { Passanger } from '../../model/passanger';\r\nimport { ServiceRequest } from '../../model/ServiceRequest';\r\nimport { SaveServiceResult, saveservicresultType } from '../../model/saveserviceresult';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\n\r\nimport { LastCallInfo } from '../../model/lastCallInfo';\r\nimport { Station } from '../../model/station';\r\nimport { StationQueueInfo } from '../../model/stationQueueInfo';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { StationMemberComponent } from '../../station/station-member/station-member.component';\r\nimport { ShowcreatedserviceComponent } from '../../driver/showcreatedservice/showcreatedservice.component';\r\nimport { TaximapComponent } from '../../taximap/taximap.component';\r\nimport { WebSocketService } from '../../lib/web-socket.service';\r\nimport { NotificationModel, SocketMessageType } from '../../model/socketmodels';\r\nimport { MessageboxComponent } from '../../messagebox/messagebox.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { ConfirmDialogComponent } from '../../shared/confirm-dialog/confirm-dialog.component';\r\nimport { InpDateTimeComponent } from '../inp-date-time/inp-date-time.component';\r\nimport { StationdetailComponent } from '../../call-center/stationdetail/stationdetail.component';\r\nimport { NotifalertserviceService } from '../../shared/notifalertservice.service';\r\nimport { CallLog } from '../../model/callLog';\r\nimport { ResevedService } from '../../model/reservedService';\r\nimport { OkmessageComponent } from '../../shared/okmessage/okmessage.component';\r\nimport { environment } from '../../../environments/environment.prod';\r\nimport { SetorigindesComponent } from '../../shared/setorigindes/setorigindes.component';\r\nimport { BaseInfoEnum, BaseInfoService } from '../../lib/serviceLib/baseinfo.service';\r\nimport { IBaseInfo } from '../../lib/interfaces/Ibaseinfo';\r\nimport { OperatorService } from '../../lib/serviceLib/operatorservice.service';\r\nimport { IOperator } from '../../lib/interfaces/operator';\r\n\r\n@Component({\r\n selector: 'app-new-call',\r\n templateUrl: './new-call-van.component.html',\r\n styleUrls: ['./new-call-van.component.scss']\r\n})\r\nexport class NewCallVanComponent implements OnInit, AfterViewInit {\r\n //@ViewChild(\"map\", { static: false })\r\n //public map: TaximapComponent;\r\n //@ViewChild('android')\r\n //public android: ElementRef;\r\n\r\n mapDialogRef: MatDialogRef;\r\n\r\n\r\n\r\n isLoading: boolean = false;\r\n passangerMobiles: string[];\r\n dialogProposedServiceRef: MatDialogRef;\r\n dialogStationDetailRef: MatDialogRef;\r\n\r\n @ViewChild(\"drawer\", { static: false })\r\n public drawer: MatSidenav;\r\n\r\n operatorInfo: OperatorTable;\r\n passangerFormGroup: FormGroup;\r\n\r\n constructor(\r\n private callCenterService: CallCenterService,\r\n private taxiService: TaxiserviceService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private currentServiceService: ServiceserviceService,\r\n private placeService: SavedPlaceService,\r\n private matSnackbar: MatSnackBar,\r\n private stationSerivce: StationserviceService,\r\n private dialog: MatDialog,\r\n private socketService: WebSocketService,\r\n private sanitizer: DomSanitizer,\r\n private renderer2: Renderer2,\r\n private requestService: ServiceRequestService,\r\n private notifAlert: NotifalertserviceService,\r\n private baseIService: BaseInfoService,\r\n private operatorService: OperatorService,\r\n\r\n ) {\r\n // هر جا مثه این با سوکت کار کرد اضافه است\r\n this.socketService.meesageList$.subscribe(msg => {\r\n if (msg) {\r\n this.processMessage(msg);\r\n }\r\n });\r\n }\r\n // متد مربوط به زمان دریافت یه پیام سوکت بوده\r\n processMessage(messageBox: NotificationModel) {\r\n switch (messageBox.msgType) {\r\n case SocketMessageType.GetClientInfo:\r\n break;\r\n }\r\n\r\n }\r\n callInfo: LastCallInfo;\r\n stationready: Station[] = [];\r\n passangerServicesCount: any = '0';\r\n isExpanded: boolean = false;\r\n callFormInsertMode = false;\r\n\r\n logs: ServiceInfo[] = [];\r\n driverStation: StationQueueInfo[] = [];\r\n selectedDriver: StationQueueInfo;\r\n telIDCaller = new FormControl('09151112914', [Validators.required]);\r\n driverCode = new FormControl('', []);\r\n passangerFullName = new FormControl('', [Validators.required]);\r\n originAC = new FormControl('هتل مدینه', [Validators.required]);\r\n stationCode = new FormControl('100', [Validators.required]);\r\n moarefID = new FormControl('', [Validators.required]);\r\n typePardakht = new FormControl('', [Validators.required]);\r\n\r\n typeService = new FormControl('1034', [Validators.required]);\r\n\r\n destAC = new FormControl('');\r\n passangerMobile = new FormControl('09151112914',[]);\r\n passangerComment = new FormControl();\r\n serviceRequestComment = new FormControl();\r\n price = new FormControl();\r\n serviceCount = new FormControl('1');\r\n pos = new FormControl(false);\r\n maeloolin = new FormControl(false);\r\n darEkhtiar = new FormControl(false);\r\n amanati = new FormControl(false);\r\n khadamat = new FormControl(false);\r\n maledriver = new FormControl(true);\r\n femaledriver = new FormControl(true);\r\n\r\n reserveMode = new FormControl(false);\r\n\r\n ngOnInit() {\r\n this.fillBaseInfo();\r\n this.loadStation();\r\n this.loadSavedPlace(-1);\r\n this.passangerFormGroup = new FormGroup({\r\n telIDCaller: this.telIDCaller,\r\n passangerFullName: this.passangerFullName,\r\n originAC: this.originAC,\r\n stationCode: this.stationCode,\r\n destAC: this.destAC,\r\n passangerMobile: this.passangerMobile,\r\n passangerComment: this.passangerComment,\r\n serviceRequestComment: this.serviceRequestComment,\r\n price: this.price,\r\n serviceCount: this.serviceCount,\r\n pos: this.pos,\r\n maeloolin: this.maeloolin,\r\n darEkhtiar: this.darEkhtiar,\r\n amanati: this.amanati,\r\n khadamat: this.khadamat,\r\n maledriver: this.maledriver,\r\n femaledriver: this.femaledriver,\r\n reserveMode: this.reserveMode,\r\n typePardakht: this.typePardakht,\r\n typeService: this.typeService,\r\n moarefID: this.moarefID,\r\n driverCode:this.driverCode\r\n });\r\n this.gpsTest();\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n if (params['telID']) {\r\n this.passangerFormGroup.patchValue({ telIDCaller: params['telID'] });\r\n this.getIDCaller();\r\n }\r\n this.mode = 'insert';\r\n this.currentIDForUpdate = -1;\r\n\r\n this.loadOperatorInfo(this.operatorguid).subscribe(res => {\r\n const mode = params['valp'];\r\n //console.log('mode' + mode);\r\n if (mode) {\r\n // ازین پارامتر برای زمانی که طرف میاد فرم رو برای ویرایش باز می کنه استفاده مییشه\r\n // توی فرم بی سیم چک کنی ازونجا مقدار میگیره\r\n this.BackMode = 'manage';\r\n //this.getCall();\r\n this.gotoupdate(mode);\r\n }\r\n\r\n });\r\n\r\n\r\n });\r\n\r\n //this.originLatLng = new LatLng(36.297182, 59.604767);\r\n //this.originOptions = this.originAC.valueChanges.pipe(\r\n // // startWith(''),\r\n // debounceTime(500),\r\n // distinctUntilChanged(),\r\n // switchMap(_val => this._getPlaces(_val))\r\n //);\r\n //this.destinationOptions = this.destAC.valueChanges.pipe(\r\n // // startWith(''),\r\n // debounceTime(500),\r\n // distinctUntilChanged(),\r\n // switchMap(_val => this._getPlaces(_val))\r\n //);\r\n this.stationCode.valueChanges.subscribe(val => {\r\n this.loadStationList(val);\r\n this.loadStationStatics(val);\r\n }\r\n );\r\n\r\n this._initMap();\r\n //this.map.setView(36.329616, 59.56543);\r\n //this.socketService.startSocket2();\r\n\r\n this.passangerFormGroup.get('originAC')?.valueChanges.subscribe((value: string) => {\r\n // با تایپ یه حرف توی مبدا و مقصد بایستی فیلتر بشه لیست مناطق ذخیره شده\r\n if (!value)\r\n this.selectedOrigins_Filter = JSON.parse(JSON.stringify(this.selectedOrigins.slice(0, 5)));\r\n else {\r\n this.selectedOrigins_Filter = [];\r\n var count = 0;\r\n this.selectedOrigins.forEach((data) => {\r\n if (data.includes(value)) {\r\n if (this.selectedOrigins_Filter.length < 5)\r\n this.selectedOrigins_Filter.push(data);\r\n\r\n }\r\n })\r\n }\r\n\r\n });\r\n this.passangerFormGroup.get('destAC').valueChanges.subscribe((value: string) => {\r\n console.log('valueChanges dest');\r\n // مثه بالایی\r\n if (!value) {\r\n console.log('valueChanges dest !value');\r\n this.selectedDestination_Filter = JSON.parse(JSON.stringify(this.selectedOrigins.slice(0, 5)));\r\n }\r\n else {\r\n this.selectedDestination_Filter = [];\r\n console.log('valueChanges dest ELSE');\r\n this.selectedOrigins.forEach((data) => {\r\n console.log('valueChanges dest this.selectedOrigins_Filter.length'+ this.selectedDestination_Filter.length);\r\n if (this.selectedDestination_Filter.length < 5) {\r\n if (data.includes(value))\r\n this.selectedDestination_Filter.push(data);\r\n }\r\n })\r\n console.log('valueChanges this.selectedDestination_Filter');\r\n console.log(this.selectedDestination_Filter);\r\n \r\n\r\n }\r\n });\r\n this.getIDCaller();\r\n\r\n }\r\n stationChanged(e) {\r\n console.log('selectedStation is ' + e.target.value)\r\n this.loadStationList(e.target.value);\r\n this.loadStationStatics(e.target.value);\r\n }\r\n ngAfterViewInit() {\r\n }\r\n\r\n lstTypePardakht: Partial[];\r\n lstTypeService: Partial[];\r\n lstMoaref: IOperator[];\r\n fillBaseInfo() {\r\n this.baseIService.getList(BaseInfoEnum.TypePardakht).subscribe(_res => {\r\n this.lstTypePardakht = _res;\r\n console.log(_res);\r\n\r\n });\r\n this.baseIService.getList(BaseInfoEnum.TypeService).subscribe(_res => {\r\n this.lstTypeService = _res;\r\n\r\n });\r\n\r\n this.operatorService.getAllMoaref().subscribe(_res => {\r\n this.lstMoaref = _res;\r\n console.log(_res);\r\n });\r\n console.log('base info ');\r\n\r\n\r\n }\r\n //reservedUntilMinute : new FormControl(),\r\n\r\n stationCapacity = '';\r\n passangerReservedCount = '';\r\n lockDriver = '';\r\n\r\n\r\n originMarker: Marker;\r\n destMarker: Marker;\r\n originOptions: Observable;\r\n destinationOptions: Observable;\r\n\r\n selectedOrigins: string[] = [];\r\n\r\n //این دو تا که تهش فیلتر داره برای لیست مبدا و مقصد ها هست - بعد از وارد کردن بخشی از حرف باید فیلتر بشه\r\n selectedDestination_Filter: string[] = [];\r\n selectedOrigins_Filter: string[] = [];\r\n\r\n\r\n value = 0;\r\n //این مارکر ها هم اضافه است. یکی مال مبدا بوده یکی مال مقصد الان دیگه نقشه ای نیست و مبدا و مقصد هم نیس\r\n originMarkerIcon: Icon = icon({\r\n iconSize: [40, 60],\r\n iconAnchor: [20, 60],\r\n iconUrl: 'assets/marker-origin.png',\r\n shadowUrl: 'assets/marker-shadow.png'\r\n });\r\n\r\n destMarkerIcon: Icon = icon({\r\n iconSize: [40, 60],\r\n iconAnchor: [20, 60],\r\n iconUrl: 'assets/marker-dest.png',\r\n shadowUrl: 'assets/marker-shadow.png'\r\n });\r\n\r\n operatorguid: string;\r\n carClasses: any = [];\r\n reserveSelectableDate: boolean = false;\r\n savedPlaceItems: any = [];\r\n passengerId: string = '';\r\n reserveModal = {\r\n visible: false,\r\n data: null,\r\n }\r\n nearbyStationsModal = {\r\n visible: false,\r\n stationId: '',\r\n data: [],\r\n }\r\n waitingPassengers: any = '0';\r\n capacityCounts: any = '0';\r\n carInStationCounts: any = '0';\r\n\r\n\r\n\r\n nearbyStationsModalClick() {\r\n //this.http.get(`station/getDetails/${this.formGroup.get('station')?.value}`).subscribe((result: any) => {\r\n // if (result.length < 1) {\r\n // Swal.fire({\r\n // icon: 'warning',\r\n // text: 'هیچ ایستگاه فعالی در محدوۀ فوق یافت نشد!',\r\n // confirmButtonText: 'تأیید'\r\n // });\r\n // return;\r\n // }\r\n // this.nearbyStationsModal.data = result;\r\n // this.nearbyStationsModal.visible = true;\r\n //}, error => {\r\n //});\r\n }\r\n\r\n\r\n\r\n // بار گزاری کردن آدرس های ذخیره شده کاربر\r\n loadSavedPlace(passangerID: any) {\r\n\r\n this.placeService.getSavedPlace(passangerID).subscribe(res => {\r\n if (res) {\r\n this.selectedOrigins = res;\r\n this.selectedDestination_Filter = JSON.parse(JSON.stringify(res.slice(0, 5)));\r\n this.selectedOrigins_Filter = JSON.parse(JSON.stringify(res.slice(0, 5)));\r\n }\r\n else {\r\n this.selectedOrigins = null;\r\n this.selectedDestination_Filter = null;\r\n this.selectedOrigins_Filter = null;\r\n }\r\n\r\n\r\n });\r\n }\r\n // وقتی از بین گزینه های مبدا ئو مقضصد انتخابی روی یکی کلیک می کنه این صدا زده می شه - برای مبدا\r\n gotoPlace(p: any) {\r\n this.setOrigin(0, 0, p);\r\n }\r\n // مثه بالایی برای مقصد\r\n gotoPlacedest(p: any) {\r\n this.setDestination(0, 0, p);\r\n }\r\n\r\n\r\n // بعد از لاگین اپراتور کدش رو میگیره و اطلاعاتش رو لود می کنه\r\n loadOperatorInfo(guidCode: any): Observable {\r\n return new Observable((observer) => {\r\n console.log('loadOperatorInfo');\r\n this.callCenterService.getOperatorInfo(guidCode).subscribe(res => {\r\n if (res) {\r\n this.operatorInfo = res;\r\n observer.next(res);\r\n } else {\r\n\r\n this.router.navigate(['login'], { queryParams: {} });\r\n }\r\n });\r\n });\r\n }\r\n stationMarker: any;\r\n driverMarker: Marker[] = [];\r\n\r\n\r\n loadStationList(stationID: any) {\r\n if (stationID) {\r\n // قبلا این شکلی بود که یه ایستگاه کهوارد می شد لیست ایستگاه های همجوارش رو نشون میداد این 99 درصد الان کلا استفاده نمیشه\r\n this.stationSerivce.getNeighbors(stationID).subscribe(_res => {\r\n this.stationready = _res;\r\n\r\n //console.log('stationready');\r\n //console.log(this.stationready);\r\n });\r\n // با انتخاب شدن یه ایستگاه ما لیست کسانی که توی صف هستند رو زیرش نشون میدیم این اگر صدا زده میشه که لازمه\r\n this.stationSerivce.getStationQueue(stationID).subscribe(_res => {\r\n\r\n this.driverStation = _res;\r\n this.selectedDriverIndex = 0;\r\n if (this.driverStation) {\r\n this.driverStation.forEach((data) => {\r\n data.safeAvatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + data.avatar);\r\n })\r\n\r\n this.loadDriverByIndex();\r\n }\r\n });\r\n // نمیش جزییات یه ایستگاه بعد از انتخاب آن\r\n this.stationSerivce.getStation(stationID).subscribe(_res => {\r\n this.currentStation = _res;\r\n\r\n //console.log('currentStation');\r\n //console.log(this.currentStation);\r\n if (_res) {\r\n this.stationCapacity = this.currentStation.capacity.toString();\r\n this.passangerReservedCount = this.currentStation.reservedCount.toString();\r\n\r\n\r\n this.driverMarker = [];\r\n this.stationSerivce.getStationQueue(_res.id).subscribe(_res => {\r\n let queuelist = _res;\r\n //console.log(queuelist);\r\n\r\n\r\n });\r\n\r\n }\r\n else {\r\n this.matSnackbar.open('ایستگاه وارد شده صحیح نمی باشد', null, { duration: 250 });\r\n }\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n }\r\n resetStationDetail() {\r\n this.driverStation = null;\r\n this.selectedDriverIndex = -1;\r\n this.selectDriver(null);\r\n this.stationready = null;\r\n this.currentStation = null;\r\n this.stationCapacity = '';\r\n this.passangerReservedCount = '';\r\n }\r\n currentStation = new Station();\r\n typesOfShoes: string[] = ['Boots', 'Clogs', 'Loafers', 'Moccasins', 'Sneakers'];\r\n BackMode = '';\r\n loadStationStatics(stationID: any) {\r\n\r\n }\r\n\r\n loadPassangerReport(passangerID: number) {\r\n this.currentServiceService.report(passangerID).subscribe(res => {\r\n\r\n this.logs = res;\r\n });\r\n }\r\n CurrentReserved: ResevedService = null;\r\n // زمانی که مسافر دوباره تماس میگیره اگر سفر رزرو شده ای داشته باشه باید بهش هشدار بدیم\r\n // چون ممکنه قبلا رزرو کرده باشه بعد دوباره تماس میگیره اپراتور نفهمه و دوباره ثبت کنه وتکراری بشه\r\n // این تابع چک می کنه اگر سفر رزرو شده ای داره هشدار بده\r\n checkLastReserved(passangerID: any) {\r\n this.requestService.getCurrentReserved(passangerID).subscribe(res => {\r\n //console.log('reserved service is');\r\n //console.log(res);\r\n if (res) {\r\n this.CurrentReserved = res;\r\n } else\r\n this.CurrentReserved = null;\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n // زمانی که تماس گرفته میشه و اپراتور وصل میشه در صورتی که قبلا سفر یا درخواست بازی داشته باشه هنوز ، یعنی سفری که هنوز راننده نگرفته یا تمام نشده\r\n // یا نیم ساعت ازش نگذشته همون ابتدا به اپراتور پیام داده میشه و بهش هشدار داده میشه\r\n checkLastService(passangerID: any) {\r\n \r\n return;//فعلا نیازی نیس\r\n\r\n this.requestService.getLastRequest(passangerID).subscribe(res => {\r\n if (res) {\r\n\r\n\r\n const confirmRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مایل به ویرایش سفر اخیر می باشید؟',\r\n buttonText: {\r\n ok: '(1) بله',\r\n cancel: '(2) خیر ثبت سفر جدید',\r\n extraButtonText: '(3) ثبت پیگیری'\r\n }\r\n }\r\n });\r\n\r\n confirmRef.afterClosed().subscribe((_confirmed: any) => {\r\n if (_confirmed === 'OK') {\r\n this.gotoupdate(res.id);\r\n }\r\n else if (_confirmed === 'btn3') {\r\n this.peygiri(res.id);\r\n\r\n }\r\n else {\r\n this.CurrentReserved = null;\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n // بعد از انتخاب آخرین تماس و برای لود شدن اطالعات مسافر\r\n loadPassangerInfo(passangerInfo: Passanger) {\r\n //console.warn(passangerInfo);\r\n\r\n this.checkLastService(passangerInfo.id);\r\n this.checkLastReserved(passangerInfo.id);\r\n\r\n this.loadPassangerReport(passangerInfo.id);\r\n\r\n //this.callFormGroup.patchValue(passangerInfo);\r\n\r\n //this.callFormGroup.disable();\r\n this.loadSavedPlace(passangerInfo.id);\r\n this.passangerFormGroup.patchValue({ passangerFullName: passangerInfo.fName });\r\n if (passangerInfo.mobile && passangerInfo.mobile.length > 9 && !passangerInfo.mobile.startsWith('051') && !passangerInfo.mobile.startsWith('51')) {\r\n this.passangerFormGroup.patchValue({ passangerMobile: passangerInfo.mobile });\r\n\r\n }\r\n this.passangerFormGroup.patchValue({ passangerComment: passangerInfo.fixedComment });\r\n this.lockDriver = passangerInfo.lockDriver;\r\n //console.warn(passangerInfo.serviceCount);\r\n this.passangerServiceCount = passangerInfo.serviceCount;\r\n\r\n }\r\n selectedCars: any;\r\n CarList = [{ value: '3', name: 'سمند' }, { name: 'پژو', value: 2 }, { value: '4', name: 'آریو' }, { name: 'برلیانس', value: 1 }, { value: '5', name: 'ون' }];\r\n\r\n // خواندن آخرین شماره تماس گیرنده از آی دی کالر\r\n getIDCaller() {\r\n console.log('getIDCaller')\r\n this.passangerFormGroup.patchValue({ passangerMobile: '' });\r\n this.fillCall(this.passangerFormGroup.get('telIDCaller').value);\r\n }\r\n //شماره مشخص شده و می باید اطلاعات کاربر از روی شماره پر بشه - ممکنه شماره دستی وارد بشه یا با زدن آخرین تماس از ای دی کالر گرفته بشه\r\n fillCall(mobile: any) {\r\n this.mode = 'insert';\r\n this.currentIDForUpdate = -1;\r\n this.callCenterService.getCallerInfoByMobile(mobile).subscribe(_res => {\r\n this.fillPassangerInfoFromModel(_res);\r\n\r\n });\r\n }\r\n getCallClick() {\r\n console.log('getCallClick')\r\n this._reset();\r\n //console.log('getCallClick');\r\n this.getCall();\r\n }\r\n passangerServiceCount = 0\r\n\r\n fillPassangerInfoFromModel(_res: LastCallInfo) {\r\n\r\n if (_res) {\r\n //console.warn('استعلام تماس خروجی :');\r\n //console.warn(_res);\r\n this.callInfo = _res;\r\n if (this.callInfo.callInfo) {\r\n try {\r\n this.passangerFormGroup.patchValue({ telIDCaller: _res.callInfo.tel });\r\n //debugger\r\n if (_res.callInfo.tel.length > 9 && !_res.callInfo.tel.startsWith('051') && !_res.callInfo.tel.startsWith('51')) {\r\n this.passangerFormGroup.patchValue({ passangerMobile: _res.callInfo.tel });\r\n }\r\n else {\r\n\r\n var passMobile = _res.passangerInfo ? _res.passangerInfo.mobile : '';\r\n if (passMobile.length >= 9 && !passMobile.startsWith('051') && !passMobile.startsWith('51')\r\n )\r\n this.passangerFormGroup.patchValue({ passangerMobile: passMobile });\r\n }\r\n this.passangerServiceCount = _res.passangerInfo.serviceCount;\r\n let mobilesString = _res.passangerInfo.mobiles;\r\n if (mobilesString) {\r\n let mobilesList = mobilesString?.split('-');\r\n let mobilesListFiltered = mobilesList.filter(function (el) {\r\n return el != null && el.trim()?.length == 11;\r\n });\r\n\r\n this.passangerMobiles = mobilesListFiltered;\r\n }\r\n\r\n this.callFormInsertMode = !_res.passangerInfo;\r\n if (!this.callFormInsertMode && this.BackMode != 'manage') {\r\n this.loadPassangerInfo(_res.passangerInfo);\r\n }\r\n }\r\n catch (e) {\r\n\r\n }\r\n\r\n\r\n }\r\n else {\r\n this.matSnackbar.open('در حال حاضر شما تماسی ندارید.', null, { duration: 3000 });\r\n this.callInfo = new LastCallInfo();\r\n this.callInfo.callInfo = new CallLog();\r\n this.callInfo.passangerInfo = new Passanger();\r\n\r\n }\r\n }\r\n\r\n\r\n }\r\n getCall() {\r\n this.callCenterService.getCurrentCallInfo(this.operatorInfo.id).subscribe(_res => {\r\n this.fillPassangerInfoFromModel(_res)\r\n\r\n\r\n });\r\n }\r\n\r\n submitCallForm() {\r\n\r\n }\r\n\r\n //displayFn(_searchResult: searchResult): string {\r\n // return _searchResult && `${_searchResult.title} - ${_searchResult.address}`;\r\n //}\r\n\r\n originLatLng: LatLng;\r\n destLatLng: LatLng;\r\n // دیگه استفاده نمیشه 99 درصد\r\n setDestination(x: any, y: any, title: any) {\r\n this.passangerFormGroup.patchValue({ destAC: title });\r\n this.destLatLng = new LatLng(x, y);\r\n\r\n //if (this.destMarker) {\r\n // this.destMarker.setLatLng(this.destLatLng);\r\n // this.map.setView(this.destLatLng.lat, this.destLatLng.lng);\r\n //} else {\r\n // this.destMarker = this.map.addMarker(this.destLatLng.lat, this.destLatLng.lng, MarkerType.destination, '', true);\r\n // this.map.setView(this.destLatLng.lat, this.destLatLng.lng);\r\n //}\r\n\r\n }\r\n\r\n setOrigin(lat: any, lng: any, title: any) {\r\n this.passangerFormGroup.patchValue({ originAC: title });\r\n this.originLatLng = new LatLng(lat, lng);\r\n //////console.log('originLatLng : ');\r\n //console.log(this.originLatLng);\r\n\r\n\r\n //if (this.originMarker) {\r\n // //console.log('this.originMarker is not null ');\r\n // this.originMarker.setLatLng(this.originLatLng);\r\n // //console.log('then set view');\r\n // this.map.setView(lat, lng);\r\n //} else {\r\n // //console.log('else this.originMarker is null ');\r\n // this.originMarker = this.map.addMarker(this.originLatLng.lat, this.originLatLng.lng, MarkerType.origin, '', true);\r\n // //console.log('else set view');\r\n // this.map.setView(lat, lng);\r\n //}\r\n }\r\n\r\n optionSelected(ev: any) {\r\n //console.log(ev);\r\n const result: searchResult = ev.option.value;\r\n this.setOrigin(result.y, result.x, result.title);\r\n this.renderer2.selectRootElement('#passangerComment').focus();\r\n }\r\n\r\n optionSelecteddest(ev: any) {\r\n //console.log(ev);\r\n const result: searchResult = ev.option.value;\r\n this.setDestination(result.y, result.x, result.title);\r\n this.renderer2.selectRootElement('#selectedCars').focus();\r\n\r\n }\r\n\r\n private _getPlaces(value: string): Observable {\r\n ////console.log(value);\r\n return this.taxiService.searchMap(value, this.originLatLng.lat, this.originLatLng.lng);\r\n }\r\n\r\n private _getPlacesdes(value: string): Observable {\r\n ////console.log(value);\r\n return this.taxiService.searchMap(value, this.destLatLng.lat, this.destLatLng.lng);\r\n }\r\n\r\n private _initMap(): void {\r\n //this.map = new TaximapComponent();\r\n //this.map = LeafletMap('map', {\r\n // crs: CRS.EPSG4326\r\n //});\r\n\r\n //tileLayer('https://bpms.mashhad.ir/favageoserver/gwc/service/tms/1.0.0/osm%3Aosm@EPSG:4326@png/{z}/{x}/{y}.png', {\r\n // tms: true,\r\n //}).addTo(this.map);\r\n\r\n //this.map.setView([36.329616, 59.56543], 12);\r\n\r\n // add marker on click\r\n // this.map.on('click', (ev: LeafletMouseEvent) => {\r\n // //console.log(ev);\r\n // marker(ev.latlng, {\r\n // icon: this.markerIcon\r\n // }).addTo(this.map);\r\n // });\r\n }\r\n\r\n\r\n\r\n currentIDForUpdate = -1;\r\n\r\n //این تابع وظیفه اعتبار سنجی قبل از ذخیره رو داره\r\n isValid(): boolean {\r\n \r\n\r\n if (!this.passangerFormGroup.get('originAC').value) {\r\n this.matSnackbar.open('مبدا وارد نشده است', null, { duration: 3000 });\r\n return false;\r\n }\r\n if (!this.passangerFormGroup.get('stationCode')?.value) {\r\n this.matSnackbar.open('کد ایستگاه صحیح نیست', null, { duration: 3000 });\r\n return false;\r\n }\r\n \r\n\r\n var serviceCount: any = this.passangerFormGroup.get('serviceCount')?.value;\r\n if (serviceCount > 9) {\r\n this.matSnackbar.open('تعداد سرویس وارد شده صحیح نمی باشد', null, { duration: 3000 });\r\n return false;\r\n }\r\n if (!this.passangerFormGroup.get('price')?.value) {\r\n this.matSnackbar.open('کرایه وارد نشده است', null, { duration: 3000 });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n date: Date = null;\r\n\r\n saveRequest(): Observable {\r\n\r\n\r\n\r\n console.log('saveRequest');\r\n\r\n if (!this.isValid()) {\r\n console.log('if (!this.isValid()) {');\r\n return null;\r\n }\r\n var result: Observable;\r\n var serviceCount: number = this.passangerFormGroup.get('serviceCount')?.value;\r\n\r\n\r\n\r\n\r\n let req = new ServiceRequest();\r\n if (this.mode == 'update')\r\n req.id = this.currentIDForUpdate;\r\n else\r\n req.id = 1;\r\n if (this.destLatLng) {\r\n req.destinationLat = this.destLatLng.lat;\r\n req.destinationLng = this.destLatLng.lng;\r\n }\r\n if (this.originLatLng) {\r\n req.originLat = this.originLatLng.lat;\r\n req.originLng = this.originLatLng.lng;\r\n }\r\n req.destinationAddr = this.passangerFormGroup.get('destAC')?.value;\r\n req.originAddr = this.passangerFormGroup.get('originAC')?.value;\r\n req.telIDCaller = this.telIDCaller.value;\r\n\r\n req.destination2Addr = '';\r\n req.destinationLat2 = 0;\r\n req.destinationLng2 = 0;\r\n req.amanati = this.passangerFormGroup.get('amanati')?.value;\r\n req.pos = this.passangerFormGroup.get('pos')?.value;\r\n req.maeloolin = this.passangerFormGroup.get('maeloolin')?.value;\r\n req.khadamat = this.passangerFormGroup.get('khadamat')?.value;\r\n req.darEkhtiar = this.passangerFormGroup.get('darEkhtiar')?.value;\r\n //console.log('darEkhtiar in save method' + req.darEkhtiar);\r\n req.fixedComment = this.passangerFormGroup.get('passangerComment')?.value;\r\n req.femaleDriver = this.passangerFormGroup.get('femaledriver')?.value;\r\n req.maleDriver = this.passangerFormGroup.get('maledriver')?.value;\r\n req.requestComment = this.passangerFormGroup.get('serviceRequestComment')?.value;\r\n req.price = this.passangerFormGroup.get('price')?.value;\r\n\r\n req.passangerFName = this.passangerFormGroup.get('passangerFullName')?.value;\r\n req.passangerMobile = this.passangerFormGroup.get('passangerMobile')?.value.trim();\r\n req.operatorID = this.operatorInfo.id;\r\n req.typePardakht = this.passangerFormGroup.get('typePardakht')?.value;\r\n req.typeService = this.passangerFormGroup.get('typeService')?.value;\r\n req.moarefID = this.passangerFormGroup.get('moarefID')?.value;\r\n req.price = this.passangerFormGroup.get('price')?.value;\r\n if (this.selectedCars)\r\n req.typeCars = this.selectedCars.value;\r\n else\r\n req.typeCars = '';\r\n \r\n req.driverCode = this.driverCode.value; \r\n console.log('req.driverCode' + req.driverCode)\r\n console.log(req)\r\n\r\n const passenger: Passanger = {\r\n id: 1,\r\n fName: '',\r\n lName: req.passangerFName,\r\n mobile: this.passangerFormGroup.get('passangerMobile')?.value,\r\n nationalCode: '',\r\n gender: false,\r\n fixedComment: this.passangerFormGroup.get('passangerComment')?.value,\r\n lockDriver: '',\r\n serviceCount: 0,\r\n mobiles: ''\r\n };\r\n\r\n req.telIDCaller = this.passangerFormGroup.get('telIDCaller')?.value;\r\n\r\n\r\n return this.currentServiceService.saveService(req, passenger, +this.passangerFormGroup.get('stationCode')?.value, this.mode, serviceCount, this.transactionID, this.reserveSelectableDate, this.tarikhReserved.value?.toString(), this.timeRserved.value?.toString() , req.price);\r\n }\r\n transactionID = ''\r\n private _reset(): void {\r\n this.transactionID = this.makeid(36);\r\n //console.log(this.transactionID);\r\n //this.nosave = false;\r\n this.mode = 'insert';\r\n /*\r\n * inja\r\n this.callFormGroup.reset();\r\n */\r\n this.callFormInsertMode = false;\r\n this.stationready = [];\r\n this.logs = [];\r\n this.isExpanded = false;\r\n this.passangerFormGroup.patchValue({ telIDCaller: '' });\r\n this.passangerFormGroup.patchValue({ stationCode: '0' });\r\n this.passangerFormGroup.patchValue({ originAC: '' });\r\n this.passangerFormGroup.patchValue({ destAC: '' });\r\n\r\n\r\n if (this.originMarker) {\r\n this.originMarker.remove();\r\n this.originMarker = null;\r\n }\r\n if (this.destMarker) {\r\n this.destMarker.remove();\r\n this.destMarker = null;\r\n }\r\n this.originOptions = null;\r\n this.destinationOptions = null;\r\n\r\n this.selectedOrigins = [];\r\n this.selectedDestination_Filter = [];\r\n this.selectedOrigins_Filter = [];\r\n this.passangerFormGroup.patchValue({ passangerComment: '' });\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: '' });\r\n this.passangerFormGroup.patchValue({ price: '' });\r\n this.passangerFormGroup.patchValue({ passangerFullName: '' });\r\n this.passangerFormGroup.patchValue({ passangerMobile: '' });\r\n\r\n\r\n this.lockDriver = '';\r\n this.passangerServiceCount = 0;\r\n this.passangerFormGroup.patchValue({ pos: false });\r\n this.passangerFormGroup.patchValue({ maeloolin: false });\r\n this.passangerFormGroup.patchValue({ darEkhtiar: false });\r\n this.passangerFormGroup.patchValue({ amanati: false });\r\n this.passangerFormGroup.patchValue({ khadamat: false });\r\n this.passangerFormGroup.patchValue({ maledriver: true });\r\n this.passangerFormGroup.patchValue({ femaledriver: true });\r\n this.passangerFormGroup.patchValue({ serviceCount: '1' });\r\n this.passangerFormGroup.patchValue({ reserveMode: false });\r\n\r\n\r\n\r\n this.resetStationDetail();\r\n //this.map.setView(36.329616, 59.56543);\r\n this.checkForBackToCaller(false);\r\n this.CurrentReserved = null;\r\n this.currentStation = new Station();\r\n //console.log(this.pos);\r\n }\r\n // با زدن بعضی تیک ها مثه دراختیار و اینا باید به کامنت اضافه یا کم بشن این تابع ها برای اون کاره\r\n addTerm(mainvalue: any, addvalue: any) {\r\n if (!mainvalue)\r\n return addvalue;\r\n else {\r\n if (!mainvalue.includes(addvalue))\r\n return mainvalue + ' ' + addvalue;\r\n else\r\n return mainvalue;\r\n }\r\n }\r\n subTerm(mainvalue: any, addvalue: any) {\r\n if (mainvalue)\r\n return mainvalue.replace(addvalue, '');\r\n else\r\n return '';\r\n }\r\n\r\n // مرتبط با دو تا تابع بالا\r\n // با انتخاب گزینه ها و تیک های دراختیار و ... می بایست توی توضیحات سفر نیز متن مرتبط اضافه یا کم بشه\r\n valueChange(changedItem: any, $event: any) {\r\n //console.log('dar ekhtiar before ' + this.darEkhtiar);\r\n if (changedItem == 'pos') {\r\n this.pos = $event.checked;\r\n if (this.pos) {\r\n\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' کارتخوان ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' کارتخوان ') });\r\n\r\n }\r\n }\r\n else if (changedItem == 'maeloolin') {\r\n this.maeloolin = $event.checked;\r\n if (this.maeloolin) {\r\n\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' معلولین ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' معلولین ') });\r\n\r\n }\r\n }\r\n else if (changedItem == 'darEkhtiar') {\r\n this.darEkhtiar = $event.checked;\r\n if (this.darEkhtiar) {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' در اختیار ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' در اختیار ') });\r\n }\r\n }\r\n else if (changedItem == 'amanati') {\r\n this.amanati = $event.checked;\r\n if (this.amanati) {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' امانتی ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' امانتی ') });\r\n\r\n }\r\n }\r\n else if (changedItem == 'femaledriver') {\r\n this.femaledriver = $event.checked;\r\n }\r\n else if (changedItem == 'maledriver') {\r\n {\r\n this.maledriver = $event.checked;\r\n }\r\n\r\n }\r\n else if (changedItem == 'khadamat') {\r\n this.khadamat = $event.checked;\r\n if (this.khadamat) {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' خدمات ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' خدمات ') });\r\n\r\n }\r\n\r\n }\r\n //console.log('dar ekhtiar after ' + this.darEkhtiar);\r\n }\r\n\r\n //valueChange(changedItem, $event) {\r\n\r\n // changedItem= $event.checked;\r\n //}\r\n dialogCreatedServiceRef: MatDialogRef;\r\n private showCreatedService(info: SaveServiceResult) {\r\n //console.warn(info.serviceGUID);\r\n\r\n this.dialogCreatedServiceRef = this.dialog.open(ShowcreatedserviceComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n info: info\r\n }\r\n });\r\n }\r\n lstStation: Station[] = [];\r\n loadStation() {\r\n this.stationSerivce.getAllStationList().subscribe(_res => {\r\n console.log('station list');\r\n console.log(this.lstStation);\r\n this.lstStation = _res;\r\n //_res.forEach(station => {\r\n // this.map.addStationMarker(station);\r\n\r\n //});\r\n });\r\n }\r\n private setStationItemResult(stationID: any, result: saveservicresultType) {\r\n this.stationready.forEach(async function (station) {\r\n if (station.id == stationID) {\r\n station.serviceResult = result;\r\n }\r\n })\r\n }\r\n alertToDriver() {\r\n this.currentServiceService.alertWanReady().subscribe(t => { })\r\n }\r\n testClick() {\r\n console.log('click');\r\n\r\n }\r\n //nosave = false;\r\n saveRequestForQueue(): void {\r\n\r\n\r\n\r\n\r\n\r\n console.log('saveRequestForQueue');\r\n\r\n\r\n\r\n //if (this.nosave) {\r\n\r\n // this.matSnackbar.open('ثبت تکراری', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\" });\r\n // setTimeout(() => { this.nosave=false }, 25000);\r\n // return;\r\n //}\r\n\r\n if (!this.isValid())\r\n return;\r\n if (this.date) {\r\n var diffMs = this.date.getTime() - new Date().getTime();\r\n var diff = Math.abs(diffMs) < 6000\r\n //console.log('diff')\r\n //console.log(diffMs)\r\n //console.log(diff)\r\n\r\n if (diff) {\r\n //console.log('duplicate')\r\n\r\n return;\r\n }\r\n }\r\n this.date = new Date();\r\n const confirmRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'در حال ثبت',\r\n buttonText: {\r\n ok: '(1) متوجه شدم',\r\n cancel: ' '\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n //this.nosave = true;\r\n this.saveRequest().subscribe(res => {\r\n if (!res) {\r\n // چون هر کار می کردیم باز هم این اپراتور ها یه جوری کلیک می کردن پشت سر هم که فرم تکراری ثبت می شد\r\n // سمت سرور هم یه شرط هایی گذاشتیم و ممکنه ذخیره به علت تکراری بودن انجام نشه\r\n confirmRef.close('CancelRequest');\r\n const dupRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'فرم تکراری است - در فرم بی سیم چک شود',\r\n buttonText: {\r\n ok: '(1) متوجه شدم',\r\n cancel: ' '\r\n }\r\n }\r\n });\r\n return;\r\n }\r\n confirmRef.close('CancelRequest');\r\n\r\n\r\n\r\n //this.nosave = false; \r\n //console.warn(res);\r\n this.notifAlert.setParam('savenew');\r\n //if (this.mode == 'update') {\r\n // this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n //}\r\n //else {\r\n // this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n //}\r\n\r\n\r\n //if (this.tarikhReserved) {\r\n // this.currentServiceService.reservedService(res.requestID, this.passangerFormGroup.get('stationCode')?.value, this.tarikhReserved, this.timeRserved).subscribe(reservedres => {\r\n // //console.log(reservedres)\r\n // if (reservedres > 0) {\r\n // this.matSnackbar.open('درخواست رزرو شما با موفقیت ثبت گردید', null, { duration: 3000 });\r\n // this._reset();\r\n // }\r\n // });\r\n //}\r\n\r\n\r\n // این حالت هایی که در ادامه امده اینا برداشته شده و دیگه نیازی نیست \r\n // چون بهمحض اینکه فرم ثبت میشه فرم بسته باید بشه و بره برای ثبت بعدی = قبلا در حالت انتظار می موند مثه نسخه مسافر اسنپ\r\n if (res.result == saveservicresultType.driverFound) {\r\n //console.warn('saveservicresultType.driverFound');\r\n this.matSnackbar.open('راننده پیدا شده و به سفر اختصاص داده شد', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n this.showCreatedService(res);\r\n }\r\n else if (res.result == saveservicresultType.driverNotFound) {\r\n this.matSnackbar.open('متاسفانه راننده ای یافت نشد', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.inSearchingDriver) {\r\n const confirmRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'با موفقیت ثبت شد',\r\n buttonText: {\r\n ok: '(1) متوجه شدم',\r\n cancel: ' '\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n this.matSnackbar.open('در حال پذیرش از سوی راننده', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.update_lastServiceIsCancel) {\r\n this.matSnackbar.open('سرویس قبلی کنسل شده و سرویس جدید ثبت گردید', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.update_NoChange) {\r\n this.matSnackbar.open('تغییرات اعمال گردید', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.update_SentAlarmForDriver) {\r\n this.matSnackbar.open('تغییرات اعمال گردیده و در انتظار تایید راننده می باشد', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n //console.warn('station:' + station + ' -> res.result' + res.result)\r\n //this.setStationItemResult(station.id, res.result);\r\n\r\n this.checkForBackToCaller(true);\r\n },\r\n (err) => {\r\n confirmRef.close('CancelRequest');\r\n //console.log(err)\r\n }\r\n );\r\n\r\n }\r\n // وقتی از فرم بی سیم یا جای دیگه فرم رو باز می کنی برای ویرایش بعد از ذخیره باید برگردی به همون آدرس . این تابع همین رو چک می کنه\r\n checkForBackToCaller(resetElse: any) {\r\n if (this.BackMode == 'manage') {\r\n this.router.navigate(['cc/manage'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (resetElse)\r\n this._reset();\r\n\r\n\r\n }\r\n\r\n\r\n dialogmsgBoxRef: MatDialogRef;\r\n //گزینه ارسال مجدد - این گزینه برای وقتیه که شما یه درخواست زدی ویه نتجیه ای داشته اما می خای دوباره بره تو فرآیند ارسال و دوباره ارسال بشه\r\n resend(trip: any) {\r\n //console.log('resend')\r\n //console.log(trip)\r\n this.currentServiceService.ReProposedRequest(trip.requestID).subscribe(res => {\r\n //this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n this.matSnackbar.open('فرم دوباره ثبت گردید', null, { duration: 3000 });\r\n //console.log(res);\r\n });\r\n\r\n\r\n\r\n\r\n }\r\n\r\n cancelTrip(requestID: any, trip: any) {\r\n\r\n this.dialogmsgBoxRef = this.dialog.open(MessageboxComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n msgText: 'آیا از کنسل کردن سفر اطمینان دارید؟',\r\n msgTitle: 'انصراف'\r\n }\r\n });\r\n this.dialogmsgBoxRef.afterClosed().subscribe((result: any) => {\r\n if (result == 'ok') {\r\n this.currentServiceService.cancelServiceByRequest(requestID).subscribe(res => {\r\n\r\n });\r\n if (trip)\r\n trip.serviceStateName = 'کنسل شده';\r\n\r\n }\r\n this.checkForBackToCaller(true);\r\n });\r\n\r\n //console.warn(trip);\r\n }\r\n peygiri(requestID: any) {\r\n this.requestService.peygiri(requestID).subscribe(res => {\r\n this.matSnackbar.open('پیام پیگیری برای راننده صادر گردید', null, { duration: 2000 });\r\n }\r\n );\r\n }\r\n selectDriver(drv: any) {\r\n //console.log(drv);\r\n this.selectedDriver = drv;\r\n //if (this.selectedDriver) {\r\n\r\n // this.firstdriverCode.setValue(this.selectedDriver.driverCode);\r\n // //this.firstdriverFullName.setValue(this.selectedDriver.fName);\r\n // this.firstdriverPelaque.setValue(this.selectedDriver.pelaque2 + this.selectedDriver.pelaqueLetter + this.selectedDriver.pelaque3 + '- ایران ' + this.selectedDriver.pelaqueIR);\r\n // this.posStatusControl.setValue(this.selectedDriver.pos);\r\n // if (this.selectedDriver.pos == true)\r\n // this.posStatusControl.setValue('دارد');\r\n // else\r\n // this.posStatusControl.setValue('ندارد');\r\n // this.personalMobile.setValue(this.selectedDriver.mobile);\r\n // this.workingmobilecontrol.setValue(this.selectedDriver.workingMobile);\r\n // this.TypeCarOfCurrentDriver.setValue(this.selectedDriver.carName + this.selectedDriver.colorName);\r\n\r\n //}\r\n //else {\r\n // this.firstdriverCode.setValue('');\r\n // //this.firstdriverFullName.setValue('');\r\n // this.firstdriverPelaque.setValue('');\r\n // this.posStatusControl.setValue('');\r\n // this.personalMobile.setValue('');\r\n // this.workingmobilecontrol.setValue('');\r\n // this.TypeCarOfCurrentDriver.setValue('');\r\n //}\r\n }\r\n loadDriverByIndex() {\r\n this.selectDriver(this.driverStation[this.selectedDriverIndex]);\r\n }\r\n selectedDriverIndex = 0;\r\n\r\n // مطابق متد پایینی\r\n nextDriver() {\r\n //console.log(this.driverStation.length);\r\n this.selectedDriverIndex = this.selectedDriverIndex + 1;\r\n if (this.selectedDriverIndex > this.driverStation.length)\r\n this.selectedDriverIndex = 0;\r\n this.loadDriverByIndex();\r\n }\r\n\r\n // لیست راننده های ایستگاه گزینه بعد و قبل داره این برای قبلیه\r\n predDriver() {\r\n //console.log(this.driverStation.length);\r\n this.selectedDriverIndex = this.selectedDriverIndex - 1;\r\n if (this.selectedDriverIndex < 0)\r\n this.selectedDriverIndex = 0;\r\n this.loadDriverByIndex();\r\n }\r\n\r\n handleShortCut(event: KeyboardEvent) {\r\n\r\n //console.log(' event key is :');\r\n\r\n //console.log(event);\r\n\r\n\r\n if ((event.which == 13 || event.keyCode == 13)) {\r\n //console.log('enter pressed');\r\n this.forwardNext(event.srcElement);\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F1') {\r\n this.getCall();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F2') {\r\n this.renderer2.selectRootElement('#txttellIDCaller').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'Escape') {\r\n //console.log('ESC');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F8') {\r\n //console.log('F8');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F5') {\r\n this.renderer2.selectRootElement('#passangerMobile').focus();\r\n event.preventDefault();\r\n }\r\n\r\n else if (event.key === 'F3') {\r\n this.renderer2.selectRootElement('#originAC').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F7') {\r\n this.renderer2.selectRootElement('#firstdriverCode').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F6') {\r\n this.renderer2.selectRootElement('#stationCode').focus();\r\n event.preventDefault();\r\n }\r\n\r\n else if (event.ctrlKey) { // ctrl\r\n\r\n\r\n\r\n if (event.key === '1') {\r\n //console.log('ctrl+1');\r\n event.preventDefault();\r\n }\r\n else if (event.key === '5') {\r\n //console.log('ctrl+5');\r\n event.preventDefault();\r\n }\r\n else if (event.key === '6') {\r\n //console.log('ctrl+6');\r\n event.preventDefault();\r\n }\r\n else if ((['h', 'H', 'ا'].indexOf(event.key) > -1)) {\r\n //console.log('ctrl+H');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'x') {\r\n //console.log('ctrl+X');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'q') {\r\n //console.log('ctrl+Q');\r\n event.preventDefault();\r\n }\r\n else if ((['e', 'E', 'ث'].indexOf(event.key) > -1)) {\r\n //console.log('ctrl+E');\r\n event.preventDefault();\r\n //this.saveRequestClickDebounce();\r\n\r\n\r\n }\r\n }\r\n else {\r\n //console.log(event);\r\n }\r\n }\r\n\r\n\r\n okdialogRef: MatDialogRef;\r\n\r\n showStationDetails() {\r\n this.dialogStationDetailRef = this.dialog.open(StationdetailComponent, {\r\n width: '1200px',\r\n hasBackdrop: true,\r\n data: {\r\n stationID: this.passangerFormGroup.get('stationCode')?.value\r\n },\r\n autoFocus: true,\r\n });\r\n\r\n //this.stationdet.loadData(this.passangerFormGroup.get('stationCode')?.value);\r\n //this.drawer.toggle()\r\n\r\n }\r\n gpsTest() {\r\n //console.log('gpstest');\r\n\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n //console.log(position);\r\n //console.log(`position in watch getCurrentPosition lat is ${position.coords.latitude} , longitude is ${position.coords.longitude}`);\r\n });\r\n navigator.geolocation.watchPosition((position) => {\r\n //console.log(`position in watch position lat is ${position.coords.latitude} , longitude is ${position.coords.longitude}`);\r\n });\r\n }\r\n\r\n onStationKeydown(event: any) {\r\n //زمانی که در تکست باکس کد ایتسگاه اسپیس می زته لیست جزییات ایستگاه نمایش داده میشه\r\n if (event.key === \" \") {\r\n event.preventDefault();\r\n if (this.passangerFormGroup.get('stationCode')?.value)\r\n this.showStationDetails();\r\n }\r\n //console.log('onStationKeydown');\r\n //console.log(event);\r\n }\r\n showStationDetailClick() {\r\n this.showStationMember();\r\n //if (this.passangerFormGroup.get('stationCode')?.value)\r\n // this.showStationDetails();\r\n\r\n }\r\n\r\n selectedhour = new FormControl('', [Validators.required, Validators.min(0), Validators.max(23)]);\r\n selectedminute = new FormControl('', [Validators.required, Validators.min(0), Validators.max(59)]);\r\n dateControl = new FormControl(new Date(), [Validators.required]);\r\n tarikhReserved = new FormControl(new Date(), []);\r\n timeRserved = new FormControl('', []);\r\n\r\n \r\n\r\n\r\n\r\n\r\n // برای وقتی که اینتر می زنه میخاد بره کنترل بعدی استفاده شده\r\n forwardNext(element: any) {\r\n\r\n var nextControlDic: { [id: string]: string; } = {};\r\n nextControlDic[\"txttellIDCaller\"] = \"passangerFullName\";\r\n nextControlDic[\"passangerFullName\"] = \"passangerMobile\";\r\n nextControlDic[\"passangerMobile\"] = \"originAC\";\r\n nextControlDic[\"originAC\"] = \"passangerComment\";\r\n nextControlDic[\"passangerComment\"] = \"serviceRequestComment\";\r\n\r\n\r\n nextControlDic[\"serviceRequestComment\"] = \"price\";\r\n nextControlDic[\"price\"] = \"destAC\";\r\n nextControlDic[\"destAC\"] = \"selectedCars\";\r\n nextControlDic[\"selectedCars\"] = \"stationCode\";\r\n nextControlDic[\"stationCode\"] = \"firstdriverCode\";\r\n nextControlDic[\"firstdriverCode\"] = \"TypeCarOfCurrentDriver\";\r\n nextControlDic[\"TypeCarOfCurrentDriver\"] = \"workingmobilecontrol\";\r\n nextControlDic[\"workingmobilecontrol\"] = \"personalMobile\";\r\n nextControlDic[\"personalMobile\"] = \"posStatusControl\";\r\n nextControlDic[\"posStatusControl\"] = \"firstdriverPelaque\";\r\n nextControlDic[\"firstdriverPelaque\"] = \"serviceCount\";\r\n nextControlDic[\"serviceCount\"] = \"txttellIDCaller\";\r\n\r\n\r\n\r\n var related = nextControlDic[element.id];\r\n if (related) {\r\n //console.log('realted is ' + related)\r\n this.renderer2.selectRootElement('#' + related).focus();\r\n }\r\n else {\r\n //console.log('relates is null');\r\n this.renderer2.selectRootElement('#txttellIDCaller').focus();\r\n }\r\n }\r\n mode = '';\r\n makeid(length: any) {\r\n var result = '';\r\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n var charactersLength = characters.length;\r\n for (var i = 0; i < length; i++) {\r\n result += characters.charAt(Math.floor(Math.random() *\r\n charactersLength));\r\n }\r\n return result;\r\n }\r\n\r\n // یعنی این آی دی رو برای اپدیت باز کن\r\n gotoupdate(requestID: any) {\r\n\r\n\r\n //console.log(requestID);\r\n this.requestService.getRequestServiceByID(requestID).subscribe(res => {\r\n //console.log('getRequestServiceByID out');\r\n //console.log(res);\r\n this.mode = 'update';\r\n this.callInfo = new LastCallInfo();\r\n this.callInfo.callInfo = new CallLog();\r\n this.callInfo.passangerInfo = new Passanger();\r\n this.callInfo.callInfo.tel = res.telIDCaller;\r\n this.callInfo.callInfo.tel = res.passangerMobile;\r\n\r\n\r\n\r\n this.currentIDForUpdate = requestID;\r\n this.passangerFormGroup.patchValue({ passangerFullName: res.passangerFName });\r\n this.passangerFormGroup.patchValue({ telIDCaller: res.telIDCaller });\r\n this.passangerFormGroup.patchValue({ passangerMobile: res.passangerMobile });\r\n this.lockDriver = '';\r\n this.passangerServiceCount = (res.passangerServiceCount);\r\n this.passangerFormGroup.patchValue({ stationCode: res.selectedStationID.toString() });\r\n this.stationCapacity = '';\r\n this.passangerReservedCount = '';\r\n this.passangerFormGroup.patchValue({ originAC: res.originAddr });\r\n this.passangerFormGroup.patchValue({ destAC: res.destinationAddr });\r\n this.passangerFormGroup.patchValue({ passangerComment: res.fixedComment });\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: res.requestComment });\r\n this.passangerFormGroup.patchValue({ price: res.price });\r\n this.passangerFormGroup.patchValue({ pos: res.pos });\r\n this.passangerFormGroup.patchValue({ maeloolin: res.maeloolin });\r\n this.passangerFormGroup.patchValue({ darEkhtiar: res.darEkhtiar });\r\n this.passangerFormGroup.patchValue({ amanati: res.amanati });\r\n this.passangerFormGroup.patchValue({ khadamat: res.khadamat });\r\n this.passangerFormGroup.patchValue({ maledriver: res.maleDriver });\r\n this.passangerFormGroup.patchValue({ femaledriver: res.femaleDriver });\r\n\r\n if (res.typeCars)\r\n this.selectedCars.setValue(res.typeCars.split(','));\r\n else\r\n this.selectedCars.setValue('');\r\n\r\n });\r\n\r\n\r\n\r\n }\r\n // ازین برای این استفاده شد که یارو مثه خر روی گزینه ذخیره کلیک می کرد پشت سر هم این میگه توی سیصد میلی ثانیه فقط یه بار فایر بشه\r\n debounce = (fn: Function, ms = 300) => {\r\n let timeoutId: ReturnType;\r\n return function (this: any, ...args: any[]) {\r\n clearTimeout(timeoutId);\r\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\r\n };\r\n };\r\n counter = 0;\r\n saverequestLog() {\r\n this.counter++\r\n this.saveRequestForQueue();\r\n }\r\n saveRequestClickDebounce = this.debounce(this.saverequestLog, 1000);\r\n\r\n resetForm() {\r\n this._reset();\r\n this.passangerFormGroup.patchValue({ telIDCaller: '' });\r\n\r\n }\r\n\r\n onReserveTimePickerModalClick() {\r\n this.reserveModal.visible = true;\r\n }\r\n showMap() {\r\n\r\n this.mapDialogRef = this.dialog.open(SetorigindesComponent, {\r\n hasBackdrop: true,\r\n width: '90%',\r\n data: {\r\n origin: this.passangerFormGroup.get('originAC')?.value,\r\n des: this.passangerFormGroup.get('destAC')?.value,\r\n originLoc: this.originLatLng,\r\n destLoc: this.destLatLng\r\n }\r\n\r\n });\r\n this.mapDialogRef.afterClosed().subscribe((result: any) => {\r\n console.log(result);\r\n this.originLatLng = result.originLoc;\r\n this.destLatLng = result.destLoc;\r\n if (!this.passangerFormGroup.get('originAC')?.value)\r\n this.passangerFormGroup.get('originAC')?.setValue(result.origin);\r\n if (!this.passangerFormGroup.get('destAC')?.value)\r\n this.passangerFormGroup.get('destAC')?.setValue(result.des);\r\n\r\n });\r\n\r\n }\r\n showPrice: boolean = true\r\n changeInputHelper(method, e) {\r\n if (method == 'typePardakht') {\r\n this.typePardakht.setValue(e.target.value);\r\n this.showPrice = e.target.value == '1020'\r\n console.log('this.showPrice ' + this.showPrice + 'e.target.value ' + e.target.value);\r\n\r\n }\r\n if (method == 'typeService') {\r\n this.typeService.setValue(e.target.value);\r\n debugger\r\n if (this.typeService.value == '1034') {\r\n if (this.stationCode.value != '100') {\r\n this.stationCode.setValue('100');\r\n // this.matSnackbar.open('سرویس ون در ایستگاه آزاد ثبت خواهد شد', null, { duration: 3000 });\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n if (method == 'moarefID')\r\n this.moarefID.setValue(e.target.value);\r\n\r\n\r\n console.log(this.moarefID.value);\r\n console.log(this.typePardakht.value);\r\n console.log(this.typeService.value);\r\n\r\n }\r\n showStationMember() {\r\n //console.log('this.currentStation.id');\r\n //console.log(this.currentStation.id);\r\n this.stationSerivce.getStationQueue(this.currentStation.id).subscribe(_res => {\r\n\r\n\r\n let dialogStationMemberRef = this.dialog.open(StationMemberComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n stationID: this.currentStation.id,\r\n queue: _res\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n}\r\n","export default \"* {\\n font-size: 13px;\\n}\\n\\n.new-call {\\n display: flex;\\n padding: 1rem;\\n}\\n\\n.new-call__col {\\n flex: 1 1 auto;\\n}\\n\\n.map-container {\\n background-color: rgba(0, 0, 0, 0.1);\\n border-radius: 0.25rem;\\n margin-right: 1rem;\\n border: 4px solid #bbb;\\n}\\n\\n.caller-form {\\n margin-top: 1rem;\\n}\\n\\n.caller-form mat-form-field {\\n margin-left: 1rem;\\n}\\n\\n.table-wrapper {\\n max-height: 250px;\\n overflow: auto;\\n}\\n\\n#map {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.inputBadge > .mat-badge-content {\\n top: 45px;\\n}\\n\\n.inputStationBadge > .mat-badge-content {\\n right: 0px !important;\\n}\\n\\n.divlbl {\\n display: inline-block;\\n position: relative;\\n padding: 5px;\\n min-width: 30px;\\n}\\n\\n.divlbl > .value {\\n font-weight: bolder;\\n}\\n\\n.mat-drawer-content {\\n padding: 5px 0px;\\n}\\n\\n.mat-simple-snackbar {\\n justify-content: center !important;\\n}\\n\\n.blue-snackbar {\\n background: #2196F3;\\n}\\n\\n.mat-card-title {\\n text-align: center;\\n}\\n\\n.checkbox-margin {\\n margin: 0px 5px;\\n}\\n\\n.countings-style {\\n margin-top: 20px;\\n margin-bottom: 20px;\\n}\\n\\n.countings-style strong {\\n font-family: IranSans;\\n}\\n\\n.countings-style span {\\n font-family: IranYekan;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvbmV3LWNhbGwvbmV3LWNhbGwtd2ViLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksZUFBQTtBQUNKOztBQUNBO0VBQ0UsYUFBQTtFQUNBLGFBQUE7QUFFRjs7QUFBRTtFQUNFLGNBQUE7QUFFSjs7QUFFQTtFQUNFLG9DQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxnQkFBQTtBQUNGOztBQUNFO0VBQ0UsaUJBQUE7QUFDSjs7QUFHQTtFQUNFLGlCQUFBO0VBQ0EsY0FBQTtBQUFGOztBQUdBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7QUFBRjs7QUFHQTtFQUNFLFNBQUE7QUFBRjs7QUFFQTtFQUNFLHFCQUFBO0FBQ0Y7O0FBQ0E7RUFDRSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QUFFRjs7QUFBQTtFQUVJLG1CQUFBO0FBRUo7O0FBQUE7RUFDRSxnQkFBQTtBQUdGOztBQUFBO0VBQ0Usa0NBQUE7QUFHRjs7QUFBQTtFQUNFLG1CQUFBO0FBR0Y7O0FBQUE7RUFDRSxrQkFBQTtBQUdGOztBQUFBO0VBQ0UsZUFBQTtBQUdGOztBQUFBO0VBQ0UsZ0JBQUE7RUFDQSxtQkFBQTtBQUdGOztBQUFBO0VBQ0UscUJBQUE7QUFHRjs7QUFDQTtFQUNFLHNCQUFBO0FBRUYiLCJmaWxlIjoic3JjL2FwcC9jYWxsLWNlbnRlci9uZXctY2FsbC9uZXctY2FsbC13ZWIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIqe1xyXG4gICAgZm9udC1zaXplOjEzcHg7XHJcbn1cclxuLm5ldy1jYWxsIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBhZGRpbmc6IDFyZW07XHJcblxyXG4gICZfX2NvbCB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi5tYXAtY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcclxuICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgYm9yZGVyOiA0cHggc29saWQgI2JiYjtcclxufVxyXG5cclxuLmNhbGxlci1mb3JtIHtcclxuICBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuICBtYXQtZm9ybS1maWVsZCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi50YWJsZS13cmFwcGVyIHtcclxuICBtYXgtaGVpZ2h0OiAyNTBweDtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuI21hcCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uaW5wdXRCYWRnZSA+IC5tYXQtYmFkZ2UtY29udGVudCB7XHJcbiAgdG9wOiA0NXB4O1xyXG59XHJcbi5pbnB1dFN0YXRpb25CYWRnZSA+IC5tYXQtYmFkZ2UtY29udGVudCB7XHJcbiAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5kaXZsYmwge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzo1cHg7XHJcbiAgbWluLXdpZHRoOjMwcHg7XHJcbn1cclxuLmRpdmxibCA+LnZhbHVlXHJcbntcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGRlcjtcclxufVxyXG4ubWF0LWRyYXdlci1jb250ZW50IHtcclxuICBwYWRkaW5nOiA1cHggMHB4O1xyXG59XHJcblxyXG4ubWF0LXNpbXBsZS1zbmFja2JhciB7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJsdWUtc25hY2tiYXIge1xyXG4gIGJhY2tncm91bmQ6ICMyMTk2RjM7XHJcbn1cclxuXHJcbi5tYXQtY2FyZC10aXRsZSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY2hlY2tib3gtbWFyZ2luIHtcclxuICBtYXJnaW46IDBweCA1cHg7XHJcbn1cclxuXHJcbi5jb3VudGluZ3Mtc3R5bGUge1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLmNvdW50aW5ncy1zdHlsZSBzdHJvbmcge1xyXG4gIGZvbnQtZmFtaWx5OiBJcmFuU2FucztcclxufVxyXG5cclxuXHJcbi5jb3VudGluZ3Mtc3R5bGUgc3BhbiB7XHJcbiAgZm9udC1mYW1pbHk6IElyYW5ZZWthbjtcclxufVxyXG4iXX0= */\";","import { Component, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { Map, map as LeafletMap, tileLayer, CRS, icon, LeafletMouseEvent, Icon, Marker, LatLng } from 'leaflet';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { ServiceInfo } from '../../model/serviceInfo';\r\nimport { searchResult } from '../../model/routingInfo';\r\nimport { SavedPlaceService } from '../../lib/serviceLib/savedplace.service';\r\n\r\nimport { Passanger } from '../../model/passanger';\r\n\r\nimport { ServiceRequest } from '../../model/ServiceRequest';\r\nimport { SaveServiceResult, saveservicresultType } from '../../model/saveserviceresult';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { LastCallInfo } from '../../model/lastCallInfo';\r\nimport { Station } from '../../model/station';\r\nimport { StationQueueInfo } from '../../model/stationQueueInfo';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\n\r\nimport { ShowcreatedserviceComponent } from '../../driver/showcreatedservice/showcreatedservice.component';\r\nimport { TaximapComponent } from '../../taximap/taximap.component';\r\nimport { WebSocketService } from '../../lib/web-socket.service';\r\nimport { NotificationModel, SocketMessageType } from '../../model/socketmodels';\r\nimport { MessageboxComponent } from '../../messagebox/messagebox.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { ConfirmDialogComponent } from '../../shared/confirm-dialog/confirm-dialog.component';\r\nimport { InpDateTimeComponent } from '../inp-date-time/inp-date-time.component';\r\nimport { StationdetailComponent } from '../../call-center/stationdetail/stationdetail.component';\r\nimport { NotifalertserviceService } from '../../shared/notifalertservice.service';\r\nimport { CallLog } from '../../model/callLog';\r\nimport { ResevedService } from '../../model/reservedService';\r\nimport { OkmessageComponent } from '../../shared/okmessage/okmessage.component';\r\nimport { environment } from '../../../environments/environment.prod';\r\n\r\n@Component({\r\n selector: 'app-new-web-call',\r\n templateUrl: './new-call-web.component.html',\r\n styleUrls: ['./new-call-web.component.scss']\r\n})\r\nexport class NewCallWebComponent implements OnInit {\r\n @ViewChild(\"map\", { static: false })\r\n public map: TaximapComponent = new TaximapComponent;\r\n\r\n dialogProposedServiceRef!: MatDialogRef;\r\n dialogStationDetailRef!: MatDialogRef;\r\n\r\n @ViewChild(\"drawer\", { static: false })\r\n public drawer!: MatSidenav;\r\n\r\n operatorInfo!: OperatorTable;\r\n\r\n constructor(\r\n private callCenterService: CallCenterService,\r\n private taxiService: TaxiserviceService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private currentServiceService: ServiceserviceService,\r\n private placeService: SavedPlaceService,\r\n private matSnackbar: MatSnackBar,\r\n private stationSerivce: StationserviceService,\r\n private dialog: MatDialog,\r\n private socketService: WebSocketService,\r\n private sanitizer: DomSanitizer,\r\n private renderer2: Renderer2,\r\n private requestService: ServiceRequestService,\r\n private notifAlert: NotifalertserviceService\r\n\r\n\r\n ) {\r\n // هر جا مثه این با سوکت کار کرد اضافه است\r\n this.socketService.meesageList$.subscribe(msg => {\r\n if (msg) {\r\n this.processMessage(msg);\r\n }\r\n });\r\n }\r\n // متد مربوط به زمان دریافت یه پیام سوکت بوده\r\n processMessage(messageBox: NotificationModel) {\r\n switch (messageBox.msgType) {\r\n case SocketMessageType.GetClientInfo:\r\n break;\r\n }\r\n\r\n }\r\n callInfo!: LastCallInfo;\r\n stationready: Station[] = [];\r\n\r\n passangerFormGroup!: FormGroup;\r\n callFormInsertMode = false;\r\n\r\n logs: ServiceInfo[] = [];\r\n driverStation: StationQueueInfo[] = [];\r\n selectedDriver!: StationQueueInfo;\r\n fName = new FormControl();\r\n\r\n telIDCaller = new FormControl('', [Validators.required]);\r\n stationCode = new FormControl('', [Validators.required]);\r\n passangerMobile = new FormControl();\r\n passangerFullName = new FormControl('', [Validators.required]);\r\n reservedUntilMinute = new FormControl();\r\n\r\n stationCapacity = '';\r\n passangerReservedCount = '';\r\n passangerComment = new FormControl();\r\n lockDriver = '';\r\n fNameMoshtarek = new FormControl();\r\n originAC = new FormControl('', [Validators.required]);\r\n destAC = new FormControl('');\r\n firstdriverCode = new FormControl();\r\n //firstdriverFullName = new FormControl();\r\n firstdriverMobile = new FormControl();\r\n firstdriverPelaque = new FormControl();\r\n serviceRequestComment = new FormControl();\r\n TypeCarOfCurrentDriver = new FormControl();\r\n workingmobilecontrol = new FormControl();\r\n personalMobile = new FormControl();\r\n posStatusControl = new FormControl();\r\n\r\n serviceCount = new FormControl('1');\r\n originMarker: Marker;\r\n destMarker: Marker;\r\n originOptions!: Observable;\r\n destinationOptions!: Observable;\r\n\r\n selectedOrigins: string[] = [];\r\n\r\n //این دو تا که تهش فیلتر داره برای لیست مبدا و مقصد ها هست - بعد از وارد کردن بخشی از حرف باید فیلتر بشه\r\n selectedDestination_Filter: string[] = [];\r\n selectedOrigins_Filter: string[] = [];\r\n\r\n\r\n value = 0;\r\n //این مارکر ها هم اضافه است. یکی مال مبدا بوده یکی مال مقصد الان دیگه نقشه ای نیست و مبدا و مقصد هم نیس\r\n originMarkerIcon: Icon = icon({\r\n iconSize: [40, 60],\r\n iconAnchor: [20, 60],\r\n iconUrl: 'assets/marker-origin.png',\r\n shadowUrl: 'assets/marker-shadow.png'\r\n });\r\n\r\n destMarkerIcon: Icon = icon({\r\n iconSize: [40, 60],\r\n iconAnchor: [20, 60],\r\n iconUrl: 'assets/marker-dest.png',\r\n shadowUrl: 'assets/marker-shadow.png'\r\n });\r\n\r\n operatorguid!: string;\r\n\r\n// بار گزاری کردن آدرس های ذخیره شده کاربر\r\n loadSavedPlace(passangerID : number) {\r\n\r\n this.placeService.getSavedPlace(passangerID).subscribe(res => {\r\n if (res) {\r\n this.selectedOrigins = res;\r\n this.selectedDestination_Filter = JSON.parse(JSON.stringify(res.slice(0, 5)));\r\n this.selectedOrigins_Filter = JSON.parse(JSON.stringify(res.slice(0, 5)));\r\n }\r\n else {\r\n this.selectedOrigins = null as any;\r\n this.selectedDestination_Filter = null as any;\r\n this.selectedOrigins_Filter = null as any;\r\n }\r\n\r\n\r\n });\r\n }\r\n// وقتی از بین گزینه های مبدا ئو مقضصد انتخابی روی یکی کلیک می کنه این صدا زده می شه - برای مبدا\r\n gotoPlace(p : any) {\r\n this.setOrigin(0, 0, p);\r\n }\r\n// مثه بالایی برای مقصد\r\n gotoPlacedest(p : any) {\r\n this.setDestination(0, 0, p);\r\n }\r\n\r\n\r\n// بعد از لاگین اپراتور کدش رو میگیره و اطلاعاتش رو لود می کنه\r\n loadOperatorInfo(guidCode : any): Observable {\r\n return new Observable((observer) => {\r\n\r\n this.callCenterService.getOperatorInfo(guidCode).subscribe(res => {\r\n if (res) {\r\n this.operatorInfo = res;\r\n observer.next(res);\r\n } else {\r\n\r\n this.router.navigate(['login'], { queryParams: {} });\r\n }\r\n });\r\n });\r\n }\r\n stationMarker: any;\r\n driverMarker: Marker[] = [];\r\n\r\n\r\n loadStationList(stationID : any) {\r\n if (stationID) {\r\n// قبلا این شکلی بود که یه ایستگاه کهوارد می شد لیست ایستگاه های همجوارش رو نشون میداد این 99 درصد الان کلا استفاده نمیشه\r\n this.stationSerivce.getNeighbors(stationID).subscribe(_res => {\r\n this.stationready = _res;\r\n\r\n //console.log('stationready');\r\n //console.log(this.stationready);\r\n });\r\n // با انتخاب شدن یه ایستگاه ما لیست کسانی که توی صف هستند رو زیرش نشون میدیم این اگر صدا زده میشه که لازمه\r\n this.stationSerivce.getStationQueue(stationID).subscribe(_res => {\r\n\r\n this.driverStation = _res;\r\n this.selectedDriverIndex = 0;\r\n if (this.driverStation) {\r\n this.driverStation.forEach((data) => {\r\n data.safeAvatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + data.avatar);\r\n })\r\n\r\n this.loadDriverByIndex();\r\n }\r\n });\r\n // نمیش جزییات یه ایستگاه بعد از انتخاب آن\r\n this.stationSerivce.getStation(stationID).subscribe(_res => {\r\n this.currentStation = _res;\r\n\r\n //console.log('currentStation' );\r\n //console.log( this.currentStation);\r\n if (_res) {\r\n this.stationCapacity = this.currentStation.capacity.toString();\r\n this.passangerReservedCount = this.currentStation.reservedCount.toString();\r\n if (this.stationMarker) {\r\n this.map.removemarker(this.stationMarker);\r\n }\r\n this.stationMarker = this.map.addStationMarker(_res);\r\n this.map.setView(_res.lat, _res.lng);\r\n //console.log(this.stationMarker);\r\n if (this.driverMarker && this.driverMarker.length > 0) {\r\n this.driverMarker.forEach((marker) => {\r\n this.map.removemarker(marker);\r\n })\r\n }\r\n this.driverMarker = [];\r\n this.stationSerivce.getStationQueue(_res.id).subscribe(_res => {\r\n let queuelist = _res;\r\n //console.log(queuelist);\r\n\r\n queuelist.forEach((data) => {\r\n //console.log(data);\r\n var marker = this.map.addDriverMarker(data.lat, data.lng, data.driverCode);\r\n this.driverMarker.push(marker);\r\n })\r\n });\r\n\r\n\r\n }\r\n else {\r\n this.matSnackbar.open('ایستگاه وارد شده صحیح نمی باشد', null, { duration: 250 });\r\n }\r\n\r\n\r\n });\r\n }\r\n\r\n }\r\n resetStationDetail() {\r\n this.driverStation = null;\r\n this.selectedDriverIndex = -1;\r\n this.selectDriver(null);\r\n this.stationready = null;\r\n this.currentStation = null;\r\n this.stationCapacity = '';\r\n this.passangerReservedCount = '';\r\n }\r\n currentStation = new Station();\r\n typesOfShoes: string[] = ['Boots', 'Clogs', 'Loafers', 'Moccasins', 'Sneakers'];\r\n BackMode = '';\r\n ngOnInit() {\r\n\r\n this.gpsTest();\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n this.mode = 'insert';\r\n this.currentIDForUpdate = -1;\r\n\r\n this.loadOperatorInfo(this.operatorguid).subscribe(res => {\r\n const mode = params['valp'];\r\n //console.log('mode' + mode);\r\n if (mode) {\r\n // ازین پارامتر برای زمانی که طرف میاد فرم رو برای ویرایش باز می کنه استفاده مییشه\r\n // توی فرم بی سیم چک کنی ازونجا مقدار میگیره\r\n this.BackMode = 'manage';\r\n //this.getCall();\r\n this.gotoupdate(mode);\r\n }\r\n\r\n });\r\n\r\n\r\n });\r\n this.passangerFormGroup = new FormGroup({});\r\n\r\n this.originLatLng = new LatLng(36.297182, 59.604767);\r\n //this.originOptions = this.originAC.valueChanges.pipe(\r\n // // startWith(''),\r\n // debounceTime(500),\r\n // distinctUntilChanged(),\r\n // switchMap(_val => this._getPlaces(_val))\r\n //);\r\n //this.destinationOptions = this.destAC.valueChanges.pipe(\r\n // // startWith(''),\r\n // debounceTime(500),\r\n // distinctUntilChanged(),\r\n // switchMap(_val => this._getPlaces(_val))\r\n //);\r\n this.stationCode.valueChanges.subscribe(val => {\r\n this.loadStationList(val);\r\n this.loadStationStatics(val);\r\n }\r\n );\r\n\r\n this._initMap();\r\n //this.map.setView(36.329616, 59.56543);\r\n //this.socketService.startSocket2();\r\n\r\n this.originAC.valueChanges.subscribe((value: string) => {\r\n // با تایپ یه حرف توی مبدا و مقصد بایستی فیلتر بشه لیست مناطق ذخیره شده\r\n if (!value)\r\n this.selectedOrigins_Filter = JSON.parse(JSON.stringify(this.selectedOrigins.slice(0, 5)));\r\n else {\r\n this.selectedOrigins_Filter = [];\r\n var count = 0;\r\n this.selectedOrigins.forEach((data) => {\r\n if (data.includes(value)) {\r\n if (this.selectedOrigins_Filter.length < 5)\r\n this.selectedOrigins_Filter.push(data);\r\n\r\n }\r\n })\r\n }\r\n\r\n });\r\n this.destAC.valueChanges.subscribe((value: string) => {\r\n // مثه بالایی\r\n if (!value) {\r\n this.selectedDestination_Filter = JSON.parse(JSON.stringify(this.selectedOrigins.slice(0, 5)));\r\n }\r\n else {\r\n this.selectedDestination_Filter = [];\r\n this.selectedOrigins.forEach((data) => {\r\n if (this.selectedOrigins_Filter.length < 5) {\r\n if (data.includes(value))\r\n this.selectedDestination_Filter.push(data);\r\n }\r\n })\r\n }\r\n });\r\n\r\n\r\n }\r\n loadStationStatics(stationID: any) {\r\n\r\n }\r\n\r\n loadPassangerReport(passangerID: number) {\r\n this.currentServiceService.report(passangerID).subscribe(res => {\r\n\r\n this.logs = res;\r\n });\r\n }\r\n CurrentReserved: ResevedService = null;\r\n // زمانی که مسافر دوباره تماس میگیره اگر سفر رزرو شده ای داشته باشه باید بهش هشدار بدیم\r\n // چون ممکنه قبلا رزرو کرده باشه بعد دوباره تماس میگیره اپراتور نفهمه و دوباره ثبت کنه وتکراری بشه\r\n // این تابع چک می کنه اگر سفر رزرو شده ای داره هشدار بده\r\n checkLastReserved(passangerID: any) {\r\n this.requestService.getCurrentReserved(passangerID).subscribe(res => {\r\n //console.log('reserved service is');\r\n //console.log(res);\r\n if (res) {\r\n this.CurrentReserved = res;\r\n } else\r\n this.CurrentReserved = null;\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n // زمانی که تماس گرفته میشه و اپراتور وصل میشه در صورتی که قبلا سفر یا درخواست بازی داشته باشه هنوز ، یعنی سفری که هنوز راننده نگرفته یا تمام نشده\r\n // یا نیم ساعت ازش نگذشته همون ابتدا به اپراتور پیام داده میشه و بهش هشدار داده میشه\r\n checkLastService(passangerID : any) {\r\n this.requestService.getLastRequest(passangerID).subscribe(res => {\r\n if (res) {\r\n\r\n\r\n const confirmRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مایل به ویرایش سفر اخیر می باشید؟',\r\n buttonText: {\r\n ok: '(1) بله',\r\n cancel: '(2) خیر ثبت سفر جدید',\r\n extraButtonText: '(3) ثبت پیگیری'\r\n }\r\n }\r\n });\r\n\r\n confirmRef.afterClosed().subscribe(_confirmed => {\r\n if (_confirmed === 'OK') {\r\n this.gotoupdate(res.id);\r\n }\r\n else if (_confirmed === 'btn3') {\r\n //console.log(res);\r\n //console.log('btn3');\r\n this.peygiri(res.id);\r\n\r\n }\r\n else {\r\n //this._reset();\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n// بعد از انتخاب آخرین تماس و برای لود شدن اطالعات مسافر\r\n loadPassangerInfo(passangerInfo: Passanger) {\r\n //console.warn(passangerInfo);\r\n\r\n this.checkLastService(passangerInfo.id);\r\n this.checkLastReserved(passangerInfo.id);\r\n\r\n this.loadPassangerReport(passangerInfo.id);\r\n /*\r\n * inja\r\n this.callFormGroup.patchValue(passangerInfo);\r\n */\r\n\r\n //this.callFormGroup.disable();\r\n this.loadSavedPlace(passangerInfo.id);\r\n this.passangerFullName.setValue(passangerInfo.fName);\r\n if (passangerInfo.mobile && passangerInfo.mobile.length > 9 && !passangerInfo.mobile.startsWith('051') && !passangerInfo.mobile.startsWith('51'))\r\n this.passangerMobile.setValue(passangerInfo.mobile);\r\n this.passangerComment.setValue(passangerInfo.fixedComment);\r\n this.lockDriver = passangerInfo.lockDriver;\r\n //console.warn(passangerInfo.serviceCount);\r\n this.passangerServiceCount = passangerInfo.serviceCount;\r\n\r\n }\r\n selectedCars = new FormControl();\r\n CarList = [{ value: '3', name: 'سمند' }, { name: 'پژو', value: 2 }, { value: '4', name: 'آریو' }, { name: 'برلیانس', value: 1 }, { value: '5', name: 'ون' }];\r\n\r\n // خواندن آخرین شماره تماس گیرنده از آی دی کالر\r\n getIDCaller() {\r\n this.passangerMobile.setValue('');\r\n this.fillCall(this.telIDCaller.value);\r\n }\r\n//شماره مشخص شده و می باید اطلاعات کاربر از روی شماره پر بشه - ممکنه شماره دستی وارد بشه یا با زدن آخرین تماس از ای دی کالر گرفته بشه\r\n fillCall(mobile: any) {\r\n this.mode = 'insert';\r\n this.currentIDForUpdate = -1;\r\n this.callCenterService.getCallerInfoByMobile(mobile).subscribe(_res => {\r\n this.fillPassangerInfoFromModel(_res);\r\n\r\n });\r\n }\r\n getCallClick() {\r\n this._reset();\r\n //console.log('getCallClick');\r\n this.getCall();\r\n }\r\n passangerServiceCount = 0\r\n\r\n fillPassangerInfoFromModel(_res: LastCallInfo) {\r\n\r\n if (_res) {\r\n //console.warn('استعلام تماس خروجی :');\r\n //console.warn(_res);\r\n this.callInfo = _res;\r\n if (this.callInfo.callInfo) {\r\n this.telIDCaller.setValue(_res.callInfo.tel);\r\n //debugger\r\n if (_res.callInfo.tel.length > 9 && !_res.callInfo.tel.startsWith('051') && !_res.callInfo.tel.startsWith('51')) {\r\n this.passangerMobile.setValue(_res.callInfo.tel);\r\n }\r\n else {\r\n\r\n var passMobile = _res.passangerInfo ? _res.passangerInfo.mobile : '';\r\n if (passMobile.length >= 9 &&!passMobile.startsWith('051') && !passMobile.startsWith('51')\r\n )\r\n this.passangerMobile.setValue(passMobile);\r\n }\r\n this.passangerServiceCount = _res.passangerInfo.serviceCount;\r\n this.callFormInsertMode = !_res.passangerInfo;\r\n if (!this.callFormInsertMode && this.BackMode != 'manage') {\r\n this.loadPassangerInfo(_res.passangerInfo);\r\n }\r\n\r\n } else {\r\n this.matSnackbar.open('در حال حاضر شما تماسی ندارید.', null, { duration: 3000 });\r\n this.callInfo = new LastCallInfo();\r\n this.callInfo.callInfo = new CallLog();\r\n this.callInfo.passangerInfo = new Passanger();\r\n\r\n }\r\n }\r\n\r\n\r\n }\r\n getCall() {\r\n this.callCenterService.getCurrentCallInfo(this.operatorInfo.id).subscribe(_res => {\r\n this.fillPassangerInfoFromModel(_res)\r\n\r\n\r\n });\r\n }\r\n\r\n submitCallForm() {\r\n\r\n }\r\n\r\n //displayFn(_searchResult: searchResult): string {\r\n // return _searchResult && `${_searchResult.title} - ${_searchResult.address}`;\r\n //}\r\n\r\n originLatLng: LatLng;\r\n destLatLng: LatLng;\r\n// دیگه استفاده نمیشه 99 درصد\r\n setDestination(x: any, y: any, title: any) {\r\n this.destAC.setValue(title);\r\n this.destLatLng = new LatLng(x, y);\r\n\r\n //if (this.destMarker) {\r\n // this.destMarker.setLatLng(this.destLatLng);\r\n // this.map.setView(this.destLatLng.lat, this.destLatLng.lng);\r\n //} else {\r\n // this.destMarker = this.map.addMarker(this.destLatLng.lat, this.destLatLng.lng, MarkerType.destination, '', true);\r\n // this.map.setView(this.destLatLng.lat, this.destLatLng.lng);\r\n //}\r\n\r\n }\r\n\r\n setOrigin(lat: any, lng: any, title: any) {\r\n this.originAC.setValue(title);\r\n this.originLatLng = new LatLng(lat, lng);\r\n //////console.log('originLatLng : ');\r\n //console.log(this.originLatLng);\r\n\r\n\r\n //if (this.originMarker) {\r\n // //console.log('this.originMarker is not null ');\r\n // this.originMarker.setLatLng(this.originLatLng);\r\n // //console.log('then set view');\r\n // this.map.setView(lat, lng);\r\n //} else {\r\n // //console.log('else this.originMarker is null ');\r\n // this.originMarker = this.map.addMarker(this.originLatLng.lat, this.originLatLng.lng, MarkerType.origin, '', true);\r\n // //console.log('else set view');\r\n // this.map.setView(lat, lng);\r\n //}\r\n }\r\n\r\n optionSelected(ev: any) {\r\n //console.log(ev);\r\n const result: searchResult = ev.option.value;\r\n this.setOrigin(result.y, result.x, result.title);\r\n this.renderer2.selectRootElement('#passangerComment').focus();\r\n }\r\n\r\n optionSelecteddest(ev: any) {\r\n //console.log(ev);\r\n const result: searchResult = ev.option.value;\r\n this.setDestination(result.y, result.x, result.title);\r\n this.renderer2.selectRootElement('#selectedCars').focus();\r\n\r\n }\r\n\r\n private _getPlaces(value: string): Observable {\r\n ////console.log(value);\r\n return this.taxiService.searchMap(value, this.originLatLng.lat, this.originLatLng.lng);\r\n }\r\n\r\n private _getPlacesdes(value: string): Observable {\r\n ////console.log(value);\r\n return this.taxiService.searchMap(value, this.destLatLng.lat, this.destLatLng.lng);\r\n }\r\n\r\n private _initMap(): void {\r\n //this.map = new TaximapComponent();\r\n //this.map = LeafletMap('map', {\r\n // crs: CRS.EPSG4326\r\n //});\r\n\r\n //tileLayer('https://bpms.mashhad.ir/favageoserver/gwc/service/tms/1.0.0/osm%3Aosm@EPSG:4326@png/{z}/{x}/{y}.png', {\r\n // tms: true,\r\n //}).addTo(this.map);\r\n\r\n //this.map.setView([36.329616, 59.56543], 12);\r\n\r\n // add marker on click\r\n // this.map.on('click', (ev: LeafletMouseEvent) => {\r\n // //console.log(ev);\r\n // marker(ev.latlng, {\r\n // icon: this.markerIcon\r\n // }).addTo(this.map);\r\n // });\r\n }\r\n amanati = false;\r\n pos = false;\r\n maeloolin = false;\r\n khadamat = false;\r\n darEkhtiar = false;\r\n maledriver = true;\r\n femaledriver = true;\r\n\r\n\r\n currentIDForUpdate = -1;\r\n\r\n //این تابع وظیفه اعتبار سنجی قبل از ذخیره رو داره\r\n isValid(): boolean {\r\n if (!this.currentStation || !this.currentStation.id || this.currentStation.id <= 0) {\r\n this.matSnackbar.open('ایستگاه وارد شده صحیح نمی باشد', null, { duration: 3000 });\r\n return false;\r\n }\r\n\r\n if (!this.originAC.value) {\r\n this.matSnackbar.open('مبدا وارد نشده است', null, { duration: 3000 });\r\n return false;\r\n }\r\n if (!this.stationCode.value) {\r\n this.matSnackbar.open('کد ایستگاه صحیح نیست', null, { duration: 3000 });\r\n return false;\r\n }\r\n if (!this.passangerFullName.value) {\r\n this.matSnackbar.open('نام مسافر وارد نشده است', null, { duration: 3000 });\r\n return false;\r\n }\r\n\r\n if (!this.telIDCaller.value) {\r\n this.matSnackbar.open('استعلام تماس یا کلید ذره بین انتخاب نشده است', null, { duration: 3000 });\r\n return false;\r\n }\r\n\r\n var serviceCount: number = +this.serviceCount.value;\r\n if (serviceCount > 9) {\r\n this.matSnackbar.open('تعداد سرویس وارد شده صحیح نمی باشد', null, { duration: 3000 });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n date: Date = null;\r\n\r\n saveRequest(): Observable {\r\n\r\n\r\n\r\n //console.log('saveRequest');\r\n\r\n if (!this.isValid())\r\n return null;\r\n var result: Observable;\r\n var serviceCount: number = +this.serviceCount.value;\r\n\r\n\r\n\r\n\r\n let req = new ServiceRequest();\r\n if (this.mode == 'update')\r\n req.id = this.currentIDForUpdate;\r\n else\r\n req.id = 1;\r\n if (this.destLatLng) {\r\n req.destinationLat = this.destLatLng.lat;\r\n req.destinationLng = this.destLatLng.lng;\r\n }\r\n if (this.originLatLng) {\r\n req.originLat = this.originLatLng.lat;\r\n req.originLng = this.originLatLng.lng;\r\n }\r\n req.destinationAddr = this.destAC.value;\r\n req.originAddr = this.originAC.value;\r\n req.telIDCaller = this.callInfo.callInfo.tel;\r\n\r\n req.destination2Addr = '';\r\n req.destinationLat2 = 0;\r\n req.destinationLng2 = 0;\r\n req.amanati = this.amanati;\r\n req.pos = this.pos;\r\n req.maeloolin = this.maeloolin;\r\n req.khadamat = this.khadamat;\r\n req.darEkhtiar = this.darEkhtiar;\r\n //console.log('darEkhtiar in save method' + req.darEkhtiar);\r\n req.fixedComment = this.passangerComment.value;\r\n req.femaleDriver = this.femaledriver;\r\n req.maleDriver = this.maledriver;\r\n req.requestComment = this.serviceRequestComment.value;\r\n req.passangerFName = this.passangerFullName.value;\r\n req.passangerMobile = this.passangerMobile.value;\r\n req.operatorID = this.operatorInfo.id;\r\n if (this.selectedCars)\r\n req.typeCars = this.selectedCars.value;\r\n else\r\n req.typeCars = '';\r\n if (this.selectedDriver) {\r\n req.driverCode = this.selectedDriver.driverCode;\r\n }\r\n\r\n const passenger: Passanger = {\r\n id: this.callInfo && this.callInfo.passangerInfo && this.callInfo.passangerInfo.mobile == this.telIDCaller.value ? this.callInfo.passangerInfo.id : -1,\r\n fName: req.passangerFName,\r\n lName: req.passangerFName,\r\n mobile: this.passangerMobile.value,\r\n nationalCode: '',\r\n gender: false,\r\n fixedComment: this.passangerComment.value,\r\n lockDriver: '',\r\n serviceCount: 0,\r\n mobiles : ''\r\n };\r\n\r\n req.telIDCaller = this.telIDCaller.value;\r\n //console.log(passenger);\r\n //console.warn(this.callInfo);\r\n //console.warn(passenger);\r\n\r\n return this.currentServiceService.saveService(req, passenger, +this.stationCode.value, this.mode, serviceCount, this.transactionID);\r\n }\r\n transactionID = ''\r\n private _reset(): void {\r\n this.transactionID = this.makeid(36);\r\n //console.log(this.transactionID);\r\n //this.nosave = false;\r\n this.mode = 'insert';\r\n /*\r\n * inja\r\n this.callFormGroup.reset();\r\n */\r\n this.callFormInsertMode = false;\r\n this.stationready = [];\r\n this.logs = [];\r\n\r\n this.stationCode.reset();\r\n this.originAC.reset();\r\n this.destAC.reset();\r\n\r\n if (this.originMarker) {\r\n this.originMarker.remove();\r\n this.originMarker = null;\r\n }\r\n if (this.destMarker) {\r\n this.destMarker.remove();\r\n this.destMarker = null;\r\n }\r\n this.originOptions = null;\r\n this.destinationOptions = null;\r\n\r\n this.selectedOrigins = [];\r\n this.selectedDestination_Filter = [];\r\n this.selectedOrigins_Filter = [];\r\n this.passangerComment.setValue('');\r\n this.serviceRequestComment.setValue('');\r\n this.passangerFullName.setValue('');\r\n this.passangerMobile.setValue('');\r\n this.lockDriver = '';\r\n this.passangerServiceCount = 0;\r\n this.pos = false;\r\n this.maeloolin = false;\r\n this.darEkhtiar = false;\r\n this.amanati = false;\r\n this.khadamat = false;\r\n this.maledriver = true;\r\n this.femaledriver = true;\r\n\r\n this.resetStationDetail();\r\n //this.map.setView(36.329616, 59.56543);\r\n this.checkForBackToCaller(false);\r\n this.CurrentReserved = null;\r\n this.serviceCount.setValue('1');\r\n //console.log(this.pos);\r\n }\r\n // با زدن بعضی تیک ها مثه دراختیار و اینا باید به کامنت اضافه یا کم بشن این تابع ها برای اون کاره\r\n addTerm(mainvalue: any, addvalue: any) {\r\n if (!mainvalue)\r\n return addvalue;\r\n else {\r\n if (!mainvalue.includes(addvalue))\r\n return mainvalue + ' ' + addvalue;\r\n else\r\n return mainvalue;\r\n }\r\n }\r\n subTerm(mainvalue: any, addvalue: any) {\r\n if (mainvalue)\r\n return mainvalue.replace(addvalue, '');\r\n else\r\n return '';\r\n }\r\n\r\n // مرتبط با دو تا تابع بالا\r\n // با انتخاب گزینه ها و تیک های دراختیار و ... می بایست توی توضیحات سفر نیز متن مرتبط اضافه یا کم بشه\r\n valueChange(changedItem: any, $event: any) {\r\n //console.log('dar ekhtiar before ' + this.darEkhtiar);\r\n if (changedItem == 'pos')\r\n this.pos = $event.checked;\r\n else if (changedItem == 'maeloolin')\r\n this.maeloolin = $event.checked;\r\n else if (changedItem == 'darEkhtiar') {\r\n this.darEkhtiar = $event.checked;\r\n if (this.darEkhtiar) {\r\n this.serviceRequestComment.setValue(this.addTerm(this.serviceRequestComment.value, ' در اختیار '));\r\n }\r\n else {\r\n this.serviceRequestComment.setValue(this.subTerm(this.serviceRequestComment.value, ' در اختیار '));\r\n }\r\n }\r\n else if (changedItem == 'amanati') {\r\n this.amanati = $event.checked;\r\n if (this.amanati) {\r\n this.serviceRequestComment.setValue(this.addTerm(this.serviceRequestComment.value, ' امانتی '));\r\n }\r\n else {\r\n this.serviceRequestComment.setValue(this.subTerm(this.serviceRequestComment.value, ' امانتی '));\r\n\r\n }\r\n }\r\n else if (changedItem == 'femaledriver') {\r\n this.femaledriver = $event.checked;\r\n }\r\n else if (changedItem == 'maledriver') {\r\n {\r\n this.maledriver = $event.checked;\r\n }\r\n\r\n }\r\n else if (changedItem == 'khadamat') {\r\n this.khadamat = $event.checked;\r\n if (this.khadamat) {\r\n this.serviceRequestComment.setValue(this.addTerm(this.serviceRequestComment.value, ' خدمات '));\r\n }\r\n else {\r\n this.serviceRequestComment.setValue(this.subTerm(this.serviceRequestComment.value, ' خدمات '));\r\n\r\n }\r\n\r\n }\r\n //console.log('dar ekhtiar after ' + this.darEkhtiar);\r\n }\r\n\r\n //valueChange(changedItem, $event) {\r\n\r\n // changedItem= $event.checked;\r\n //}\r\n dialogCreatedServiceRef!: MatDialogRef;\r\n private showCreatedService(info: SaveServiceResult) {\r\n //console.warn(info.serviceGUID);\r\n\r\n this.dialogCreatedServiceRef = this.dialog.open(ShowcreatedserviceComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n info: info\r\n }\r\n });\r\n\r\n }\r\n lstStation!: Station[];\r\n loadStation() {\r\n this.stationSerivce.getAllStationList().subscribe(_res => {\r\n\r\n this.lstStation = _res;\r\n _res.forEach(station => {\r\n this.map.addStationMarker(station);\r\n\r\n });\r\n });\r\n }\r\n private setStationItemResult(stationID: any, result: saveservicresultType) {\r\n this.stationready.forEach(async function (station) {\r\n if (station.id == stationID) {\r\n station.serviceResult = result;\r\n }\r\n })\r\n }\r\n //nosave = false;\r\n saveRequestForQueue(): void {\r\n //console.log('saveRequestForQueue');\r\n\r\n\r\n\r\n //if (this.nosave) {\r\n\r\n // this.matSnackbar.open('ثبت تکراری', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\" });\r\n // setTimeout(() => { this.nosave=false }, 25000);\r\n // return;\r\n //}\r\n\r\n if (!this.isValid())\r\n return;\r\n if (this.date) {\r\n var diffMs = this.date.getTime() - new Date().getTime();\r\n var diff = Math.abs(diffMs) < 6000\r\n //console.log('diff')\r\n //console.log(diffMs)\r\n //console.log(diff)\r\n\r\n if (diff) {\r\n //console.log('duplicate')\r\n\r\n return;\r\n }\r\n }\r\n this.date = new Date();\r\n const confirmRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'در حال ثبت',\r\n buttonText: {\r\n ok: '(1) متوجه شدم',\r\n cancel: ' '\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n //this.nosave = true;\r\n this.saveRequest().subscribe(res => {\r\n if (!res) {\r\n // چون هر کار می کردیم باز هم این اپراتور ها یه جوری کلیک می کردن پشت سر هم که فرم تکراری ثبت می شد\r\n // سمت سرور هم یه شرط هایی گذاشتیم و ممکنه ذخیره به علت تکراری بودن انجام نشه\r\n confirmRef.close('CancelRequest');\r\n const dupRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'فرم تکراری است - در فرم بی سیم چک شود',\r\n buttonText: {\r\n ok: '(1) متوجه شدم',\r\n cancel: ' '\r\n }\r\n }\r\n });\r\n return;\r\n }\r\n confirmRef.close('CancelRequest');\r\n\r\n //this.nosave = false; \r\n //console.warn(res);\r\n this.notifAlert.setParam('savenew');\r\n if (this.mode == 'update') {\r\n this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceUpdate);\r\n }\r\n else {\r\n this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n }\r\n\r\n // این حالت هایی که در ادامه امده اینا برداشته شده و دیگه نیازی نیست \r\n // چون بهمحض اینکه فرم ثبت میشه فرم بسته باید بشه و بره برای ثبت بعدی = قبلا در حالت انتظار می موند مثه نسخه مسافر اسنپ\r\n if (res.result == saveservicresultType.driverFound) {\r\n //console.warn('saveservicresultType.driverFound');\r\n this.matSnackbar.open('راننده پیدا شده و به سفر اختصاص داده شد', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n this.showCreatedService(res);\r\n }\r\n else if (res.result == saveservicresultType.driverNotFound) {\r\n this.matSnackbar.open('متاسفانه راننده ای یافت نشد', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.inSearchingDriver) {\r\n const confirmRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'با موفقیت ثبت شد',\r\n buttonText: {\r\n ok: '(1) متوجه شدم',\r\n cancel: ' '\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n this.matSnackbar.open('در حال پذیرش از سوی راننده', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.update_lastServiceIsCancel) {\r\n this.matSnackbar.open('سرویس قبلی کنسل شده و سرویس جدید ثبت گردید', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.update_NoChange) {\r\n this.matSnackbar.open('تغییرات اعمال گردید', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.update_SentAlarmForDriver) {\r\n this.matSnackbar.open('تغییرات اعمال گردیده و در انتظار تایید راننده می باشد', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n //console.warn('station:' + station + ' -> res.result' + res.result)\r\n //this.setStationItemResult(station.id, res.result);\r\n\r\n this.checkForBackToCaller(true);\r\n },\r\n (err) => {\r\n confirmRef.close('CancelRequest');\r\n //console.log(err)\r\n }\r\n );\r\n\r\n }\r\n // وقتی از فرم بی سیم یا جای دیگه فرم رو باز می کنی برای ویرایش بعد از ذخیره باید برگردی به همون آدرس . این تابع همین رو چک می کنه\r\n checkForBackToCaller(resetElse: any) {\r\n if (this.BackMode == 'manage') {\r\n this.router.navigate(['cc/manage'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (resetElse)\r\n this._reset();\r\n\r\n\r\n }\r\n\r\n // با انتخاب رزرو این تابع صدا زده می شود\r\n // با زدن رزرو ابتدا فرآیند ذخیره صدا زده میشه\r\n private reservedRequestForQueue(date: any, hour: any, minute: any): void {\r\n //console.log('reservedRequestForQueue is called');\r\n this.saveRequest().subscribe(res => {\r\n //console.log('saveRequest result is ');\r\n //console.log(res);\r\n this.currentServiceService.reservedService(res.requestID, this.stationCode.value, date, hour).subscribe(reservedres => {\r\n //console.log(reservedres)\r\n if (reservedres > 0) {\r\n this.matSnackbar.open('درخواست رزرو شما با موفقیت ثبت گردید', null, { duration: 3000 });\r\n this._reset();\r\n }\r\n });\r\n\r\n });\r\n }\r\n dialogmsgBoxRef!: MatDialogRef;\r\n //گزینه ارسال مجدد - این گزینه برای وقتیه که شما یه درخواست زدی ویه نتجیه ای داشته اما می خای دوباره بره تو فرآیند ارسال و دوباره ارسال بشه\r\n resend(trip: any) {\r\n //console.log('resend')\r\n //console.log(trip)\r\n this.currentServiceService.ReProposedRequest(trip.requestID).subscribe(res => {\r\n this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n this.matSnackbar.open('فرم دوباره ثبت گردید', null, { duration: 3000 });\r\n //console.log(res);\r\n });\r\n\r\n\r\n\r\n\r\n }\r\n\r\n cancelTrip(requestID: any, trip: any) {\r\n\r\n this.dialogmsgBoxRef = this.dialog.open(MessageboxComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n msgText: 'آیا از کنسل کردن سفر اطمینان دارید؟',\r\n msgTitle: 'انصراف'\r\n }\r\n });\r\n this.dialogmsgBoxRef.afterClosed().subscribe((result : any) => {\r\n if (result == 'ok') {\r\n this.currentServiceService.cancelServiceByRequest(requestID).subscribe(res => {\r\n\r\n });\r\n if (trip)\r\n trip.serviceStateName = 'کنسل شده';\r\n\r\n }\r\n this.checkForBackToCaller(true);\r\n });\r\n\r\n //console.warn(trip);\r\n }\r\n peygiri(requestID: any) {\r\n this.requestService.peygiri(requestID).subscribe(res => {\r\n this.matSnackbar.open('پیام پیگیری برای راننده صادر گردید', null, { duration: 2000 });\r\n }\r\n );\r\n }\r\n selectDriver(drv: any) {\r\n //console.log(drv);\r\n this.selectedDriver = drv;\r\n if (this.selectedDriver) {\r\n\r\n this.firstdriverCode.setValue(this.selectedDriver.driverCode);\r\n //this.firstdriverFullName.setValue(this.selectedDriver.fName);\r\n this.firstdriverPelaque.setValue(this.selectedDriver.pelaque2 + this.selectedDriver.pelaqueLetter + this.selectedDriver.pelaque3 + '- ایران ' + this.selectedDriver.pelaqueIR);\r\n this.posStatusControl.setValue(this.selectedDriver.pos);\r\n if (this.selectedDriver.pos == true)\r\n this.posStatusControl.setValue('دارد');\r\n else\r\n this.posStatusControl.setValue('ندارد');\r\n this.personalMobile.setValue(this.selectedDriver.mobile);\r\n this.workingmobilecontrol.setValue(this.selectedDriver.workingMobile);\r\n this.TypeCarOfCurrentDriver.setValue(this.selectedDriver.carName + this.selectedDriver.colorName);\r\n\r\n }\r\n else {\r\n this.firstdriverCode.setValue('');\r\n //this.firstdriverFullName.setValue('');\r\n this.firstdriverPelaque.setValue('');\r\n this.posStatusControl.setValue('');\r\n this.personalMobile.setValue('');\r\n this.workingmobilecontrol.setValue('');\r\n this.TypeCarOfCurrentDriver.setValue('');\r\n }\r\n }\r\n loadDriverByIndex() {\r\n this.selectDriver(this.driverStation[this.selectedDriverIndex]);\r\n }\r\n selectedDriverIndex = 0;\r\n\r\n // مطابق متد پایینی\r\n nextDriver() {\r\n //console.log(this.driverStation.length);\r\n this.selectedDriverIndex = this.selectedDriverIndex + 1;\r\n if (this.selectedDriverIndex > this.driverStation.length)\r\n this.selectedDriverIndex = 0;\r\n this.loadDriverByIndex();\r\n }\r\n\r\n // لیست راننده های ایستگاه گزینه بعد و قبل داره این برای قبلیه\r\n predDriver() {\r\n //console.log(this.driverStation.length);\r\n this.selectedDriverIndex = this.selectedDriverIndex - 1;\r\n if (this.selectedDriverIndex < 0)\r\n this.selectedDriverIndex = 0;\r\n this.loadDriverByIndex();\r\n }\r\n\r\n handleShortCut(event: KeyboardEvent) {\r\n\r\n //console.log(' event key is :');\r\n\r\n //console.log(event);\r\n\r\n\r\n if ((event.which == 13 || event.keyCode == 13)) {\r\n //console.log('enter pressed');\r\n this.forwardNext(event.srcElement);\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F1') {\r\n this.getCall();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F2') {\r\n this.renderer2.selectRootElement('#txttellIDCaller').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'Escape') {\r\n //console.log('ESC');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F8') {\r\n //console.log('F8');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F5') {\r\n this.renderer2.selectRootElement('#passangerMobile').focus();\r\n event.preventDefault();\r\n }\r\n\r\n else if (event.key === 'F3') {\r\n this.renderer2.selectRootElement('#originAC').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F7') {\r\n this.renderer2.selectRootElement('#firstdriverCode').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F6') {\r\n this.renderer2.selectRootElement('#stationCode').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.altKey) { // alt\r\n\r\n //console.log('alt key');\r\n if (event.key === 'r') {\r\n event.preventDefault();\r\n this.showReserved();\r\n }\r\n }\r\n else if (event.ctrlKey) { // ctrl\r\n\r\n\r\n\r\n if (event.key === '1') {\r\n //console.log('ctrl+1');\r\n event.preventDefault();\r\n }\r\n else if (event.key === '5') {\r\n //console.log('ctrl+5');\r\n event.preventDefault();\r\n }\r\n else if (event.key === '6') {\r\n //console.log('ctrl+6');\r\n event.preventDefault();\r\n }\r\n else if ((['h', 'H', 'ا'].indexOf(event.key) > -1)) {\r\n //console.log('ctrl+H');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'x') {\r\n //console.log('ctrl+X');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'q') {\r\n //console.log('ctrl+Q');\r\n event.preventDefault();\r\n }\r\n else if ((['e', 'E', 'ث'].indexOf(event.key) > -1)) {\r\n //console.log('ctrl+E');\r\n event.preventDefault();\r\n //this.saveRequestClickDebounce();\r\n\r\n\r\n }\r\n }\r\n else {\r\n //console.log(event);\r\n }\r\n }\r\n\r\n\r\n okdialogRef!: MatDialogRef;\r\n\r\n showStationDetails() {\r\n this.dialogStationDetailRef = this.dialog.open(StationdetailComponent, {\r\n width: '1200px',\r\n hasBackdrop: true,\r\n data: {\r\n stationID: this.stationCode.value\r\n },\r\n autoFocus: true,\r\n });\r\n\r\n //this.stationdet.loadData(this.stationCode.value);\r\n //this.drawer.toggle()\r\n\r\n }\r\n gpsTest() {\r\n //console.log('gpstest');\r\n\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n //console.log(position);\r\n //console.log(`position in watch getCurrentPosition lat is ${position.coords.latitude} , longitude is ${position.coords.longitude}`);\r\n });\r\n navigator.geolocation.watchPosition((position) => {\r\n //console.log(`position in watch position lat is ${position.coords.latitude} , longitude is ${position.coords.longitude}`);\r\n });\r\n }\r\n\r\n onStationKeydown(event: any) {\r\n //زمانی که در تکست باکس کد ایتسگاه اسپیس می زته لیست جزییات ایستگاه نمایش داده میشه\r\n if (event.key === \" \") {\r\n event.preventDefault();\r\n if (this.stationCode.value)\r\n this.showStationDetails();\r\n }\r\n //console.log('onStationKeydown');\r\n //console.log(event);\r\n }\r\n // وقتی رزرو رو انتخاب می کنه یه مودال باز میشه که توش ساعت و تاریخ میگیره . این تابع این کارو می کنه ولی کلا باید عوض بشه\r\n showReserved() {\r\n if (!this.isValid())\r\n return;\r\n this.dialogProposedServiceRef = this.dialog.open(InpDateTimeComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n guidRequest: ''\r\n }\r\n });\r\n this.dialogProposedServiceRef.afterClosed().subscribe((result : any) => {\r\n //console.log('result.date' + result.date);\r\n //console.log(result);\r\n //console.log(result.date);\r\n\r\n if (result.Action == 'Save') {\r\n //console.log('saved call');\r\n this.reservedRequestForQueue(result.date.value.toString(), result.hour, result.minute);\r\n } else if (result.Action == 'Cancel') {\r\n\r\n }\r\n });\r\n }\r\n\r\n// برای وقتی که اینتر می زنه میخاد بره کنترل بعدی استفاده شده\r\n forwardNext(element: any) {\r\n\r\n var nextControlDic: { [id: string]: string; } = {};\r\n nextControlDic[\"txttellIDCaller\"] = \"passangerFullName\";\r\n nextControlDic[\"passangerFullName\"] = \"passangerMobile\";\r\n nextControlDic[\"passangerMobile\"] = \"originAC\";\r\n nextControlDic[\"originAC\"] = \"passangerComment\";\r\n nextControlDic[\"passangerComment\"] = \"serviceRequestComment\";\r\n nextControlDic[\"serviceRequestComment\"] = \"destAC\";\r\n nextControlDic[\"destAC\"] = \"selectedCars\";\r\n nextControlDic[\"selectedCars\"] = \"stationCode\";\r\n nextControlDic[\"stationCode\"] = \"firstdriverCode\";\r\n nextControlDic[\"firstdriverCode\"] = \"TypeCarOfCurrentDriver\";\r\n nextControlDic[\"TypeCarOfCurrentDriver\"] = \"workingmobilecontrol\";\r\n nextControlDic[\"workingmobilecontrol\"] = \"personalMobile\";\r\n nextControlDic[\"personalMobile\"] = \"posStatusControl\";\r\n nextControlDic[\"posStatusControl\"] = \"firstdriverPelaque\";\r\n nextControlDic[\"firstdriverPelaque\"] = \"serviceCount\";\r\n nextControlDic[\"serviceCount\"] = \"txttellIDCaller\";\r\n\r\n\r\n\r\n var related = nextControlDic[element.id];\r\n if (related) {\r\n //console.log('realted is ' + related)\r\n this.renderer2.selectRootElement('#' + related).focus();\r\n }\r\n else {\r\n //console.log('relates is null');\r\n this.renderer2.selectRootElement('#txttellIDCaller').focus();\r\n }\r\n }\r\n mode = '';\r\n makeid(length: any) {\r\n var result = '';\r\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n var charactersLength = characters.length;\r\n for (var i = 0; i < length; i++) {\r\n result += characters.charAt(Math.floor(Math.random() *\r\n charactersLength));\r\n }\r\n return result;\r\n }\r\n\r\n// یعنی این آی دی رو برای اپدیت باز کن\r\n gotoupdate(requestID: any) {\r\n\r\n\r\n //console.log(requestID);\r\n this.requestService.getRequestServiceByID(requestID).subscribe(res => {\r\n //console.log('getRequestServiceByID out');\r\n //console.log(res);\r\n this.mode = 'update';\r\n this.callInfo = new LastCallInfo();\r\n this.callInfo.callInfo = new CallLog();\r\n this.callInfo.passangerInfo = new Passanger();\r\n this.callInfo.callInfo.tel = res.telIDCaller;\r\n this.callInfo.callInfo.tel = res.passangerMobile;\r\n\r\n\r\n\r\n this.currentIDForUpdate = requestID;\r\n this.passangerFullName.setValue(res.passangerFName);\r\n this.telIDCaller.setValue(res.telIDCaller);\r\n this.passangerMobile.setValue(res.passangerMobile);\r\n this.lockDriver = '';\r\n this.passangerServiceCount = (res.passangerServiceCount);\r\n this.stationCode.setValue(res.selectedStationID.toString());\r\n this.stationCapacity = '';\r\n this.passangerReservedCount = '';\r\n this.originAC.setValue(res.originAddr);\r\n this.destAC.setValue(res.destinationAddr);\r\n this.passangerComment.setValue(res.fixedComment);\r\n this.serviceRequestComment.setValue(res.requestComment);\r\n this.pos = res.pos;\r\n this.maeloolin = res.maeloolin;\r\n this.darEkhtiar = res.darEkhtiar;\r\n this.amanati = res.amanati;\r\n this.khadamat = res.khadamat;\r\n this.maledriver = res.maleDriver;\r\n this.femaledriver = res.femaleDriver;\r\n if (res.typeCars)\r\n this.selectedCars.setValue(res.typeCars.split(','));\r\n else\r\n this.selectedCars.setValue('');\r\n\r\n });\r\n\r\n\r\n \r\n }\r\n // ازین برای این استفاده شد که یارو مثه خر روی گزینه ذخیره کلیک می کرد پشت سر هم این میگه توی سیصد میلی ثانیه فقط یه بار فایر بشه\r\n debounce = (fn: Function, ms = 300) => {\r\n let timeoutId: ReturnType;\r\n return function (this: any, ...args: any[]) {\r\n clearTimeout(timeoutId);\r\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\r\n };\r\n };\r\n counter = 0;\r\n saverequestLog() {\r\n this.counter++\r\n this.saveRequestForQueue();\r\n }\r\n saveRequestClickDebounce = this.debounce(this.saverequestLog, 1000);\r\n}\r\n","export default \"* {\\n font-size: 2vh;\\n}\\n\\n.new-call {\\n display: flex;\\n padding: 1rem;\\n}\\n\\n.new-call__col {\\n flex: 1 1 auto;\\n}\\n\\n.map-container {\\n background-color: rgba(0, 0, 0, 0.1);\\n border-radius: 0.25rem;\\n margin-right: 1rem;\\n border: 4px solid #bbb;\\n}\\n\\n.caller-form {\\n margin-top: 1rem;\\n}\\n\\n.caller-form mat-form-field {\\n margin-left: 1rem;\\n}\\n\\n.table-wrapper {\\n max-height: 250px;\\n overflow: auto;\\n}\\n\\n#map {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.inputBadge > .mat-badge-content {\\n top: 45px;\\n}\\n\\n.inputStationBadge > .mat-badge-content {\\n right: 0px !important;\\n}\\n\\n.divlbl {\\n display: inline-block;\\n position: relative;\\n padding: 5px;\\n min-width: 30px;\\n}\\n\\n.divlbl > .value {\\n font-weight: bolder;\\n}\\n\\n.mat-drawer-content {\\n padding: 5px 0px;\\n}\\n\\n.mat-simple-snackbar {\\n justify-content: center !important;\\n}\\n\\n.blue-snackbar {\\n background: #2196F3;\\n}\\n\\n.mat-card-title {\\n text-align: center;\\n}\\n\\n.checkbox-margin {\\n margin: 0px 5px;\\n}\\n\\n.countings-style {\\n margin-top: 20px;\\n margin-bottom: 20px;\\n}\\n\\n.countings-style strong {\\n font-family: IranSans;\\n}\\n\\n/*.countings-style span {\\n font-family: IranYekan;\\n}*/\\n\\n.top-snackbar {\\n z-index: 1000 !important;\\n}\\n\\n/*\\nlabel {\\n font-family: IranYekan;\\n}*/\\n\\n::ng-deep p-inputnumber .p-inputnumber-button {\\n border-radius: 0px !important;\\n}\\n\\n::ng-deep p-inputnumber .p-inputnumber-button-group {\\n flex-direction: row !important;\\n}\\n\\n::ng-deep p-inputnumber .p-inputnumber-input {\\n flex-direction: row !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvbmV3LWNhbGwvbmV3LWNhbGwuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FBQ0o7O0FBQ0E7RUFDRSxhQUFBO0VBQ0EsYUFBQTtBQUVGOztBQUFFO0VBQ0UsY0FBQTtBQUVKOztBQUVBO0VBQ0Usb0NBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7QUFDRjs7QUFFQTtFQUNFLGdCQUFBO0FBQ0Y7O0FBQ0U7RUFDRSxpQkFBQTtBQUNKOztBQUdBO0VBQ0UsaUJBQUE7RUFDQSxjQUFBO0FBQUY7O0FBR0E7RUFDRSxXQUFBO0VBQ0EsWUFBQTtBQUFGOztBQUdBO0VBQ0UsU0FBQTtBQUFGOztBQUVBO0VBQ0UscUJBQUE7QUFDRjs7QUFDQTtFQUNFLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBQUVGOztBQUFBO0VBRUksbUJBQUE7QUFFSjs7QUFBQTtFQUNFLGdCQUFBO0FBR0Y7O0FBQUE7RUFDRSxrQ0FBQTtBQUdGOztBQUFBO0VBQ0UsbUJBQUE7QUFHRjs7QUFBQTtFQUNFLGtCQUFBO0FBR0Y7O0FBQUE7RUFDRSxlQUFBO0FBR0Y7O0FBQUE7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0FBR0Y7O0FBQUE7RUFDRSxxQkFBQTtBQUdGOztBQUNBOztFQUFBOztBQUdBO0VBQ0ksd0JBQUE7QUFFSjs7QUFBQTs7O0VBQUE7O0FBS0E7RUFDRSw2QkFBQTtBQUVGOztBQUNBO0VBQ0UsOEJBQUE7QUFFRjs7QUFDQTtFQUNFLDhCQUFBO0FBRUYiLCJmaWxlIjoic3JjL2FwcC9jYWxsLWNlbnRlci9uZXctY2FsbC9uZXctY2FsbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIip7XHJcbiAgICBmb250LXNpemU6MnZoO1xyXG59XHJcbi5uZXctY2FsbCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG5cclxuICAmX19jb2wge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4ubWFwLWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XHJcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gIGJvcmRlcjogNHB4IHNvbGlkICNiYmI7XHJcbn1cclxuXHJcbi5jYWxsZXItZm9ybSB7XHJcbiAgbWFyZ2luLXRvcDogMXJlbTtcclxuXHJcbiAgbWF0LWZvcm0tZmllbGQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgfVxyXG59XHJcblxyXG4udGFibGUtd3JhcHBlciB7XHJcbiAgbWF4LWhlaWdodDogMjUwcHg7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbiNtYXAge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmlucHV0QmFkZ2UgPiAubWF0LWJhZGdlLWNvbnRlbnQge1xyXG4gIHRvcDogNDVweDtcclxufVxyXG4uaW5wdXRTdGF0aW9uQmFkZ2UgPiAubWF0LWJhZGdlLWNvbnRlbnQge1xyXG4gIHJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxufVxyXG4uZGl2bGJsIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6NXB4O1xyXG4gIG1pbi13aWR0aDozMHB4O1xyXG59XHJcbi5kaXZsYmwgPi52YWx1ZVxyXG57XHJcbiAgICBmb250LXdlaWdodDpib2xkZXI7XHJcbn1cclxuLm1hdC1kcmF3ZXItY29udGVudCB7XHJcbiAgcGFkZGluZzogNXB4IDBweDtcclxufVxyXG5cclxuLm1hdC1zaW1wbGUtc25hY2tiYXIge1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ibHVlLXNuYWNrYmFyIHtcclxuICBiYWNrZ3JvdW5kOiAjMjE5NkYzO1xyXG59XHJcblxyXG4ubWF0LWNhcmQtdGl0bGUge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmNoZWNrYm94LW1hcmdpbiB7XHJcbiAgbWFyZ2luOiAwcHggNXB4O1xyXG59XHJcblxyXG4uY291bnRpbmdzLXN0eWxlIHtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5jb3VudGluZ3Mtc3R5bGUgc3Ryb25nIHtcclxuICBmb250LWZhbWlseTogSXJhblNhbnM7XHJcbn1cclxuXHJcblxyXG4vKi5jb3VudGluZ3Mtc3R5bGUgc3BhbiB7XHJcbiAgZm9udC1mYW1pbHk6IElyYW5ZZWthbjtcclxufSovXHJcbi50b3Atc25hY2tiYXJ7XHJcbiAgICB6LWluZGV4OjEwMDAgIWltcG9ydGFudDtcclxufVxyXG4vKlxyXG5sYWJlbCB7XHJcbiAgZm9udC1mYW1pbHk6IElyYW5ZZWthbjtcclxufSovXHJcblxyXG46Om5nLWRlZXAgcC1pbnB1dG51bWJlciAucC1pbnB1dG51bWJlci1idXR0b24ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46Om5nLWRlZXAgcC1pbnB1dG51bWJlciAucC1pbnB1dG51bWJlci1idXR0b24tZ3JvdXAge1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIHAtaW5wdXRudW1iZXIgLnAtaW5wdXRudW1iZXItaW5wdXQge1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcclxufVxyXG4iXX0= */\";","import { Component, OnInit, Renderer2, ViewChild, AfterViewInit, ElementRef } from '@angular/core';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { Map, map as LeafletMap, tileLayer, CRS, marker, icon, LeafletMouseEvent, Icon, Marker, LatLng } from 'leaflet';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { ServiceInfo } from '../../model/serviceInfo';\r\nimport { searchResult } from '../../model/routingInfo';\r\nimport { SavedPlaceService } from '../../lib/serviceLib/savedplace.service';\r\nimport { Passanger } from '../../model/passanger';\r\nimport { ServiceRequest } from '../../model/ServiceRequest';\r\nimport { SaveServiceResult, saveservicresultType } from '../../model/saveserviceresult';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\n\r\nimport { LastCallInfo } from '../../model/lastCallInfo';\r\nimport { Station } from '../../model/station';\r\nimport { StationQueueInfo } from '../../model/stationQueueInfo';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { StationMemberComponent } from '../../station/station-member/station-member.component';\r\nimport { ShowcreatedserviceComponent } from '../../driver/showcreatedservice/showcreatedservice.component';\r\nimport { TaximapComponent } from '../../taximap/taximap.component';\r\nimport { WebSocketService } from '../../lib/web-socket.service';\r\nimport { NotificationModel, SocketMessageType } from '../../model/socketmodels';\r\nimport { MessageboxComponent } from '../../messagebox/messagebox.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { ConfirmDialogComponent } from '../../shared/confirm-dialog/confirm-dialog.component';\r\nimport { InpDateTimeComponent } from '../inp-date-time/inp-date-time.component';\r\nimport { StationdetailComponent } from '../../call-center/stationdetail/stationdetail.component';\r\nimport { NotifalertserviceService } from '../../shared/notifalertservice.service';\r\nimport { CallLog } from '../../model/callLog';\r\nimport { ResevedService } from '../../model/reservedService';\r\nimport { OkmessageComponent } from '../../shared/okmessage/okmessage.component';\r\nimport { environment } from '../../../environments/environment.prod';\r\nimport { SetorigindesComponent } from '../../shared/setorigindes/setorigindes.component';\r\nimport { BaseInfoEnum, BaseInfoService } from '../../lib/serviceLib/baseinfo.service';\r\nimport { IBaseInfo } from '../../lib/interfaces/Ibaseinfo';\r\nimport { OperatorService } from '../../lib/serviceLib/operatorservice.service';\r\nimport { IOperator } from '../../lib/interfaces/operator';\r\n\r\n@Component({\r\n selector: 'app-new-call',\r\n templateUrl: './new-call.component.html',\r\n styleUrls: ['./new-call.component.scss']\r\n})\r\nexport class NewCallComponent implements OnInit, AfterViewInit {\r\n //@ViewChild(\"map\", { static: false })\r\n //public map: TaximapComponent;\r\n //@ViewChild('android')\r\n //public android: ElementRef;\r\n\r\n mapDialogRef: MatDialogRef;\r\n\r\n\r\n\r\n isLoading: boolean = false;\r\n passangerMobiles: string[];\r\n dialogProposedServiceRef: MatDialogRef;\r\n dialogStationDetailRef: MatDialogRef;\r\n\r\n @ViewChild(\"drawer\", { static: false })\r\n public drawer: MatSidenav;\r\n\r\n operatorInfo: OperatorTable;\r\n passangerFormGroup: FormGroup;\r\n\r\n constructor(\r\n private callCenterService: CallCenterService,\r\n private taxiService: TaxiserviceService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private currentServiceService: ServiceserviceService,\r\n private placeService: SavedPlaceService,\r\n private matSnackbar: MatSnackBar,\r\n private stationSerivce: StationserviceService,\r\n private dialog: MatDialog,\r\n private socketService: WebSocketService,\r\n private sanitizer: DomSanitizer,\r\n private renderer2: Renderer2,\r\n private requestService: ServiceRequestService,\r\n private notifAlert: NotifalertserviceService,\r\n private baseIService: BaseInfoService,\r\n private operatorService: OperatorService,\r\n\r\n ) {\r\n // هر جا مثه این با سوکت کار کرد اضافه است\r\n this.socketService.meesageList$.subscribe(msg => {\r\n if (msg) {\r\n this.processMessage(msg);\r\n }\r\n });\r\n }\r\n // متد مربوط به زمان دریافت یه پیام سوکت بوده\r\n processMessage(messageBox: NotificationModel) {\r\n switch (messageBox.msgType) {\r\n case SocketMessageType.GetClientInfo:\r\n break;\r\n }\r\n\r\n }\r\n callInfo: LastCallInfo;\r\n stationready: Station[] = [];\r\n passangerServicesCount: any = '0';\r\n isExpanded: boolean = false;\r\n callFormInsertMode = false;\r\n\r\n logs: ServiceInfo[] = [];\r\n driverStation: StationQueueInfo[] = [];\r\n selectedDriver: StationQueueInfo;\r\n telIDCaller = new FormControl('', [Validators.required]);\r\n passangerFullName = new FormControl('', [Validators.required]);\r\n originAC = new FormControl('', [Validators.required]);\r\n stationCode = new FormControl('', [Validators.required]);\r\n moarefID = new FormControl('', [Validators.required]);\r\n typePardakht = new FormControl('1019', [Validators.required]);\r\n\r\n typeService = new FormControl('', [Validators.required]);\r\n\r\n destAC = new FormControl('');\r\n passangerMobile = new FormControl();\r\n passangerComment = new FormControl();\r\n serviceRequestComment = new FormControl();\r\n price = new FormControl();\r\n serviceCount = new FormControl('1');\r\n pos = new FormControl(false);\r\n maeloolin = new FormControl(false);\r\n darEkhtiar = new FormControl(false);\r\n amanati = new FormControl(false);\r\n khadamat = new FormControl(false);\r\n maledriver = new FormControl(true);\r\n femaledriver = new FormControl(true);\r\n\r\n reserveMode = new FormControl(false);\r\n\r\n ngOnInit() {\r\n this.fillBaseInfo();\r\n this.loadStation();\r\n this.loadSavedPlace(-1);\r\n this.passangerFormGroup = new FormGroup({\r\n telIDCaller: this.telIDCaller,\r\n passangerFullName: this.passangerFullName,\r\n originAC: this.originAC,\r\n stationCode: this.stationCode,\r\n destAC: this.destAC,\r\n passangerMobile: this.passangerMobile,\r\n passangerComment: this.passangerComment,\r\n serviceRequestComment: this.serviceRequestComment,\r\n price: this.price,\r\n serviceCount: this.serviceCount,\r\n pos: this.pos,\r\n maeloolin: this.maeloolin,\r\n darEkhtiar: this.darEkhtiar,\r\n amanati: this.amanati,\r\n khadamat: this.khadamat,\r\n maledriver: this.maledriver,\r\n femaledriver: this.femaledriver,\r\n reserveMode: this.reserveMode,\r\n typePardakht: this.typePardakht,\r\n typeService: this.typeService,\r\n moarefID: this.moarefID,\r\n });\r\n this.gpsTest();\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n if (params['telID']) {\r\n this.passangerFormGroup.patchValue({ telIDCaller: params['telID'] });\r\n this.getIDCaller();\r\n }\r\n this.mode = 'insert';\r\n this.currentIDForUpdate = -1;\r\n\r\n this.loadOperatorInfo(this.operatorguid).subscribe(res => {\r\n const mode = params['valp'];\r\n //console.log('mode' + mode);\r\n if (mode) {\r\n // ازین پارامتر برای زمانی که طرف میاد فرم رو برای ویرایش باز می کنه استفاده مییشه\r\n // توی فرم بی سیم چک کنی ازونجا مقدار میگیره\r\n this.BackMode = 'manage';\r\n //this.getCall();\r\n this.gotoupdate(mode);\r\n }\r\n\r\n });\r\n\r\n\r\n });\r\n\r\n //this.originLatLng = new LatLng(36.297182, 59.604767);\r\n //this.originOptions = this.originAC.valueChanges.pipe(\r\n // // startWith(''),\r\n // debounceTime(500),\r\n // distinctUntilChanged(),\r\n // switchMap(_val => this._getPlaces(_val))\r\n //);\r\n //this.destinationOptions = this.destAC.valueChanges.pipe(\r\n // // startWith(''),\r\n // debounceTime(500),\r\n // distinctUntilChanged(),\r\n // switchMap(_val => this._getPlaces(_val))\r\n //);\r\n this.stationCode.valueChanges.subscribe(val => {\r\n this.loadStationList(val);\r\n this.loadStationStatics(val);\r\n }\r\n );\r\n\r\n this._initMap();\r\n //this.map.setView(36.329616, 59.56543);\r\n //this.socketService.startSocket2();\r\n\r\n this.passangerFormGroup.get('originAC')?.valueChanges.subscribe((value: string) => {\r\n // با تایپ یه حرف توی مبدا و مقصد بایستی فیلتر بشه لیست مناطق ذخیره شده\r\n if (!value)\r\n this.selectedOrigins_Filter = JSON.parse(JSON.stringify(this.selectedOrigins.slice(0, 5)));\r\n else {\r\n this.selectedOrigins_Filter = [];\r\n var count = 0;\r\n this.selectedOrigins.forEach((data) => {\r\n if (data.includes(value)) {\r\n if (this.selectedOrigins_Filter.length < 5)\r\n this.selectedOrigins_Filter.push(data);\r\n\r\n }\r\n })\r\n }\r\n\r\n });\r\n this.passangerFormGroup.get('destAC').valueChanges.subscribe((value: string) => {\r\n // مثه بالایی\r\n if (!value) {\r\n this.selectedDestination_Filter = JSON.parse(JSON.stringify(this.selectedOrigins.slice(0, 5)));\r\n }\r\n else {\r\n this.selectedDestination_Filter = [];\r\n this.selectedOrigins.forEach((data) => {\r\n if (this.selectedOrigins_Filter.length < 5) {\r\n if (data.includes(value))\r\n this.selectedDestination_Filter.push(data);\r\n }\r\n })\r\n }\r\n });\r\n\r\n\r\n }\r\n stationChanged(e) {\r\n console.log('selectedStation is ' + e.target.value)\r\n this.loadStationList(e.target.value);\r\n this.loadStationStatics(e.target.value);\r\n }\r\n ngAfterViewInit() {\r\n }\r\n\r\n lstTypePardakht: Partial[];\r\n lstTypeService: Partial[];\r\n lstMoaref: IOperator[];\r\n fillBaseInfo() {\r\n this.baseIService.getList(BaseInfoEnum.TypePardakht).subscribe(_res => {\r\n this.lstTypePardakht = _res;\r\n console.log(_res);\r\n\r\n });\r\n this.baseIService.getList(BaseInfoEnum.TypeService).subscribe(_res => {\r\n this.lstTypeService = _res;\r\n\r\n });\r\n\r\n this.operatorService.getAllMoaref().subscribe(_res => {\r\n this.lstMoaref = _res;\r\n console.log(_res);\r\n });\r\n console.log('base info ');\r\n\r\n\r\n }\r\n //reservedUntilMinute : new FormControl(),\r\n\r\n stationCapacity = '';\r\n passangerReservedCount = '';\r\n lockDriver = '';\r\n\r\n\r\n originMarker: Marker;\r\n destMarker: Marker;\r\n originOptions: Observable;\r\n destinationOptions: Observable;\r\n\r\n selectedOrigins: string[] = [];\r\n\r\n //این دو تا که تهش فیلتر داره برای لیست مبدا و مقصد ها هست - بعد از وارد کردن بخشی از حرف باید فیلتر بشه\r\n selectedDestination_Filter: string[] = [];\r\n selectedOrigins_Filter: string[] = [];\r\n\r\n\r\n value = 0;\r\n //این مارکر ها هم اضافه است. یکی مال مبدا بوده یکی مال مقصد الان دیگه نقشه ای نیست و مبدا و مقصد هم نیس\r\n originMarkerIcon: Icon = icon({\r\n iconSize: [40, 60],\r\n iconAnchor: [20, 60],\r\n iconUrl: 'assets/marker-origin.png',\r\n shadowUrl: 'assets/marker-shadow.png'\r\n });\r\n\r\n destMarkerIcon: Icon = icon({\r\n iconSize: [40, 60],\r\n iconAnchor: [20, 60],\r\n iconUrl: 'assets/marker-dest.png',\r\n shadowUrl: 'assets/marker-shadow.png'\r\n });\r\n\r\n operatorguid: string;\r\n carClasses: any = [];\r\n reserveSelectableDate: boolean = false;\r\n savedPlaceItems: any = [];\r\n passengerId: string = '';\r\n reserveModal = {\r\n visible: false,\r\n data: null,\r\n }\r\n nearbyStationsModal = {\r\n visible: false,\r\n stationId: '',\r\n data: [],\r\n }\r\n waitingPassengers: any = '0';\r\n capacityCounts: any = '0';\r\n carInStationCounts: any = '0';\r\n\r\n\r\n\r\n nearbyStationsModalClick() {\r\n //this.http.get(`station/getDetails/${this.formGroup.get('station')?.value}`).subscribe((result: any) => {\r\n // if (result.length < 1) {\r\n // Swal.fire({\r\n // icon: 'warning',\r\n // text: 'هیچ ایستگاه فعالی در محدوۀ فوق یافت نشد!',\r\n // confirmButtonText: 'تأیید'\r\n // });\r\n // return;\r\n // }\r\n // this.nearbyStationsModal.data = result;\r\n // this.nearbyStationsModal.visible = true;\r\n //}, error => {\r\n //});\r\n }\r\n\r\n\r\n\r\n // بار گزاری کردن آدرس های ذخیره شده کاربر\r\n loadSavedPlace(passangerID: any) {\r\n\r\n this.placeService.getSavedPlace(passangerID).subscribe(res => {\r\n if (res) {\r\n this.selectedOrigins = res;\r\n this.selectedDestination_Filter = JSON.parse(JSON.stringify(res.slice(0, 5)));\r\n this.selectedOrigins_Filter = JSON.parse(JSON.stringify(res.slice(0, 5)));\r\n }\r\n else {\r\n this.selectedOrigins = null;\r\n this.selectedDestination_Filter = null;\r\n this.selectedOrigins_Filter = null;\r\n }\r\n\r\n\r\n });\r\n }\r\n // وقتی از بین گزینه های مبدا ئو مقضصد انتخابی روی یکی کلیک می کنه این صدا زده می شه - برای مبدا\r\n gotoPlace(p: any) {\r\n this.setOrigin(0, 0, p);\r\n }\r\n // مثه بالایی برای مقصد\r\n gotoPlacedest(p: any) {\r\n this.setDestination(0, 0, p);\r\n }\r\n\r\n\r\n // بعد از لاگین اپراتور کدش رو میگیره و اطلاعاتش رو لود می کنه\r\n loadOperatorInfo(guidCode: any): Observable {\r\n return new Observable((observer) => {\r\n console.log('loadOperatorInfo');\r\n this.callCenterService.getOperatorInfo(guidCode).subscribe(res => {\r\n if (res) {\r\n this.operatorInfo = res;\r\n observer.next(res);\r\n } else {\r\n\r\n this.router.navigate(['login'], { queryParams: {} });\r\n }\r\n });\r\n });\r\n }\r\n stationMarker: any;\r\n driverMarker: Marker[] = [];\r\n\r\n\r\n loadStationList(stationID: any) {\r\n if (stationID) {\r\n // قبلا این شکلی بود که یه ایستگاه کهوارد می شد لیست ایستگاه های همجوارش رو نشون میداد این 99 درصد الان کلا استفاده نمیشه\r\n this.stationSerivce.getNeighbors(stationID).subscribe(_res => {\r\n this.stationready = _res;\r\n\r\n //console.log('stationready');\r\n //console.log(this.stationready);\r\n });\r\n // با انتخاب شدن یه ایستگاه ما لیست کسانی که توی صف هستند رو زیرش نشون میدیم این اگر صدا زده میشه که لازمه\r\n this.stationSerivce.getStationQueue(stationID).subscribe(_res => {\r\n\r\n this.driverStation = _res;\r\n this.selectedDriverIndex = 0;\r\n if (this.driverStation) {\r\n this.driverStation.forEach((data) => {\r\n data.safeAvatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + data.avatar);\r\n })\r\n\r\n this.loadDriverByIndex();\r\n }\r\n });\r\n // نمیش جزییات یه ایستگاه بعد از انتخاب آن\r\n this.stationSerivce.getStation(stationID).subscribe(_res => {\r\n this.currentStation = _res;\r\n\r\n //console.log('currentStation');\r\n //console.log(this.currentStation);\r\n if (_res) {\r\n this.stationCapacity = this.currentStation.capacity.toString();\r\n this.passangerReservedCount = this.currentStation.reservedCount.toString();\r\n\r\n\r\n this.driverMarker = [];\r\n this.stationSerivce.getStationQueue(_res.id).subscribe(_res => {\r\n let queuelist = _res;\r\n //console.log(queuelist);\r\n\r\n\r\n });\r\n\r\n }\r\n else {\r\n this.matSnackbar.open('ایستگاه وارد شده صحیح نمی باشد', null, { duration: 250 });\r\n }\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n }\r\n resetStationDetail() {\r\n this.driverStation = null;\r\n this.selectedDriverIndex = -1;\r\n this.selectDriver(null);\r\n this.stationready = null;\r\n this.currentStation = null;\r\n this.stationCapacity = '';\r\n this.passangerReservedCount = '';\r\n }\r\n currentStation = new Station();\r\n typesOfShoes: string[] = ['Boots', 'Clogs', 'Loafers', 'Moccasins', 'Sneakers'];\r\n BackMode = '';\r\n loadStationStatics(stationID: any) {\r\n\r\n }\r\n\r\n loadPassangerReport(passangerID: number) {\r\n this.currentServiceService.report(passangerID).subscribe(res => {\r\n\r\n this.logs = res;\r\n });\r\n }\r\n CurrentReserved: ResevedService = null;\r\n // زمانی که مسافر دوباره تماس میگیره اگر سفر رزرو شده ای داشته باشه باید بهش هشدار بدیم\r\n // چون ممکنه قبلا رزرو کرده باشه بعد دوباره تماس میگیره اپراتور نفهمه و دوباره ثبت کنه وتکراری بشه\r\n // این تابع چک می کنه اگر سفر رزرو شده ای داره هشدار بده\r\n checkLastReserved(passangerID: any) {\r\n this.requestService.getCurrentReserved(passangerID).subscribe(res => {\r\n //console.log('reserved service is');\r\n //console.log(res);\r\n if (res) {\r\n this.CurrentReserved = res;\r\n } else\r\n this.CurrentReserved = null;\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n // زمانی که تماس گرفته میشه و اپراتور وصل میشه در صورتی که قبلا سفر یا درخواست بازی داشته باشه هنوز ، یعنی سفری که هنوز راننده نگرفته یا تمام نشده\r\n // یا نیم ساعت ازش نگذشته همون ابتدا به اپراتور پیام داده میشه و بهش هشدار داده میشه\r\n checkLastService(passangerID: any) {\r\n this.requestService.getLastRequest(passangerID).subscribe(res => {\r\n if (res) {\r\n\r\n\r\n const confirmRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مایل به ویرایش سفر اخیر می باشید؟',\r\n buttonText: {\r\n ok: '(1) بله',\r\n cancel: '(2) خیر ثبت سفر جدید',\r\n extraButtonText: '(3) ثبت پیگیری'\r\n }\r\n }\r\n });\r\n\r\n confirmRef.afterClosed().subscribe((_confirmed: any) => {\r\n if (_confirmed === 'OK') {\r\n this.gotoupdate(res.id);\r\n }\r\n else if (_confirmed === 'btn3') {\r\n this.peygiri(res.id);\r\n\r\n }\r\n else {\r\n this.CurrentReserved = null;\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n // بعد از انتخاب آخرین تماس و برای لود شدن اطالعات مسافر\r\n loadPassangerInfo(passangerInfo: Passanger) {\r\n //console.warn(passangerInfo);\r\n\r\n this.checkLastService(passangerInfo.id);\r\n this.checkLastReserved(passangerInfo.id);\r\n\r\n this.loadPassangerReport(passangerInfo.id);\r\n\r\n //this.callFormGroup.patchValue(passangerInfo);\r\n\r\n //this.callFormGroup.disable();\r\n this.loadSavedPlace(passangerInfo.id);\r\n this.passangerFormGroup.patchValue({ passangerFullName: passangerInfo.fName });\r\n if (passangerInfo.mobile && passangerInfo.mobile.length > 9 && !passangerInfo.mobile.startsWith('051') && !passangerInfo.mobile.startsWith('51')) {\r\n this.passangerFormGroup.patchValue({ passangerMobile: passangerInfo.mobile });\r\n\r\n }\r\n this.passangerFormGroup.patchValue({ passangerComment: passangerInfo.fixedComment });\r\n this.lockDriver = passangerInfo.lockDriver;\r\n //console.warn(passangerInfo.serviceCount);\r\n this.passangerServiceCount = passangerInfo.serviceCount;\r\n\r\n }\r\n selectedCars: any;\r\n CarList = [{ value: '3', name: 'سمند' }, { name: 'پژو', value: 2 }, { value: '4', name: 'آریو' }, { name: 'برلیانس', value: 1 }, { value: '5', name: 'ون' }];\r\n\r\n // خواندن آخرین شماره تماس گیرنده از آی دی کالر\r\n getIDCaller() {\r\n console.log('getIDCaller')\r\n this.passangerFormGroup.patchValue({ passangerMobile: '' });\r\n this.fillCall(this.passangerFormGroup.get('telIDCaller').value);\r\n }\r\n //شماره مشخص شده و می باید اطلاعات کاربر از روی شماره پر بشه - ممکنه شماره دستی وارد بشه یا با زدن آخرین تماس از ای دی کالر گرفته بشه\r\n fillCall(mobile: any) {\r\n this.mode = 'insert';\r\n this.currentIDForUpdate = -1;\r\n this.callCenterService.getCallerInfoByMobile(mobile).subscribe(_res => {\r\n this.fillPassangerInfoFromModel(_res);\r\n\r\n });\r\n }\r\n getCallClick() {\r\n console.log('getCallClick')\r\n this._reset();\r\n //console.log('getCallClick');\r\n this.getCall();\r\n }\r\n passangerServiceCount = 0\r\n\r\n fillPassangerInfoFromModel(_res: LastCallInfo) {\r\n\r\n if (_res) {\r\n //console.warn('استعلام تماس خروجی :');\r\n //console.warn(_res);\r\n this.callInfo = _res;\r\n if (this.callInfo.callInfo) {\r\n try {\r\n this.passangerFormGroup.patchValue({ telIDCaller: _res.callInfo.tel });\r\n //debugger\r\n if (_res.callInfo.tel.length > 9 && !_res.callInfo.tel.startsWith('051') && !_res.callInfo.tel.startsWith('51')) {\r\n this.passangerFormGroup.patchValue({ passangerMobile: _res.callInfo.tel });\r\n }\r\n else {\r\n\r\n var passMobile = _res.passangerInfo ? _res.passangerInfo.mobile : '';\r\n if (passMobile.length >= 9 && !passMobile.startsWith('051') && !passMobile.startsWith('51')\r\n )\r\n this.passangerFormGroup.patchValue({ passangerMobile: passMobile });\r\n }\r\n this.passangerServiceCount = _res.passangerInfo.serviceCount;\r\n let mobilesString = _res.passangerInfo.mobiles;\r\n if (mobilesString) {\r\n let mobilesList = mobilesString?.split('-');\r\n let mobilesListFiltered = mobilesList.filter(function (el) {\r\n return el != null && el.trim()?.length == 11;\r\n });\r\n\r\n this.passangerMobiles = mobilesListFiltered;\r\n }\r\n\r\n this.callFormInsertMode = !_res.passangerInfo;\r\n if (!this.callFormInsertMode && this.BackMode != 'manage') {\r\n this.loadPassangerInfo(_res.passangerInfo);\r\n }\r\n }\r\n catch (e) {\r\n\r\n }\r\n\r\n\r\n }\r\n else {\r\n this.matSnackbar.open('در حال حاضر شما تماسی ندارید.', null, { duration: 3000 });\r\n this.callInfo = new LastCallInfo();\r\n this.callInfo.callInfo = new CallLog();\r\n this.callInfo.passangerInfo = new Passanger();\r\n\r\n }\r\n }\r\n\r\n\r\n }\r\n getCall() {\r\n this.callCenterService.getCurrentCallInfo(this.operatorInfo.id).subscribe(_res => {\r\n this.fillPassangerInfoFromModel(_res)\r\n\r\n\r\n });\r\n }\r\n\r\n submitCallForm() {\r\n\r\n }\r\n\r\n //displayFn(_searchResult: searchResult): string {\r\n // return _searchResult && `${_searchResult.title} - ${_searchResult.address}`;\r\n //}\r\n\r\n originLatLng: LatLng;\r\n destLatLng: LatLng;\r\n // دیگه استفاده نمیشه 99 درصد\r\n setDestination(x: any, y: any, title: any) {\r\n this.passangerFormGroup.patchValue({ destAC: title });\r\n this.destLatLng = new LatLng(x, y);\r\n\r\n //if (this.destMarker) {\r\n // this.destMarker.setLatLng(this.destLatLng);\r\n // this.map.setView(this.destLatLng.lat, this.destLatLng.lng);\r\n //} else {\r\n // this.destMarker = this.map.addMarker(this.destLatLng.lat, this.destLatLng.lng, MarkerType.destination, '', true);\r\n // this.map.setView(this.destLatLng.lat, this.destLatLng.lng);\r\n //}\r\n\r\n }\r\n\r\n setOrigin(lat: any, lng: any, title: any) {\r\n this.passangerFormGroup.patchValue({ originAC: title });\r\n this.originLatLng = new LatLng(lat, lng);\r\n //////console.log('originLatLng : ');\r\n //console.log(this.originLatLng);\r\n\r\n\r\n //if (this.originMarker) {\r\n // //console.log('this.originMarker is not null ');\r\n // this.originMarker.setLatLng(this.originLatLng);\r\n // //console.log('then set view');\r\n // this.map.setView(lat, lng);\r\n //} else {\r\n // //console.log('else this.originMarker is null ');\r\n // this.originMarker = this.map.addMarker(this.originLatLng.lat, this.originLatLng.lng, MarkerType.origin, '', true);\r\n // //console.log('else set view');\r\n // this.map.setView(lat, lng);\r\n //}\r\n }\r\n\r\n optionSelected(ev: any) {\r\n //console.log(ev);\r\n const result: searchResult = ev.option.value;\r\n this.setOrigin(result.y, result.x, result.title);\r\n this.renderer2.selectRootElement('#passangerComment').focus();\r\n }\r\n\r\n optionSelecteddest(ev: any) {\r\n //console.log(ev);\r\n const result: searchResult = ev.option.value;\r\n this.setDestination(result.y, result.x, result.title);\r\n this.renderer2.selectRootElement('#selectedCars').focus();\r\n\r\n }\r\n\r\n private _getPlaces(value: string): Observable {\r\n ////console.log(value);\r\n return this.taxiService.searchMap(value, this.originLatLng.lat, this.originLatLng.lng);\r\n }\r\n\r\n private _getPlacesdes(value: string): Observable {\r\n ////console.log(value);\r\n return this.taxiService.searchMap(value, this.destLatLng.lat, this.destLatLng.lng);\r\n }\r\n\r\n private _initMap(): void {\r\n //this.map = new TaximapComponent();\r\n //this.map = LeafletMap('map', {\r\n // crs: CRS.EPSG4326\r\n //});\r\n\r\n //tileLayer('https://bpms.mashhad.ir/favageoserver/gwc/service/tms/1.0.0/osm%3Aosm@EPSG:4326@png/{z}/{x}/{y}.png', {\r\n // tms: true,\r\n //}).addTo(this.map);\r\n\r\n //this.map.setView([36.329616, 59.56543], 12);\r\n\r\n // add marker on click\r\n // this.map.on('click', (ev: LeafletMouseEvent) => {\r\n // //console.log(ev);\r\n // marker(ev.latlng, {\r\n // icon: this.markerIcon\r\n // }).addTo(this.map);\r\n // });\r\n }\r\n\r\n\r\n\r\n currentIDForUpdate = -1;\r\n\r\n //این تابع وظیفه اعتبار سنجی قبل از ذخیره رو داره\r\n isValid(): boolean {\r\n if (!this.currentStation || !this.currentStation.id || this.currentStation.id <= 0) {\r\n this.matSnackbar.open('ایستگاه وارد شده صحیح نمی باشد', null, { duration: 3000, panelClass: ['top-snackbar'] });\r\n return false;\r\n }\r\n\r\n if (!this.passangerFormGroup.get('originAC').value) {\r\n this.matSnackbar.open('مبدا وارد نشده است', null, { duration: 3000 });\r\n return false;\r\n }\r\n if (!this.passangerFormGroup.get('stationCode')?.value) {\r\n this.matSnackbar.open('کد ایستگاه صحیح نیست', null, { duration: 3000 });\r\n return false;\r\n }\r\n if (!this.passangerFormGroup.get('passangerFullName')?.value) {\r\n this.matSnackbar.open('نام مسافر وارد نشده است', null, { duration: 3000 });\r\n return false;\r\n }\r\n\r\n if (!this.passangerFormGroup.get('telIDCaller')?.value) {\r\n this.matSnackbar.open('استعلام تماس یا کلید ذره بین انتخاب نشده است', null, { duration: 3000 });\r\n return false;\r\n }\r\n\r\n var serviceCount: any = this.passangerFormGroup.get('serviceCount')?.value;\r\n if (serviceCount > 9) {\r\n this.matSnackbar.open('تعداد سرویس وارد شده صحیح نمی باشد', null, { duration: 3000 });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n date: Date = null;\r\n\r\n saveRequest(): Observable {\r\n\r\n\r\n\r\n console.log('saveRequest');\r\n\r\n if (!this.isValid()) {\r\n console.log('if (!this.isValid()) {');\r\n return null;\r\n }\r\n var result: Observable;\r\n var serviceCount: number = this.passangerFormGroup.get('serviceCount')?.value;\r\n\r\n\r\n\r\n\r\n let req = new ServiceRequest();\r\n if (this.mode == 'update')\r\n req.id = this.currentIDForUpdate;\r\n else\r\n req.id = 1;\r\n if (this.destLatLng) {\r\n req.destinationLat = this.destLatLng.lat;\r\n req.destinationLng = this.destLatLng.lng;\r\n }\r\n if (this.originLatLng) {\r\n req.originLat = this.originLatLng.lat;\r\n req.originLng = this.originLatLng.lng;\r\n }\r\n req.destinationAddr = this.passangerFormGroup.get('destAC')?.value;\r\n req.originAddr = this.passangerFormGroup.get('originAC')?.value;\r\n req.telIDCaller = this.callInfo.callInfo.tel;\r\n\r\n req.destination2Addr = '';\r\n req.destinationLat2 = 0;\r\n req.destinationLng2 = 0;\r\n req.amanati = this.passangerFormGroup.get('amanati')?.value;\r\n req.pos = this.passangerFormGroup.get('pos')?.value;\r\n req.maeloolin = this.passangerFormGroup.get('maeloolin')?.value;\r\n req.khadamat = this.passangerFormGroup.get('khadamat')?.value;\r\n req.darEkhtiar = this.passangerFormGroup.get('darEkhtiar')?.value;\r\n //console.log('darEkhtiar in save method' + req.darEkhtiar);\r\n req.fixedComment = this.passangerFormGroup.get('passangerComment')?.value;\r\n req.femaleDriver = this.passangerFormGroup.get('femaledriver')?.value;\r\n req.maleDriver = this.passangerFormGroup.get('maledriver')?.value;\r\n req.requestComment = this.passangerFormGroup.get('serviceRequestComment')?.value;\r\n req.price = this.passangerFormGroup.get('price')?.value;\r\n\r\n req.passangerFName = this.passangerFormGroup.get('passangerFullName')?.value;\r\n req.passangerMobile = this.passangerFormGroup.get('passangerMobile')?.value.trim();\r\n req.operatorID = this.operatorInfo.id;\r\n req.typePardakht = this.passangerFormGroup.get('typePardakht')?.value;\r\n req.typeService = this.passangerFormGroup.get('typeService')?.value;\r\n req.moarefID = this.passangerFormGroup.get('moarefID')?.value;\r\n req.price = this.passangerFormGroup.get('price')?.value;\r\n if (this.selectedCars)\r\n req.typeCars = this.selectedCars.value;\r\n else\r\n req.typeCars = '';\r\n //if (this.selectedDriver) {\r\n // req.driverCode = this.selectedDriver.driverCode;\r\n //}\r\n\r\n const passenger: Passanger = {\r\n id: this.callInfo && this.callInfo.passangerInfo && this.callInfo.passangerInfo.mobile == this.telIDCaller.value ? this.callInfo.passangerInfo.id : -1,\r\n fName: req.passangerFName,\r\n lName: req.passangerFName,\r\n mobile: this.passangerFormGroup.get('passangerMobile')?.value,\r\n nationalCode: '',\r\n gender: false,\r\n fixedComment: this.passangerFormGroup.get('passangerComment')?.value,\r\n lockDriver: '',\r\n serviceCount: 0,\r\n mobiles: ''\r\n };\r\n\r\n req.telIDCaller = this.passangerFormGroup.get('telIDCaller')?.value;\r\n //console.log(passenger);\r\n //console.warn(this.callInfo);\r\n //console.warn(passenger);\r\n\r\n return this.currentServiceService.saveService(req, passenger, +this.passangerFormGroup.get('stationCode')?.value, this.mode, serviceCount, this.transactionID, this.reserveSelectableDate, this.tarikhReserved.value?.toString(), this.timeRserved, req.price);\r\n }\r\n transactionID = ''\r\n private _reset(): void {\r\n this.transactionID = this.makeid(36);\r\n //console.log(this.transactionID);\r\n //this.nosave = false;\r\n this.mode = 'insert';\r\n /*\r\n * inja\r\n this.callFormGroup.reset();\r\n */\r\n this.callFormInsertMode = false;\r\n this.stationready = [];\r\n this.logs = [];\r\n this.isExpanded = false;\r\n this.passangerFormGroup.patchValue({ telIDCaller: '' });\r\n this.passangerFormGroup.patchValue({ stationCode: '0' });\r\n this.passangerFormGroup.patchValue({ originAC: '' });\r\n this.passangerFormGroup.patchValue({ destAC: '' });\r\n\r\n\r\n if (this.originMarker) {\r\n this.originMarker.remove();\r\n this.originMarker = null;\r\n }\r\n if (this.destMarker) {\r\n this.destMarker.remove();\r\n this.destMarker = null;\r\n }\r\n this.originOptions = null;\r\n this.destinationOptions = null;\r\n\r\n this.selectedOrigins = [];\r\n this.selectedDestination_Filter = [];\r\n this.selectedOrigins_Filter = [];\r\n this.passangerFormGroup.patchValue({ passangerComment: '' });\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: '' });\r\n this.passangerFormGroup.patchValue({ price: '' });\r\n this.passangerFormGroup.patchValue({ passangerFullName: '' });\r\n this.passangerFormGroup.patchValue({ passangerMobile: '' });\r\n\r\n\r\n this.lockDriver = '';\r\n this.passangerServiceCount = 0;\r\n this.passangerFormGroup.patchValue({ pos: false });\r\n this.passangerFormGroup.patchValue({ maeloolin: false });\r\n this.passangerFormGroup.patchValue({ darEkhtiar: false });\r\n this.passangerFormGroup.patchValue({ amanati: false });\r\n this.passangerFormGroup.patchValue({ khadamat: false });\r\n this.passangerFormGroup.patchValue({ maledriver: true });\r\n this.passangerFormGroup.patchValue({ femaledriver: true });\r\n this.passangerFormGroup.patchValue({ serviceCount: '1' });\r\n this.passangerFormGroup.patchValue({ reserveMode: false });\r\n\r\n\r\n\r\n this.resetStationDetail();\r\n //this.map.setView(36.329616, 59.56543);\r\n this.checkForBackToCaller(false);\r\n this.CurrentReserved = null;\r\n this.currentStation = new Station();\r\n //console.log(this.pos);\r\n }\r\n // با زدن بعضی تیک ها مثه دراختیار و اینا باید به کامنت اضافه یا کم بشن این تابع ها برای اون کاره\r\n addTerm(mainvalue: any, addvalue: any) {\r\n if (!mainvalue)\r\n return addvalue;\r\n else {\r\n if (!mainvalue.includes(addvalue))\r\n return mainvalue + ' ' + addvalue;\r\n else\r\n return mainvalue;\r\n }\r\n }\r\n subTerm(mainvalue: any, addvalue: any) {\r\n if (mainvalue)\r\n return mainvalue.replace(addvalue, '');\r\n else\r\n return '';\r\n }\r\n\r\n // مرتبط با دو تا تابع بالا\r\n // با انتخاب گزینه ها و تیک های دراختیار و ... می بایست توی توضیحات سفر نیز متن مرتبط اضافه یا کم بشه\r\n valueChange(changedItem: any, $event: any) {\r\n //console.log('dar ekhtiar before ' + this.darEkhtiar);\r\n if (changedItem == 'pos') {\r\n this.pos = $event.checked;\r\n if (this.pos) {\r\n\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' کارتخوان ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' کارتخوان ') });\r\n\r\n }\r\n }\r\n else if (changedItem == 'maeloolin') {\r\n this.maeloolin = $event.checked;\r\n if (this.maeloolin) {\r\n\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' معلولین ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' معلولین ') });\r\n\r\n }\r\n }\r\n else if (changedItem == 'darEkhtiar') {\r\n this.darEkhtiar = $event.checked;\r\n if (this.darEkhtiar) {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' در اختیار ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' در اختیار ') });\r\n }\r\n }\r\n else if (changedItem == 'amanati') {\r\n this.amanati = $event.checked;\r\n if (this.amanati) {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' امانتی ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' امانتی ') });\r\n\r\n }\r\n }\r\n else if (changedItem == 'femaledriver') {\r\n this.femaledriver = $event.checked;\r\n }\r\n else if (changedItem == 'maledriver') {\r\n {\r\n this.maledriver = $event.checked;\r\n }\r\n\r\n }\r\n else if (changedItem == 'khadamat') {\r\n this.khadamat = $event.checked;\r\n if (this.khadamat) {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' خدمات ') });\r\n }\r\n else {\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' خدمات ') });\r\n\r\n }\r\n\r\n }\r\n //console.log('dar ekhtiar after ' + this.darEkhtiar);\r\n }\r\n\r\n //valueChange(changedItem, $event) {\r\n\r\n // changedItem= $event.checked;\r\n //}\r\n dialogCreatedServiceRef: MatDialogRef;\r\n private showCreatedService(info: SaveServiceResult) {\r\n //console.warn(info.serviceGUID);\r\n\r\n this.dialogCreatedServiceRef = this.dialog.open(ShowcreatedserviceComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n info: info\r\n }\r\n });\r\n }\r\n lstStation: Station[] = [];\r\n loadStation() {\r\n this.stationSerivce.getAllStationList().subscribe(_res => {\r\n console.log('station list');\r\n console.log(this.lstStation);\r\n this.lstStation = _res;\r\n //_res.forEach(station => {\r\n // this.map.addStationMarker(station);\r\n\r\n //});\r\n });\r\n }\r\n private setStationItemResult(stationID: any, result: saveservicresultType) {\r\n this.stationready.forEach(async function (station) {\r\n if (station.id == stationID) {\r\n station.serviceResult = result;\r\n }\r\n })\r\n }\r\n testClick() {\r\n console.log('click');\r\n\r\n }\r\n //nosave = false;\r\n saveRequestForQueue(): void {\r\n\r\n\r\n\r\n\r\n\r\n console.log('saveRequestForQueue');\r\n\r\n\r\n\r\n //if (this.nosave) {\r\n\r\n // this.matSnackbar.open('ثبت تکراری', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\" });\r\n // setTimeout(() => { this.nosave=false }, 25000);\r\n // return;\r\n //}\r\n\r\n if (!this.isValid())\r\n return;\r\n if (this.date) {\r\n var diffMs = this.date.getTime() - new Date().getTime();\r\n var diff = Math.abs(diffMs) < 6000\r\n //console.log('diff')\r\n //console.log(diffMs)\r\n //console.log(diff)\r\n\r\n if (diff) {\r\n //console.log('duplicate')\r\n\r\n return;\r\n }\r\n }\r\n this.date = new Date();\r\n const confirmRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'در حال ثبت',\r\n buttonText: {\r\n ok: '(1) متوجه شدم',\r\n cancel: ' '\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n //this.nosave = true;\r\n this.saveRequest().subscribe(res => {\r\n if (!res) {\r\n // چون هر کار می کردیم باز هم این اپراتور ها یه جوری کلیک می کردن پشت سر هم که فرم تکراری ثبت می شد\r\n // سمت سرور هم یه شرط هایی گذاشتیم و ممکنه ذخیره به علت تکراری بودن انجام نشه\r\n confirmRef.close('CancelRequest');\r\n const dupRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'فرم تکراری است - در فرم بی سیم چک شود',\r\n buttonText: {\r\n ok: '(1) متوجه شدم',\r\n cancel: ' '\r\n }\r\n }\r\n });\r\n return;\r\n }\r\n confirmRef.close('CancelRequest');\r\n\r\n\r\n\r\n //this.nosave = false; \r\n //console.warn(res);\r\n this.notifAlert.setParam('savenew');\r\n //if (this.mode == 'update') {\r\n // this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n //}\r\n //else {\r\n // this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n //}\r\n\r\n\r\n //if (this.tarikhReserved) {\r\n // this.currentServiceService.reservedService(res.requestID, this.passangerFormGroup.get('stationCode')?.value, this.tarikhReserved, this.timeRserved).subscribe(reservedres => {\r\n // //console.log(reservedres)\r\n // if (reservedres > 0) {\r\n // this.matSnackbar.open('درخواست رزرو شما با موفقیت ثبت گردید', null, { duration: 3000 });\r\n // this._reset();\r\n // }\r\n // });\r\n //}\r\n\r\n\r\n // این حالت هایی که در ادامه امده اینا برداشته شده و دیگه نیازی نیست \r\n // چون بهمحض اینکه فرم ثبت میشه فرم بسته باید بشه و بره برای ثبت بعدی = قبلا در حالت انتظار می موند مثه نسخه مسافر اسنپ\r\n if (res.result == saveservicresultType.driverFound) {\r\n //console.warn('saveservicresultType.driverFound');\r\n this.matSnackbar.open('راننده پیدا شده و به سفر اختصاص داده شد', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n this.showCreatedService(res);\r\n }\r\n else if (res.result == saveservicresultType.driverNotFound) {\r\n this.matSnackbar.open('متاسفانه راننده ای یافت نشد', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.inSearchingDriver) {\r\n const confirmRef = this.dialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'با موفقیت ثبت شد',\r\n buttonText: {\r\n ok: '(1) متوجه شدم',\r\n cancel: ' '\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n this.matSnackbar.open('در حال پذیرش از سوی راننده', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.update_lastServiceIsCancel) {\r\n this.matSnackbar.open('سرویس قبلی کنسل شده و سرویس جدید ثبت گردید', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.update_NoChange) {\r\n this.matSnackbar.open('تغییرات اعمال گردید', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n else if (res.result == saveservicresultType.update_SentAlarmForDriver) {\r\n this.matSnackbar.open('تغییرات اعمال گردیده و در انتظار تایید راننده می باشد', null, { duration: 3000, verticalPosition: 'top', horizontalPosition: \"center\", panelClass: ['blue-snackbar'] });\r\n }\r\n //console.warn('station:' + station + ' -> res.result' + res.result)\r\n //this.setStationItemResult(station.id, res.result);\r\n\r\n this.checkForBackToCaller(true);\r\n },\r\n (err) => {\r\n confirmRef.close('CancelRequest');\r\n //console.log(err)\r\n }\r\n );\r\n\r\n }\r\n // وقتی از فرم بی سیم یا جای دیگه فرم رو باز می کنی برای ویرایش بعد از ذخیره باید برگردی به همون آدرس . این تابع همین رو چک می کنه\r\n checkForBackToCaller(resetElse: any) {\r\n if (this.BackMode == 'manage') {\r\n this.router.navigate(['cc/manage'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (resetElse)\r\n this._reset();\r\n\r\n\r\n }\r\n\r\n\r\n dialogmsgBoxRef: MatDialogRef;\r\n //گزینه ارسال مجدد - این گزینه برای وقتیه که شما یه درخواست زدی ویه نتجیه ای داشته اما می خای دوباره بره تو فرآیند ارسال و دوباره ارسال بشه\r\n resend(trip: any) {\r\n //console.log('resend')\r\n //console.log(trip)\r\n this.currentServiceService.ReProposedRequest(trip.requestID).subscribe(res => {\r\n //this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n this.matSnackbar.open('فرم دوباره ثبت گردید', null, { duration: 3000 });\r\n //console.log(res);\r\n });\r\n\r\n\r\n\r\n\r\n }\r\n\r\n cancelTrip(requestID: any, trip: any) {\r\n\r\n this.dialogmsgBoxRef = this.dialog.open(MessageboxComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n msgText: 'آیا از کنسل کردن سفر اطمینان دارید؟',\r\n msgTitle: 'انصراف'\r\n }\r\n });\r\n this.dialogmsgBoxRef.afterClosed().subscribe((result: any) => {\r\n if (result == 'ok') {\r\n this.currentServiceService.cancelServiceByRequest(requestID).subscribe(res => {\r\n\r\n });\r\n if (trip)\r\n trip.serviceStateName = 'کنسل شده';\r\n\r\n }\r\n this.checkForBackToCaller(true);\r\n });\r\n\r\n //console.warn(trip);\r\n }\r\n peygiri(requestID: any) {\r\n this.requestService.peygiri(requestID).subscribe(res => {\r\n this.matSnackbar.open('پیام پیگیری برای راننده صادر گردید', null, { duration: 2000 });\r\n }\r\n );\r\n }\r\n selectDriver(drv: any) {\r\n //console.log(drv);\r\n this.selectedDriver = drv;\r\n //if (this.selectedDriver) {\r\n\r\n // this.firstdriverCode.setValue(this.selectedDriver.driverCode);\r\n // //this.firstdriverFullName.setValue(this.selectedDriver.fName);\r\n // this.firstdriverPelaque.setValue(this.selectedDriver.pelaque2 + this.selectedDriver.pelaqueLetter + this.selectedDriver.pelaque3 + '- ایران ' + this.selectedDriver.pelaqueIR);\r\n // this.posStatusControl.setValue(this.selectedDriver.pos);\r\n // if (this.selectedDriver.pos == true)\r\n // this.posStatusControl.setValue('دارد');\r\n // else\r\n // this.posStatusControl.setValue('ندارد');\r\n // this.personalMobile.setValue(this.selectedDriver.mobile);\r\n // this.workingmobilecontrol.setValue(this.selectedDriver.workingMobile);\r\n // this.TypeCarOfCurrentDriver.setValue(this.selectedDriver.carName + this.selectedDriver.colorName);\r\n\r\n //}\r\n //else {\r\n // this.firstdriverCode.setValue('');\r\n // //this.firstdriverFullName.setValue('');\r\n // this.firstdriverPelaque.setValue('');\r\n // this.posStatusControl.setValue('');\r\n // this.personalMobile.setValue('');\r\n // this.workingmobilecontrol.setValue('');\r\n // this.TypeCarOfCurrentDriver.setValue('');\r\n //}\r\n }\r\n loadDriverByIndex() {\r\n this.selectDriver(this.driverStation[this.selectedDriverIndex]);\r\n }\r\n selectedDriverIndex = 0;\r\n\r\n // مطابق متد پایینی\r\n nextDriver() {\r\n //console.log(this.driverStation.length);\r\n this.selectedDriverIndex = this.selectedDriverIndex + 1;\r\n if (this.selectedDriverIndex > this.driverStation.length)\r\n this.selectedDriverIndex = 0;\r\n this.loadDriverByIndex();\r\n }\r\n\r\n // لیست راننده های ایستگاه گزینه بعد و قبل داره این برای قبلیه\r\n predDriver() {\r\n //console.log(this.driverStation.length);\r\n this.selectedDriverIndex = this.selectedDriverIndex - 1;\r\n if (this.selectedDriverIndex < 0)\r\n this.selectedDriverIndex = 0;\r\n this.loadDriverByIndex();\r\n }\r\n\r\n handleShortCut(event: KeyboardEvent) {\r\n\r\n //console.log(' event key is :');\r\n\r\n //console.log(event);\r\n\r\n\r\n if ((event.which == 13 || event.keyCode == 13)) {\r\n //console.log('enter pressed');\r\n this.forwardNext(event.srcElement);\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F1') {\r\n this.getCall();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F2') {\r\n this.renderer2.selectRootElement('#txttellIDCaller').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'Escape') {\r\n //console.log('ESC');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F8') {\r\n //console.log('F8');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F5') {\r\n this.renderer2.selectRootElement('#passangerMobile').focus();\r\n event.preventDefault();\r\n }\r\n\r\n else if (event.key === 'F3') {\r\n this.renderer2.selectRootElement('#originAC').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F7') {\r\n this.renderer2.selectRootElement('#firstdriverCode').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F6') {\r\n this.renderer2.selectRootElement('#stationCode').focus();\r\n event.preventDefault();\r\n }\r\n\r\n else if (event.ctrlKey) { // ctrl\r\n\r\n\r\n\r\n if (event.key === '1') {\r\n //console.log('ctrl+1');\r\n event.preventDefault();\r\n }\r\n else if (event.key === '5') {\r\n //console.log('ctrl+5');\r\n event.preventDefault();\r\n }\r\n else if (event.key === '6') {\r\n //console.log('ctrl+6');\r\n event.preventDefault();\r\n }\r\n else if ((['h', 'H', 'ا'].indexOf(event.key) > -1)) {\r\n //console.log('ctrl+H');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'x') {\r\n //console.log('ctrl+X');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'q') {\r\n //console.log('ctrl+Q');\r\n event.preventDefault();\r\n }\r\n else if ((['e', 'E', 'ث'].indexOf(event.key) > -1)) {\r\n //console.log('ctrl+E');\r\n event.preventDefault();\r\n //this.saveRequestClickDebounce();\r\n\r\n\r\n }\r\n }\r\n else {\r\n //console.log(event);\r\n }\r\n }\r\n\r\n\r\n okdialogRef: MatDialogRef;\r\n\r\n showStationDetails() {\r\n this.dialogStationDetailRef = this.dialog.open(StationdetailComponent, {\r\n width: '1200px',\r\n hasBackdrop: true,\r\n data: {\r\n stationID: this.passangerFormGroup.get('stationCode')?.value\r\n },\r\n autoFocus: true,\r\n });\r\n\r\n //this.stationdet.loadData(this.passangerFormGroup.get('stationCode')?.value);\r\n //this.drawer.toggle()\r\n\r\n }\r\n gpsTest() {\r\n //console.log('gpstest');\r\n\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n //console.log(position);\r\n //console.log(`position in watch getCurrentPosition lat is ${position.coords.latitude} , longitude is ${position.coords.longitude}`);\r\n });\r\n navigator.geolocation.watchPosition((position) => {\r\n //console.log(`position in watch position lat is ${position.coords.latitude} , longitude is ${position.coords.longitude}`);\r\n });\r\n }\r\n\r\n onStationKeydown(event: any) {\r\n //زمانی که در تکست باکس کد ایتسگاه اسپیس می زته لیست جزییات ایستگاه نمایش داده میشه\r\n if (event.key === \" \") {\r\n event.preventDefault();\r\n if (this.passangerFormGroup.get('stationCode')?.value)\r\n this.showStationDetails();\r\n }\r\n //console.log('onStationKeydown');\r\n //console.log(event);\r\n }\r\n showStationDetailClick() {\r\n this.showStationMember();\r\n //if (this.passangerFormGroup.get('stationCode')?.value)\r\n // this.showStationDetails();\r\n\r\n }\r\n\r\n selectedhour = new FormControl('', [Validators.required, Validators.min(0), Validators.max(23)]);\r\n selectedminute = new FormControl('', [Validators.required, Validators.min(0), Validators.max(59)]);\r\n dateControl = new FormControl(new Date(), [Validators.required]);\r\n tarikhReserved = new FormControl(new Date(), []);\r\n\r\n timeRserved = '';\r\n\r\n\r\n\r\n\r\n // برای وقتی که اینتر می زنه میخاد بره کنترل بعدی استفاده شده\r\n forwardNext(element: any) {\r\n\r\n var nextControlDic: { [id: string]: string; } = {};\r\n nextControlDic[\"txttellIDCaller\"] = \"passangerFullName\";\r\n nextControlDic[\"passangerFullName\"] = \"passangerMobile\";\r\n nextControlDic[\"passangerMobile\"] = \"originAC\";\r\n nextControlDic[\"originAC\"] = \"passangerComment\";\r\n nextControlDic[\"passangerComment\"] = \"serviceRequestComment\";\r\n\r\n\r\n nextControlDic[\"serviceRequestComment\"] = \"price\";\r\n nextControlDic[\"price\"] = \"destAC\";\r\n nextControlDic[\"destAC\"] = \"selectedCars\";\r\n nextControlDic[\"selectedCars\"] = \"stationCode\";\r\n nextControlDic[\"stationCode\"] = \"firstdriverCode\";\r\n nextControlDic[\"firstdriverCode\"] = \"TypeCarOfCurrentDriver\";\r\n nextControlDic[\"TypeCarOfCurrentDriver\"] = \"workingmobilecontrol\";\r\n nextControlDic[\"workingmobilecontrol\"] = \"personalMobile\";\r\n nextControlDic[\"personalMobile\"] = \"posStatusControl\";\r\n nextControlDic[\"posStatusControl\"] = \"firstdriverPelaque\";\r\n nextControlDic[\"firstdriverPelaque\"] = \"serviceCount\";\r\n nextControlDic[\"serviceCount\"] = \"txttellIDCaller\";\r\n\r\n\r\n\r\n var related = nextControlDic[element.id];\r\n if (related) {\r\n //console.log('realted is ' + related)\r\n this.renderer2.selectRootElement('#' + related).focus();\r\n }\r\n else {\r\n //console.log('relates is null');\r\n this.renderer2.selectRootElement('#txttellIDCaller').focus();\r\n }\r\n }\r\n mode = '';\r\n makeid(length: any) {\r\n var result = '';\r\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n var charactersLength = characters.length;\r\n for (var i = 0; i < length; i++) {\r\n result += characters.charAt(Math.floor(Math.random() *\r\n charactersLength));\r\n }\r\n return result;\r\n }\r\n\r\n // یعنی این آی دی رو برای اپدیت باز کن\r\n gotoupdate(requestID: any) {\r\n\r\n\r\n //console.log(requestID);\r\n this.requestService.getRequestServiceByID(requestID).subscribe(res => {\r\n //console.log('getRequestServiceByID out');\r\n //console.log(res);\r\n this.mode = 'update';\r\n this.callInfo = new LastCallInfo();\r\n this.callInfo.callInfo = new CallLog();\r\n this.callInfo.passangerInfo = new Passanger();\r\n this.callInfo.callInfo.tel = res.telIDCaller;\r\n this.callInfo.callInfo.tel = res.passangerMobile;\r\n\r\n\r\n\r\n this.currentIDForUpdate = requestID;\r\n this.passangerFormGroup.patchValue({ passangerFullName: res.passangerFName });\r\n this.passangerFormGroup.patchValue({ telIDCaller: res.telIDCaller });\r\n this.passangerFormGroup.patchValue({ passangerMobile: res.passangerMobile });\r\n this.lockDriver = '';\r\n this.passangerServiceCount = (res.passangerServiceCount);\r\n this.passangerFormGroup.patchValue({ stationCode: res.selectedStationID.toString() });\r\n this.stationCapacity = '';\r\n this.passangerReservedCount = '';\r\n this.passangerFormGroup.patchValue({ originAC: res.originAddr });\r\n this.passangerFormGroup.patchValue({ destAC: res.destinationAddr });\r\n this.passangerFormGroup.patchValue({ passangerComment: res.fixedComment });\r\n this.passangerFormGroup.patchValue({ serviceRequestComment: res.requestComment });\r\n this.passangerFormGroup.patchValue({ price: res.price });\r\n this.passangerFormGroup.patchValue({ pos: res.pos });\r\n this.passangerFormGroup.patchValue({ maeloolin: res.maeloolin });\r\n this.passangerFormGroup.patchValue({ darEkhtiar: res.darEkhtiar });\r\n this.passangerFormGroup.patchValue({ amanati: res.amanati });\r\n this.passangerFormGroup.patchValue({ khadamat: res.khadamat });\r\n this.passangerFormGroup.patchValue({ maledriver: res.maleDriver });\r\n this.passangerFormGroup.patchValue({ femaledriver: res.femaleDriver });\r\n\r\n if (res.typeCars)\r\n this.selectedCars.setValue(res.typeCars.split(','));\r\n else\r\n this.selectedCars.setValue('');\r\n\r\n });\r\n\r\n\r\n\r\n }\r\n // ازین برای این استفاده شد که یارو مثه خر روی گزینه ذخیره کلیک می کرد پشت سر هم این میگه توی سیصد میلی ثانیه فقط یه بار فایر بشه\r\n debounce = (fn: Function, ms = 300) => {\r\n let timeoutId: ReturnType;\r\n return function (this: any, ...args: any[]) {\r\n clearTimeout(timeoutId);\r\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\r\n };\r\n };\r\n counter = 0;\r\n saverequestLog() {\r\n this.counter++\r\n this.saveRequestForQueue();\r\n }\r\n saveRequestClickDebounce = this.debounce(this.saverequestLog, 1000);\r\n\r\n resetForm() {\r\n this._reset();\r\n this.passangerFormGroup.patchValue({ telIDCaller: '' });\r\n\r\n }\r\n\r\n onReserveTimePickerModalClick() {\r\n this.reserveModal.visible = true;\r\n }\r\n showMap() {\r\n\r\n this.mapDialogRef = this.dialog.open(SetorigindesComponent, {\r\n hasBackdrop: true,\r\n width: '90%',\r\n data: {\r\n origin: this.passangerFormGroup.get('originAC')?.value,\r\n des: this.passangerFormGroup.get('destAC')?.value,\r\n originLoc: this.originLatLng,\r\n destLoc: this.destLatLng\r\n }\r\n\r\n });\r\n this.mapDialogRef.afterClosed().subscribe((result: any) => {\r\n console.log(result);\r\n this.originLatLng = result.originLoc;\r\n this.destLatLng = result.destLoc;\r\n if (!this.passangerFormGroup.get('originAC')?.value)\r\n this.passangerFormGroup.get('originAC')?.setValue(result.origin);\r\n if (!this.passangerFormGroup.get('destAC')?.value)\r\n this.passangerFormGroup.get('destAC')?.setValue(result.des);\r\n\r\n });\r\n\r\n }\r\n showPrice: boolean = true\r\n changeInputHelper(method, e) {\r\n if (method == 'typePardakht') {\r\n this.typePardakht.setValue(e.target.value);\r\n this.showPrice = e.target.value == '1020'\r\n console.log('this.showPrice ' + this.showPrice + 'e.target.value ' + e.target.value);\r\n\r\n }\r\n if (method == 'typeService') {\r\n this.typeService.setValue(e.target.value);\r\n debugger\r\n if (this.typeService.value == '1034') {\r\n if (this.stationCode.value != '100') {\r\n this.stationCode.setValue('100');\r\n this.matSnackbar.open('سرویس ون در ایستگاه آزاد ثبت خواهد شد', null, { duration: 3000 });\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n if (method == 'moarefID')\r\n this.moarefID.setValue(e.target.value);\r\n\r\n\r\n console.log(this.moarefID.value);\r\n console.log(this.typePardakht.value);\r\n console.log(this.typeService.value);\r\n\r\n }\r\n showStationMember() {\r\n //console.log('this.currentStation.id');\r\n //console.log(this.currentStation.id);\r\n this.stationSerivce.getStationQueue(this.currentStation.id).subscribe(_res => {\r\n\r\n\r\n let dialogStationMemberRef = this.dialog.open(StationMemberComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n stationID: this.currentStation.id,\r\n queue: _res\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Passanger } from '../../model/passanger';\r\nimport Swal from \"sweetalert2\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { PassangerserviceService } from '../../lib/serviceLib/passangerservice.service';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { GlobalVariable } from '../../globalVariable';\r\n\r\n@Component({\r\n selector: 'app-passangers',\r\n templateUrl: './passangers.component.html'\r\n})\r\nexport class PassangersComponent implements OnInit {\r\n @Input() visible: boolean = true;\r\n @Input() data: any = [];\r\n @Output() visibleChange = new EventEmitter();\r\n allPassangerList: Passanger[] = [];\r\n filteredList: Passanger[] = [];\r\n\r\n isLoading: boolean = false;\r\n detailsVisible: boolean = false;\r\n public result: any[] = [];\r\n\r\n recordCount = 0;\r\n pageSize = 30;\r\n\r\n\r\n\r\n constructor(\r\n private passangerServiceService: PassangerserviceService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n\r\n ) {\r\n }\r\n\r\n operatorguid: string;\r\n adminLevel: number = 1;\r\n passangerForm: FormGroup;\r\n\r\n ngOnInit(): void {\r\n this.adminLevel = GlobalVariable.adminLevel;\r\n this.allPassangerList = [];\r\n this.passangerForm = new FormGroup({\r\n fName: new FormControl(),\r\n lName: new FormControl(),\r\n mobile: new FormControl(),\r\n natinoalCode: new FormControl()\r\n });\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n\r\n\r\n });\r\n this.loadPassangerReport();\r\n }\r\n\r\n async submitFormAndSend() {\r\n\r\n this.allPassangerList = [];\r\n\r\n this.loadPassangerReport();\r\n }\r\n loadPassangerReport() {\r\n this.passangerServiceService.reportAllPassanger(this.passangerForm.get('fName')?.value, this.passangerForm.get('lName')?.value, this.passangerForm.get('mobile')?.value, this.passangerForm.get('natinoalCode')?.value).subscribe(res => {\r\n if (res.length > 0) {\r\n //console.log(res);\r\n this.allPassangerList = res;\r\n } else {\r\n this.allPassangerList = [];\r\n\r\n Swal.fire('یافت نشد', 'موردی جهت جستجو یافت نشد!');\r\n }\r\n });\r\n }\r\n\r\n\r\n editForm(id: any) {\r\n this.router.navigate(['cc/regPassanger'], { queryParams: { guid: this.operatorguid, valp: id } });\r\n\r\n }\r\n\r\n delete(id: any) {\r\n\r\n }\r\n\r\n\r\n resetForm() {\r\n this.passangerForm.reset();\r\n }\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output,AfterViewInit,ElementRef,ViewChild } from '@angular/core';\r\n\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { Observable } from 'rxjs';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport Swal from \"sweetalert2\";\r\nimport { ComplaintserviceService } from '../../lib/serviceLib/complaintservice.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-register-complaint',\r\n templateUrl: './register-complaint.component.html',\r\n})\r\nexport class RegisterComplaintComponent implements OnInit, AfterViewInit {\r\n @Input() visible: boolean = false;\r\n @Input() dataItem: any = {};\r\n @Output() visibleChange = new EventEmitter();\r\n @Output() onSendToServer = new EventEmitter();\r\n description = new FormControl();\r\n operatorguid: string;\r\n requestID: number;\r\n @ViewChild('android')\r\n public android: ElementRef;\r\n passangerFName: string;\r\n originAddr: string;\r\n destinationAddr: string;\r\n passangerMobile: string;\r\n driverCode: string;\r\n serviceDateTime: Date;\r\n\r\n operatorInfo: OperatorTable;\r\n constructor(\r\n private complaintServiceService: ComplaintserviceService,\r\n private callCenterService: CallCenterService,\r\n\r\n private requestService: ServiceRequestService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n this.requestID = params['valp'];\r\n this.requestService.getRequestServiceByID(this.requestID).subscribe(res => {\r\n this.passangerFName = res.passangerFName;\r\n this.originAddr = res.originAddr;\r\n this.destinationAddr = res.destinationAddr;\r\n this.passangerMobile = res.passangerMobile;\r\n this.driverCode = res.driverCode;\r\n this.serviceDateTime = res.createDateTime\r\n });\r\n\r\n this.loadOperatorInfo(this.operatorguid);\r\n\r\n });\r\n }\r\n ngAfterViewInit() {\r\n console.log(this.android.nativeElement.click());\r\n }\r\n\r\n loadOperatorInfo(guidCode: any): Observable {\r\n return new Observable((observer) => {\r\n this.callCenterService.getOperatorInfo(guidCode).subscribe(res => {\r\n this.operatorInfo = res;\r\n\r\n });\r\n });\r\n }\r\n\r\n registerComplaint() {\r\n\r\n this.complaintServiceService.insertComplaint(this.requestID, this.passangerFName, this.passangerMobile, this.originAddr, this.destinationAddr, this.driverCode, this.serviceDateTime.toString(), this.description?.value, this.operatorInfo?.id).subscribe(res => {\r\n\r\n if (res) {\r\n this.router.navigate(['cc/complaints'], { queryParams: { guid: this.operatorguid } });\r\n Swal.fire('ثبت شد', 'شکایت با موفقیت ثبت شد');\r\n }\r\n else {\r\n Swal.fire('خطا', 'خطا در ثبت شکایت');\r\n\r\n }\r\n\r\n });;\r\n\r\n\r\n }\r\n resetForm() {\r\n this.description.setValue('');\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output,ViewChild,ElementRef,AfterViewInit } from '@angular/core';\r\nimport { FormControl, FormGroup } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { FoundedObjectserviceService } from '../../lib/serviceLib/foundedObjectservice.service';\r\n\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { Observable } from 'rxjs';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport Swal from \"sweetalert2\";\r\n\r\n\r\n@Component({\r\n selector: 'app-register-founded-object',\r\n templateUrl: './register-founded-object.component.html',\r\n})\r\nexport class RegisterFoundedObjectComponent implements OnInit, AfterViewInit {\r\n @Input() visible: boolean = false;\r\n @Input() dataItem: any = {};\r\n @Output() visibleChange = new EventEmitter();\r\n @Output() onSendToServer = new EventEmitter();\r\n description = new FormControl();\r\n operatorguid: string;\r\n requestID: number;\r\n @ViewChild('android')\r\n public android: ElementRef;\r\n passangerFName: string;\r\n originAddr: string;\r\n destinationAddr: string;\r\n passangerMobile: string;\r\n driverCode: string;\r\n serviceDateTime: Date;\r\n\r\n operatorInfo: OperatorTable;\r\n constructor(\r\n private foundedObjectServiceService: FoundedObjectserviceService,\r\n private callCenterService: CallCenterService,\r\n\r\n private requestService: ServiceRequestService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n this.requestID = params['valp'];\r\n this.requestService.getRequestServiceByID(this.requestID).subscribe(res => {\r\n this.passangerFName = res.passangerFName;\r\n this.originAddr = res.originAddr;\r\n this.destinationAddr = res.destinationAddr;\r\n this.passangerMobile = res.passangerMobile;\r\n this.driverCode = res.driverCode;\r\n this.serviceDateTime = res.createDateTime\r\n });\r\n\r\n this.loadOperatorInfo(this.operatorguid);\r\n\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n console.log(this.android.nativeElement.click());\r\n }\r\n\r\n loadOperatorInfo(guidCode: any): Observable {\r\n return new Observable((observer) => {\r\n this.callCenterService.getOperatorInfo(guidCode).subscribe(res => {\r\n this.operatorInfo = res;\r\n\r\n });\r\n });\r\n }\r\n\r\n registerFoundedObject() {\r\n\r\n this.foundedObjectServiceService.insertFoundedObject(this.requestID, this.passangerFName, this.passangerMobile, this.originAddr, this.destinationAddr, this.driverCode, this.serviceDateTime.toString(), this.description?.value, this.operatorInfo?.id).subscribe(res => {\r\n\r\n if (res) {\r\n //console.log(res);\r\n this.router.navigate(['cc/foundeds'], { queryParams: { guid: this.operatorguid } });\r\n Swal.fire('ثبت شد', 'اشیا با موفقیت ثبت شد');\r\n\r\n }\r\n else {\r\n Swal.fire('خطا', 'خطا در ثبت اشیا');\r\n\r\n }\r\n\r\n });;\r\n\r\n\r\n }\r\n resetForm() {\r\n this.description.setValue('');\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl, FormGroup } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\nimport { PassangerserviceService } from '../../lib/serviceLib/passangerservice.service';\r\nimport { Observable } from 'rxjs';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport Swal from \"sweetalert2\";\r\n\r\n\r\n@Component({\r\n selector: 'app-register-passanger',\r\n templateUrl: './register-passanger.component.html',\r\n})\r\nexport class RegisterPassangerComponent implements OnInit {\r\n @Input() visible: boolean = false;\r\n @Input() dataItem: any = {};\r\n @Output() visibleChange = new EventEmitter();\r\n @Output() onSendToServer = new EventEmitter();\r\n passangerFormGroup = new FormGroup({\r\n fName: new FormControl(),\r\n lName: new FormControl(),\r\n mobile: new FormControl(),\r\n nationalCode: new FormControl()\r\n\r\n });\r\n operatorguid: string;\r\n id: string = '';\r\n\r\n operatorInfo: OperatorTable;\r\n constructor(\r\n private passangerServiceService: PassangerserviceService,\r\n private callCenterService: CallCenterService,\r\n\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n this.id = params['valp'];\r\n if (this.id) {\r\n this.loadpassangerInfo(this.id);\r\n }\r\n this.loadOperatorInfo(this.operatorguid);\r\n\r\n });\r\n }\r\n\r\n loadOperatorInfo(guidCode: any): Observable {\r\n return new Observable((observer) => {\r\n this.callCenterService.getOperatorInfo(guidCode).subscribe(res => {\r\n this.operatorInfo = res;\r\n });\r\n });\r\n }\r\n\r\n\r\n loadpassangerInfo(id: any){\r\n this.passangerServiceService.get(id).subscribe(res => {\r\n this.passangerFormGroup.setValue({ fName: res.fName, lName: res.lName, nationalCode: res.nationalCode, mobile: res.mobile });\r\n\r\n });\r\n }\r\n\r\n registerPassanger() {\r\n\r\n this.passangerServiceService.insertPassanger(this.passangerFormGroup.get('fName')?.value, this.passangerFormGroup.get('lName')?.value, this.passangerFormGroup.get('mobile')?.value, this.passangerFormGroup.get('nationalCode')?.value,this.id).subscribe(res => {\r\n\r\n if (res) {\r\n this.router.navigate(['cc/passangers'], { queryParams: { guid: this.operatorguid } });\r\n Swal.fire('ثبت شد', 'مشترک با موفقیت ثبت شد');\r\n }\r\n else {\r\n Swal.fire('خطا', 'خطا در ثبت مشترک');\r\n\r\n }\r\n\r\n });;\r\n\r\n\r\n }\r\n resetForm() {\r\n this.passangerFormGroup.reset();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl, FormGroup } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport Swal from \"sweetalert2\";\r\n\r\n\r\n@Component({\r\n selector: 'app-register-station',\r\n templateUrl: './register-station.component.html',\r\n})\r\nexport class RegisterStationComponent implements OnInit {\r\n @Input() visible: boolean = false;\r\n @Input() dataItem: any = {};\r\n @Output() visibleChange = new EventEmitter();\r\n @Output() onSendToServer = new EventEmitter();\r\n stationFormGroup = new FormGroup({\r\n name: new FormControl(),\r\n code: new FormControl(),\r\n capacity: new FormControl(),\r\n lat: new FormControl(),\r\n lng: new FormControl(),\r\n radios: new FormControl()\r\n\r\n });\r\n operatorguid: string;\r\n stationID: any;\r\n\r\n operatorInfo: OperatorTable;\r\n constructor(\r\n private stationServiceService: StationserviceService,\r\n private callCenterService: CallCenterService,\r\n\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n this.stationID = params['id'];\r\n this.stationFormGroup.patchValue({ lat: params['lat'] }) ;\r\n this.stationFormGroup.patchValue({ lng: params['lng'] });\r\n\r\n if (this.stationID) {\r\n this.stationServiceService.getStation(this.stationID).subscribe(res => {\r\n if (res) {\r\n this.stationFormGroup.patchValue({ name: res.name });\r\n this.stationFormGroup.patchValue({ lat: res.lat });\r\n this.stationFormGroup.patchValue({ lng: res.lng });\r\n this.stationFormGroup.patchValue({ capacity: res.capacity });\r\n this.stationFormGroup.patchValue({ radios: res.radios });\r\n this.stationFormGroup.patchValue({ code: res.code });\r\n\r\n }\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n registerStation() {\r\n\r\n this.stationServiceService.insertStation(this.stationFormGroup.get('name')?.value, this.stationFormGroup.get('code')?.value, this.stationFormGroup.get('capacity')?.value, this.stationFormGroup.get('lat')?.value, this.stationFormGroup.get('lng')?.value, this.stationFormGroup.get('radios')?.value,this.stationID).subscribe(res => {\r\n\r\n if (res) {\r\n this.router.navigate(['cc/stations'], { queryParams: { guid: this.operatorguid } });\r\n if (this.stationID) {\r\n Swal.fire('به روزرسانی شد', 'ایستگاه با موفقیت به روزرسانی شد');\r\n\r\n }\r\n else {\r\n Swal.fire('ثبت شد', 'ایستگاه با موفقیت ثبت شد');\r\n\r\n }\r\n }\r\n else {\r\n Swal.fire('خطا', 'خطا در ثبت ایستگاه');\r\n\r\n }\r\n\r\n });;\r\n\r\n\r\n }\r\n resetForm() {\r\n this.stationFormGroup.reset();\r\n }\r\n\r\n}\r\n","import {Component, OnInit,ViewChild,ElementRef,AfterViewInit} from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport {HttpClient} from \"@angular/common/http\";\r\nimport Swal from \"sweetalert2\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { AllServiceInfo } from '../../model/serviceInfo';\r\nimport { environment } from '../../../environments/environment.prod';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { FinishserviceComponent } from '../../driver/finishservice/finishservice.component';\r\nimport { MessageboxComponent } from '../../messagebox/messagebox.component';\r\nimport { InputtextComponent } from '../../shared/inputtext/inputtext.component';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\n\r\n@Component({\r\n selector: 'app-search-forms',\r\n templateUrl: './search-forms.component.html',\r\n styles: [`\r\n*{\r\nfont-size: 20px;\r\n}\r\n\r\n\r\n p-multiSelect {\r\n width: 100%;\r\n }\r\n\r\n ::ng-deep p-multiSelect .p-component {\r\n font-family: iransans !important;\r\n }\r\n`]\r\n})\r\nexport class SearchFormsComponent implements OnInit, AfterViewInit {\r\n @ViewChild('android')\r\n public android: ElementRef;\r\n\r\n isLoading: boolean = false;\r\n detailsVisible: boolean = false;\r\n public result: any[] = [];\r\n allServiceList: AllServiceInfo[] = [];\r\n constructor(\r\n \r\n private http: HttpClient,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private serviceService: ServiceserviceService,\r\n private requestService: ServiceRequestService,\r\n private dialog: MatDialog,\r\n\r\n ) {\r\n this.serviceStates = [{ name: 'در مرحله درخواست', stateNumber: 0 },\r\n { name: 'راننده اختصاص یافته', stateNumber: 1 },\r\n { name: 'در حال رفتن به مبدا', stateNumber:2 },\r\n { name: 'رسیدن به مبدا', stateNumber:3 },\r\n { name: 'مسافر سوار شد', stateNumber: 4 },\r\n { name: 'در حال رفتن به مقصد', stateNumber: 5 },\r\n { name: 'خاتمه یافته', stateNumber: 6 },\r\n { name: 'کنسل شده توسط اپراتور', stateNumber: 7 },\r\n { name: 'کنسل شده توسط اپراتور و تایید راننده', stateNumber: 8 },\r\n { name: 'کنسل شدن بعد از 8 دقیقه', stateNumber: 9 },\r\n { name: 'کنسلی توسط راننده بعد از تماس مسافر', stateNumber: 10 },\r\n { name: 'کنسل توسط مسافر', stateNumber: 11 },\r\n { name: 'کنسل راننده به دلیل عدم امکان سرویس ', stateNumber: 12 },\r\n ];\r\n\r\n\r\n\r\n }\r\n\r\n dateAz = new FormControl(new Date(), []);\r\n dateTa = new FormControl(new Date(), []);\r\n\r\n operatorguid: string;\r\n whereString: string = '';\r\n\r\n searchForm: FormGroup;\r\n serviceStates: ServiceState[];\r\n selectedStateNumbers: ServiceState[];\r\n recordCount = 0;\r\n pageSize = 10;\r\n\r\n ngOnInit() {\r\n this.searchForm = new FormGroup({\r\n passangerFName: new FormControl(''),\r\n passangerMobile: new FormControl(''),\r\n searchKeyWord: new FormControl(''),\r\n originAddr: new FormControl(''),\r\n driverCode: new FormControl(''),\r\n stationID: new FormControl(''),\r\n serviceState: new FormControl()\r\n //tarikhStart: new FormControl(),\r\n //saatStartFrom : new FormControl(),\r\n //saatStartTo : new FormControl(),\r\n });\r\n this.selectedStateNumbers = [];\r\n\r\n this.allServiceList = [];\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n if (params['passangerMobile']) { \r\n this.searchForm.patchValue({ passangerMobile: params['passangerMobile'] });\r\n }\r\n });\r\n this.loadPassangerReport(this.operatorguid);\r\n\r\n }\r\n ngAfterViewInit() {\r\n console.log(this.android.nativeElement.click());\r\n }\r\n async submitFormAndSend() {\r\n\r\n this.allServiceList = [];\r\n this.loadPassangerReport('');\r\n }\r\n loadPassangerReport(guidCode: any) {\r\n let formState: any;\r\n formState = this.searchForm.get('serviceState')?.value;\r\n\r\n var dataz = this.dateAz.value?.toString()\r\n var datTa = this.dateTa.value?.toString()\r\n\r\n\r\n\r\n this.serviceService.reportAllService(guidCode,\r\n this.searchForm.get('passangerMobile')?.value,\r\n this.searchForm.get('driverCode')?.value,\r\n this.searchForm.get('stationID')?.value,\r\n this.searchForm.get('passangerFName')?.value,\r\n this.searchForm.get('originAddr')?.value,\r\n this.selectedStateNumbers, dataz, datTa,\r\n this.searchForm.get('searchKeyWord')?.value,\r\n ).subscribe(res => {\r\n if (res.length > 0) {\r\n //console.log(res);\r\n this.allServiceList = res;\r\n } else {\r\n this.allServiceList = [];\r\n\r\n //Swal.fire('یافت نشد', 'موردی یافت نشد!');\r\n }\r\n\r\n });\r\n }\r\n\r\n editForm(id: any) {\r\n this.router.navigate(['cc/new'], { queryParams: { guid: this.operatorguid, valp: id } });\r\n }\r\n\r\n newComplaint(id: any) {\r\n this.router.navigate(['cc/regComplaint'], { queryParams: { guid: this.operatorguid, valp: id } });\r\n\r\n }\r\n\r\n newFounded(id: any) {\r\n this.router.navigate(['cc/regFounded'], { queryParams: { guid: this.operatorguid, valp: id } });\r\n\r\n \r\n\r\n }\r\n updatePrice(row, price): void {\r\n console.log(row?.id);\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش کرایه', msg: 'مقدار کرایه را وارد نمایید', fieldName: 'کرایه', value: price, maxValue: 40000 },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.serviceService.UpdatePrice(row.id, result).subscribe(_res => {\r\n row.price = result;\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n }\r\n finishedService(guidService) {\r\n\r\n this.serviceService.finishService(guidService).subscribe(_res => {\r\n\r\n\r\n\r\n ////console.log('finishedService');\r\n //this.router.navigate(['service/finish'], { queryParams: { guid: this.guidService } });\r\n var dialogfinishRef = this.dialog.open(FinishserviceComponent, {\r\n width: '400px',\r\n data: {\r\n guid: guidService\r\n }\r\n });\r\n\r\n dialogfinishRef.afterClosed().subscribe((result: any) => {\r\n this.loadPassangerReport(this.operatorguid);\r\n });\r\n });\r\n\r\n }\r\n deleteForm(requestID) {\r\n this.requestService.Delete(requestID).subscribe(res => {\r\n this.loadPassangerReport(this.operatorguid);\r\n });\r\n }\r\n cancelTrip(requestID: any ) {\r\n //console.log('cancelTrip');\r\n //console.log(requestID);\r\n //console.log(trip);\r\n\r\n var dialogmsgBoxRef = this.dialog.open(MessageboxComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n msgText: 'آیا از کنسل کردن سفر اطمینان دارید؟',\r\n msgTitle: 'انصراف'\r\n }\r\n });\r\n dialogmsgBoxRef.afterClosed().subscribe((result: any) => {\r\n\r\n if (result == 'ok') {\r\n this.serviceService.cancelServiceByRequest(requestID).subscribe(res => {\r\n this.loadPassangerReport(this.operatorguid);\r\n });\r\n }\r\n\r\n });\r\n\r\n //console.warn(trip);\r\n }\r\n resetForm() {\r\n this.searchForm.reset();\r\n this.allServiceList = [];\r\n\r\n }\r\n \r\n}\r\n\r\ninterface ServiceState {\r\n name: string,\r\n stateNumber: number\r\n}\r\n","export default \":host {\\n position: relative;\\n}\\n\\napp-taximap {\\n display: block;\\n height: calc(100vh - 96px);\\n width: calc(100% - 3px);\\n}\\n\\n:host {\\n display: flex;\\n flex-direction: column;\\n height: 100vh;\\n}\\n\\nmat-drawer-container {\\n flex: 1 0 auto;\\n}\\n\\n.driver-search {\\n width: 50%;\\n position: relative;\\n}\\n\\n.driver-search__input {\\n box-sizing: border-box;\\n width: 100%;\\n background-color: rgba(255, 255, 255, 0.15);\\n border: 2px solid transparent;\\n font-size: 16px;\\n font-family: inherit;\\n border-radius: 0.25em;\\n padding: 0.25em 0.5em 0.25em 2.5rem;\\n outline: 0;\\n margin: 0;\\n color: #fff;\\n transition: background-color 0.3s, color 0.4s, box-shadow 0.3s;\\n box-shadow: 0 0 0 #000;\\n}\\n\\n.driver-search__input::-moz-placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input::placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input:focus {\\n background-color: #fff;\\n color: #282b3b;\\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);\\n}\\n\\n.driver-search__input:focus + .driver-search__icon {\\n color: #282b3b;\\n}\\n\\n.driver-search__icon {\\n position: absolute;\\n left: 9px;\\n top: 7px;\\n z-index: 1;\\n}\\n\\n.side-bar {\\n padding: 1rem;\\n width: 320px;\\n}\\n\\n.driver-information {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.driver-information__details {\\n margin-right: 1rem;\\n}\\n\\n.driver-information__name {\\n font-size: 1rem;\\n}\\n\\n.driver-information__status-label {\\n font-size: 0.875rem;\\n color: #888;\\n}\\n\\n.avatar {\\n position: relative;\\n width: 54px;\\n height: 54px;\\n}\\n\\n.avatar__image {\\n width: 100%;\\n height: 100%;\\n border-radius: 50%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.avatar__status {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: #fff;\\n border: 2px solid #fff;\\n}\\n\\n.car-info {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin-top: 0.5rem;\\n}\\n\\n.car-info__type {\\n margin-right: 0.5rem;\\n margin-left: auto;\\n}\\n\\n.car-info__id {\\n border: 2px solid rgba(0, 0, 0, 0.2);\\n border-radius: 4px;\\n padding: 0.125rem 0.5rem;\\n background-color: #eee;\\n}\\n\\n.bottomDiv {\\n padding: 1rem;\\n background-color: #282b3b;\\n color: #fff;\\n text-align: center;\\n position: absolute;\\n bottom: 0px;\\n width: 100vw;\\n z-index: 314195;\\n left: 0px;\\n}\\n\\n.spanDetailState {\\n font-weight: bolder;\\n padding-left: 8px;\\n}\\n\\ndiv_origin {\\n text-align: right;\\n direction: rtl;\\n width: 95%;\\n background-color: white;\\n border-radius: 8px;\\n background: white;\\n padding: 8px;\\n margin-left: auto;\\n margin-right: auto;\\n margin-top: 8px;\\n margin-bottom: 8px;\\n}\\n\\n.btnreq {\\n display: block;\\n background: #32cb00;\\n width: 95%;\\n margin-left: auto;\\n margin-right: auto;\\n margin-top: 8px;\\n margin-bottom: 8px;\\n height: 35px;\\n}\\n\\n.spanAddr {\\n font-weight: bold;\\n}\\n\\n.address__origin::before, .address__dest::before, .address__dest-2::before {\\n position: absolute;\\n content: \\\"\\\";\\n width: 14px;\\n height: 28px;\\n background: #9c27b0;\\n border-radius: 8px;\\n display: block;\\n right: -20px !important;\\n top: 0 !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvbmV3LWNhbGwvc3RhdGlvbnMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxrQkFBQTtBQUNKOztBQUVBO0VBQ0UsY0FBQTtFQUNBLDBCQUFBO0VBQ0EsdUJBQUE7QUFDRjs7QUFDQTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGFBQUE7QUFFRjs7QUFDQTtFQUNFLGNBQUE7QUFFRjs7QUFDQTtFQUNFLFVBQUE7RUFDQSxrQkFBQTtBQUVGOztBQUFFO0VBQ0Usc0JBQUE7RUFDQSxXQUFBO0VBQ0EsMkNBQUE7RUFDQSw2QkFBQTtFQUNBLGVBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUNBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSw4REFBQTtFQUNBLHNCQUFBO0FBRUo7O0FBQUk7RUFDRSwrQkFBQTtBQUVOOztBQUhJO0VBQ0UsK0JBQUE7QUFFTjs7QUFDSTtFQUNFLHNCQUFBO0VBQ0EsY0FBQTtFQUNBLHlDQUFBO0FBQ047O0FBQ007RUFDRSxjQUFBO0FBQ1I7O0FBSUU7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtBQUZKOztBQU1BO0VBQ0UsYUFBQTtFQUNBLFlBQUE7QUFIRjs7QUFNQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FBSEY7O0FBS0U7RUFDRSxrQkFBQTtBQUhKOztBQU1FO0VBQ0UsZUFBQTtBQUpKOztBQU9FO0VBQ0UsbUJBQUE7RUFDQSxXQUFBO0FBTEo7O0FBU0E7RUFDRSxrQkFBQTtFQUVBLFdBRE87RUFFUCxZQUZPO0FBTFQ7O0FBU0U7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBQVBKOztBQVVFO0VBQ0Usa0JBQUE7RUFDQSxPQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0FBUko7O0FBWUE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FBVEY7O0FBV0U7RUFDRSxvQkFBQTtFQUNBLGlCQUFBO0FBVEo7O0FBWUU7RUFDRSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0Esd0JBQUE7RUFDQSxzQkFBQTtBQVZKOztBQWFBO0VBQ0UsYUFBQTtFQUNBLHlCQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxTQUFBO0FBVkY7O0FBWUE7RUFFSSxtQkFBQTtFQUNBLGlCQUFBO0FBVko7O0FBYUE7RUFDRSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxVQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7QUFWRjs7QUFhQTtFQUNFLGNBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtBQVZGOztBQWFBO0VBQ0UsaUJBQUE7QUFWRjs7QUFjQTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSx1QkFBQTtFQUNBLGlCQUFBO0FBWEYiLCJmaWxlIjoic3JjL2FwcC9jYWxsLWNlbnRlci9uZXctY2FsbC9zdGF0aW9ucy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuYXBwLXRheGltYXAge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDk2cHgpO1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzcHgpO1xyXG59XHJcbjpob3N0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxufVxyXG5cclxubWF0LWRyYXdlci1jb250YWluZXIge1xyXG4gIGZsZXg6IDEgMCBhdXRvO1xyXG59XHJcblxyXG4uZHJpdmVyLXNlYXJjaCB7XHJcbiAgd2lkdGg6IDUwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICZfX2lucHV0IHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMC4xNSk7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xyXG4gICAgcGFkZGluZzogMC4yNWVtIDAuNWVtIDAuMjVlbSAyLjVyZW07XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuNHMsIGJveC1zaGFkb3cgMC4zcztcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICMwMDA7XHJcblxyXG4gICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogcmdiYSgjZmZmLCAwLjMpO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICBjb2xvcjogIzI4MmIzYjtcclxuICAgICAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcblxyXG4gICAgICArIC5kcml2ZXItc2VhcmNoX19pY29uIHtcclxuICAgICAgICBjb2xvcjogIzI4MmIzYjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faWNvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA5cHg7XHJcbiAgICB0b3A6IDdweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZS1iYXIge1xyXG4gIHBhZGRpbmc6IDFyZW07XHJcbiAgd2lkdGg6IDMyMHB4O1xyXG59XHJcblxyXG4uZHJpdmVyLWluZm9ybWF0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgJl9fZGV0YWlscyB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgfVxyXG5cclxuICAmX19uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICB9XHJcblxyXG4gICZfX3N0YXR1cy1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgY29sb3I6ICM4ODg7XHJcbiAgfVxyXG59XHJcblxyXG4uYXZhdGFyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgJHNpemU6IDU0cHg7XHJcbiAgd2lkdGg6ICRzaXplO1xyXG4gIGhlaWdodDogJHNpemU7XHJcblxyXG4gICZfX2ltYWdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgfVxyXG5cclxuICAmX19zdGF0dXMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHdpZHRoOiA4cHg7XHJcbiAgICBoZWlnaHQ6IDhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xyXG4gIH1cclxufVxyXG5cclxuLmNhci1pbmZvIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAwLjVyZW07XHJcblxyXG4gICZfX3R5cGUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICB9XHJcblxyXG4gICZfX2lkIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuNXJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgfVxyXG59XHJcbi5ib3R0b21EaXYge1xyXG4gIHBhZGRpbmc6IDFyZW07XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4MmIzYjtcclxuICBjb2xvcjogI2ZmZjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMHB4O1xyXG4gIHdpZHRoOiAxMDB2dztcclxuICB6LWluZGV4OiAzMTQxOTU7XHJcbiAgbGVmdDowcHg7XHJcbn1cclxuLnNwYW5EZXRhaWxTdGF0ZVxyXG57XHJcbiAgICBmb250LXdlaWdodDpib2xkZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6OHB4O1xyXG59XHJcblxyXG5kaXZfb3JpZ2luIHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBkaXJlY3Rpb246IHJ0bDtcclxuICB3aWR0aDogOTUlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBwYWRkaW5nOiA4cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi10b3A6IDhweDtcclxuICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5idG5yZXEge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQ6ICMzMmNiMDA7XHJcbiAgd2lkdGg6IDk1JTtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLXRvcDogOHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDhweDtcclxuICBoZWlnaHQ6IDM1cHg7XHJcbn1cclxuXHJcbi5zcGFuQWRkciB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcblxyXG4uYWRkcmVzc19fb3JpZ2luOjpiZWZvcmUsIC5hZGRyZXNzX19kZXN0OjpiZWZvcmUsIC5hZGRyZXNzX19kZXN0LTI6OmJlZm9yZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDE0cHg7XHJcbiAgaGVpZ2h0OiAyOHB4O1xyXG4gIGJhY2tncm91bmQ6ICM5YzI3YjA7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHJpZ2h0OiAtMjBweCAhaW1wb3J0YW50O1xyXG4gIHRvcDogMCAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\";","import { Component, EventEmitter, Input, OnInit, Output, ViewChild, OnDestroy } from '@angular/core';\r\n\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { Station } from '../../model/station';\r\nimport { Observable } from 'rxjs';\r\nimport { TaximapComponent } from '../../taximap/taximap.component';\r\nimport { LatLng, Marker } from 'leaflet';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { MarkerType } from '../../lib/markerHelper';\r\nimport { LocationInfo } from '../../globalVariable';\r\nimport { environment } from '../../../environments/environment.prod';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmDialogComponent } from '../../shared/confirm-dialog/confirm-dialog.component';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'app-stations',\r\n templateUrl: './stations.component.html',\r\n styleUrls: ['./stations.component.scss']\r\n\r\n})\r\nexport class StationsComponent implements OnInit, OnDestroy {\r\n @Input() visible: boolean = true;\r\n @Input() data: any = [];\r\n @Output() visibleChange = new EventEmitter();\r\n lstStation: Station[];\r\n @ViewChild(\"map\", { static: false })\r\n public map: TaximapComponent;\r\n operatorguid: string;\r\n originPoint = new LocationInfo();\r\n originMarker: any;\r\n initMarker: Marker;\r\n destinationMarker: any;\r\n recordCount = 0;\r\n pageSize = 30;\r\n\r\n currentFBSToken = '';\r\n\r\n\r\n constructor(\r\n private stationSerivce: StationserviceService,\r\n private route: ActivatedRoute,\r\n private taxiSerivce: TaxiserviceService,\r\n private matDialog: MatDialog,\r\n private matSnackbar: MatSnackBar,\r\n\r\n private router: Router\r\n\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n });\r\n\r\n this.map = new TaximapComponent();\r\n this.setEmptyStation();\r\n this.currentFBSToken = localStorage.getItem(environment.cur_fbsToken);\r\n\r\n this.loadStation(true).subscribe(res => { });\r\n\r\n //this.addinitialMarker();\r\n }\r\n\r\n\r\n\r\n addinitialMarker() {\r\n var loc = this.map.getCenter();\r\n this.initMarker = this.map.addMarker(loc.lat, loc.lng, MarkerType.station);\r\n this.getOriginAddressDesc(loc.lat, loc.lng);\r\n this.initMarker.on('click', (e: any) => { this.onStationMarkerClick(); });\r\n\r\n }\r\n getOriginAddressDesc(lat: any, lng: any) {\r\n var s = this.taxiSerivce.getAddressFromLocation(lat, lng);\r\n s.subscribe(_res => {\r\n this.originPoint.desc = _res;\r\n });\r\n }\r\n\r\n loadStation(withMarker = true): Observable {\r\n return new Observable((observer) => {\r\n this.stationSerivce.getAllStations().subscribe(_res => {\r\n //console.log(_res);\r\n this.lstStation = _res;\r\n _res.forEach(station => {\r\n if (withMarker)\r\n this.map.addStationMarker(station);\r\n else\r\n this.map.updateStationMarker(station);\r\n });\r\n\r\n this.addinitialMarker();\r\n observer.next(_res)\r\n });\r\n });\r\n }\r\n\r\n\r\n\r\n showStation(stationInput: Station) {\r\n this.stationSerivce.getStation(stationInput.id).subscribe(res => {\r\n\r\n this.router.navigate(['cc/regStation'], { queryParams: { guid: this.operatorguid, id: stationInput.id } });\r\n\r\n\r\n });\r\n }\r\n\r\n map_Click(cordinates: any) {\r\n\r\n\r\n\r\n }\r\n\r\n gotoOrigin() {\r\n\r\n }\r\n\r\n\r\n moveMapEvent(evt: any) {\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(evt.location[0], evt.location[1]));\r\n }\r\n }\r\n\r\n moveEndMapEvent(evt: any) {\r\n //if (this.CurrentState == PageState.OriginDefine) {\r\n // this.getOriginAddressDesc(evt.location[0], evt.location[1]);\r\n //}\r\n //else if (this.CurrentState == PageState.DestinationDefine) {\r\n // var s = this.taxiSerivce.getAddressFromLocation(evt.location[0], evt.location[1]);\r\n // s.subscribe(_res => {\r\n // this.destinationPoint.desc = _res;\r\n // });\r\n //}\r\n\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(evt.location[0], evt.location[1]));\r\n }\r\n }\r\n\r\n setEmptyStation() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n //console.log('ngAfterViewInit');\r\n\r\n\r\n\r\n }\r\n\r\n onStationMarkerClick() {\r\n let loc = this.map.getCenter();\r\n this.router.navigate(['cc/regStation'], { queryParams: { guid: this.operatorguid, lat: loc.lat, lng: loc.lng } });\r\n\r\n }\r\n\r\n delete(_data: Partial) {\r\n const confirmRef = this.matDialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مطمئن هستید ایستگاه «' + _data.name + _data.code + '» حذف شود؟',\r\n buttonText: {\r\n ok: 'بله',\r\n cancel: 'خیر'\r\n }\r\n }\r\n });\r\n confirmRef.afterClosed().subscribe(_confirmed => {\r\n if (_confirmed) {\r\n this.stationSerivce.delete(_data.id).subscribe(_res => {\r\n this.matSnackbar.open('ایستگاه با کد ' + _data.code + ' حذف شد.', null, { duration: 5000 });\r\n\r\n\r\n this.loadStation(true).subscribe(res => { });\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.map.removeMap();\r\n }\r\n}\r\n\r\n","export default \":host {\\n position: relative;\\n}\\n\\napp-taximap {\\n display: block;\\n height: calc(100vh - 96px);\\n width: calc(100% - 3px);\\n}\\n\\n:host {\\n display: flex;\\n flex-direction: column;\\n height: 91vh;\\n}\\n\\nmat-drawer-container {\\n flex: 1 0 auto;\\n}\\n\\n.driver-search {\\n width: 50%;\\n position: relative;\\n}\\n\\n.driver-search__input {\\n box-sizing: border-box;\\n width: 100%;\\n background-color: rgba(255, 255, 255, 0.15);\\n border: 2px solid transparent;\\n font-size: 16px;\\n font-family: inherit;\\n border-radius: 0.25em;\\n padding: 0.25em 0.5em 0.25em 2.5rem;\\n outline: 0;\\n margin: 0;\\n color: #fff;\\n transition: background-color 0.3s, color 0.4s, box-shadow 0.3s;\\n box-shadow: 0 0 0 #000;\\n}\\n\\n.driver-search__input::-moz-placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input::placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input:focus {\\n background-color: #fff;\\n color: #282b3b;\\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);\\n}\\n\\n.driver-search__input:focus + .driver-search__icon {\\n color: #282b3b;\\n}\\n\\n.driver-search__icon {\\n position: absolute;\\n left: 9px;\\n top: 7px;\\n z-index: 1;\\n}\\n\\n.side-bar {\\n padding: 1rem;\\n width: 320px;\\n}\\n\\n.driver-information {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.driver-information__details {\\n margin-right: 1rem;\\n}\\n\\n.driver-information__name {\\n font-size: 1rem;\\n}\\n\\n.driver-information__status-label {\\n font-size: 0.875rem;\\n color: #888;\\n}\\n\\n.avatar {\\n position: relative;\\n width: 54px;\\n height: 54px;\\n}\\n\\n.avatar__image {\\n width: 100%;\\n height: 100%;\\n border-radius: 50%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.avatar__status {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: #fff;\\n border: 2px solid #fff;\\n}\\n\\n.car-info {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin-top: 0.5rem;\\n}\\n\\n.car-info__type {\\n margin-right: 0.5rem;\\n margin-left: auto;\\n}\\n\\n.car-info__id {\\n border: 2px solid rgba(0, 0, 0, 0.2);\\n border-radius: 4px;\\n padding: 0.125rem 0.5rem;\\n background-color: #eee;\\n}\\n\\n.bottomDiv {\\n padding: 1rem;\\n background-color: #282b3b;\\n color: #fff;\\n text-align: center;\\n position: absolute;\\n bottom: 0px;\\n width: 100vw;\\n z-index: 314195;\\n left: 0px;\\n}\\n\\n.spanDetailState {\\n font-weight: bolder;\\n padding-left: 8px;\\n}\\n\\ndiv_origin {\\n text-align: right;\\n direction: rtl;\\n width: 95%;\\n background-color: white;\\n border-radius: 8px;\\n background: white;\\n padding: 8px;\\n margin-left: auto;\\n margin-right: auto;\\n margin-top: 8px;\\n margin-bottom: 8px;\\n}\\n\\n.btnreq {\\n display: block;\\n background: #32cb00;\\n width: 95%;\\n margin-left: auto;\\n margin-right: auto;\\n margin-top: 8px;\\n margin-bottom: 8px;\\n height: 35px;\\n}\\n\\n.spanAddr {\\n font-weight: bold;\\n}\\n\\n.address__origin::before, .address__dest::before, .address__dest-2::before {\\n position: absolute;\\n content: \\\"\\\";\\n width: 14px;\\n height: 28px;\\n background: #9c27b0;\\n border-radius: 8px;\\n display: block;\\n right: -20px !important;\\n top: 0 !important;\\n}\\n\\nlabel {\\n font-family: IranYekan;\\n}\\n\\n.edit_size1 {\\n width: 100px;\\n}\\n\\n.edit_size1 input {\\n width: 100%;\\n}\\n\\n.edit_size2 {\\n width: 130px;\\n}\\n\\n.edit_size2 input {\\n width: 100%;\\n}\\n\\n.edit_size3 {\\n width: 170px;\\n}\\n\\n.edit_size3 input {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvbmV3LWNhbGwvdHJhZmZpYy1tb25pdG9yLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksa0JBQUE7QUFDSjs7QUFFQTtFQUNFLGNBQUE7RUFDQSwwQkFBQTtFQUNBLHVCQUFBO0FBQ0Y7O0FBQ0E7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0FBRUY7O0FBQ0E7RUFDRSxjQUFBO0FBRUY7O0FBQ0E7RUFDRSxVQUFBO0VBQ0Esa0JBQUE7QUFFRjs7QUFBRTtFQUNFLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLDJDQUFBO0VBQ0EsNkJBQUE7RUFDQSxlQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLG1DQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsOERBQUE7RUFDQSxzQkFBQTtBQUVKOztBQUFJO0VBQ0UsK0JBQUE7QUFFTjs7QUFISTtFQUNFLCtCQUFBO0FBRU47O0FBQ0k7RUFDRSxzQkFBQTtFQUNBLGNBQUE7RUFDQSx5Q0FBQTtBQUNOOztBQUNNO0VBQ0UsY0FBQTtBQUNSOztBQUlFO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7QUFGSjs7QUFNQTtFQUNFLGFBQUE7RUFDQSxZQUFBO0FBSEY7O0FBTUE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtBQUhGOztBQUtFO0VBQ0Usa0JBQUE7QUFISjs7QUFNRTtFQUNFLGVBQUE7QUFKSjs7QUFPRTtFQUNFLG1CQUFBO0VBQ0EsV0FBQTtBQUxKOztBQVNBO0VBQ0Usa0JBQUE7RUFFQSxXQURPO0VBRVAsWUFGTztBQUxUOztBQVNFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0tBQUEsaUJBQUE7QUFQSjs7QUFVRTtFQUNFLGtCQUFBO0VBQ0EsT0FBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxzQkFBQTtBQVJKOztBQVlBO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBQVRGOztBQVdFO0VBQ0Usb0JBQUE7RUFDQSxpQkFBQTtBQVRKOztBQVlFO0VBQ0Usb0NBQUE7RUFDQSxrQkFBQTtFQUNBLHdCQUFBO0VBQ0Esc0JBQUE7QUFWSjs7QUFhQTtFQUNFLGFBQUE7RUFDQSx5QkFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsU0FBQTtBQVZGOztBQVlBO0VBRUksbUJBQUE7RUFDQSxpQkFBQTtBQVZKOztBQWFBO0VBQ0UsaUJBQUE7RUFDQSxjQUFBO0VBQ0EsVUFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0FBVkY7O0FBYUE7RUFDRSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSxVQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7QUFWRjs7QUFhQTtFQUNFLGlCQUFBO0FBVkY7O0FBY0E7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0VBQ0EsdUJBQUE7RUFDQSxpQkFBQTtBQVhGOztBQWNBO0VBQ0Usc0JBQUE7QUFYRjs7QUFlQTtFQUNFLFlBQUE7QUFaRjs7QUFlQTtFQUNFLFdBQUE7QUFaRjs7QUFjQTtFQUNFLFlBQUE7QUFYRjs7QUFhQTtFQUNFLFdBQUE7QUFWRjs7QUFhQTtFQUNFLFlBQUE7QUFWRjs7QUFhQTtFQUNFLFdBQUE7QUFWRiIsImZpbGUiOiJzcmMvYXBwL2NhbGwtY2VudGVyL25ldy1jYWxsL3RyYWZmaWMtbW9uaXRvci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuYXBwLXRheGltYXAge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDk2cHgpO1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzcHgpO1xyXG59XHJcbjpob3N0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgaGVpZ2h0OiA5MXZoO1xyXG59XHJcblxyXG5tYXQtZHJhd2VyLWNvbnRhaW5lciB7XHJcbiAgZmxleDogMSAwIGF1dG87XHJcbn1cclxuXHJcbi5kcml2ZXItc2VhcmNoIHtcclxuICB3aWR0aDogNTAlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgJl9faW5wdXQge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZmZmLCAwLjE1KTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XHJcbiAgICBwYWRkaW5nOiAwLjI1ZW0gMC41ZW0gMC4yNWVtIDIuNXJlbTtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC40cywgYm94LXNoYWRvdyAwLjNzO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgIzAwMDtcclxuXHJcbiAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIDAuMyk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgIGNvbG9yOiAjMjgyYjNiO1xyXG4gICAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuXHJcbiAgICAgICsgLmRyaXZlci1zZWFyY2hfX2ljb24ge1xyXG4gICAgICAgIGNvbG9yOiAjMjgyYjNiO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pY29uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDlweDtcclxuICAgIHRvcDogN3B4O1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcbn1cclxuXHJcbi5zaWRlLWJhciB7XHJcbiAgcGFkZGluZzogMXJlbTtcclxuICB3aWR0aDogMzIwcHg7XHJcbn1cclxuXHJcbi5kcml2ZXItaW5mb3JtYXRpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAmX19kZXRhaWxzIHtcclxuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICB9XHJcblxyXG4gICZfX25hbWUge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgJl9fc3RhdHVzLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICBjb2xvcjogIzg4ODtcclxuICB9XHJcbn1cclxuXHJcbi5hdmF0YXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAkc2l6ZTogNTRweDtcclxuICB3aWR0aDogJHNpemU7XHJcbiAgaGVpZ2h0OiAkc2l6ZTtcclxuXHJcbiAgJl9faW1hZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICB9XHJcblxyXG4gICZfX3N0YXR1cyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDhweDtcclxuICAgIGhlaWdodDogOHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FyLWluZm8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuXHJcbiAgJl9fdHlwZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgJl9faWQge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgcGFkZGluZzogMC4xMjVyZW0gMC41cmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICB9XHJcbn1cclxuLmJvdHRvbURpdiB7XHJcbiAgcGFkZGluZzogMXJlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjgyYjNiO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgd2lkdGg6IDEwMHZ3O1xyXG4gIHotaW5kZXg6IDMxNDE5NTtcclxuICBsZWZ0OjBweDtcclxufVxyXG4uc3BhbkRldGFpbFN0YXRlXHJcbntcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGRlcjtcclxuICAgIHBhZGRpbmctbGVmdDo4cHg7XHJcbn1cclxuXHJcbmRpdl9vcmlnaW4ge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIGRpcmVjdGlvbjogcnRsO1xyXG4gIHdpZHRoOiA5NSU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIHBhZGRpbmc6IDhweDtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLXRvcDogOHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuLmJ0bnJlcSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYmFja2dyb3VuZDogIzMyY2IwMDtcclxuICB3aWR0aDogOTUlO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gIGhlaWdodDogMzVweDtcclxufVxyXG5cclxuLnNwYW5BZGRyIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuXHJcbi5hZGRyZXNzX19vcmlnaW46OmJlZm9yZSwgLmFkZHJlc3NfX2Rlc3Q6OmJlZm9yZSwgLmFkZHJlc3NfX2Rlc3QtMjo6YmVmb3JlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogMTRweDtcclxuICBoZWlnaHQ6IDI4cHg7XHJcbiAgYmFja2dyb3VuZDogIzljMjdiMDtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcmlnaHQ6IC0yMHB4ICFpbXBvcnRhbnQ7XHJcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmxhYmVsIHtcclxuICBmb250LWZhbWlseTogSXJhbllla2FuXHJcbn1cclxuXHJcblxyXG4uZWRpdF9zaXplMSB7XHJcbiAgd2lkdGg6IDEwMHB4O1xyXG4gIFxyXG59XHJcbi5lZGl0X3NpemUxIGlucHV0IHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4uZWRpdF9zaXplMiB7XHJcbiAgd2lkdGg6IDEzMHB4O1xyXG59XHJcbi5lZGl0X3NpemUyIGlucHV0IHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmVkaXRfc2l6ZTMge1xyXG4gIHdpZHRoOiAxNzBweDtcclxufVxyXG5cclxuLmVkaXRfc2l6ZTMgaW5wdXQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbiJdfQ== */\";","import { Component, EventEmitter, Input, OnInit, Output, ViewChild, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport Swal from \"sweetalert2\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Station } from '../../model/station';\r\nimport { TaximapComponent } from '../../taximap/taximap.component';\r\nimport { LatLng, Marker } from 'leaflet';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { LocationInfo } from '../../globalVariable';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { DriverPositionHist } from '../../model/driver';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { IDriverStatusMeta } from '../../lib/enums/driver-status.enum';\r\n\r\n\r\n@Component({\r\n selector: 'app-traffic-monitor',\r\n templateUrl: './traffic-monitor.component.html',\r\n styleUrls: ['./traffic-monitor.component.scss']\r\n\r\n})\r\nexport class TrafficmonitorComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @Input() visible: boolean = true;\r\n @Input() data: any = [];\r\n @Output() visibleChange = new EventEmitter();\r\n lstStation: Station[];\r\n @ViewChild(\"map\", { static: false })\r\n public map: TaximapComponent;\r\n operatorguid: string;\r\n originPoint = new LocationInfo();\r\n originMarker: any;\r\n initMarker: Marker;\r\n destinationMarker: any;\r\n recordCount = 0;\r\n pageSize = 30;\r\n mobileSearch = '';\r\n driverFNameSearch = '';\r\n driverCodeSearch = '';\r\n passangerFNameSearch = '';\r\n passangerMobileSearch = '';\r\n tarikhAz = '';\r\n tarikhTa = '';\r\n timeAz = '';\r\n timeTa = '';\r\n\r\n\r\n lstDriverPosMarker: Marker[] = [];\r\n constructor(\r\n private driverService: DriverserviceService,\r\n private route: ActivatedRoute,\r\n private taxiSerivce: TaxiserviceService,\r\n private matDialog: MatDialog,\r\n private matSnackbar: MatSnackBar,\r\n private serviceService: ServiceserviceService,\r\n\r\n private router: Router\r\n\r\n ) {\r\n\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n if (!this.map) { \r\n this.map = new TaximapComponent();\r\n }\r\n\r\n this.tarikhAz = new Date().toString();\r\n }\r\n\r\n showPoint()/*: Observable*/ {\r\n //return new Observable((observer) => {\r\n this.clearPoints();\r\n\r\n if (!this.mobileSearch && !this.driverFNameSearch && !this.driverCodeSearch && !this.passangerFNameSearch && !this.passangerMobileSearch && !this.tarikhTa && !this.timeAz && !this.timeTa)\r\n Swal.fire('فیلد اجباری', 'یکی از موارد جستجو پر شود');\r\n\r\n else {\r\n this.driverService.getAllDriverPosition(this.mobileSearch, this.driverFNameSearch, this.driverCodeSearch, this.passangerFNameSearch, this.passangerMobileSearch, this.tarikhAz, this.tarikhTa, this.timeAz, this.timeTa).subscribe(_res => {\r\n if (_res?.length > 0) {\r\n _res.forEach(pos => {\r\n let markerPos = this.addPositionMarker(pos);\r\n this.lstDriverPosMarker.push(markerPos);\r\n });\r\n\r\n }\r\n else {\r\n Swal.fire('یافت نشد', 'موردی یافت نشد!');\r\n }\r\n // observer.next(_res);\r\n });\r\n\r\n }\r\n\r\n\r\n // });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n addPositionMarker(position: DriverPositionHist): Marker {\r\n let marker: Marker;\r\n let currentDriverStatus = IDriverStatusMeta.getStatus(1004);\r\n try {\r\n marker = this.map.createPositionMarker(position);\r\n if (position.currentStatus > 1000) {\r\n currentDriverStatus = IDriverStatusMeta.getStatus(position.currentStatus);\r\n\r\n }\r\n\r\n if (position.relatedServiceID) {\r\n this.serviceService.getServiceByID(position.relatedServiceID).subscribe(_res => {\r\n marker.bindPopup(\r\n '

نام راننده : ' + position.fName + ' ' + position.lName + '
کد راننده : ' + position.driverCode + '
وضعیت : ' + currentDriverStatus.text + '
موبایل : ' + position.mobile + '
کد ایستگاه : ' + position.currentStation + '
زمان : ' + position.shamsiCreateDateTime + '
سرعت : ' + (position.speed * 3.6).toFixed(2) + '
نام مسافر : ' + _res.passangerFName + ' ' + _res.passangerLName + '
موبایل مسافر : ' + _res.passangerMobile + '
مبدا : ' + _res.originAddr + '
مقصد : ' + _res.destinationAddr + '

');\r\n });\r\n\r\n }\r\n else {\r\n marker.bindPopup(\r\n '

نام راننده : ' + position.fName + ' ' + position.lName + '
کد راننده : ' + position.driverCode + '
وضعیت : ' + currentDriverStatus.text + '
موبایل : ' + position.mobile + '
کد ایستگاه : ' + position.currentStation + '
زمان : ' + position.shamsiCreateDateTime + '
سرعت : ' + (position.speed * 3.6).toFixed(2) + '

');\r\n }\r\n\r\n\r\n marker.addTo(this.map.map);\r\n }\r\n catch (e)\r\n {\r\n console.log(e);\r\n }\r\n \r\n\r\n return marker;\r\n }\r\n\r\n\r\n resetForm() {\r\n this.mobileSearch = '';\r\n this.passangerMobileSearch = '';\r\n this.driverFNameSearch = '';\r\n this.driverCodeSearch = '';\r\n this.passangerFNameSearch = '';\r\n this.tarikhTa = '';\r\n this.timeAz = '';\r\n this.timeTa = '';\r\n this.clearPoints();\r\n this.lstDriverPosMarker = [];\r\n }\r\n\r\n clearPoints() {\r\n this.lstDriverPosMarker?.forEach(m => {\r\n try {\r\n this.map.removemarker(m);\r\n\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n })\r\n \r\n }\r\n\r\n ngOnDestroy() {\r\n this.map.removeMap();\r\n }\r\n\r\n getOriginAddressDesc(lat: any, lng: any) {\r\n var s = this.taxiSerivce.getAddressFromLocation(lat, lng);\r\n s.subscribe(_res => {\r\n this.originPoint.desc = _res;\r\n });\r\n }\r\n\r\n\r\n\r\n map_Click(cordinates: any) {\r\n\r\n\r\n\r\n }\r\n\r\n gotoOrigin() {\r\n\r\n }\r\n\r\n\r\n moveMapEvent(evt: any) {\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(evt.location[0], evt.location[1]));\r\n }\r\n }\r\n\r\n moveEndMapEvent(evt: any) {\r\n //if (this.CurrentState == PageState.OriginDefine) {\r\n // this.getOriginAddressDesc(evt.location[0], evt.location[1]);\r\n //}\r\n //else if (this.CurrentState == PageState.DestinationDefine) {\r\n // var s = this.taxiSerivce.getAddressFromLocation(evt.location[0], evt.location[1]);\r\n // s.subscribe(_res => {\r\n // this.destinationPoint.desc = _res;\r\n // });\r\n //}\r\n\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(evt.location[0], evt.location[1]));\r\n }\r\n }\r\n\r\n setEmptyStation() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n //console.log('ngAfterViewInit');\r\n\r\n\r\n\r\n }\r\n\r\n}\r\n\r\n","export default \"mat-card {\\n margin: 1rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvb3BlcmF0b3JzL29wZXJhdG9ycy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQUE7QUFDRiIsImZpbGUiOiJzcmMvYXBwL2NhbGwtY2VudGVyL29wZXJhdG9ycy9vcGVyYXRvcnMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJtYXQtY2FyZCB7XHJcbiAgbWFyZ2luOiAxcmVtO1xyXG59XHJcbiJdfQ== */\";","import {Component, OnInit, TemplateRef, ViewChild} from '@angular/core';\r\nimport {OperatorService} from '../../lib/serviceLib/operatorservice.service';\r\nimport {IOperator} from '../../lib/interfaces/operator';\r\nimport {MatDialog} from '@angular/material/dialog';\r\nimport { FormMode } from '../../lib/enums/form-mode.enum';\r\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport {ConfirmDialogComponent} from '../../shared/confirm-dialog/confirm-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-operators',\r\n templateUrl: './operators.component.html',\r\n styleUrls: ['./operators.component.scss']\r\n})\r\nexport class OperatorsComponent implements OnInit {\r\n @ViewChild('operatorDialog', {static: false}) operatorDialogTemplateRef: TemplateRef;\r\n operatorDialogRef: MatDialogRef;\r\n currentFormMode: FormMode;\r\n operatorFromGroup: FormGroup;\r\n operators: Partial[];\r\n currentEditingOperator: Partial;\r\n\r\n constructor(\r\n private operatorService: OperatorService,\r\n private matDialog: MatDialog,\r\n private matSnackbar: MatSnackBar\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.operatorService.getAll().subscribe(_res => {\r\n //console.log(_res);\r\n this.operators = _res;\r\n });\r\n\r\n this.operatorFromGroup = new FormGroup({\r\n mobile: new FormControl('', [Validators.required]),\r\n operatorName: new FormControl('', [Validators.required]),\r\n password: new FormControl('', [Validators.required]),\r\n username: new FormControl('', [Validators.required]),\r\n voipNo: new FormControl('', [Validators.required])\r\n });\r\n }\r\n\r\n get FormMode() {\r\n return FormMode;\r\n }\r\n\r\n openOperatorDialog(_mode: FormMode, _data?: Partial) {\r\n console.log('openOperatorDialog');\r\n this.currentFormMode = _mode;\r\n this.operatorFromGroup.reset();\r\n\r\n if (_mode === FormMode.Edit && _data) {\r\n this.currentEditingOperator = _data;\r\n this.operatorFromGroup.patchValue(this.currentEditingOperator);\r\n }\r\n\r\n this.operatorDialogRef = this.matDialog.open(this.operatorDialogTemplateRef, {\r\n hasBackdrop: true,\r\n width: '360px'\r\n });\r\n }\r\n\r\n delete(_data: Partial) {\r\n const confirmRef = this.matDialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مطمئن هستید کاربر «' + _data.operatorName + '» حذف شود؟',\r\n buttonText: {\r\n ok: 'بله',\r\n cancel: 'خیر'\r\n }\r\n }\r\n });\r\n\r\n confirmRef.afterClosed().subscribe(_confirmed => {\r\n if (_confirmed) {\r\n this.operatorService.delete(_data.id).subscribe(_res => {\r\n const index = this.operators.findIndex(_item => _item.id === _data.id);\r\n if (index > -1) {\r\n this.operators.splice(index, 1);\r\n }\r\n this.matSnackbar.open('اپراتور با شناسه ' + _data.id + ' حذف شد.', null, {duration: 5000});\r\n });\r\n }\r\n });\r\n }\r\n\r\n submit() {\r\n if (this.operatorFromGroup.valid) {\r\n const formValues: Partial = this.operatorFromGroup.value;\r\n\r\n if (this.currentFormMode === FormMode.Add) {\r\n\r\n this.operatorService.insert(formValues).subscribe(_id => {\r\n formValues.id = _id;\r\n this.operators.push(formValues);\r\n this.matSnackbar.open('اپراتور جدید با موفقیت افزوده شد.', null, {duration: 5000});\r\n });\r\n\r\n } else if (this.currentFormMode === FormMode.Edit) {\r\n\r\n this.currentEditingOperator.mobile = formValues.mobile;\r\n this.currentEditingOperator.operatorName = formValues.operatorName;\r\n this.currentEditingOperator.password = formValues.password;\r\n this.currentEditingOperator.username = formValues.username;\r\n this.currentEditingOperator.voipNo = formValues.voipNo;\r\n\r\n this.operatorService.update(this.currentEditingOperator).subscribe(_id => {\r\n this.matSnackbar.open('ویرایش اپراتور با موفقیت انجام شد.', null, {duration: 5000});\r\n });\r\n }\r\n\r\n this.operatorDialogRef.close();\r\n }\r\n }\r\n}\r\n","export default \".new-call {\\n display: flex;\\n padding: 1rem;\\n}\\n.new-call__col {\\n flex: 1 1 auto;\\n}\\n.map-container {\\n background-color: rgba(0, 0, 0, 0.1);\\n border-radius: 0.25rem;\\n margin-right: 1rem;\\n border: 4px solid #bbb;\\n}\\n.caller-form {\\n margin-top: 1rem;\\n}\\n.caller-form mat-form-field {\\n margin-left: 1rem;\\n}\\n.table-wrapper {\\n max-height: 250px;\\n overflow: auto;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvc2F2ZS1kcml2ZXItaW5mby9zYXZlLWRyaXZlci1pbmZvLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBQTtFQUNBLGFBQUE7QUFDRjtBQUNFO0VBQ0UsY0FBQTtBQUNKO0FBR0E7RUFDRSxvQ0FBQTtFQUNBLHNCQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtBQUFGO0FBR0E7RUFDRSxnQkFBQTtBQUFGO0FBRUU7RUFDRSxpQkFBQTtBQUFKO0FBSUE7RUFDRSxpQkFBQTtFQUNBLGNBQUE7QUFERiIsImZpbGUiOiJzcmMvYXBwL2NhbGwtY2VudGVyL3NhdmUtZHJpdmVyLWluZm8vc2F2ZS1kcml2ZXItaW5mby5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5uZXctY2FsbCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG5cclxuICAmX19jb2wge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4ubWFwLWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XHJcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gIGJvcmRlcjogNHB4IHNvbGlkICNiYmI7XHJcbn1cclxuXHJcbi5jYWxsZXItZm9ybSB7XHJcbiAgbWFyZ2luLXRvcDogMXJlbTtcclxuXHJcbiAgbWF0LWZvcm0tZmllbGQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgfVxyXG59XHJcblxyXG4udGFibGUtd3JhcHBlciB7XHJcbiAgbWF4LWhlaWdodDogMjUwcHg7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbiJdfQ== */\";","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { getDriverInfo } from '../../model/driver';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\n@Component({\r\n selector: 'app-save-driver-info',\r\n templateUrl: './save-driver-info.component.html',\r\n styleUrls: ['./save-driver-info.component.scss']\r\n})\r\nexport class SaveDriverInfoComponent implements OnInit {\r\n\r\n constructor(private driverService: DriverserviceService,) { }\r\n\r\n ngOnInit() {\r\n this.msg = '';\r\n this.callFormGroup = new FormGroup({\r\n nCode: new FormControl()\r\n \r\n });\r\n }\r\n submitCallForm() {\r\n \r\n }\r\n callFormGroup: FormGroup;\r\n driverInfo: getDriverInfo;\r\n driverFullName = new FormControl();\r\n driverMobile = new FormControl();\r\n getCall() {\r\n this.msg = '';\r\n this.driverService.getDriverByNCode(this.callFormGroup.value.nCode).subscribe(_res => {\r\n //console.log(_res);\r\n this.loadInfo(_res);\r\n }\r\n );\r\n }\r\n loadInfo(info: getDriverInfo) {\r\n this.msg = '';\r\n //console.log('loadinfo');\r\n //console.log(info);\r\n this.driverMobile.setValue(info.info.mobile);\r\n this.driverFullName.setValue(info.info.fName);\r\n }\r\n msg = '';\r\n saveInfo() {\r\n this.driverService.saveManualInfo(this.callFormGroup.value.nCode, this.driverMobile.value).subscribe(res => {\r\n //console.log(res);\r\n this.msg = res;\r\n });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhbGwtY2VudGVyL3NldG1hbnVhbGRyaXZlci9zZXRtYW51YWxkcml2ZXIuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, Inject, OnInit, Renderer2} from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { saveservicresultType } from '../../model/saveserviceresult';\r\nimport { ServiceRequest } from '../../model/ServiceRequest';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-setmanualdriver',\r\n templateUrl: './setmanualdriver.component.html',\r\n styleUrls: ['./setmanualdriver.component.scss']\r\n})\r\nexport class SetmanualdriverComponent implements OnInit {\r\n\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n private route: ActivatedRoute,\r\n private renderer2: Renderer2,\r\n private taxiSerivce: ServiceRequestService,\r\n @Inject(MAT_DIALOG_DATA) public data: { guidRequest: string, actionType:number },\r\n private currentServiceService: ServiceserviceService,\r\n private drvService: DriverserviceService,\r\n private matSnackbar: MatSnackBar,\r\n ) {\r\n this.actionType = this.data.actionType;\r\n if (this.actionType === 2)\r\n this.actionTypeName = 'ارسال پیشنهاد'\r\n else\r\n this.actionTypeName = 'تخصیص'\r\n\r\n }\r\n\r\n ngOnInit() {\r\n //console.log(this.data);\r\n //this.renderer2.selectRootElement('#driverCode').focus();\r\n this.loadRequestInfo(this.data.guidRequest);\r\n \r\n //if (this.driverCodeInput)\r\n // this.driverCodeInput.focus();\r\n }\r\n currentRequest: ServiceRequest = new ServiceRequest();\r\n loadRequestInfo(guid: any) {\r\n this.taxiSerivce.getRequestService(guid).subscribe(_res => {\r\n this.currentRequest = _res;\r\n //console.log(_res);\r\n });\r\n }\r\n driverCode = '';\r\n driverName = '';\r\n actionType = 1\r\n actionTypeName='تخصیص'\r\n accept() {\r\n //console.log('accept');\r\n this.currentServiceService.saveServiceManualByAdmin(this.data.guidRequest, this.driverCode, this.data.actionType).subscribe(res => {\r\n if (res.result == saveservicresultType.driverNotFound) {\r\n this.matSnackbar.open('سفر دیگری دارد.', \"\", { duration: 3000 });\r\n }\r\n else\r\n this.dialogRef.close('Accept');\r\n\r\n\r\n //console.log('accept finish'+res);\r\n });\r\n \r\n }\r\n\r\n reject() {\r\n this.dialogRef.close('Reject');\r\n }\r\n onBlurDriverCode(event: KeyboardEvent) {\r\n\r\n if (this.driverCode && this.driverCode != '') {\r\n this.drvService.getDriverByCode(this.driverCode).subscribe(res => { this.driverName = res; })\r\n }\r\n else {\r\n this.driverName = '';\r\n }\r\n \r\n }\r\n firstEnter = true;\r\n\r\n handleShortCut(event: KeyboardEvent) {\r\n if ((event.which == 13 || event.keyCode == 13)) {\r\n //console.log('enter pressed');\r\n if (this.firstEnter) {\r\n this.onBlurDriverCode(event);\r\n this.firstEnter = false;\r\n }\r\n else {\r\n this.accept();\r\n this.firstEnter = true;\r\n\r\n }\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","export default \"mat-card {\\n margin: 1rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2FsbC1jZW50ZXIvc3RhdGlvbmRldGFpbC9zdGF0aW9uZGV0YWlsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBQTtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY2FsbC1jZW50ZXIvc3RhdGlvbmRldGFpbC9zdGF0aW9uZGV0YWlsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsibWF0LWNhcmQge1xyXG4gIG1hcmdpbjogMXJlbTtcclxufVxyXG4iXX0= */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { IStationDetail } from '../../lib/interfaces/station-detail';\r\nimport { StationService } from '../../lib/serviceLib/stationdetailservice.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-stationdetail',\r\n templateUrl: './stationdetail.component.html',\r\n styleUrls: ['./stationdetail.component.scss']\r\n})\r\nexport class StationdetailComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private detailService: StationService, private route: ActivatedRoute,\r\n \r\n @Inject(MAT_DIALOG_DATA) public data: { stationID: number},\r\n \r\n ) {\r\n this.loadData(this.data.stationID);\r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n detailsList: Partial[] = [];\r\n loadData(sid : any) {\r\n this.detailService.getAll(sid).subscribe(res => {\r\n this.detailsList = res;\r\n });\r\n }\r\n\r\n onStationKeydown2(event: KeyboardEvent) {\r\n //if (event.key === \" \") {\r\n // this.dialogRef.close();\r\n // event.preventDefault();\r\n //}\r\n //console.log('onStationKeydown');\r\n //console.log(event);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, CanActivateChild, CanLoad, Route, UrlSegment, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../environments/environment';\r\nimport { DriverserviceService } from './lib/serviceLib/driverservice.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DriverGuardGuard implements CanActivate, CanActivateChild, CanLoad {\r\n constructor(private driverSerivce: DriverserviceService, private router: Router\r\n) {\r\n\r\n }\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return new Observable((observer) => {\r\n let guidDriver = localStorage.getItem(environment.cur_u_name);\r\n let guidToken = localStorage.getItem(environment.cur_u_tkn);\r\n console.log('guidDriver driver from session storage is ' + guidDriver);\r\n console.log('guidToken driver from session storage is ' + guidToken);\r\n\r\n this.driverSerivce.verifyToken(guidDriver, guidToken).subscribe(_res => {\r\n //console.log('getDriverBySuccessfuGUID on canActivate' );\r\n //console.log(_res);\r\n \r\n if (_res && _res.info)\r\n observer.next(true);\r\n else {\r\n console.log('can not activate');\r\n\r\n this.router.navigate(['driver/new'], { });\r\n observer.next(false);\r\n\r\n }\r\n });\r\n });\r\n }\r\n canActivateChild(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n return false;\r\n }\r\n canLoad(\r\n route: Route,\r\n segments: UrlSegment[]): Observable | Promise | boolean {\r\n return false;\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9jYWxsLWluZm8vY2FsbC1pbmZvLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-call-info',\r\n templateUrl: './call-info.component.html',\r\n styleUrls: ['./call-info.component.scss']\r\n})\r\nexport class CallInfoComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \".example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 0;\\n}\\n\\n.example-radio-button {\\n margin: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL2NhbmNlbGJ5ZHJpdmVyL2NhbmNlbGJ5ZHJpdmVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtBQUNGOztBQUVBO0VBQ0UsV0FBQTtBQUNGIiwiZmlsZSI6InNyYy9hcHAvZHJpdmVyL2NhbmNlbGJ5ZHJpdmVyL2NhbmNlbGJ5ZHJpdmVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtcmFkaW8tZ3JvdXAge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBtYXJnaW46IDE1cHggMDtcclxufVxyXG5cclxuLmV4YW1wbGUtcmFkaW8tYnV0dG9uIHtcclxuICBtYXJnaW46IDVweDtcclxufVxyXG4iXX0= */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Service } from '../../model/service';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\n@Component({\r\n selector: 'app-cancelbydriver',\r\n templateUrl: './cancelbydriver.component.html',\r\n styleUrls: ['./cancelbydriver.component.scss']\r\n})\r\nexport class CancelbydriverComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: { guidService: string, serviceInfo: Service },\r\n private router: Router,\r\n private serviceutil: ServiceserviceService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.loadData();\r\n }\r\n favoriteSeason: string;\r\n seasons = [{ name: 'درخواست تلفنی مسافر', value: 10 }];\r\n loadData() {\r\n //console.log(this.data.serviceInfo.createDateTime);\r\n\r\n var today = new Date();\r\n var serviceDate = new Date(this.data.serviceInfo.createDateTime);\r\n var diffMs = (today.getTime() - serviceDate.getTime() ); // milliseconds between now & Christmas\r\n var diffMins = Math.round(((diffMs % 86400000) % 3600000) / 60000); // minutes\r\n if (diffMins > 8) {\r\n this.seasons.push({ name: 'عدم مراجعه بعد از مهلت مقرر', value: 9 });\r\n }\r\n //console.log('diffMins is ' + diffMins);\r\n this.seasons.push({ name: 'عدم امکان سرویس دهی از سوی راننده', value: 12 });\r\n\r\n }\r\n closeform() {\r\n this.dialogRef.close('Close');\r\n }\r\n cancel() {\r\n this.serviceutil.cancelService(this.data.guidService, this.favoriteSeason).subscribe(res => {\r\n \r\n this.dialogRef.close('CancelTrip');\r\n });\r\n\r\n\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9jb25maXJtLWluZm8vY29uZmlybS1pbmZvLmNvbXBvbmVudC5jc3MifQ== */\";","import { Component, OnInit, SecurityContext } from '@angular/core';\r\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { Car } from '../../model/car';\r\nimport { Driver } from '../../model/driver';\r\nimport { ErrorOutput } from '../../model/enumtype';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { environment } from '../../../environments/environment.prod';\r\n\r\n@Component({\r\n selector: 'app-confirm-info',\r\n templateUrl: './confirm-info.component.html',\r\n styleUrls: ['./confirm-info.component.css']\r\n})\r\nexport class ConfirmInfoComponent implements OnInit {\r\n\r\n constructor(private sanitizer: DomSanitizer, private route: ActivatedRoute, private router: Router, private driverService: DriverserviceService) {\r\n this.driverInfo = new Driver();\r\n this.carInfo = new Car();\r\n this.route.queryParams.subscribe(params => {\r\n this.guid = params['guid'];\r\n //console.warn('receive guid is :' + this.guid);\r\n this.loadDriverInfo(this.guid);\r\n });\r\n }\r\n driverInfo: Driver;\r\n carInfo: Car;\r\n guid: string;\r\n avatar: any;\r\n ngOnInit() {\r\n\r\n\r\n }\r\n currentguid = '';\r\n base64Image : any ;\r\n loadDriverInfo(guid : any) {\r\n this.currentguid = guid;\r\n this.driverService.getDriverBySuccessfuGUID(guid).subscribe(_res => {\r\n if (_res) {\r\n //console.log('loadDriverInfo guid ' + guid);\r\n this.driverInfo = _res.info;\r\n this.carInfo = _res.car;\r\n //const token = _res.headers.get('cur-token')\r\n\r\n localStorage.setItem(environment.cur_u_tkn, _res.tk);\r\n console.log('localStorage.setItem(environment.cur_u_tkn, _res.tk);')\r\n console.log('cur_u_tkn is ');\r\n console.log(localStorage.getItem(environment.cur_u_tkn));\r\n\r\n localStorage.setItem(environment.cur_u_name, guid);\r\n\r\n\r\n //console.log(this.driverInfo.currentStatus);\r\n //console.log(this.driverInfo.guid);\r\n\r\n\r\n\r\n\r\n let url = \"data:image/png;base64, \" + this.driverInfo.avatar;\r\n this.base64Image = this.sanitizer.bypassSecurityTrustHtml(url);\r\n\r\n this.avatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + this.driverInfo.avatar);\r\n //console.log('deviceId is ' + localStorage.getItem(environment.cur_fbsToken));\r\n //console.log('after avatar');\r\n //console.log(_res.errorCode?.toString());\r\n\r\n //this.avatar = this.sanitizer.sanitize(SecurityContext.RESOURCE_URL, this.sanitizer.bypassSecurityTrustResourceUrl(url)) ;\r\n //console.warn(this.avatar);\r\n if (_res.errorCode != ErrorOutput.None) {\r\n //console.log('goto home page 1');\r\n\r\n this.router.navigate(['driver/new'], {});\r\n }\r\n //else if (this.driverInfo != null && this.driverInfo.confirmInfoByOperator) {\r\n else if (this.driverInfo != null) {\r\n //console.log('go to station');\r\n\r\n this.router.navigate(['driver/test'], { queryParams: { guid: guid } });\r\n }\r\n //else if (this.driverInfo != null ) {\r\n // //console.warn('navigagte to station with ' + this.driverInfo.guid);\r\n // this.router.navigate(['driver/waitconfirm'], { queryParams: { guid: guid} });\r\n //}\r\n }\r\n else {\r\n //console.log('result is null');\r\n\r\n this.router.navigate(['driver/new'], {});\r\n }\r\n });\r\n }\r\n notconfirm() {\r\n this.driverService.setSuccessfullResult(this.guid, false).subscribe(_res => { });\r\n this.router.navigate(['driver/mismatch'], {});\r\n }\r\n confirm() {\r\n this.driverService.setSuccessfullResult(this.guid, true).subscribe(_res => { })\r\n this.router.navigate(['driver/waitconfirm'], { queryParams: { guid: this.currentguid } });\r\n\r\n }\r\n \r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9kcml2ZXItbG9nL2RyaXZlci1sb2cuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { DriverLog } from '../../model/driver';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\n\r\n@Component({\r\n selector: 'app-driver-log',\r\n templateUrl: './driver-log.component.html',\r\n styleUrls: ['./driver-log.component.scss']\r\n})\r\nexport class DriverLogComponent implements OnInit {\r\n \r\n filteredList: DriverLog[] = [];\r\n dataSource = new MatTableDataSource(this.filteredList);\r\n driverID = 0;\r\n \r\n constructor(\r\n private driverService: DriverserviceService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { driverID: number },\r\n )\r\n {\r\n this.driverID = this.data.driverID;\r\n this.driverService.getAllLog(this.driverID).subscribe(res => {\r\n //console.log(res);\r\n //console.log(this.driverID);\r\n this.filteredList = res;\r\n this.dataSource = new MatTableDataSource(this.filteredList);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n displayedColumns: string[] = ['position', 'persianDate', 'eventTime', 'logTypeName', 'logMessage'];\r\n selectedRowIndex = -1;\r\n selectedElement: DriverLog = null;\r\n highlight(row : any) {\r\n //console.log('highlight' + row.id);\r\n this.selectedRowIndex = row.id;\r\n this.selectedElement = row;\r\n\r\n }\r\n\r\n\r\n}\r\n","export default \".mandePositive {\\r\\n color: green;\\r\\n}\\r\\n\\r\\n.mandeNegative {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.mandePositiveDIV {\\r\\n color: green;\\r\\n background-color: #d8ff9c;\\r\\n width:90%;\\r\\n}\\r\\n\\r\\n.mandeNegativeDIV {\\r\\n color: red;\\r\\n background-color: #eac9c9;\\r\\n width: 90%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL2RyaXZlci1tZW51L2RyaXZlci1tZW51LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxVQUFVO0FBQ1o7O0FBR0E7RUFDRSxZQUFZO0VBQ1oseUJBQXlCO0VBQ3pCLFNBQVM7QUFDWDs7QUFFQTtFQUNFLFVBQVU7RUFDVix5QkFBeUI7RUFDekIsVUFBVTtBQUNaIiwiZmlsZSI6InNyYy9hcHAvZHJpdmVyL2RyaXZlci1tZW51L2RyaXZlci1tZW51LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWFuZGVQb3NpdGl2ZSB7XHJcbiAgY29sb3I6IGdyZWVuO1xyXG59XHJcblxyXG4ubWFuZGVOZWdhdGl2ZSB7XHJcbiAgY29sb3I6IHJlZDtcclxufVxyXG5cclxuXHJcbi5tYW5kZVBvc2l0aXZlRElWIHtcclxuICBjb2xvcjogZ3JlZW47XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZmY5YztcclxuICB3aWR0aDo5MCU7XHJcbn1cclxuXHJcbi5tYW5kZU5lZ2F0aXZlRElWIHtcclxuICBjb2xvcjogcmVkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWM5Yzk7XHJcbiAgd2lkdGg6IDkwJTtcclxufVxyXG4iXX0= */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatBottomSheet, MatBottomSheetRef, MAT_BOTTOM_SHEET_DATA } from '@angular/material/bottom-sheet';\r\n\r\n@Component({\r\n selector: 'app-driver-menu',\r\n templateUrl: './driver-menu.component.html',\r\n styleUrls: ['./driver-menu.component.css']\r\n})\r\nexport class DriverMenuComponent implements OnInit {\r\n\r\n constructor(private _bottomSheetRef: MatBottomSheetRef,\r\n @Inject(MAT_BOTTOM_SHEET_DATA) public data: any\r\n ) {\r\n console.log(data);\r\n this.Mande = data.mande;\r\n this.MandeString = data.mandeString;\r\n }\r\n \r\n ngOnInit(): void {\r\n }\r\n Mande = 0;\r\n MandeString = '';\r\n itemClick(itemName) {\r\n this._bottomSheetRef.dismiss(itemName);\r\n }\r\n\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9kcml2ZXJtaXNtbWF0Y2gvZHJpdmVybWlzbW1hdGNoLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-drivermismmatch',\r\n templateUrl: './drivermismmatch.component.html',\r\n styleUrls: ['./drivermismmatch.component.scss']\r\n})\r\nexport class DrivermismmatchComponent implements OnInit {\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n notconfirm() {\r\n this.router.navigate(['driver/new'], {});\r\n //console.warn('goto home page 2');\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9leGl0YWxhcm0vZXhpdGFsYXJtLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-exitalarm',\r\n templateUrl: './exitalarm.component.html',\r\n styleUrls: ['./exitalarm.component.scss']\r\n})\r\nexport class ExitalarmComponent implements OnInit, OnDestroy {\r\n\r\n constructor(private router: Router,) {\r\n\r\n }\r\n ngOnDestroy(): void {\r\n if (this.schedulJon) {\r\n clearInterval(this.schedulJon);\r\n }\r\n }\r\n untilSecond = 0;\r\n dtOutOfRange: any;\r\n schedulJon: any;\r\n ngOnInit() {\r\n this.dtOutOfRange = new Date()\r\n this.schedulJon = setInterval(() => {\r\n this.check();\r\n }, 1000);\r\n\r\n }\r\n check() {\r\n \r\n const diff = Math.abs((new Date()).getTime() - this.dtOutOfRange);\r\n //console.log(diff);\r\n if (diff > 3 * 60 * 1000) {\r\n this.ok();\r\n }\r\n else {\r\n this.untilSecond = parseInt(((3 * 60 * 1000 - diff) / 1000).toString());\r\n }\r\n }\r\n\r\n\r\n ok() {\r\n this.router.navigate(['/lauchercall/setact'], {\r\n queryParams: {\r\n act: 'close'\r\n }\r\n });\r\n }\r\n}\r\n","export default \".form-title {\\n margin-top: 0px !important;\\n margin-bottom: 0px !important;\\n}\\n\\n.div_50 {\\n width: 49%;\\n display: inline-block;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL2ZpbmlzaHNlcnZpY2UvZmluaXNoc2VydmljZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDBCQUFBO0VBQ0EsNkJBQUE7QUFDRjs7QUFDQTtFQUVJLFVBQUE7RUFDQSxxQkFBQTtBQUNKIiwiZmlsZSI6InNyYy9hcHAvZHJpdmVyL2ZpbmlzaHNlcnZpY2UvZmluaXNoc2VydmljZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mb3JtLXRpdGxlIHtcclxuICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxufVxyXG4uZGl2XzUwXHJcbntcclxuICAgIHdpZHRoOjQ5JTtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG59XHJcbiJdfQ== */\";","import {Component, Inject, OnInit} from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ServiceState } from '../../globalVariable';\r\nimport { WebSocketService } from '../../lib/web-socket.service';\r\nimport { Service } from '../../model/service';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\n\r\n@Component({\r\n selector: 'app-finishservice',\r\n templateUrl: './finishservice.component.html',\r\n styleUrls: ['./finishservice.component.scss']\r\n})\r\nexport class FinishserviceComponent implements OnInit {\r\n passengersCount = 1;\r\n satisfaction = 3;\r\n totalCollected = 1234;\r\n //price = 0;\r\n inputGuid=''\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private requestSerivce: ServiceRequestService,\r\n private serviceService: ServiceserviceService,\r\n private socketService: WebSocketService,\r\n public dialogRef: MatDialogRef,\r\n private matSnackbar: MatSnackBar,\r\n @Inject(MAT_DIALOG_DATA) public data: {\r\n guid: string, destination: string,\r\n price: number,\r\n comment:string\r\n}\r\n ) {\r\n this.inputGuid = data.guid;\r\n \r\n if (data.price > 0)\r\n this.price.setValue(data.price);\r\n \r\n this.comment.setValue(data.comment);\r\n this.destination.setValue(data.destination);\r\n }\r\n price = new FormControl('', [Validators.required, Validators.min(40000)]);\r\n \r\n anam = new FormControl('', []);\r\n comment = new FormControl('', []);\r\n destination = new FormControl('', []);\r\n ngOnInit() {\r\n \r\n this.loadData(this.inputGuid);\r\n \r\n }\r\n currentService = new Service()\r\n guidService=''\r\n loadData(guid : any) {\r\n this.guidService = guid;\r\n this.serviceService.getService(this.guidService).subscribe(_res => {\r\n this.currentService = _res;\r\n });\r\n\r\n }\r\n \r\n\r\n setFinish() {\r\n\r\n if (!this.price.value) {\r\n this.matSnackbar.open('مبلغ کرایه را وارد نمایید', null, { duration: 1500 });\r\n return;\r\n\r\n }\r\n\r\n\r\n if (parseInt(this.price.value) < 40000) {\r\n this.matSnackbar.open('مبلغ کرایه صحیح نمی باشد', null, { duration: 1500 });\r\n return;\r\n }\r\n\r\n //console.log('setFinish' + this.price.value)\r\n this.serviceService.UpdateFinishWithDestination(this.currentService.serviceGUID, this.price.value, this.anam.value, this.destination.value, this.comment.value).subscribe(\r\n _res => {\r\n this.currentService.serviceState = ServiceState.Finished;\r\n this.dialogRef.close(this.price.value);\r\n },\r\n error => {\r\n this.matSnackbar.open('اطلاعات وارد شده صحیح نمی باشد', null, { duration: 1500 });\r\n\r\n }\r\n );\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9mcmVlc2VydmljZS9mcmVlc2VydmljZS5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ServiceRequest } from '../../model/ServiceRequest';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\n\r\n@Component({\r\n selector: 'app-freeservice',\r\n templateUrl: './freeservice.component.html',\r\n styleUrls: ['./freeservice.component.scss']\r\n})\r\nexport class FreeserviceComponent implements OnInit, OnDestroy {\r\n list: ServiceRequest[];\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private route: ActivatedRoute,\r\n private taxiSerivce: ServiceRequestService,\r\n @Inject(MAT_DIALOG_DATA) public data: { guidRequest: string }) {\r\n\r\n }\r\n ngOnDestroy() {\r\n if (this.schedulJon) {\r\n clearInterval(this.schedulJon);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.loadRequestInfo(this.data.guidRequest);\r\n }\r\n msg = 'در حال بروزرسانی سفرهای آزاد';\r\n schedulJon: any;\r\n loadRequestInfo(guid: any) {\r\n this.msg = 'در حال بروزرسانی سفرهای آزاد';\r\n this.taxiSerivce.getFreeService(guid).subscribe(_res => {\r\n \r\n this.list = _res;\r\n if (this.list && this.list.length > 0)\r\n this.msg = '';\r\n else\r\n this.msg = 'سفر آزادی وجود ندارد';\r\n this.schedulJon = setTimeout(() => { this.loadRequestInfo(guid) }, 10000);\r\n });\r\n }\r\n \r\n\r\n accept() {\r\n this.dialogRef.close('');\r\n }\r\n\r\n reject() {\r\n this.dialogRef.close('');\r\n }\r\n closeform() {\r\n this.dialogRef.close('');\r\n }\r\n showproposed(q: any) {\r\n clearInterval(this.schedulJon);\r\n this.dialogRef.close(q.requestGUID);\r\n \r\n \r\n }\r\n}\r\n","export default \".bottomDiv {\\n padding: 1rem;\\n background-color: white;\\n text-align: center;\\n position: absolute;\\n bottom: 0px;\\n width: calc(98% - 6px);\\n z-index: 99999;\\n left: 0px;\\n}\\n\\napp-taximap {\\n display: block;\\n height: calc(100vh - 96px);\\n width: calc(100% - 3px);\\n}\\n\\n.cdk-overlay-container {\\n z-index: 99999999 !important;\\n}\\n\\n.lbl {\\n font-weight: bolder;\\n font-size: 18px;\\n}\\n\\n.marginzero {\\n margin: 0px !important;\\n}\\n\\n.rightSpace {\\n padding-left: 15px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL2dvb3JpZ2luL2dvb3JpZ2luLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxzQkFBQTtFQUNBLGNBQUE7RUFDQSxTQUFBO0FBQ0Y7O0FBQ0E7RUFDRSxjQUFBO0VBQ0EsMEJBQUE7RUFDQSx1QkFBQTtBQUVGOztBQUNBO0VBQ0UsNEJBQUE7QUFFRjs7QUFHQTtFQUNJLG1CQUFBO0VBQ0EsZUFBQTtBQUFKOztBQUVBO0VBRUksc0JBQUE7QUFBSjs7QUFFQTtFQUVJLGtCQUFBO0FBQUoiLCJmaWxlIjoic3JjL2FwcC9kcml2ZXIvZ29vcmlnaW4vZ29vcmlnaW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYm90dG9tRGl2IHtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgd2lkdGg6IGNhbGMoOTglIC0gNnB4KTtcclxuICB6LWluZGV4OiA5OTk5OTtcclxuICBsZWZ0OiAwcHg7XHJcbn1cclxuYXBwLXRheGltYXAge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDk2cHgpO1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzcHgpO1xyXG59XHJcblxyXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHtcclxuICB6LWluZGV4OiA5OTk5OTk5OSAhaW1wb3J0YW50O1xyXG4gIFxyXG59XHJcblxyXG5cclxuLmxibHtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGRlcjtcclxuICAgIGZvbnQtc2l6ZToxOHB4O1xyXG59XHJcbi5tYXJnaW56ZXJvXHJcbntcclxuICAgIG1hcmdpbjowcHggIWltcG9ydGFudDtcclxufVxyXG4ucmlnaHRTcGFjZVxyXG57XHJcbiAgICBwYWRkaW5nLWxlZnQ6MTVweDtcclxufVxyXG4iXX0= */\";","import { ActivatedRoute, Router } from '@angular/router';\r\nimport { ServiceState } from '../../globalVariable';\r\nimport { WebSocketService } from '../../lib/web-socket.service';\r\nimport { Service } from '../../model/service';\r\nimport { ServiceRequest } from '../../model/ServiceRequest';\r\nimport { NotificationModel, SocketMessageType } from '../../model/socketmodels';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { Component, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatBottomSheet, MatBottomSheetConfig } from '@angular/material/bottom-sheet';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { TaximapComponent } from '../../taximap/taximap.component';\r\nimport { MarkerType } from '../../lib/markerHelper';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FinishserviceComponent } from '../finishservice/finishservice.component';\r\nimport { Location } from '@angular/common';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { TaxiserviceService } from '../../taxiservice.service';\r\nimport { CancelbydriverComponent } from '../cancelbydriver/cancelbydriver.component';\r\nimport { environment } from '../../../environments/environment.prod';\r\n\r\n@Component({\r\n selector: 'app-goorigin',\r\n templateUrl: './goorigin.component.html',\r\n styleUrls: ['./goorigin.component.scss']\r\n})\r\nexport class GooriginComponent implements OnInit, OnDestroy {\r\n showBottomDiv = true;\r\n\r\n currentService = new Service()\r\n currentRequest = new ServiceRequest()\r\n guidService = ''\r\n CurrentState: ServiceState;\r\n dialogfinishRef: MatDialogRef;\r\n guidDriver = '';\r\n showDetails = true;\r\n @ViewChild('qwe', { static: true }) template: TemplateRef;\r\n\r\n\r\n @ViewChild(\"map\", { static: false })\r\n public map: TaximapComponent;\r\n\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private requestSerivce: ServiceRequestService,\r\n private serviceService: ServiceserviceService,\r\n private socketService: WebSocketService,\r\n readonly bottomSheet: MatBottomSheet,\r\n private sanitizer: DomSanitizer,\r\n private dialog: MatDialog,\r\n private _location: Location,\r\n private stationSerivce: StationserviceService,\r\n private matSnackbar: MatSnackBar,\r\n private taxiService: TaxiserviceService,\r\n ) {\r\n\r\n\r\n //this.socketService.meesageList$.subscribe(announcement => {\r\n // if (announcement) {\r\n // this.processReceivedSocketMessage(announcement);\r\n // }\r\n //});\r\n }\r\n ngAfterViewInit() {\r\n \r\n }\r\n ngOnInit() {\r\n this.open({\r\n panelClass: 'bottom-sheet-overflow'\r\n });\r\n this.CurrentState = ServiceState.GotoOrigin;\r\n this.route.queryParams.subscribe(params => {\r\n this.loadData(params['guid']);\r\n this.guidDriver = localStorage.getItem(environment.cur_u_name);\r\n console.log(\"Guid Driver is : \" + this.guidDriver);\r\n const state = params['state'];\r\n ////console.log('state');\r\n //console.log(state);\r\n\r\n if (state == 3) {\r\n this.matSnackbar.open('اطلاعات سفر ویرایش گردید.', null, { duration: 2000 });\r\n return;\r\n }\r\n\r\n\r\n\r\n\r\n });\r\n }\r\n open(config?: MatBottomSheetConfig) {\r\n //return this.bottomSheet.open(this.template, config);\r\n }\r\n\r\n updateCurrentState(state: ServiceState) {\r\n this.checkState();\r\n this.CurrentState = state;\r\n this.serviceService.updateServiceState(this.currentService.serviceGUID, this.CurrentState).subscribe(_res => {\r\n this.currentService.serviceState = this.CurrentState;\r\n this.notifyServiceStateChange(this.currentService.serviceGUID, this.CurrentState);\r\n });\r\n }\r\n receiveOrigin() {\r\n this.updateCurrentState(ServiceState.OriginReceived)\r\n }\r\n arrivePassanger() {\r\n this.updateCurrentState(ServiceState.PassangerArrived)\r\n }\r\n finishedService() {\r\n ////console.log('finishedService');\r\n this.bottomSheet.dismiss();\r\n this.showBottomDiv = false;\r\n //this.router.navigate(['service/finish'], { queryParams: { guid: this.guidService } });\r\n this.dialogfinishRef = this.dialog.open(FinishserviceComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n disableClose: true,\r\n data: {\r\n guid: this.guidService,\r\n destination: this.currentRequest.destinationAddr,\r\n price: this.currentRequest.price,\r\n comment: this.currentRequest.requestComment\r\n\r\n }\r\n });\r\n this.dialogfinishRef.afterClosed().subscribe((result : any) => {\r\n //this.updateCurrentState(ServiceState.Finished);\r\n this.showBottomDiv = true;\r\n console.clear();\r\n console.log(\"Guid Driver is : \" + this.guidDriver);\r\n\r\n this.router.navigate(['driver/test'], { queryParams: { guid: this.guidDriver } });\r\n \r\n });\r\n\r\n }\r\n showState(state: string): boolean {\r\n return (this.CurrentState == ServiceState.Finished && state == 'Finished') || (this.CurrentState == ServiceState.GotoOrigin && state == 'GotoOrigin') || (this.CurrentState == ServiceState.DriverFound && state == 'GotoOrigin')\r\n || (this.CurrentState == ServiceState.PassangerArrived && state == 'PassangerArrived') || (this.CurrentState == ServiceState.OriginReceived && state == 'OriginReceived');\r\n }\r\n correctPhone(phone:string): string {\r\n if (!phone || phone === '')\r\n return 'ثبت نشده';\r\n else if (phone.indexOf('3') == 0 && phone.length == 8)\r\n return '051' + phone;\r\n else if (phone.indexOf('9') == 0 && phone.length == 10)\r\n return '0' + phone;\r\n else\r\n return phone;\r\n\r\n\r\n\r\n \r\n }\r\n\r\n callMobile = '';\r\n loadData(guid : any) {\r\n \r\n this.guidService = guid;\r\n this.serviceService.getService(this.guidService).subscribe(_res => {\r\n ////console.log('loadData response is : ');\r\n //console.log(_res);\r\n\r\n this.currentService = _res;\r\n this.currentService.safedriverAvatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + this.currentService.driverAvatar);\r\n\r\n this.requestSerivce.getRequestServiceByID(this.currentService.requestID).subscribe(_resReq => {\r\n console.log(this.currentRequest);\r\n this.currentRequest = _resReq;\r\n console.log(this.currentRequest);\r\n if (!this.currentRequest.typePardakhtName || this.currentRequest.typePardakhtName == '')\r\n this.currentRequest.typePardakhtName = 'نقدی';\r\n\r\n if (this.currentRequest.passangerMobile && this.currentRequest.passangerMobile.length > 2)\r\n this.callMobile = this.correctPhone(this.currentRequest.passangerMobile);\r\n else if (this.currentRequest.telIDCaller && this.currentRequest.telIDCaller.length > 2)\r\n this.callMobile = this.correctPhone(this.currentRequest.telIDCaller);\r\n this.showmapdetails();\r\n });\r\n this.checkState(true);\r\n\r\n });\r\n\r\n }\r\n public notifyServiceStateChange(guid: any, newState: ServiceState) {\r\n var typeMsg: SocketMessageType;\r\n switch (newState) {\r\n case ServiceState.OriginReceived:\r\n typeMsg = SocketMessageType.ServiceState_OriginReceived;\r\n break;\r\n case ServiceState.PassangerArrived:\r\n typeMsg = SocketMessageType.ServiceState_PassangerArrived;\r\n break;\r\n default:\r\n }\r\n //this.socketService.sendMessage(guid, SocketMessageType.ServiceState_OriginReceived);\r\n }\r\n openNeshan() {\r\n window.open(\"https://neshan.org/\", '_blank').focus();\r\n\r\n }\r\n dialogProposedServiceRef: MatDialogRef;\r\n cancel() {\r\n const showbot = this.showBottomDiv;\r\n this.showBottomDiv = false;\r\n this.dialogProposedServiceRef = this.dialog.open(CancelbydriverComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n guidService: this.guidService,\r\n serviceInfo : this.currentService\r\n }\r\n });\r\n this.dialogProposedServiceRef.afterClosed().subscribe(_confirmed => {\r\n this.showBottomDiv = showbot;\r\n if (_confirmed == 'CancelTrip')\r\n this.router.navigate(['driver/test'], { queryParams: { guid: this.guidDriver } });\r\n });\r\n }\r\n processReceivedSocketMessage(messageBox: NotificationModel) {\r\n //console.warn('msg is received')\r\n //console.warn(messageBox)\r\n switch (messageBox.msgType) {\r\n case SocketMessageType.GetClientInfo:\r\n break;\r\n }\r\n }\r\n checkState(setstate=false) {\r\n \r\n if (this.guidService) {\r\n \r\n this.taxiService.serviceGetLastState(this.guidService).subscribe(_res => {\r\n //console.log(_res);\r\n if (_res == 1001)\r\n {\r\n //console.log('اطلاعات سفر ویرایش گردید');\r\n this.loadData(this.guidService);\r\n this.matSnackbar.open('اطلاعات سفر ویرایش گردید', null, { duration: 3000 });\r\n \r\n }\r\n else if (_res >= 6) {\r\n //console.log(' service _res >= 6)');\r\n this.router.navigate(['driver/test'], { queryParams: { guid: this.guidDriver } });\r\n }\r\n else {\r\n if (setstate)\r\n this.CurrentState = _res;\r\n }\r\n ////console.log('checkState' + this.CurrentState+ ' res is ' + _res);\r\n });\r\n \r\n }\r\n else {\r\n ////console.log('checkState false');\r\n }\r\n }\r\n saveServiceInfo() {\r\n this.checkState();\r\n //console.log('updateServiceState');\r\n this.serviceService.updateServiceState(this.currentService.serviceGUID, this.CurrentState).subscribe(_res => {\r\n\r\n //console.log('updateServiceState subscribe ');\r\n this.currentService.serviceState = this.CurrentState;\r\n this.notifyServiceStateChange(this.currentService.serviceGUID, this.CurrentState);\r\n });\r\n }\r\n originMarker: any;\r\n destinationMarker: any;\r\n schedulJon: any;\r\n ngOnDestroy() {\r\n if (this.schedulJon) {\r\n clearInterval(this.schedulJon);\r\n }\r\n }\r\n showmapdetails() {\r\n this.checkState();\r\n //console.log(this.currentRequest);\r\n //console.log(this.currentService);\r\n this.originMarker = this.map.addMarker(this.currentRequest.originLat, this.currentRequest.originLng, MarkerType.origin);\r\n\r\n this.destinationMarker = this.map.addMarker(this.currentRequest.destinationLat, this.currentRequest.destinationLng, MarkerType.destination);\r\n ////console.log('this.destinationMarker');\r\n //console.log(this.destinationMarker);\r\n this.map.locate();\r\n this.schedulJon = setInterval(() => {\r\n this.schedulingupdatestatus();\r\n }, 15 * 1000);\r\n }\r\n schedulingupdatestatus() {\r\n //console.log('schedulingupdatestatus');\r\n this.checkState();\r\n this.map.locate(false, MarkerType.taxi);\r\n \r\n }\r\n openRouting() {\r\n this.checkState();\r\n var url = '';\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n}\r\n","export default \".container {\\n position: relative;\\n background: #eee;\\n height: 100vh;\\n width: 100vw;\\n display: flex;\\n align-items: center;\\n}\\n\\n.tag {\\n position: absolute;\\n left: 25vw;\\n top: 50vh;\\n z-index: 1000;\\n color: #FFFFFF;\\n background-color: #0646fb;\\n font-weight: bold;\\n font-size: 2vh;\\n font-family: IranYekan;\\n}\\n\\n.driver-confirm {\\n background-color: #fff;\\n width: 300px;\\n margin: auto;\\n}\\n\\n.driver-confirm__avatar {\\n width: 96px;\\n height: 116px;\\n -o-object-fit: cover;\\n object-fit: cover;\\n border-radius: 15%;\\n margin: 2rem auto 0 !important;\\n display: block;\\n}\\n\\n.driver-confirm__name {\\n font-size: 1.25rem;\\n text-align: center;\\n margin-top: 1rem;\\n}\\n\\n.driver-confirm__mobile {\\n text-align: center;\\n color: #888;\\n font-size: 14px;\\n}\\n\\n.driver-confirm__mid {\\n background-color: #282b3b;\\n color: #fff;\\n border-radius: 0.25rem;\\n padding: 0.75rem 1rem;\\n font-size: 12px;\\n margin-top: 1.5rem;\\n}\\n\\n.driver-confirm__plq {\\n padding: 0.5rem;\\n border-radius: 0.25rem;\\n margin: 1rem 0;\\n background: white;\\n text-align: center;\\n border: 2px solid #666;\\n font-size: 20px;\\n}\\n\\n.driver-confirm__car {\\n display: flex;\\n margin-top: 0.75rem;\\n}\\n\\n.driver-confirm__car-name, .driver-confirm__car-color {\\n flex: 1 0 50%;\\n text-align: center;\\n}\\n\\n.driver-confirm__car-color {\\n color: #888;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL2xvZ2luLWFwcC1uZXcvbG9naW4tYXBwLW5ldy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtBQUNGOztBQUVBO0VBQ0Usa0JBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLGFBQUE7RUFDQSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxzQkFBQTtBQUNGOztBQU1BO0VBQ0Usc0JBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtBQUhGOztBQU1BO0VBQ0UsV0FBQTtFQUNBLGFBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSw4QkFBQTtFQUNBLGNBQUE7QUFIRjs7QUFNQTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtBQUhGOztBQU1BO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtBQUhGOztBQU1BO0VBQ0UseUJBQUE7RUFDQSxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtBQUhGOztBQU1BO0VBQ0UsZUFBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtFQUNBLGVBQUE7QUFIRjs7QUFNQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtBQUhGOztBQU1BO0VBQ0UsYUFBQTtFQUNBLGtCQUFBO0FBSEY7O0FBTUE7RUFDRSxXQUFBO0FBSEYiLCJmaWxlIjoic3JjL2FwcC9kcml2ZXIvbG9naW4tYXBwLW5ldy9sb2dpbi1hcHAtbmV3LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQ6ICNlZWU7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICB3aWR0aDogMTAwdnc7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4udGFnIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMjV2dztcclxuICB0b3A6IDUwdmg7XHJcbiAgei1pbmRleDogMTAwMDtcclxuICBjb2xvcjogI0ZGRkZGRjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDY0NmZiO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGZvbnQtc2l6ZTogMnZoO1xyXG4gIGZvbnQtZmFtaWx5OiBJcmFuWWVrYW47XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4uZHJpdmVyLWNvbmZpcm0ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgd2lkdGg6IDMwMHB4O1xyXG4gIG1hcmdpbjogYXV0bztcclxufVxyXG5cclxuLmRyaXZlci1jb25maXJtX19hdmF0YXIge1xyXG4gIHdpZHRoOiA5NnB4O1xyXG4gIGhlaWdodDogMTE2cHg7XHJcbiAgLW8tb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogMTUlO1xyXG4gIG1hcmdpbjogMnJlbSBhdXRvIDAgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmRyaXZlci1jb25maXJtX19uYW1lIHtcclxuICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IDFyZW07XHJcbn1cclxuXHJcbi5kcml2ZXItY29uZmlybV9fbW9iaWxlIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY29sb3I6ICM4ODg7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uZHJpdmVyLWNvbmZpcm1fX21pZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4MmIzYjtcclxuICBjb2xvcjogI2ZmZjtcclxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xyXG4gIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xyXG59XHJcblxyXG4uZHJpdmVyLWNvbmZpcm1fX3BscSB7XHJcbiAgcGFkZGluZzogMC41cmVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XHJcbiAgbWFyZ2luOiAxcmVtIDA7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICM2NjY7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG59XHJcblxyXG4uZHJpdmVyLWNvbmZpcm1fX2NhciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xyXG59XHJcblxyXG4uZHJpdmVyLWNvbmZpcm1fX2Nhci1uYW1lLCAuZHJpdmVyLWNvbmZpcm1fX2Nhci1jb2xvciB7XHJcbiAgZmxleDogMSAwIDUwJTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5kcml2ZXItY29uZmlybV9fY2FyLWNvbG9yIHtcclxuICBjb2xvcjogIzg4ODtcclxufVxyXG4iXX0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SwUpdate } from '@angular/service-worker';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Car } from '../../model/car';\r\nimport { Driver } from '../../model/driver';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { ErrorOutput } from '../../model/enumtype';\r\n\r\n@Component({\r\n selector: 'app-login-app-new',\r\n templateUrl: './login-app-new.component.html',\r\n styleUrls: ['./login-app-new.component.scss']\r\n})\r\nexport class LoginAppNewComponent implements OnInit {\r\n\r\n constructor(private route: ActivatedRoute, private driverService: DriverserviceService, private router: Router, private swUpdate: SwUpdate,\r\n\r\n private sanitizer: DomSanitizer\r\n )\r\n {\r\n this.driverInfo = new Driver();\r\n this.carInfo = new Car();\r\n }\r\n \r\n driverInfo: Driver;\r\n carInfo: Car;\r\n avatar: any;\r\n base64Image: any;\r\n fbsToken = ''\r\n url=''\r\n ngOnInit() {\r\n //this.checkForUpdat();\r\n\r\n //var button = document.getElementById('btnClose');\r\n //button.onclick = () => this.TaxiOnPhone.resume();\r\n\r\n\r\n\r\n this.url = this.router.url;\r\n\r\n\r\n localStorage.removeItem(environment.is_created);\r\n this.route.queryParams.subscribe(params => {\r\n // save fbs hist\r\n this.driverService.saveLauncherInfo(params['oldid'], params['oldid'], params['version'] ).subscribe(_res => {});\r\n if (params['version'] && params['version'] != '') {\r\n localStorage.setItem(environment.currentversion, params['version']);\r\n }\r\n\r\n if (params['oldid'] && params['oldid'] != '') { \r\n localStorage.setItem(environment.old_fbsToken, params['oldid']);\r\n }\r\n if (params['uid'] && params['uid'] != '') {\r\n this.fbsToken = params['uid'];\r\n localStorage.setItem(environment.cur_fbsToken, params['uid']);\r\n var old_fbsToken = localStorage.getItem(environment.old_fbsToken);\r\n var cur_fbsToken = localStorage.getItem(environment.cur_fbsToken);\r\n var version = localStorage.getItem(environment.currentversion);\r\n //console.log('old' + old_fbsToken);\r\n //console.log('new' + cur_fbsToken);\r\n\r\n this.driverService.getDriverSuccessfullGUIDWithToken(cur_fbsToken, old_fbsToken, version).subscribe(_res => {\r\n console.log('this.driverService.getDriverSuccessfullGUIDWithToke');\r\n console.log(_res);\r\n if (_res) {\r\n localStorage.setItem(environment.cur_u_name, _res);\r\n this.loadDriverByCacheID(_res, true);\r\n }\r\n else {\r\n //var cachID = (localStorage.getItem(environment.cur_u_name));\r\n ////console.log('cachID');\r\n ////console.log(cachID);\r\n\r\n //if (cachID && cachID != '') {\r\n // //console.log('cachID exists' + cachID);\r\n // this.loadDriverByCacheID(cachID, false);\r\n //}\r\n //else {\r\n //console.log('cachID null');\r\n this.router.navigate(['driver/new'], {});\r\n }\r\n });\r\n }\r\n else {\r\n this.router.navigate(['driver/new'], {});\r\n }\r\n });\r\n }\r\n msg ='در حال بررسی مجوز ورود...'\r\n loadDriverByCacheID(cachID: any, set: boolean) {\r\n console.log('loadDriverByCacheID cachID:' + cachID + ' , set:' + set)\r\n this.driverService.getDriverBySuccessfuGUID(cachID).subscribe(_res => {\r\n console.log('this.driverService.getDriverBySuccessfuGUID');\r\n console.log(_res);\r\n if (_res.errorCode == ErrorOutput.None && _res.info) {\r\n if (set) {\r\n localStorage.setItem(environment.cur_u_tkn, _res.tk);\r\n console.log('set tk is '+_res.tk);\r\n }\r\n var fbsToken = (localStorage.getItem(environment.cur_fbsToken));\r\n var goConfirm = true;\r\n //console.log('fbsToken' + fbsToken);\r\n if (fbsToken) {\r\n\r\n this.driverService.getDriverFBSToken(fbsToken).subscribe(_res => {\r\n\r\n this.driverInfo = _res.info;\r\n this.carInfo = _res.car;\r\n\r\n let url = \"data:image/png;base64, \" + this.driverInfo.avatar;\r\n this.base64Image = this.sanitizer.bypassSecurityTrustHtml(url);\r\n\r\n this.avatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + this.driverInfo.avatar);\r\n this.msg = 'در حال ورود به برنامه...'\r\n console.log(this.avatar)\r\n if (_res.errorCode == ErrorOutput.None && _res.info) {\r\n goConfirm = false;\r\n setTimeout(() => {\r\n this.router.navigate(['driver/test'], { queryParams: { guidfbs: fbsToken, fbs: '1' } })\r\n }, 500);\r\n\r\n \r\n }\r\n else {\r\n this.router.navigate(['driver/new'], { queryParams: { guid: cachID } });\r\n }\r\n });\r\n }\r\n else {\r\n this.router.navigate(['driver/confirm'], { queryParams: { guid: cachID } });\r\n }\r\n }\r\n else {\r\n this.router.navigate(['driver/new'], {});\r\n }\r\n }, error => {\r\n this.router.navigate(['driver/new'], {});\r\n });\r\n\r\n }\r\n\r\n \r\n checkForUpdat() {\r\n this.swUpdate.available.subscribe(event => {\r\n location.reload();\r\n });\r\n }\r\n loadData(uid : any) {\r\n localStorage.setItem('cache_id_n', uid);\r\n //this.router.navigate(['driver/new'], { queryParams: { } });\r\n\r\n }\r\n close() {\r\n \r\n //console.log('close run 1');\r\n\r\n \r\n //this.libN.close();\r\n }\r\n \r\n //play() {\r\n \r\n // this.taxiOnPhone.resume();\r\n\r\n \r\n\r\n // console.log('play run 1');\r\n // //this.libN.resume();\r\n //}\r\n //stop() {\r\n \r\n // this.taxiOnPhone.cancel();\r\n\r\n // console.log('stop run 1');\r\n\r\n // //this.libN.cancel();\r\n //}\r\n\r\n\r\n}\r\n","export default \".example-form {\\n min-width: 150px;\\n max-width: 500px;\\n width: 100%;\\n}\\n\\n.example-full-width {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL2xvZ2luLXNoYWhyZW1hbi9sb2dpbi1zaGFocmVtYW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtBQUNGOztBQUVBO0VBQ0UsV0FBQTtBQUNGIiwiZmlsZSI6InNyYy9hcHAvZHJpdmVyL2xvZ2luLXNoYWhyZW1hbi9sb2dpbi1zaGFocmVtYW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1mb3JtIHtcclxuICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gIG1heC13aWR0aDogNTAwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5leGFtcGxlLWZ1bGwtd2lkdGgge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbiJdfQ== */\";","//import { renderFlagCheckIfStmt } from '@angular/compiler/src/render3/view/template';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SwUpdate } from '@angular/service-worker';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\n\r\n@Component({\r\n selector: 'app-login-shahreman',\r\n templateUrl: './login-shahreman.component.html',\r\n styleUrls: ['./login-shahreman.component.scss']\r\n})\r\n\r\nexport class LoginShahremanComponent implements OnInit {\r\n checkForUpdat() {\r\n this.swUpdate.available.subscribe(event => {\r\n\r\n \r\n location.reload();\r\n\r\n\r\n });\r\n }\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private driverService: DriverserviceService,\r\n private swUpdate: SwUpdate\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.checkForUpdat();\r\n this.route.queryParams.subscribe(params => {\r\n this.loadData(params['uid'],1);\r\n });\r\n this.url = this.router.url;\r\n\r\n\r\n }\r\n errorShow = false;\r\n checkagain() {\r\n this.loadData(this.currentuid,1);\r\n }\r\n\r\n url = '';\r\n currentuid = '';\r\n schedulJon: any;\r\n loadData(uid: any, counter: any) {\r\n this.currentuid = uid;\r\n this.driverService.handleShahremanToken(uid).subscribe(res => {\r\n if (res) {\r\n this.errorShow = false;\r\n if (res.errorCode == 0)\r\n // this.router.navigate(['/driver/verify'], { queryParams: { guidS: res.tempGuid, guidD: res.driverGUID } });\r\n this.router.navigate(['/driver/confirm'], { queryParams: { guid: res.tempGuid } });\r\n else\r\n this.router.navigate(['/driver/new'], { queryParams: {} });\r\n }\r\n else if (counter < 5) {\r\n this.errorShow = true;\r\n this.schedulJon = setTimeout(() => {\r\n this.loadData(uid, counter+1)\r\n }, 10 * 1000);\r\n }\r\n }\r\n );\r\n \r\n\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9sb2dvdXQvbG9nb3V0LmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from '../../../environments/environment.prod';\r\n\r\n@Component({\r\n selector: 'app-logout',\r\n templateUrl: './logout.component.html',\r\n styleUrls: ['./logout.component.scss']\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit() {\r\n localStorage.removeItem(environment.cur_u_name);\r\n this.router.navigate(['driver/new'], {});\r\n }\r\n\r\n}\r\n","export default \".parentMainDiv {\\n display: flex;\\n padding: 1rem;\\n}\\n.parentMainDiv__col {\\n flex: 1 1 auto;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL21hc3Rlci1kcml2ZXIvbWFzdGVyLWRyaXZlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQUE7RUFDQSxhQUFBO0FBQ0Y7QUFDRTtFQUNFLGNBQUE7QUFDSiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9tYXN0ZXItZHJpdmVyL21hc3Rlci1kcml2ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucGFyZW50TWFpbkRpdiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG5cclxuICAmX19jb2wge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgfVxyXG59XHJcbiJdfQ== */\";","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { DriverStatus } from '../../lib/enums/driver-status.enum';\r\nimport { Car } from '../../model/car';\r\nimport { Driver } from '../../model/driver';\r\nimport { Station } from '../../model/station';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\n\r\n@Component({\r\n selector: 'app-master-driver',\r\n templateUrl: './master-driver.component.html',\r\n styleUrls: ['./master-driver.component.scss']\r\n})\r\nexport class MasterDriverComponent implements OnInit {\r\n driverInfo = new Driver();\r\n avatar: any;\r\n carInfo = new Car();\r\n lstStation: Station[];\r\n currentStation = new Station();\r\n currentPriority = 0;\r\n constructor(\r\n private stationSerivce: StationserviceService,\r\n private _bottomSheet: MatBottomSheet,\r\n ) { }\r\n @ViewChild(\"drawer\", { static: false })\r\n public drawer: MatSidenav;\r\n\r\n @ViewChild(\"drawer2\", { static: false })\r\n public drawer2: MatSidenav;\r\n ngOnInit() {\r\n }\r\n toggleMenu() {\r\n //console.warn('toggleMenu');\r\n this.drawer.toggle();\r\n }\r\n showMenu2() {\r\n this.drawer2.open();\r\n this.drawer.close();\r\n }\r\n closeMenu2() {\r\n this.drawer2.close();\r\n this.drawer.open();\r\n }\r\n _currentDriverState: DriverStatus = DriverStatus.Off;\r\n showStation(stationInput: Station) {\r\n this.stationSerivce.getStation(stationInput.id).subscribe(item => {\r\n\r\n \r\n\r\n });\r\n }\r\n\r\n}\r\n","export default \".MenuItemBtn {\\n background-color: white;\\n color: black;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL21lbnUtZHJpdmVyL21lbnUtZHJpdmVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsdUJBQUE7RUFDQSxZQUFBO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9kcml2ZXIvbWVudS1kcml2ZXIvbWVudS1kcml2ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuTWVudUl0ZW1CdG4ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIGNvbG9yOiBibGFjaztcclxufVxyXG4iXX0= */\";","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-menu-driver',\r\n templateUrl: './menu-driver.component.html',\r\n styleUrls: ['./menu-driver.component.scss']\r\n})\r\nexport class MenuDriverComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9tZXNzZ2Flbm90aWYvbWVzc2dhZW5vdGlmLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-messgaenotif',\r\n templateUrl: './messgaenotif.component.html',\r\n styleUrls: ['./messgaenotif.component.scss']\r\n})\r\nexport class MessgaenotifComponent implements OnInit {\r\n\r\n constructor(private router: Router, private route: ActivatedRoute,) { }\r\n msg = 'درخواست شما توسط اپراتور لفو گردید'\r\n title='لغو سفر'\r\n ngOnInit() {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n if (params['code'] ) {\r\n var code = params['code'];\r\n if (code == 1) {\r\n this.msg = 'درخواست شما توسط اپراتور لفو گردید'\r\n this.title = 'لغو سفر'\r\n\r\n }\r\n else if (code == 2) {\r\n this.msg = 'اطلاعات سفر شما ویرایش گردید'\r\n this.title = 'ویرایش سفر'\r\n\r\n }\r\n else if (code == 3) {\r\n this.msg = 'مسافر در حال پیگیری سفر خود می باشد. با مسافر تماس گرفته شود'\r\n this.title = 'پیگیری سفر'\r\n\r\n }\r\n else if (code == 4) {\r\n this.msg = 'سفری توسط اپراتور به شما اختصاص داده شد'\r\n this.title = 'سفر جدید'\r\n\r\n }\r\n else {\r\n this.msg = 'درخواست شما توسط اپراتور لفو گردید'\r\n this.title = 'لغو سفر'\r\n\r\n }\r\n \r\n }\r\n //this.loadData(params['uid']);\r\n\r\n });\r\n\r\n\r\n }\r\n ok() {\r\n\r\n\r\n this.router.navigate(['/lauchercall/setact'], {\r\n queryParams: {\r\n act: 'close'\r\n }\r\n });\r\n }\r\n\r\n}\r\n","export default \":host {\\n display: flex;\\n flex-direction: column;\\n height: 100vh;\\n}\\n\\n.driver-information {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.driver-information__details {\\n margin-right: 1rem;\\n}\\n\\n.driver-information__name {\\n font-size: 1rem;\\n}\\n\\n.driver-information__status-label {\\n font-size: 0.875rem;\\n color: #888;\\n}\\n\\n.avatar {\\n position: relative;\\n width: 54px;\\n height: 54px;\\n}\\n\\n.avatar__image {\\n width: 100%;\\n height: 100%;\\n border-radius: 50%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.avatar__status {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: #fff;\\n border: 2px solid #fff;\\n}\\n\\n.car-info {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin-top: 0.5rem;\\n}\\n\\n.car-info__type {\\n margin-right: 0.5rem;\\n margin-left: auto;\\n}\\n\\n.car-info__id {\\n border: 2px solid rgba(0, 0, 0, 0.2);\\n border-radius: 4px;\\n padding: 0.125rem 0.5rem;\\n background-color: #eee;\\n}\\n\\n.spanPrice {\\n padding-right: 20px;\\n padding-left: 20px;\\n padding-top: 1px;\\n padding-bottom: 1px;\\n background-color: rgba(0, 0, 0, 0.2);\\n border-radius: 5px;\\n}\\n\\n.spanPriceEtebari {\\n background-color: #f93ad2 !important;\\n color: white;\\n font-weight: bolder;\\n}\\n\\n.spanDest {\\n font-weight: bolder;\\n}\\n\\n.rowDest {\\n display: flex;\\n flex-flow: row nowrap;\\n align-items: center;\\n}\\n\\n.redItem {\\n background-color: #ea6666;\\n}\\n\\n.greenItem {\\n background-color: #198b59;\\n}\\n\\n.mat-dialog-content {\\n max-height: 100vh;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL215dHJpcHMvbXl0cmlwcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGFBQUE7QUFDRjs7QUFFQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FBQ0Y7O0FBQ0U7RUFDRSxrQkFBQTtBQUNKOztBQUVFO0VBQ0UsZUFBQTtBQUFKOztBQUdFO0VBQ0UsbUJBQUE7RUFDQSxXQUFBO0FBREo7O0FBS0E7RUFDRSxrQkFBQTtFQUVBLFdBRE87RUFFUCxZQUZPO0FBRFQ7O0FBS0U7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBQUhKOztBQU1FO0VBQ0Usa0JBQUE7RUFDQSxPQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0FBSko7O0FBUUE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FBTEY7O0FBT0U7RUFDRSxvQkFBQTtFQUNBLGlCQUFBO0FBTEo7O0FBUUU7RUFDRSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0Esd0JBQUE7RUFDQSxzQkFBQTtBQU5KOztBQVVBO0VBQ0UsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0FBUEY7O0FBU0E7RUFDRSxvQ0FBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtBQU5GOztBQVlBO0VBQ0ksbUJBQUE7QUFUSjs7QUFXQTtFQUNFLGFBQUE7RUFDQSxxQkFBQTtFQUVBLG1CQUFBO0FBUkY7O0FBVUE7RUFBVSx5QkFBQTtBQU5WOztBQU9BO0VBQ0UseUJBQUE7QUFKRjs7QUFRQTtFQUNFLGlCQUFBO0FBTEYiLCJmaWxlIjoic3JjL2FwcC9kcml2ZXIvbXl0cmlwcy9teXRyaXBzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBoZWlnaHQ6IDEwMHZoO1xyXG59XHJcblxyXG4uZHJpdmVyLWluZm9ybWF0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgJl9fZGV0YWlscyB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgfVxyXG5cclxuICAmX19uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICB9XHJcblxyXG4gICZfX3N0YXR1cy1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgY29sb3I6ICM4ODg7XHJcbiAgfVxyXG59XHJcblxyXG4uYXZhdGFyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgJHNpemU6IDU0cHg7XHJcbiAgd2lkdGg6ICRzaXplO1xyXG4gIGhlaWdodDogJHNpemU7XHJcblxyXG4gICZfX2ltYWdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgfVxyXG5cclxuICAmX19zdGF0dXMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHdpZHRoOiA4cHg7XHJcbiAgICBoZWlnaHQ6IDhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xyXG4gIH1cclxufVxyXG5cclxuLmNhci1pbmZvIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAwLjVyZW07XHJcblxyXG4gICZfX3R5cGUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICB9XHJcblxyXG4gICZfX2lkIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuNXJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgfVxyXG59XHJcblxyXG4uc3BhblByaWNlIHtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxuICBwYWRkaW5nLXRvcDogMXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgYm9yZGVyLXJhZGl1czo1cHg7XHJcbn1cclxuLnNwYW5QcmljZUV0ZWJhcmkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDksIDU4LCAyMTApICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIGZvbnQtd2VpZ2h0OmJvbGRlcjtcclxufVxyXG5cclxuXHJcbi5zcGFuVGltZSB7XHJcbn1cclxuLnNwYW5EZXN0e1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZGVyO1xyXG59XHJcbi5yb3dEZXN0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcclxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLnJlZEl0ZW17IGJhY2tncm91bmQtY29sb3I6I2VhNjY2Nn1cclxuLmdyZWVuSXRlbSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5OGI1OVxyXG59XHJcbi5ub3JtYWxJdGVtIHtcclxufVxyXG4ubWF0LWRpYWxvZy1jb250ZW50IHtcclxuICBtYXgtaGVpZ2h0OiAxMDB2aDtcclxufVxyXG4iXX0= */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog,MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ServiceInfo } from '../../model/serviceInfo';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { FinishserviceComponent } from '../finishservice/finishservice.component';\r\nimport { InputtextComponent } from '../../shared/inputtext/inputtext.component';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'app-mytrips',\r\n templateUrl: './mytrips.component.html',\r\n styleUrls: ['./mytrips.component.scss']\r\n})\r\nexport class MytripsComponent implements OnInit {\r\n driverID = 0;\r\n list: ServiceInfo[] = [];\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private matSnackbar: MatSnackBar,\r\n\r\n public serviceService: ServiceserviceService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { driverID: number }\r\n ) {\r\n this.driverID = data.driverID;\r\n this.serviceService.reportDriver(this.driverID).subscribe(res => {\r\n this.list = res;\r\n //this.list.forEach((data) => {\r\n // data.safeAvatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + data.avatar);\r\n //})\r\n\r\n });\r\n }\r\n close() {\r\n this.dialogRef.close('closse');\r\n\r\n }\r\n updatePrice(row, price): void {\r\n console.log(row?.id);\r\n if (!row?.updatablePrice) {\r\n this.matSnackbar.open('مهلت ویرایش مبلغ به اتمام رسیده است. ', null, { duration: 2000 });\r\n\r\n return;\r\n }\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش کرایه', msg: 'کرایه به تومان', fieldName: 'کرایه', value: price , maxValue:40000},\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result && parseInt(result)>=40000)\r\n this.serviceService.UpdatePrice(row.id, result).subscribe(_res => {\r\n row.price = result;\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n }\r\n\r\n finishedService(q: ServiceInfo) {\r\n this.updatePrice(q, q.price);\r\n \r\n /*\r\n var dialogfinishRef = this.dialog.open(FinishserviceComponent, {\r\n width: '400px',\r\n data: {\r\n guid: q.serviceGuid\r\n }\r\n });\r\n dialogfinishRef.afterClosed().subscribe((newprice) => {\r\n console.log('newprice'+newprice);\r\n if (newprice && newprice>0)\r\n q.price = newprice;\r\n else\r\n return 0\r\n });\r\n */\r\n\r\n }\r\n ngOnInit() {\r\n }\r\n checkForPrice(q: ServiceInfo) {\r\n console.log(q);\r\n if (!q.price && parseInt(q.price) <= 0) {\r\n this.finishedService(q);\r\n \r\n \r\n }\r\n\r\n }\r\n}\r\n","export default \".example-form {\\r\\n min-width: 150px;\\r\\n max-width: 500px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.example-full-width {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL25ldy9uZXcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsV0FBVztBQUNiOztBQUVBO0VBQ0UsV0FBVztBQUNiIiwiZmlsZSI6InNyYy9hcHAvZHJpdmVyL25ldy9uZXcuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLWZvcm0ge1xyXG4gIG1pbi13aWR0aDogMTUwcHg7XHJcbiAgbWF4LXdpZHRoOiA1MDBweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmV4YW1wbGUtZnVsbC13aWR0aCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuIl19 */\";","import { Component, OnInit,AfterViewInit ,ElementRef,ViewChild} from '@angular/core';\r\nimport { FormBuilder, FormControl, ValidatorFn, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\n\r\nimport { GlobalVariable } from '../../globalVariable';\r\n\r\n\r\n@Component({\r\n selector: 'app-new',\r\n templateUrl: './new.component.html',\r\n styleUrls: ['./new.component.css']\r\n})\r\nexport class NewComponent implements OnInit, AfterViewInit{\r\n userInfo = this.fb.group({\r\n mobile: ['', Validators.pattern('09(1[0-9]|3[1-9]|2[1-9])-?[0-9]{3}-?[0-9]{4}')],\r\n nationalCode: ['', nCodeValidator]\r\n });\r\n @ViewChild('android')\r\n public android: ElementRef;\r\n\r\n constructor(private fb: FormBuilder, private driverSerivce: DriverserviceService, private router: Router, private driverService: DriverserviceService) { }\r\n ngOnInit() {\r\n\r\n\r\n }\r\n \r\n hasError = false\r\n errorText = 'اطلاعات وارد شده صحیح نمی باشد'\r\n\r\n onSubmit() {\r\n this.hasError = false\r\n this.driverSerivce.getDriverByNationalCode(this.userInfo.value.nationalCode, this.userInfo.value.mobile).subscribe(_res => {\r\n\r\n //console.warn('subscribe');\r\n //console.warn(_res);\r\n //console.warn('guid is ' + _res);\r\n //console.warn(_res.driverGUID);\r\n //console.warn(_res.errorCode);\r\n //console.warn(_res.errorMessage);\r\n if (_res.driverGUID != '') {\r\n this.driverSerivce.sendVerification(_res.driverGUID).subscribe(_smsguid => {\r\n //console.warn('_smsguid' + _smsguid);\r\n this.router.navigate(['/driver/verify'], { queryParams: { guidS: _smsguid, guidD: _res.driverGUID } });\r\n });\r\n this.hasError = false;\r\n }\r\n else {\r\n this.hasError = true;\r\n this.errorText = _res.errorMessage;\r\n }\r\n });\r\n\r\n\r\n }\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n}\r\n\r\n\r\nexport function nCodeValidator(control: FormControl): ValidatorFn {\r\n if (!control.value) {\r\n return null;\r\n }\r\n if (GlobalVariable.check(control.value)) {\r\n return null;\r\n }\r\n else {\r\n //console.warn(\"کدملی وارد شده صحیح نیست\");\r\n //return {\r\n // phone: true\r\n //};\r\n return null;\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9wZXlnaXJpYWxlcnQvcGV5Z2lyaWFsZXJ0LmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\n\r\n@Component({\r\n selector: 'app-peygirialert',\r\n templateUrl: './peygirialert.component.html',\r\n styleUrls: ['./peygirialert.component.scss']\r\n})\r\nexport class PeygirialertComponent implements OnInit {\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private requestSerivce: ServiceRequestService\r\n ) { }\r\n destination = '';\r\n origin = '';\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n const requestID = params['code'];\r\n if (requestID) {\r\n this.requestSerivce.getRequestServiceByID(requestID).subscribe(_res => {\r\n this.destination = _res.destinationAddr;\r\n this.origin = _res.originAddr;\r\n //console.log('getDriverBySuccessfuGUID');\r\n //console.log(_res);\r\n });\r\n }\r\n else {\r\n this.router.navigate(['driver/new'], { queryParams: { } });\r\n\r\n }\r\n });\r\n }\r\n accept() {\r\n this.router.navigate(['driver/new'], { queryParams: {} });\r\n\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9wbGF5ZmlsZS9wbGF5ZmlsZS5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { AudioService } from '../../lib/serviceLib/audio.service';\r\n\r\n@Component({\r\n selector: 'app-playfile',\r\n templateUrl: './playfile.component.html',\r\n styleUrls: ['./playfile.component.scss']\r\n})\r\nexport class PlayfileComponent implements OnInit {\r\n @ViewChild(\"audioOption\", { static: false })\r\n public audioPlayerRef: ElementRef;\r\n\r\n constructor(private fileutil: AudioService) { }\r\n\r\n ngOnInit() {\r\n \r\n\r\n this.onAudioPlay();\r\n }\r\n\r\n onAudioPlay() {\r\n this.audioPlayerRef.nativeElement.play();\r\n }\r\n loadfile() {\r\n\r\n this.onAudioPlay();\r\n //console.log('loadfile');\r\n this.fileutil.playStream('assets/play.mp3');\r\n }\r\n\r\n}\r\n","export default \"app-profile {\\n margin: 0 !important;\\n padding: 0 !important;\\n}\\n\\n.driver-information {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.driver-information__details {\\n margin-right: 1rem;\\n}\\n\\n.driver-information__name {\\n font-size: 1rem;\\n}\\n\\n.driver-information__status-label {\\n font-size: 0.875rem;\\n color: #888;\\n}\\n\\n.avatar {\\n position: relative;\\n width: 54px;\\n height: 54px;\\n}\\n\\n.avatar__image {\\n width: 100%;\\n height: 100%;\\n border-radius: 50%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.avatar__status {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: #fff;\\n border: 2px solid #fff;\\n}\\n\\n.count-number {\\n font-family: IranSans;\\n font-weight: bold;\\n font-size: 1rem;\\n}\\n\\n.title {\\n font-family: IranYekan;\\n}\\n\\n.td_Cell {\\n border: 1px solid gray !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG9CQUFBO0VBQ0EscUJBQUE7QUFDRjs7QUFFQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FBQ0Y7O0FBQ0U7RUFDRSxrQkFBQTtBQUNKOztBQUVFO0VBQ0UsZUFBQTtBQUFKOztBQUdFO0VBQ0UsbUJBQUE7RUFDQSxXQUFBO0FBREo7O0FBS0E7RUFDRSxrQkFBQTtFQUVBLFdBRE87RUFFUCxZQUZPO0FBRFQ7O0FBS0U7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBQUhKOztBQU1FO0VBQ0Usa0JBQUE7RUFDQSxPQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0FBSko7O0FBUUE7RUFDRSxxQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtBQUxGOztBQVFBO0VBQ0Usc0JBQUE7QUFMRjs7QUFVQTtFQUNFLGlDQUFBO0FBUEYiLCJmaWxlIjoic3JjL2FwcC9kcml2ZXIvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYXBwLXByb2ZpbGUge1xyXG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRyaXZlci1pbmZvcm1hdGlvbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICZfX2RldGFpbHMge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgJl9fbmFtZSB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgfVxyXG5cclxuICAmX19zdGF0dXMtbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgIGNvbG9yOiAjODg4O1xyXG4gIH1cclxufVxyXG5cclxuLmF2YXRhciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICRzaXplOiA1NHB4O1xyXG4gIHdpZHRoOiAkc2l6ZTtcclxuICBoZWlnaHQ6ICRzaXplO1xyXG5cclxuICAmX19pbWFnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgJl9fc3RhdHVzIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB3aWR0aDogOHB4O1xyXG4gICAgaGVpZ2h0OiA4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi5jb3VudC1udW1iZXIge1xyXG4gIGZvbnQtZmFtaWx5OiBJcmFuU2FucztcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgZm9udC1mYW1pbHk6IElyYW5ZZWthbjtcclxufVxyXG5cclxuXHJcblxyXG4udGRfQ2VsbCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgZ3JheSAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\";","import {Component, OnInit,ViewChild,ElementRef,AfterViewInit, Inject} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ProfileService } from '../../lib/serviceLib/profileservice.service'\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service'\r\nimport { Profile } from '../../model/profile';\r\n\r\nimport { ComplaintserviceService } from '../../lib/serviceLib/complaintservice.service';\r\nimport { Complaint } from '../../model/complaint';\r\n\r\nimport { Driver } from '../../model/driver';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Observable } from 'rxjs';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\n\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport { environment } from '../../../environments/environment.prod';\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.scss']\r\n})\r\nexport class ProfileComponent implements OnInit, AfterViewInit {\r\n operatorguid: any;\r\n driverInfo = new Driver();\r\n guidDriver: string;\r\n telID = new FormControl('');\r\n allComplaintList: Complaint[] = [];\r\n driverCode = '';\r\n profile = new Profile();\r\n profileToday:Profile;\r\n @ViewChild('android')\r\n dataChart: any;\r\n thisMonth: any;\r\n public android: ElementRef;\r\n constructor(\r\n private complaintServiceService: ComplaintserviceService,\r\n private route: ActivatedRoute,\r\n private profileService: ProfileService,\r\n private driverSerivce: DriverserviceService,\r\n private callCenterService: CallCenterService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { guidDriver: string },\r\n private router: Router\r\n ) {\r\n this.guidDriver = data.guidDriver;\r\n\r\n\r\n \r\n\r\n }\r\n currentFBSToken = '';\r\n ngOnInit(): void {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n\r\n\r\n\r\n });\r\n \r\n this.currentFBSToken = localStorage.getItem(environment.cur_fbsToken);\r\n this.loadDriverInfo().subscribe(_res => {\r\n this.driverInfo = _res.info;\r\n this.profileService.getProfileToday(this.driverInfo.id).subscribe(t => {\r\n this.profileToday = t;\r\n });\r\n this.profileService.getProfile(this.driverInfo.id).subscribe(t => {\r\n this.profile.todayPrice = t.todayPrice;\r\n this.profile.todayCount = t.todayCount;\r\n this.profile.workTimeHour = ('0' + (t.workTime / 3600).toFixed(0)).slice(-2);\r\n this.profile.workTimeMinute = ('0' + ((t.workTime % 3600) / 60).toFixed(0)).slice(-2);\r\n this.profile.serviceTimeHour = ('0' + (t.serviceTime / 3600).toFixed(0)).slice(-2);\r\n this.profile.serviceTimeMinute = ('0' + ((t.serviceTime % 3600) / 60).toFixed(0)).slice(-2);\r\n\r\n let nowDate = new Date();\r\n this.thisMonth = GlobalVariable.toShamsi(nowDate).monthTitle;\r\n\r\n\r\n this.profile.monthPrice = t.monthPrice;\r\n this.profile.monthCount = t.monthCount;\r\n this.profile.workTimeHourMonth = ('0' + (t.workTimeMonth / 3600).toFixed(0)).slice(-2);\r\n this.profile.workTimeMinuteMonth = ('0' + ((t.workTimeMonth % 3600) / 60).toFixed(0)).slice(-2);\r\n this.profile.serviceTimeHourMonth = ('0' + (t.serviceTimeMonth / 3600).toFixed(0)).slice(-2);\r\n this.profile.serviceTimeMinuteMonth = ('0' + ((t.serviceTimeMonth % 3600) / 60).toFixed(0)).slice(-2);\r\n\r\n let farsiLables = [];\r\n let prices = t.prices?.split(',').map(x => x == null || x == '' ? 0 : Number(x));\r\n let workTimes = t.workTimes?.split(',').map(x => x == null || x == '' ? 0 : (Number(x) / 3600).toFixed(2));\r\n let serviceTimes = t.serviceTimes?.split(',').map(x => x == null || x == '' ? 0 : (Number(x) / 3600).toFixed(2));\r\n let monthCounts = t.monthCounts?.split(',').map(x => x == null || x == '' ? 0 : Number(x));\r\n\r\n for (let i = 6; i >=0 ; i--) {\r\n let farsiDate = GlobalVariable.toShamsi(new Date(nowDate.getFullYear(), nowDate.getMonth() - i, 1));\r\n let currentMonth = farsiDate.monthTitle;\r\n farsiLables.push(currentMonth);\r\n }\r\n \r\n\r\n this.dataChart = {\r\n labels: farsiLables,\r\n datasets: [ \r\n {\r\n label: 'درآمد',\r\n data: prices\r\n },\r\n {\r\n label: 'تعداد سفر',\r\n data: monthCounts\r\n }, \r\n {\r\n label: 'ساعات کارکرد',\r\n data: workTimes\r\n },\r\n {\r\n label: 'ساعات سفر',\r\n data: serviceTimes\r\n },\r\n ]\r\n }\r\n\r\n\r\n\r\n this.loadComplaintReport();\r\n\r\n });\r\n\r\n\r\n });\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n console.log(this.android.nativeElement.click());\r\n }\r\n\r\n\r\n loadComplaintReport() {\r\n this.complaintServiceService.reportDriverComplaints(this.driverInfo.driverCode).subscribe(res => {\r\n if (res.length > 0) {\r\n //console.log(res);\r\n\r\n this.allComplaintList = res;\r\n //this.filter();\r\n } else {\r\n this.allComplaintList = [];\r\n\r\n //Swal.fire('یافت نشد', 'موردی جهت جستجو یافت نشد!');\r\n }\r\n });\r\n }\r\n\r\n loadDriverInfo(): Observable {\r\n return new Observable((observer) => {\r\n if (this.currentFBSToken) {\r\n this.driverSerivce.getDriverByFBSToken_OnlyInfo(this.currentFBSToken).subscribe(_res => {\r\n\r\n //localStorage.setItem(environment.cur_u_tkn, _res.tk);\r\n //console.log('localStorage.setItem(environment.cur_u_tkn, _res.tk);');\r\n //console.log('environment.cur_u_tkn is ;');\r\n //console.log(localStorage.getItem(environment.cur_u_tkn));\r\n observer.next(_res);\r\n //console.log('getDriverBySuccessfuGUID');\r\n //console.log(_res);\r\n })\r\n }\r\n else {\r\n observer.error('guid is not correct');\r\n\r\n\r\n }\r\n return {\r\n unsubscribe() {\r\n //navigator.geolocation.clearWatch(watchId);\r\n }\r\n };\r\n });\r\n }\r\n\r\n close() {\r\n this.dialogRef.close('closse');\r\n\r\n }\r\n\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9wcm9wb3NlZC1yZXF1ZXN0L3Byb3Bvc2VkLXJlcXVlc3QuY29tcG9uZW50LmNzcyJ9 */\";","import {Component, ElementRef, Inject, OnInit, ViewChild} from '@angular/core';\r\nimport {MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {ServiceRequest} from '../../model/ServiceRequest';\r\nimport {DriverserviceService} from '../../lib/serviceLib/driverservice.service';\r\nimport {ServiceRequestService} from '../../lib/serviceLib/servicerequestservice.service';\r\n\r\n@Component({\r\n selector: 'app-proposed-request',\r\n templateUrl: './proposed-request.component.html',\r\n styleUrls: ['./proposed-request.component.css']\r\n})\r\nexport class ProposedRequestComponent implements OnInit {\r\n @ViewChild(\"audioOption\", { static: false })\r\n public audioPlayerRef: ElementRef;\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private taxiSerivce: ServiceRequestService,\r\n @Inject(MAT_DIALOG_DATA) public data: { guidRequest: string }\r\n ) {\r\n }\r\n\r\n currentRequest: ServiceRequest;\r\n\r\n ngOnInit() {\r\n this.currentRequest = new ServiceRequest();\r\n //var guid = '';\r\n //this.route.queryParams.subscribe(params => {\r\n // guid = params['guid'];\r\n // this.loadRequestInfo(guid);\r\n //});\r\n this.loadRequestInfo(this.data.guidRequest);\r\n }\r\n\r\n getRequestInfo(req: ServiceRequest) {\r\n if (!req) {\r\n this.dialogRef.close('NULL');\r\n }\r\n else {\r\n this.currentRequest = req;\r\n //console.warn('this.currentRequest ->');\r\n //console.warn(this.currentRequest);\r\n }\r\n //this.onAudioPlay();\r\n }\r\n\r\n loadRequestInfo(guid: any) {\r\n this.taxiSerivce.getRequestByPropsedCode(guid).subscribe(_res => {\r\n //console.warn('loadRequestInfo(guid)');\r\n //console.warn(_res);\r\n this.getRequestInfo(_res);\r\n });\r\n }\r\n\r\n accept() {\r\n this.dialogRef.close('Accept');\r\n \r\n }\r\n\r\n reject() {\r\n this.dialogRef.close('Reject');\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9wcm9wc29lZC1saXN0L3Byb3Bzb2VkLWxpc3QuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { DriverLog } from '../../model/driver';\r\nimport { PropsoedReport } from '../../model/ServiceRequest';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\n\r\n@Component({\r\n selector: 'app-driver-propsoedlist',\r\n templateUrl: './propsoed-list.component.html',\r\n styleUrls: ['./propsoed-list.component.scss']\r\n})\r\nexport class PropsoedListComponent implements OnInit {\r\n\r\n filteredList: PropsoedReport[] = [];\r\n dataSource = new MatTableDataSource(this.filteredList);\r\n requestID = 0;\r\n\r\n constructor(\r\n private driverService: DriverserviceService,\r\n private requestService: ServiceRequestService,\r\n \r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { requestID: number },\r\n ) {\r\n this.requestID = this.data.requestID;\r\n this.requestService.getPropsoedReport(this.requestID).subscribe(res => {\r\n //console.log(res);\r\n //console.log(this.requestID);\r\n this.filteredList = res;\r\n this.dataSource = new MatTableDataSource(this.filteredList);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n \r\n stationCode: string;\r\n\r\n displayedColumns: string[] = ['position', 'driverCode', 'timeText', 'typeName', 'stationCode','resultName'];\r\n selectedRowIndex = -1;\r\n selectedElement: DriverLog = null;\r\n highlight(row: any) {\r\n //console.log('highlight' + row.id);\r\n this.selectedRowIndex = row.id;\r\n this.selectedElement = row;\r\n\r\n }\r\n\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9zaG93Y3JlYXRlZHNlcnZpY2Uvc2hvd2NyZWF0ZWRzZXJ2aWNlLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SaveServiceResult } from '../../model/saveserviceresult';\r\n\r\n@Component({\r\n selector: 'app-showcreatedservice',\r\n templateUrl: './showcreatedservice.component.html',\r\n styleUrls: ['./showcreatedservice.component.scss']\r\n})\r\nexport class ShowcreatedserviceComponent implements OnInit {\r\n curerntinfo = new SaveServiceResult();\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { info: SaveServiceResult }) {\r\n this.curerntinfo = data.info;\r\n }\r\n loaddata()\r\n {\r\n \r\n }\r\n ngOnInit() {\r\n this.loaddata();\r\n }\r\n close() {\r\n this.dialogRef.close('close');\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9zaG93ZnJlZXNlcnZpY2VsaXN0L3Nob3dmcmVlc2VydmljZWxpc3QuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ServiceRequest } from '../../model/ServiceRequest';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\n\r\n@Component({\r\n selector: 'app-showfreeservicelist',\r\n templateUrl: './showfreeservicelist.component.html',\r\n styleUrls: ['./showfreeservicelist.component.scss']\r\n})\r\nexport class ShowfreeservicelistComponent implements OnInit {\r\n\r\n list: ServiceRequest[];\r\n constructor(\r\n private route: ActivatedRoute,\r\n private taxiSerivce: ServiceRequestService,\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.loadRequestInfo('');\r\n }\r\n loadRequestInfo(guid: any) {\r\n this.taxiSerivce.getFreeService(guid).subscribe(_res => {\r\n //console.log('getFreeService');\r\n //console.log(_res);\r\n this.list = _res;\r\n });\r\n }\r\n\r\n\r\n accept() {\r\n }\r\n\r\n reject() {\r\n }\r\n closeform() {\r\n }\r\n showproposed(q: any) {\r\n\r\n\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9zbmFja2JhcmV4aXRkcml2ZXIvc25hY2tiYXJleGl0ZHJpdmVyLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'app-snackbarexitdriver',\r\n templateUrl: './snackbarexitdriver.component.html',\r\n styleUrls: ['./snackbarexitdriver.component.scss']\r\n})\r\nexport class SnackbarexitdriverComponent implements OnInit {\r\n dtOutOfRange: any;\r\n constructor(@Inject(MAT_SNACK_BAR_DATA) public data: any) {\r\n this.fbsToken = this.data.fbsToken;\r\n }\r\n forsat = 180;\r\n fbsToken = '';\r\n ngOnDestroy() {\r\n if (this.schedulJon) {\r\n clearInterval(this.schedulJon);\r\n }\r\n }\r\n schedulJon: any;\r\n ngOnInit() {\r\n this.dtOutOfRange = new Date()\r\n\r\n this.schedulJon = setInterval(() => {\r\n this.check();\r\n }, 1000);\r\n }\r\n ok()\r\n {\r\n this.data.preClose('close');\r\n }\r\n stop() {\r\n this.data.preClose('stop');\r\n }\r\n check() {\r\n const diff = Math.abs((new Date()).getTime() - this.dtOutOfRange);\r\n if (diff > 3 * 60 * 1000) {\r\n this.data.preClose();\r\n }\r\n else {\r\n this.forsat = parseInt(((3 * 60 * 1000 - diff) / 1000).toString());\r\n }\r\n }\r\n\r\n}\r\n","export default \":host {\\n position: relative;\\n}\\n\\napp-taximap {\\n position: fixed;\\n top: 0px;\\n left: 0px;\\n display: block;\\n height: 100%;\\n width: 100%;\\n overflow: hidden;\\n}\\n\\n:host {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n}\\n\\nmat-drawer-container {\\n flex: 1 0 auto;\\n}\\n\\n.driver-search {\\n width: 50%;\\n position: relative;\\n}\\n\\n.driver-search__input {\\n box-sizing: border-box;\\n width: 100%;\\n background-color: rgba(255, 255, 255, 0.15);\\n border: 2px solid transparent;\\n font-size: 16px;\\n font-family: inherit;\\n border-radius: 0.25em;\\n padding: 0.25em 0.5em 0.25em 2.5rem;\\n outline: 0;\\n margin: 0;\\n color: #fff;\\n transition: background-color 0.3s, color 0.4s, box-shadow 0.3s;\\n box-shadow: 0 0 0 #000;\\n}\\n\\n.driver-search__input::-moz-placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input::placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input:focus {\\n background-color: #fff;\\n color: #282b3b;\\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);\\n}\\n\\n.driver-search__input:focus + .driver-search__icon {\\n color: #282b3b;\\n}\\n\\n.driver-search__icon {\\n position: absolute;\\n left: 9px;\\n top: 7px;\\n z-index: 1;\\n}\\n\\n.side-bar {\\n padding: 1rem;\\n width: 100%;\\n}\\n\\n.driver-information {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.driver-information__details {\\n margin-right: 1rem;\\n}\\n\\n.driver-information__name {\\n font-size: 1rem;\\n}\\n\\n.driver-information__status-label {\\n font-size: 0.875rem;\\n color: #888;\\n}\\n\\n.avatar {\\n position: relative;\\n width: 54px;\\n height: 54px;\\n}\\n\\n.avatar__image {\\n width: 100%;\\n height: 100%;\\n border-radius: 50%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.avatar__status {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: #fff;\\n border: 2px solid #fff;\\n}\\n\\n.car-info {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin-top: 0.5rem;\\n}\\n\\n.car-info__type {\\n margin-right: 0.5rem;\\n margin-left: auto;\\n}\\n\\n.car-info__id {\\n border: 2px solid rgba(0, 0, 0, 0.2);\\n border-radius: 4px;\\n padding: 0.125rem 0.5rem;\\n background-color: #eee;\\n}\\n\\n.bottomDiv {\\n padding: 1rem;\\n background-color: #282b3b;\\n color: #fff;\\n text-align: center;\\n position: absolute;\\n bottom: 35px;\\n width: 100%;\\n z-index: 314195;\\n left: 0px;\\n}\\n\\n.spanDetailState {\\n font-weight: bolder;\\n padding-left: 8px;\\n}\\n\\ndiv_origin {\\n text-align: right;\\n direction: rtl;\\n width: 95%;\\n background-color: white;\\n border-radius: 8px;\\n background: white;\\n padding: 8px;\\n margin-left: auto;\\n margin-right: auto;\\n margin-top: 8px;\\n margin-bottom: 8px;\\n}\\n\\n.btnreq {\\n display: block;\\n background: #32cb00;\\n width: 95%;\\n margin-left: auto;\\n margin-right: auto;\\n margin-top: 8px;\\n margin-bottom: 8px;\\n height: 35px;\\n}\\n\\n.spanAddr {\\n font-weight: bold;\\n}\\n\\n.address__origin::before, .address__dest::before, .address__dest-2::before {\\n position: absolute;\\n content: \\\"\\\";\\n width: 14px;\\n height: 28px;\\n background: #9c27b0;\\n border-radius: 8px;\\n display: block;\\n right: -20px !important;\\n top: 0 !important;\\n}\\n\\n.containter_mainbar {\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n position: fixed;\\n}\\n\\n.top_bar {\\n left: 0;\\n right: 0;\\n z-index: 20;\\n top: 0px !important;\\n position: fixed;\\n display: block !important;\\n}\\n\\n.bottom_bar {\\n position: fixed;\\n bottom: 0 !important;\\n left: 0;\\n right: 0;\\n width: 100%;\\n}\\n\\n#div_userinfotop {\\n display: flex;\\n}\\n\\n#div_main {\\n position: fixed;\\n height: 100%;\\n width: 100%;\\n left: 0px;\\n top: 0px;\\n background-color: yellow;\\n}\\n\\n#div_top {\\n position: fixed;\\n left: 0px;\\n top: 0px;\\n width: 100%;\\n background-color: red;\\n}\\n\\n#div_bottom {\\n position: fixed;\\n left: 0px;\\n bottom: 0px;\\n width: 100%;\\n background-color: blue;\\n}\\n\\n#div_top1 {\\n display: flex;\\n background-color: bisque;\\n}\\n\\n#div_top2 {\\n display: block;\\n background-color: aqua;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL3N0YXRpb24vc3RhdGlvbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxlQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtBQUNGOztBQUVBO0VBQ0UsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtBQUNGOztBQUVBO0VBQ0UsY0FBQTtBQUNGOztBQUVBO0VBQ0UsVUFBQTtFQUNBLGtCQUFBO0FBQ0Y7O0FBQ0U7RUFDRSxzQkFBQTtFQUNBLFdBQUE7RUFDQSwyQ0FBQTtFQUNBLDZCQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxtQ0FBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLDhEQUFBO0VBQ0Esc0JBQUE7QUFDSjs7QUFDSTtFQUNFLCtCQUFBO0FBQ047O0FBRkk7RUFDRSwrQkFBQTtBQUNOOztBQUVJO0VBQ0Usc0JBQUE7RUFDQSxjQUFBO0VBQ0EseUNBQUE7QUFBTjs7QUFFTTtFQUNFLGNBQUE7QUFBUjs7QUFLRTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0FBSEo7O0FBT0E7RUFDRSxhQUFBO0VBQ0EsV0FBQTtBQUpGOztBQU9BO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7QUFKRjs7QUFNRTtFQUNFLGtCQUFBO0FBSko7O0FBT0U7RUFDRSxlQUFBO0FBTEo7O0FBUUU7RUFDRSxtQkFBQTtFQUNBLFdBQUE7QUFOSjs7QUFVQTtFQUNFLGtCQUFBO0VBRUEsV0FETztFQUVQLFlBRk87QUFOVDs7QUFVRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0FBUko7O0FBV0U7RUFDRSxrQkFBQTtFQUNBLE9BQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0Esc0JBQUE7QUFUSjs7QUFhQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUFWRjs7QUFZRTtFQUNFLG9CQUFBO0VBQ0EsaUJBQUE7QUFWSjs7QUFhRTtFQUNFLG9DQUFBO0VBRUEsa0JBQUE7RUFDQSx3QkFBQTtFQUNBLHNCQUFBO0FBWko7O0FBZ0JBO0VBQ0UsYUFBQTtFQUNBLHlCQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxTQUFBO0FBYkY7O0FBZ0JBO0VBQ0UsbUJBQUE7RUFDQSxpQkFBQTtBQWJGOztBQWdCQTtFQUNFLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtBQWJGOztBQWdCQTtFQUNFLGNBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtBQWJGOztBQWdCQTtFQUNFLGlCQUFBO0FBYkY7O0FBaUJBO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7QUFkRjs7QUFrQkE7RUFDRSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBQWZGOztBQWtCQTtFQUNFLE9BQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLHlCQUFBO0FBZkY7O0FBa0JBO0VBQ0UsZUFBQTtFQUNBLG9CQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxXQUFBO0FBZkY7O0FBa0JBO0VBQ0UsYUFBQTtBQWZGOztBQW1CQTtFQUNFLGVBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0Esd0JBQUE7QUFoQkY7O0FBbUJBO0VBQ0UsZUFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLHFCQUFBO0FBaEJGOztBQW1CQTtFQUNFLGVBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxzQkFBQTtBQWhCRjs7QUFtQkE7RUFDRSxhQUFBO0VBQ0Esd0JBQUE7QUFoQkY7O0FBbUJBO0VBQ0UsY0FBQTtFQUNBLHNCQUFBO0FBaEJGIiwiZmlsZSI6InNyYy9hcHAvZHJpdmVyL3N0YXRpb24vc3RhdGlvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbmFwcC10YXhpbWFwIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwcHg7XHJcbiAgbGVmdDogMHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG46aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxubWF0LWRyYXdlci1jb250YWluZXIge1xyXG4gIGZsZXg6IDEgMCBhdXRvO1xyXG59XHJcblxyXG4uZHJpdmVyLXNlYXJjaCB7XHJcbiAgd2lkdGg6IDUwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICZfX2lucHV0IHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMC4xNSk7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xyXG4gICAgcGFkZGluZzogMC4yNWVtIDAuNWVtIDAuMjVlbSAyLjVyZW07XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuNHMsIGJveC1zaGFkb3cgMC4zcztcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICMwMDA7XHJcblxyXG4gICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogcmdiYSgjZmZmLCAwLjMpO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICBjb2xvcjogIzI4MmIzYjtcclxuICAgICAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcblxyXG4gICAgICArIC5kcml2ZXItc2VhcmNoX19pY29uIHtcclxuICAgICAgICBjb2xvcjogIzI4MmIzYjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faWNvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA5cHg7XHJcbiAgICB0b3A6IDdweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZS1iYXIge1xyXG4gIHBhZGRpbmc6IDFyZW07XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5kcml2ZXItaW5mb3JtYXRpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAmX19kZXRhaWxzIHtcclxuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICB9XHJcblxyXG4gICZfX25hbWUge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgJl9fc3RhdHVzLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICBjb2xvcjogIzg4ODtcclxuICB9XHJcbn1cclxuXHJcbi5hdmF0YXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAkc2l6ZTogNTRweDtcclxuICB3aWR0aDogJHNpemU7XHJcbiAgaGVpZ2h0OiAkc2l6ZTtcclxuXHJcbiAgJl9faW1hZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICB9XHJcblxyXG4gICZfX3N0YXR1cyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDhweDtcclxuICAgIGhlaWdodDogOHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FyLWluZm8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuXHJcbiAgJl9fdHlwZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgJl9faWQge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgcGFkZGluZzogMC4xMjVyZW0gMC41cmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICB9XHJcbn1cclxuXHJcbi5ib3R0b21EaXYge1xyXG4gIHBhZGRpbmc6IDFyZW07XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4MmIzYjtcclxuICBjb2xvcjogI2ZmZjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMzVweDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAzMTQxOTU7XHJcbiAgbGVmdDogMHB4O1xyXG59XHJcblxyXG4uc3BhbkRldGFpbFN0YXRlIHtcclxuICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gIHBhZGRpbmctbGVmdDogOHB4O1xyXG59XHJcblxyXG5kaXZfb3JpZ2luIHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBkaXJlY3Rpb246IHJ0bDtcclxuICB3aWR0aDogOTUlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBwYWRkaW5nOiA4cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi10b3A6IDhweDtcclxuICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbn1cclxuXHJcbi5idG5yZXEge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQ6ICMzMmNiMDA7XHJcbiAgd2lkdGg6IDk1JTtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLXRvcDogOHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDhweDtcclxuICBoZWlnaHQ6IDM1cHg7XHJcbn1cclxuXHJcbi5zcGFuQWRkciB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcblxyXG4uYWRkcmVzc19fb3JpZ2luOjpiZWZvcmUsIC5hZGRyZXNzX19kZXN0OjpiZWZvcmUsIC5hZGRyZXNzX19kZXN0LTI6OmJlZm9yZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDE0cHg7XHJcbiAgaGVpZ2h0OiAyOHB4O1xyXG4gIGJhY2tncm91bmQ6ICM5YzI3YjA7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHJpZ2h0OiAtMjBweCAhaW1wb3J0YW50O1xyXG4gIHRvcDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLmNvbnRhaW50ZXJfbWFpbmJhciB7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxufVxyXG5cclxuLnRvcF9iYXIge1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgei1pbmRleDogMjA7XHJcbiAgdG9wOiAwcHggIWltcG9ydGFudDtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJvdHRvbV9iYXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBib3R0b206IDAgIWltcG9ydGFudDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4jZGl2X3VzZXJpbmZvdG9wIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5cclxuI2Rpdl9tYWluIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGxlZnQ6IDBweDtcclxuICB0b3A6IDBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7XHJcbn1cclxuXHJcbiNkaXZfdG9wIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgbGVmdDogMHB4O1xyXG4gIHRvcDogMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxufVxyXG5cclxuI2Rpdl9ib3R0b20ge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBsZWZ0OiAwcHg7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcclxufVxyXG5cclxuI2Rpdl90b3AxIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGJpc3F1ZTtcclxufVxyXG5cclxuI2Rpdl90b3AyIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBhcXVhO1xyXG59XHJcbiJdfQ== */\";","import { Component, ElementRef, Inject, OnDestroy, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MarkerType } from '../../lib/markerHelper';\r\nimport { Car } from '../../model/car';\r\nimport { Driver } from '../../model/driver';\r\nimport { StationSteps } from '../../model/enumtype';\r\nimport { Station } from '../../model/station';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { TaximapComponent } from '../../taximap/taximap.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\nimport { BottomsheetinfoComponent } from '../../station/bottomsheetinfo/bottomsheetinfo.component';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DriverStatus, IDriverStatusMeta } from '../../lib/enums/driver-status.enum';\r\n\r\nimport { LatLng } from 'leaflet';\r\nimport { LocationInfo, PageState } from '../../globalVariable';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { ManualServiceRequest } from '../../model/ServiceRequest';\r\n\r\nimport { MytripsComponent } from '../mytrips/mytrips.component';\r\nimport { ProfileComponent } from '../profile/profile.component';\r\nimport { WebSocketService } from '../../lib/web-socket.service';\r\nimport { NotificationModel, SocketMessageType } from '../../model/socketmodels';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { ProposedRequestComponent } from '../proposed-request/proposed-request.component';\r\nimport { SwPush, SwUpdate } from '@angular/service-worker';\r\nimport { FreeserviceComponent } from '../freeservice/freeservice.component';\r\nimport { environment } from '../../../environments/environment.prod';\r\nimport { SnackbarexitdriverComponent } from '../snackbarexitdriver/snackbarexitdriver.component';\r\nimport { DriverMenuComponent } from '../driver-menu/driver-menu.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-station',\r\n templateUrl: './station.component.html',\r\n styleUrls: ['./station.component.scss']\r\n})\r\nexport class StationComponent implements OnInit, OnDestroy, AfterViewInit {\r\n @ViewChild('android', { static: false })\r\n public android: ElementRef;\r\n @ViewChild('logoutAndroid', { static: false })\r\n public logoutAndroid: ElementRef;\r\n\r\n\r\n //#region variables\r\n @ViewChild(\"audioOption\", { static: false })\r\n public audioPlayerRef: ElementRef;\r\n\r\n socket: WebSocket;\r\n\r\n @ViewChild(\"map\", { static: false })\r\n public map: TaximapComponent;\r\n \r\n\r\n _currentDriverState: DriverStatus = DriverStatus.Off;\r\n now: number;\r\n schedulJon: any;\r\n\r\n guidDriver: string = '';\r\n driverInfo = new Driver();\r\n carInfo = new Car();\r\n avatar: any;\r\n lstStation: Station[];\r\n currentStation = new Station();\r\n currentPriority = 0;\r\n\r\n cuerrentVersion = '';\r\n dialogStationMemberRef: MatDialogRef;\r\n dialogProfileMemberRef: MatDialogRef;\r\n\r\n dialogProposedServiceRef: MatDialogRef;\r\n dialogFreeServiceRef: MatDialogRef;\r\n passangerFullName = '';\r\n passangerMobile = '';\r\n passangerComment = '';\r\n\r\n CurrentState = PageState.None;\r\n currentStep: StationSteps = StationSteps.None;\r\n originPoint = new LocationInfo();\r\n destinationPoint = new LocationInfo();\r\n StateName = ''\r\n originMarker: any;\r\n initMarker: any;\r\n destinationMarker: any;\r\n OutOfRange = false;\r\n dtOutOfRange: any;\r\n gpsFailedTry = 0;\r\n snackBarStationExit: any;\r\n driverCount = 0\r\n requestCount = 0;\r\n\r\n //#endregion\r\n\r\n\r\n\r\n\r\n //#region Initiate\r\n constructor(\r\n private swPush: SwPush,\r\n private dialog: MatDialog,\r\n private sanitizer: DomSanitizer,\r\n private driverSerivce: DriverserviceService,\r\n private stationSerivce: StationserviceService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private _bottomSheet: MatBottomSheet,\r\n private matSnackbar: MatSnackBar,\r\n private taxiSerivce: TaxiserviceService,\r\n private requestSerivce: ServiceRequestService,\r\n private socketService: WebSocketService,\r\n private swUpdate: SwUpdate,\r\n ) {\r\n\r\n\r\n //console.log('station init');\r\n\r\n\r\n setInterval(() => {\r\n this.now = Date.now();\r\n }, 1);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n //console.log('ngoninit22');\r\n this.initLoad();\r\n\r\n //console.log('initLoad finish22');\r\n\r\n this.checkForUpdat();\r\n //console.log('checkForUpdat finish22');\r\n navigator.geolocation.getCurrentPosition((position: Position) => this.getNewPosition(position));\r\n navigator.geolocation.getCurrentPosition(this.getNewPosition);\r\n this.schedulingupdatestatus();\r\n navigator.geolocation.watchPosition((position: Position) => this.getNewPosition(position), (err) => {\r\n\r\n this.setPosition(36.28988214947892, 59.613681321220305);\r\n this.matSnackbar.open('جی پی اس دستگاه را بررسی نمایید', null, { duration: 2000 }\r\n )\r\n ;\r\n }, { enableHighAccuracy: true });\r\n //this.schedulJon = setInterval(() => {\r\n\r\n //}, 5 * 1000);\r\n\r\n //console.log('schedulingupdatestatus set interall finish22');\r\n\r\n\r\n //this.getLocation(true);\r\n //console.log('this.getLocation(true); finish22');\r\n\r\n\r\n }\r\n\r\n initLoad() {\r\n\r\n this.loadDriverInfo().subscribe(_res => {\r\n this.driverInfo = _res.info;\r\n\r\n\r\n //this.socketService.startSocket();\r\n\r\n\r\n //this.socket = new WebSocket(GlobalVariable.socketURL);\r\n\r\n //this.socket.addEventListener(\"message\", (ev => {\r\n // //console.log(ev);\r\n // try {\r\n // //var messageBox: NotificationModel = JSON.parse(ev.data);\r\n // //this.meesageList$.next(messageBox);\r\n // console.log(ev.data);\r\n // } catch (e) {\r\n // //console.log(e);\r\n // }\r\n //}));\r\n //let isCreated = localStorage.getItem(environment.is_created);\r\n //if (isCreated != 'true') {\r\n\r\n //this.socket.addEventListener(\"open\", (ev => {\r\n // this.socket.send(\"{ type: '1',data: { uid: '\" + this.driverInfo.guid + \"', oldid : 'webclient' }}\");\r\n\r\n //}));\r\n\r\n localStorage.setItem(environment.is_created, 'true');\r\n\r\n\r\n //}\r\n\r\n this.avatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + this.driverInfo.avatar);\r\n this.carInfo = _res.car;\r\n if (this.driverInfo != null) {\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(DriverStatus.Off);\r\n this.driverInfo.currentStation = 0;\r\n //console.log('loadDriverInfo end')\r\n this.getlastState();\r\n\r\n }\r\n else {\r\n //console.log('station to home');\r\n this.matSnackbar.open('نیاز به لاگین', null, { duration: 2000 });\r\n this.router.navigate(['driver/new'], {});\r\n }\r\n this.loadStation().subscribe(res => { });\r\n this.UpdateStateFromServer(true).subscribe(res => { });\r\n //this.socketService.startSocket();\r\n });\r\n\r\n this.map = new TaximapComponent();\r\n\r\n\r\n this.setEmptyStation();\r\n\r\n }\r\n\r\n\r\n //#endregion\r\n\r\n //#region UpdateStatus\r\n schedulingupdatestatus() {\r\n this.UpdateStateFromServer().subscribe(res => {\r\n this.loadStation(false).subscribe(_r => {\r\n this.schedulJon = setTimeout(() => { this.schedulingupdatestatus() }, 5000);\r\n })\r\n }\r\n )\r\n //console.log('schedulingupdatestatus run');\r\n //this.schedulJon = setTimeout(() => { this.schedulingupdatestatus() }, 10);\r\n //forkJoin(this.UpdateStateFromServer(), this.loadStation(false)).subscribe(res => {\r\n // this.schedulJon = setTimeout(() => { this.schedulingupdatestatus() }, 5000);\r\n //})\r\n //forkJoin({\r\n // user: this.UpdateStateFromServer();\r\n // roles: this.loadStation(false);;\r\n //}).subscribe(results => {\r\n // this.user = results.user;\r\n // this.roles = results.roles;\r\n // //do whetever has to be done here since both are complete\r\n //})\r\n //forkJoin(\r\n\r\n\r\n //).subscribe((([posts, tags]: [Post[], Tag[]]) => {\r\n\r\n //}));\r\n\r\n //name$.pipe(\r\n // combineLatestWith($document)\r\n //)\r\n // .subscribe(([name, document]) => {\r\n // this.name = name;\r\n // this.document = pair.document;\r\n // this.showForm();\r\n // })\r\n\r\n //this.getLocation(false);\r\n\r\n\r\n\r\n }\r\n UpdateStateFromServer(setgps = false): Observable {\r\n\r\n\r\n return new Observable((observer) => {\r\n this.driverSerivce.getAndFetch_StatusInfo(this.driverInfo.guid, this._currentDriverState, this.map.gpsLat, this.map.gpsLng, this.getCurrentStationID()).subscribe(_res => {\r\n //console.warn('getAndFetch_StatusInfo');\r\n //console.warn(_res);\r\n if (_res) {\r\n if (_res.currentStatus == DriverStatus.LogoutForConcurrency) {\r\n this.matSnackbar.open('خروج اجباری به دلیل همزمانی', null, { duration: 2000 });\r\n this.signout();\r\n }\r\n if (_res.currentStatus == DriverStatus.Locked) {\r\n\r\n }\r\n\r\n this.currentPriority = _res.priority;\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(_res.currentStatus);\r\n this._currentDriverState = _res.currentStatus;\r\n if (!_res.lat || _res.lat == 0) {\r\n _res.lat = 36.2568397521973;\r\n }\r\n if (!_res.lng || _res.lng == 0) {\r\n _res.lng = 59.6200141906738;\r\n }\r\n\r\n /*\r\n this.map.locateManual(_res.lat, _res.lng, false)\r\n\r\n this.map.gpsLat = _res.lat;\r\n this.map.gpsLng = _res.lng;\r\n */\r\n //this.checkStationExit();\r\n if (setgps)\r\n this.map.gotogps();\r\n\r\n //console.log('this._currentDriverState' + this._currentDriverState);\r\n //console.log('_res is ');\r\n //console.log(_res);\r\n if (this._currentDriverState == DriverStatus.Traveling && _res.guid) {\r\n //console.log('this.currentState == DriverStatus.Traveling and navigate to service/origin(station)');\r\n this.router.navigate(['service/origin'], { queryParams: { guid: _res.guid } });\r\n }\r\n\r\n if (this.getCurrentStationID() != _res.stationID) {\r\n this.stationSerivce.getStation(_res.stationID).subscribe(_stationInfo => {\r\n this.currentStation = _stationInfo;\r\n this.driverInfo.currentStation = _res.stationID;\r\n\r\n //console.warn('_stationInfo res is :');\r\n //console.warn(_stationInfo);\r\n if (!_stationInfo) {\r\n //console.warn('_stationInfo is null :');\r\n }\r\n });\r\n }\r\n }\r\n observer.next(_res)\r\n });\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n\r\n inChangeUpdateMode = false;\r\n saveDriverStateOnDatabase(newStatus: DriverStatus, goOnline: boolean = false): Observable {\r\n return new Observable((observer) => {\r\n this.driverSerivce.updateDriverStatus(this.driverInfo.guid, newStatus, goOnline).subscribe(\r\n _res => {\r\n observer.next(_res)\r\n }\r\n );\r\n });\r\n\r\n }\r\n\r\n\r\n showFreeServices() {\r\n\r\n //console.log('showFreeServices'+this.driverInfo.guid);\r\n this.dialogFreeServiceRef = this.dialog.open(FreeserviceComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n guidRequest: this.driverInfo.guid\r\n }\r\n });\r\n this.dialogFreeServiceRef.afterClosed().subscribe((result: any) => {\r\n if (result.length > 0) {\r\n {\r\n this.requestSerivce.getPropsedByDriver_Service(result, this.driverInfo.guid).subscribe(_res => { this.showProposedRequest(_res); });\r\n }\r\n }\r\n });\r\n\r\n //this.taxiSerivce.getRequestByPropsedCode(guidRequestParam).subscribe(_res => {\r\n // console.warn(_res);\r\n //});\r\n\r\n }\r\n\r\n\r\n acceptRequest(guidRequestParam: any) {\r\n //this.socketService.sendMessage(guidRequestParam, SocketMessageType.AcceptProposedRequest);\r\n\r\n this.driverSerivce.GetSuccesfullService(guidRequestParam, 'accept').subscribe(res => {\r\n this.router.navigate(['service/origin'], { queryParams: { guid: res } });\r\n });\r\n }\r\n\r\n rejectRequest(guidRequestParam: any) {\r\n this.driverSerivce.GetSuccesfullService(guidRequestParam, 'reject').subscribe(res => {\r\n\r\n //this.router.navigate(['driver/new'], { queryParams: { guid: res } });\r\n });\r\n\r\n\r\n }\r\n gotoRunService(guidService: any) {\r\n //console.warn('gotoRunService:' + guidService);\r\n this.getlastState();\r\n if (this._currentDriverState == DriverStatus.Traveling)\r\n // با توجه به اینکه ممکن است سفر خاتمه خورده باشد به جای ارسال مستقیم به صفحه سفر ابتدا چک می شود اگر وضعیت در حال سفر باشد منتقل می گردد\r\n this.router.navigate(['service/origin'], { queryParams: { guid: guidService } });\r\n }\r\n\r\n gotoOrigin() {\r\n //if (this._currentDriverState != DriverStatus.WaitingOnStation) {\r\n // this.matSnackbar.open('ابتدا می بایست در ایستگاه مربوطه ثبت نوبت نمایید.', null, { duration: 2000 });\r\n // return;\r\n //}\r\n this.currentStep = StationSteps.Origin;\r\n \r\n this.setState(PageState.OriginDefine);\r\n }\r\n addinitialMarker() {\r\n var loc = this.map.getCenter();\r\n var cord = [loc.lat, loc.lng]\r\n this.initMarker = this.map.addMarker(loc.lat, loc.lng, MarkerType.initLocation);\r\n this.getOriginAddressDesc(loc.lat, loc.lng);\r\n }\r\n addOriginMarker() {\r\n var loc = this.map.getCenter();\r\n var cord = [loc.lat, loc.lng]\r\n this.originMarker = this.map.addMarker(loc.lat, loc.lng, MarkerType.origin);\r\n }\r\n addDestinationMarker() {\r\n var loc = this.map.getCenter();\r\n var cord = [loc.lat, loc.lng]\r\n this.destinationMarker = this.map.addMarker(loc.lat, loc.lng, MarkerType.destination);\r\n }\r\n checkForUpdat() {\r\n\r\n this.swUpdate.available.subscribe(event => {\r\n this.matSnackbar.open('اعمال بروزرسانی به نسخه جدید', null, { duration: 3000 });\r\n location.reload();\r\n });\r\n\r\n }\r\n forceUpdate() {\r\n this.swUpdate.activateUpdate().then(() => document.location.reload());\r\n }\r\n\r\n\r\n loadDriverInfo(): Observable {\r\n return new Observable((observer) => {\r\n this.route.queryParams.subscribe(params => {\r\n this.guidDriver = params['guid'];\r\n if (this.guidDriver) {\r\n this.driverSerivce.getDriverByGUID(this.guidDriver).subscribe(_res => {\r\n console.log('_res.tk is' + _res.tk);\r\n localStorage.setItem(environment.cur_u_tkn, _res.tk);\r\n\r\n observer.next(_res);\r\n //console.log('getDriverBySuccessfuGUID');\r\n //console.log(_res);\r\n });\r\n }\r\n else {\r\n observer.error('guid is not correct');\r\n }\r\n });\r\n return {\r\n unsubscribe() {\r\n //navigator.geolocation.clearWatch(watchId);\r\n }\r\n };\r\n });\r\n }\r\n\r\n\r\n setPosition(lat, lng) {\r\n this.map.gpsLat = lat;\r\n this.map.gpsLng = lng;\r\n\r\n this.map.moveCurrentGPS(this.map.gpsLat, this.map.gpsLng);\r\n }\r\n getNewPosition(position) {\r\n\r\n console.log('getNewPosition')\r\n console.log(position.coords.latitude)\r\n console.log(position.coords.longitude)\r\n this.setPosition(position.coords.latitude, position.coords.longitude)\r\n\r\n\r\n // در صورتی که ثبت نوبت کرده باشد نباید از محدوده خارج شود\r\n //this.checkStationExit();\r\n\r\n\r\n\r\n }\r\n\r\n stopAlarmStation() {\r\n if (this.snackBarStationExit) {\r\n this.snackBarStationExit.dismiss();\r\n this.snackBarStationExit = null;\r\n }\r\n this.audioPlayerRef.nativeElement.pause();\r\n }\r\n stationExit_No_Alarm_PauseClicked = false;\r\n stationExit_No_Alarm_CloseClicked = false;\r\n\r\n checkStationExit() {\r\n const currentLat = this.map.gpsLat;\r\n const currentLng = this.map.gpsLng;\r\n\r\n if (this.currentStation && this.currentStation.id !== 0 && this.currentStation.id !== 100 && this.currentStation.lat != 0) {\r\n const distKM = this.map.getDistanceFromLatLonInKm(currentLat, currentLng, this.currentStation.lat, this.currentStation.lng);\r\n const InRange = (distKM * 1000) <= this.currentStation.radios;\r\n if (InRange) {\r\n this.OutOfRange = false;\r\n this.dtOutOfRange = \"\";\r\n this.stopAlarmStation();\r\n this.stationExit_No_Alarm_PauseClicked = false;\r\n this.stationExit_No_Alarm_CloseClicked = false;\r\n }\r\n else {\r\n if (!this.OutOfRange) {\r\n //this.audioPlayerRef.nativeElement.play();\r\n this.OutOfRange = true;\r\n this.dtOutOfRange = new Date()\r\n this.stationExit_No_Alarm_CloseClicked = false;\r\n this.stationExit_No_Alarm_PauseClicked = false;\r\n this.driverSerivce.seenAlarm(this.guidDriver).subscribe(res => { });\r\n\r\n //this.stationSerivce.sendExitSocketMessage(this.currentFBSToken, \"https://boroseir.ir/message/exitq?id=\" + this.currentPriority, this.currentPriority,3).subscribe(res => { });\r\n\r\n //this.matSnackbar.open('شما از محدوده مجاز ایستگاه خارج شده اید.در صورت عدم بازگشت ظرف مدت 3 دقیقه از صف و نوبت خارج می شوید', null, { duration: 3000 });\r\n this.snackBarStationExit = this.matSnackbar.openFromComponent(SnackbarexitdriverComponent, {\r\n duration: 3 * 60 * 1000,\r\n data:\r\n {\r\n fbsToken: this.guidDriver,\r\n preClose: (methodname: any) => {\r\n if (methodname == 'close') {\r\n\r\n this.stationExit_No_Alarm_CloseClicked = true;\r\n this.stopAlarmStation();\r\n\r\n //console.log('close');\r\n };\r\n\r\n if (methodname == 'stop') {\r\n this.stationExit_No_Alarm_PauseClicked = true;\r\n //console.log('stop');\r\n this.audioPlayerRef.nativeElement.pause();\r\n }\r\n },\r\n\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n else {\r\n\r\n\r\n\r\n const diff = Math.abs((new Date()).getTime() - this.dtOutOfRange);\r\n\r\n if (diff > 3 * 60 * 1000) {\r\n\r\n //this.stationSerivce.sendExitSocketMessage(this.currentFBSToken, \"به دلیل عدم بازگشت به صف نوبت شما از صف خارج شد\", this.currentPriority, 1).subscribe(res => { });\r\n\r\n this.stopAlarmStation();\r\n this.setdefaultStation().subscribe(res => { });\r\n\r\n }\r\n else {\r\n\r\n if (!this.stationExit_No_Alarm_PauseClicked && !this.stationExit_No_Alarm_CloseClicked) {\r\n this.audioPlayerRef.nativeElement.pause();\r\n //this.audioPlayerRef.nativeElement.play();\r\n //console.log('play1');\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n else {\r\n this.stopAlarmStation();\r\n }\r\n }\r\n ngAfterViewInit() {\r\n\r\n console.log(this.android.nativeElement.click());\r\n\r\n //console.log('ngAfterViewInit');\r\n this.route.queryParams.subscribe(params => {\r\n const state = params['state'];\r\n if (state == 1) {\r\n this.matSnackbar.open('سفر شما به دلیل ویرایش کاربر کنسل گردید.', null, { duration: 2000 });\r\n }\r\n else if (state == 2) {\r\n this.matSnackbar.open('سفر شما توسط اپراتور کنسل گردید.', null, { duration: 2000 });\r\n }\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n getLocation(setView: any): void {\r\n this.map.locate(setView).subscribe(res => {\r\n if (!navigator.geolocation) {\r\n this.matSnackbar.open('جی پی اس خود را بررسی نمایید', null, { duration: 2500 });\r\n this.gpsFailedTry++;\r\n if (this.gpsFailedTry > 5) {\r\n this.map.gpsLat = 0;\r\n this.map.gpsLng = 0;\r\n //this.checkStationExit();\r\n }\r\n }\r\n else {\r\n this.gpsFailedTry = 0;\r\n //this.checkStationExit();\r\n }\r\n\r\n });\r\n\r\n }\r\n map_Click(cordinates: any) {\r\n if (this._currentDriverState == DriverStatus.Station100) {\r\n this._bottomSheet.open(BottomsheetinfoComponent);\r\n }\r\n\r\n\r\n }\r\n\r\n loadStation(withMarker = true): Observable {\r\n return new Observable((observer) => {\r\n this.stationSerivce.getStationList(this.guidDriver, this.map.gpsLat, this.map.gpsLng).subscribe(_res => {\r\n this.lstStation = _res;\r\n this.driverCount = 0;\r\n this.requestCount = 0;\r\n _res.forEach(station => {\r\n station.guidDriver = this.guidDriver;\r\n this.driverCount = this.driverCount + station.length;\r\n this.requestCount = this.requestCount + station.requestCount;\r\n if (withMarker) {\r\n this.map.addStationMarker(station);\r\n }\r\n else\r\n this.map.updateStationMarker(station);\r\n });\r\n observer.next(_res)\r\n });\r\n });\r\n }\r\n addtoStation(item: Station) {\r\n //console.log('addtoStation');\r\n //console.log(item);\r\n this.stationSerivce.addToQueue(item.id, this.driverInfo.guid).subscribe(_res => {\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(DriverStatus.WaitingOnStation);\r\n this.currentStation = item;\r\n this.driverInfo.currentStation = this.currentStation ? this.currentStation.id : 0;\r\n this.currentPriority = Number.parseInt(_res);\r\n if (!item) {\r\n //console.warn('item is null :');\r\n }\r\n });\r\n }\r\n showStation(stationInput: Station) {\r\n this.stationSerivce.getStation(stationInput.id).subscribe(item => {\r\n\r\n //this.router.navigate(['/station/view'], { queryParams: { guid: this.guidDriver, id: item.id } });\r\n if (this._currentDriverState >= DriverStatus.Station100) {\r\n let state = 0;\r\n if (this._currentDriverState == DriverStatus.WaitingOnStation)\r\n state = 1;\r\n else\r\n state = 0;\r\n var distKM = this.map.getDistanceFromLatLonInKm(this.map.gpsLat, this.map.gpsLng, item.lat, item.lng);\r\n //console.warn('distance is ' + distKM);\r\n var InRange = (distKM * 1000) <= item.radios;\r\n this._bottomSheet.open(BottomsheetinfoComponent,\r\n {\r\n data: { stationInfo: item, driverGuid: this.guidDriver, driverInfo: this.driverInfo, InRange: InRange },\r\n }\r\n ).afterDismissed().subscribe((dataFromChild) => {\r\n if (dataFromChild == 'addToQueue') {\r\n var distKM = this.map.getDistanceFromLatLonInKm(this.map.gpsLat, this.map.gpsLng, item.lat, item.lng);\r\n //console.warn('distance is ' + distKM);\r\n if (!InRange) {\r\n this.matSnackbar.open('شما در محدوده مجاز ایستگاه قرار ندارید.', null, { duration: 3000 });\r\n }\r\n else {\r\n this.addtoStation(item);\r\n }\r\n\r\n }\r\n else if (dataFromChild == 'exitQueue') {\r\n this.setdefaultStation().subscribe(res => { });\r\n }\r\n });\r\n\r\n }\r\n });\r\n }\r\n setdefaultStation(goOnline = false): Observable {\r\n\r\n return new Observable((observer) => {\r\n this.saveDriverStateOnDatabase(DriverStatus.Station100, goOnline).subscribe(res => {\r\n if (!this.currentStation)\r\n this.currentStation = new Station();\r\n this.currentStation.name = \"ایستگاه 100\";\r\n this.currentStation.id = 100;\r\n this.currentStation.code = \"100\";\r\n\r\n this.currentPriority = res;\r\n\r\n this.driverInfo.currentStation = 100;\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(DriverStatus.Station100);\r\n this._currentDriverState = DriverStatus.Station100;\r\n //console.log(res);\r\n observer.next(this.currentStation.id);\r\n });\r\n });\r\n\r\n }\r\n setEmptyStation() {\r\n this.saveDriverStateOnDatabase(DriverStatus.Off).subscribe(res => {\r\n this._currentDriverState = DriverStatus.Off;\r\n this.currentStation = new Station();\r\n this.currentStation.name = \"---\";\r\n this.currentStation.id = 0;\r\n this.currentPriority = 0;\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(DriverStatus.Off);\r\n this.driverInfo.currentStation = 0;\r\n });;\r\n }\r\n toggleMenu() {\r\n //console.warn('toggleMenu');\r\n //this.drawer.toggle();\r\n const bottomSheetRef = this._bottomSheet.open(DriverMenuComponent);\r\n\r\n bottomSheetRef.afterDismissed().subscribe((res) => {\r\n if (res == 'gotoOrigin')\r\n this.gotoOrigin();\r\n else if (res == 'mytrip')\r\n this.mytrip();\r\n else if (res == 'showFreeServices')\r\n this.showFreeServices();\r\n else if (res == 'turnOff')\r\n this.turnOff();\r\n else if (res == 'signout')\r\n this.signout();\r\n else if (res == 'forceUpdate')\r\n this.forceUpdate();\r\n else if (res == 'myShift')\r\n this.myProfile();\r\n \r\n \r\n \r\n \r\n\r\n });\r\n }\r\n \r\n goOnline() {\r\n if (this._currentDriverState == DriverStatus.Locked) {\r\n this.matSnackbar.open('شما توسط راهبر مسدود شده اید', null, { duration: 2000 });\r\n } else {\r\n if (this._currentDriverState)\r\n this.setdefaultStation(true).subscribe(res => {\r\n //console.log(res);\r\n });\r\n }\r\n }\r\n\r\n saveHeartBit() {\r\n if (!this.driverInfo.id) {\r\n return;\r\n }\r\n\r\n\r\n\r\n //console.log('saveHearBit ');\r\n this.taxiSerivce.saveHearBit(this.driverInfo.id, 1, this.map.gpsLat, this.map.gpsLng, this._currentDriverState).subscribe(p => {\r\n\r\n //console.log('saveHearBit subscribe ');\r\n //console.log(p);\r\n });\r\n }\r\n getlastState() {\r\n\r\n this.driverSerivce.getLastStatus(this.guidDriver).subscribe(_res => {\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(_res.currentStatus);\r\n\r\n this._currentDriverState = _res.currentStatus;\r\n\r\n this.driverInfo.currentStation = _res.stationID;\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(_res.currentStatus);\r\n\r\n this._currentDriverState = _res.currentStatus;\r\n if (this._currentDriverState == DriverStatus.LogoutForConcurrency) {\r\n\r\n this.signout();\r\n }\r\n if (!this.currentStation)\r\n this.currentStation = new Station();\r\n if (this.currentStation.id != _res.stationID || this.currentStation.lat == 0) {\r\n this.stationSerivce.getStation(_res.stationID).subscribe(_stationInfo => {\r\n this.currentStation = _stationInfo;\r\n });\r\n }\r\n\r\n\r\n\r\n this.currentPriority = _res.priority;\r\n if (this._currentDriverState == DriverStatus.Traveling) {\r\n this.router.navigate(['service/origin'], { queryParams: { guid: _res.guid } });\r\n }\r\n\r\n\r\n }\r\n );\r\n }\r\n\r\n\r\n getOriginAddressDesc(lat: any, lng: any) {\r\n var s = this.taxiSerivce.getAddressFromLocation(lat, lng);\r\n s.subscribe(_res => {\r\n this.originPoint.desc = _res;\r\n });\r\n }\r\n moveMapEvent(evt: any) {\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(evt.location[0], evt.location[1]));\r\n }\r\n }\r\n moveEndMapEvent(evt: any) {\r\n if (this.CurrentState == PageState.OriginDefine) {\r\n this.getOriginAddressDesc(evt.location[0], evt.location[1]);\r\n }\r\n else if (this.CurrentState == PageState.DestinationDefine) {\r\n var s = this.taxiSerivce.getAddressFromLocation(evt.location[0], evt.location[1]);\r\n s.subscribe(_res => {\r\n this.destinationPoint.desc = _res;\r\n });\r\n }\r\n\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(evt.location[0], evt.location[1]));\r\n }\r\n }\r\n setState(newState: any, addmarker = true) {\r\n\r\n this.CurrentState = newState;\r\n switch (this.CurrentState) {\r\n case PageState.DestinationDefine:\r\n this.StateName = 'تایید مقصد'\r\n if (addmarker)\r\n this.addOriginMarker();\r\n break;\r\n case PageState.None:\r\n case PageState.OriginDefine:\r\n this.StateName = 'تایید مبدا'\r\n if (addmarker)\r\n this.addinitialMarker();\r\n\r\n break;\r\n case PageState.RequestTrip:\r\n this.StateName = 'درخواست سفر'\r\n if (addmarker)\r\n this.addDestinationMarker();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n setOrigin(cordinates: any) {\r\n //this.map.addMarker(cordinates[0], cordinates[1], MarkerType.origin);\r\n this.originPoint.setFromCordinate(cordinates);\r\n var s = this.taxiSerivce.getAddressFromLocation(this.originPoint.lat, this.originPoint.ln);\r\n s.subscribe(_res => {\r\n this.originPoint.desc = _res;\r\n });\r\n this.setState(PageState.DestinationDefine);\r\n }\r\n setDestination(cordinates: any) {\r\n //this.map.addMarker(cordinates[0], cordinates[1], MarkerType.destination);\r\n this.destinationPoint.setFromCordinate(cordinates);\r\n this.taxiSerivce.getAddressFromLocation(this.destinationPoint.lat, this.destinationPoint.ln).subscribe(_res => {\r\n this.destinationPoint.desc = _res;\r\n });\r\n this.setState(PageState.RequestTrip);\r\n this.routing();\r\n\r\n }\r\n routing() {\r\n //\r\n var encoded = \"cob|Ewx_kJet@p~@ilEdjEepBc|AYeOaFaG\";\r\n //var coordinates = Polyline.fromEncoded(encoded).getLatLngs();\r\n ////console.log(coordinates);\r\n\r\n\r\n\r\n //var polyline = polyline(\r\n // coordinates,\r\n // {\r\n // color: 'red',\r\n // weight: 10,\r\n // opacity: .7,\r\n // dashArray: '20,15',\r\n // lineJoin: 'round'\r\n // }\r\n //).addTo(this.map);\r\n\r\n /*this.taxiSerivce.routing(this.originPoint.lat, this.originPoint.ln, this.destinationPoint.lat, this.destinationPoint.ln).subscribe(_res => {\r\n //console.warn('ply:' + _res);\r\n //console.warn(_res.distanceText);\r\n //console.warn(_res.distanceValue);\r\n //console.warn(_res.durationText);\r\n //console.warn(_res.durationValue);\r\n //console.warn(_res.polylines);\r\n //console.warn(_res.summaryTotal);\r\n */\r\n //this.map.showpoly2(_res.polylines, this.originPoint.ln, this.originPoint.lat, this.destinationPoint.ln, this.destinationPoint.lat);\r\n\r\n //});\r\n }\r\n getCurrentStationID() {\r\n if (this.currentStation)\r\n return this.currentStation.id;\r\n else\r\n return 0;\r\n\r\n }\r\n saveRequest() {\r\n if (this.CurrentState == PageState.OriginDefine) {\r\n var latLng = this.initMarker.getLatLng();\r\n this.setOrigin([latLng.lat, latLng.lng]);\r\n }\r\n else if (this.CurrentState == PageState.DestinationDefine) {\r\n var latLng = this.initMarker.getLatLng();\r\n this.setDestination([latLng.lat, latLng.lng]);\r\n this.map.removemarker(this.initMarker);\r\n this.initMarker = null;\r\n }\r\n else if (this.CurrentState == PageState.RequestTrip) {\r\n this.setState(PageState.PassangerInfo);\r\n\r\n }\r\n else if (this.CurrentState == PageState.PassangerInfo) {\r\n if (!this.passangerFullName) {\r\n this.matSnackbar.open('نام مسافر را به صورت صحیح وارد نمایید', null, { duration: 2000 });\r\n return;\r\n }\r\n else if (!this.passangerMobile) {\r\n this.matSnackbar.open('شماره همراه را به صورت صحیح وارد نمایید', null, { duration: 2000 });\r\n return;\r\n }\r\n else if (!this.passangerMobile) {\r\n this.matSnackbar.open('شماره همراه را به صورت صحیح وارد نمایید', null, { duration: 2000 });\r\n return;\r\n }\r\n //else if (!this.passangerComment) {\r\n // this.matSnackbar.open('توضیحات را به صورت صحیح وارد نمایید', null, { duration: 2000 });\r\n // return;\r\n //}\r\n\r\n let req = new ManualServiceRequest();\r\n req.id = 1;\r\n req.destinationLat = this.destinationPoint.lat;\r\n req.destinationLng = this.destinationPoint.ln;\r\n req.originLat = this.originPoint.lat;\r\n req.originLng = this.originPoint.ln;\r\n req.destinationAddr = this.destinationPoint.desc;\r\n req.destination2Addr = '';\r\n req.originAddr = this.originPoint.desc;\r\n //req.passangerID = this.passangerID;\r\n req.passangerName = this.passangerFullName;\r\n req.passangerMobile = this.passangerMobile;\r\n req.comment = this.passangerComment;\r\n //console.warn('input req is ');\r\n //console.warn(req);\r\n this.requestSerivce.saveManualService(req, this.driverInfo.id, this.getCurrentStationID()).subscribe(_res => {\r\n //this.guidRequest = _res;\r\n //console.warn('save manual guid service is ' + _res);\r\n this.router.navigate(['service/origin'], { queryParams: { guid: _res } });\r\n\r\n //this.router.navigate(['driver/new'], {});\r\n //this.socketService.sendMessage(_res, SocketMessageType.RequestServiceCreate);\r\n ////console.warn(_res);\r\n //this.openloadingBar();\r\n });\r\n\r\n }\r\n }\r\n mainBack() {\r\n if (this.CurrentState == PageState.OriginDefine) {\r\n this.setState(PageState.None, false);\r\n this.currentStep = StationSteps.None;\r\n this.map.removemarker(this.initMarker);\r\n this.initMarker = null;\r\n }\r\n if (this.CurrentState == PageState.DestinationDefine) {\r\n this.modiforigin();\r\n }\r\n else if (this.CurrentState == PageState.RequestTrip) {\r\n this.modifyDestination();\r\n }\r\n }\r\n modiforigin() {\r\n if (this.CurrentState == PageState.DestinationDefine) {\r\n this.map.setView(this.originPoint.lat, this.originPoint.ln);\r\n this.setState(PageState.OriginDefine, false);\r\n this.map.removemarker(this.originMarker);\r\n this.originMarker = null;\r\n }\r\n }\r\n modifyDestination() {\r\n if (this.CurrentState == PageState.RequestTrip) {\r\n\r\n this.setState(PageState.DestinationDefine, false);\r\n this.map.setView(this.destinationPoint.lat, this.destinationPoint.ln);\r\n this.setState(PageState.DestinationDefine, false);\r\n this.map.removemarker(this.destinationMarker);\r\n this.destinationMarker = null;\r\n this.addinitialMarker();\r\n }\r\n\r\n }\r\n\r\n //#region Methods\r\n\r\n mytrip() {\r\n \r\n this.dialogStationMemberRef = this.dialog.open(MytripsComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n driverID: this.driverInfo.id\r\n }\r\n });\r\n }\r\n\r\n myProfile() {\r\n this.dialogProfileMemberRef = this.dialog.open(ProfileComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n guidDriver: this.guidDriver\r\n }\r\n });\r\n }\r\n\r\n openNeshan() {\r\n window.open(\"https://neshan.org/\", '_blank').focus();\r\n\r\n }\r\n\r\n\r\n\r\n //#endregion\r\n\r\n //#region Firebase Notification\r\n processMessage(messageBox: NotificationModel) {\r\n\r\n //console.warn('socket is received on driver2');\r\n //console.warn(messageBox);\r\n\r\n switch (messageBox.msgType) {\r\n case SocketMessageType.GetClientInfo:\r\n //console.warn('sent info is : ');\r\n //console.warn(this.driverInfo);\r\n this.socketService.sendMessage(this.driverInfo.guid, SocketMessageType.SetDriverInfo);\r\n break;\r\n case SocketMessageType.ProposedRequestServive:\r\n this.showProposedRequest(messageBox.guidCode);\r\n break;\r\n case SocketMessageType.FinishedProposedRequestServive:\r\n //console.warn('case SocketMessageType.FinishedProposedRequestServive');\r\n this.dialogProposedServiceRef.close('NotAnswered');\r\n break;\r\n case SocketMessageType.FinishedBroadCastRequestServive:\r\n //console.warn('case SocketMessageType.FinishedBroadCastRequestServive');\r\n this.dialogProposedServiceRef.close('NotAnswered');\r\n break;\r\n case SocketMessageType.RequestServiceCancelByPassanger:\r\n this.dialogProposedServiceRef.close('CancelByUser');\r\n break;\r\n case SocketMessageType.ServiceGetSubmitedSuccessfully:\r\n\r\n this.gotoRunService(messageBox.guidCode);\r\n break;\r\n\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n showProposedRequest(guidRequestParam: any) {\r\n this.dialogProposedServiceRef = this.dialog.open(ProposedRequestComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n guidRequest: guidRequestParam\r\n }\r\n });\r\n this.dialogProposedServiceRef.afterClosed().subscribe((result: any) => {\r\n if (result == 'Accept') {\r\n this.acceptRequest(guidRequestParam);\r\n } else if (result == 'Reject') {\r\n this.rejectRequest(guidRequestParam);\r\n }\r\n else if (result == 'NULL') {\r\n this.matSnackbar.open('سرویس توسط شخص دیگری دریافت گردید', null, { duration: 2000 });\r\n }\r\n });\r\n\r\n //this.taxiSerivce.getRequestByPropsedCode(guidRequestParam).subscribe(_res => {\r\n // console.warn(_res);\r\n //});\r\n\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Finalize\r\n\r\n ngOnDestroy() {\r\n if (this.schedulJon) {\r\n clearInterval(this.schedulJon);\r\n }\r\n }\r\n\r\n signout() {\r\n this.setEmptyStation();\r\n this.schedulingupdatestatus();\r\n localStorage.removeItem('cache_id_z');\r\n localStorage.removeItem(environment.cur_u_name);\r\n localStorage.removeItem(environment.cur_fbsToken);\r\n localStorage.removeItem(environment.is_created);\r\n localStorage.removeItem(environment.cur_u_tkn);\r\n console.log('localStorage.removeItem(environment.cur_u_tkn);');\r\n console.log(localStorage.getItem(environment.cur_u_tkn));\r\n\r\n try {\r\n this.driverSerivce.logOutFToken(this.guidDriver).subscribe(\r\n res => {\r\n\r\n this.router.navigate(['driver/new'], {});\r\n })\r\n }\r\n catch (e) {\r\n\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n //public test(): string{\r\n // this.buttonTest.nativeElement.innerHTML = 'test';\r\n // return 'test';\r\n //}\r\n\r\n\r\n\r\n turnOff() {\r\n this.setEmptyStation();\r\n }\r\n\r\n gotogps() {\r\n this.map.gotogps();\r\n }\r\n //#endregion\r\n}\r\n\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci9zdW1tYXJ5aW5mby9zdW1tYXJ5aW5mby5jb21wb25lbnQuY3NzIn0= */\";","import { Component, Input, OnInit } from '@angular/core';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { Driver, getDriverInfo } from '../../model/driver';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-summaryinfo',\r\n templateUrl: './summaryinfo.component.html',\r\n styleUrls: ['./summaryinfo.component.css']\r\n})\r\nexport class SummaryinfoComponent implements OnInit {\r\n @Input() driverID = '';\r\n\r\n constructor(private drvSservice: DriverserviceService,\r\n private route: ActivatedRoute,\r\n ) { }\r\n driverInfo: Driver;\r\n ngOnInit(): void {\r\n \r\n\r\n this.report();\r\n }\r\n report() {\r\n this.drvSservice.getDriverWithoutFBSToken(this.driverID).subscribe(t => {\r\n this.driverInfo = t.info;\r\n console.log(t);\r\n });\r\n }\r\n\r\n}\r\n","export default \"app-taximap {\\n display: block;\\n height: 96vh;\\n overflow: hidden;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL3Rlc3QtbWFwL3Rlc3QtbWFwLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtBQUNGIiwiZmlsZSI6InNyYy9hcHAvZHJpdmVyL3Rlc3QtbWFwL3Rlc3QtbWFwLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYXBwLXRheGltYXAge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogOTZ2aDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbiJdfQ== */\";","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-test-map',\r\n templateUrl: './test-map.component.html',\r\n styleUrls: ['./test-map.component.scss']\r\n})\r\nexport class TestMapComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n moveEnd(e: any) {\r\n //console.log(e);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci90ZXN0LXNvY2tldC90ZXN0LXNvY2tldC5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\n\r\n@Component({\r\n selector: 'app-test-socket',\r\n templateUrl: './test-socket.component.html',\r\n styleUrls: ['./test-socket.component.scss']\r\n})\r\nexport class TestSocketComponent implements OnInit {\r\n\r\n constructor(private callService: CallCenterService, private route: ActivatedRoute,) { }\r\n\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n //console.log(params);\r\n this.callService.testWS(params['id']).subscribe(res => { console.log });\r\n });\r\n \r\n }\r\n\r\n}\r\n","export default \":host {\\n position: fixed !important;\\n width: 100%;\\n height: 100%;\\n background-color: red;\\n}\\n\\napp-taximap {\\n position: fixed;\\n top: 0px;\\n left: 0px;\\n display: block;\\n height: 100%;\\n width: 100%;\\n overflow: hidden;\\n}\\n\\n/*:host {\\n display: flex;\\n flex-direction: column;*/\\n\\n/*height: 100%;*/\\n\\n/*}*/\\n\\nmat-drawer-container {\\n flex: 1 0 auto;\\n}\\n\\n.driver-search {\\n width: 50%;\\n position: relative;\\n}\\n\\n.driver-search__input {\\n box-sizing: border-box;\\n width: 100%;\\n background-color: rgba(255, 255, 255, 0.15);\\n border: 2px solid transparent;\\n font-size: 16px;\\n font-family: inherit;\\n border-radius: 0.25em;\\n padding: 0.25em 0.5em 0.25em 2.5rem;\\n outline: 0;\\n margin: 0;\\n color: #fff;\\n transition: background-color 0.3s, color 0.4s, box-shadow 0.3s;\\n box-shadow: 0 0 0 #000;\\n}\\n\\n.driver-search__input::-moz-placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input::placeholder {\\n color: rgba(255, 255, 255, 0.3);\\n}\\n\\n.driver-search__input:focus {\\n background-color: #fff;\\n color: #282b3b;\\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);\\n}\\n\\n.driver-search__input:focus + .driver-search__icon {\\n color: #282b3b;\\n}\\n\\n.driver-search__icon {\\n position: absolute;\\n left: 9px;\\n top: 7px;\\n z-index: 1;\\n}\\n\\n.side-bar {\\n padding: 1rem;\\n width: 100%;\\n}\\n\\n.driver-information {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.driver-information__details {\\n margin-right: 1rem;\\n}\\n\\n.driver-information__name {\\n font-size: 1rem;\\n}\\n\\n.driver-information__status-label {\\n font-size: 0.875rem;\\n color: #888;\\n}\\n\\n.avatar {\\n position: relative;\\n width: 54px;\\n height: 54px;\\n}\\n\\n.avatar__image {\\n width: 100%;\\n height: 100%;\\n border-radius: 50%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.avatar__status {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: #fff;\\n border: 2px solid #fff;\\n}\\n\\n.car-info {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin-top: 0.5rem;\\n}\\n\\n.car-info__type {\\n margin-right: 0.5rem;\\n margin-left: auto;\\n}\\n\\n.car-info__id {\\n border: 2px solid rgba(0, 0, 0, 0.2);\\n border-radius: 4px;\\n padding: 0.125rem 0.5rem;\\n background-color: #eee;\\n}\\n\\n.bottomDiv {\\n padding: 1rem;\\n background-color: #282b3b;\\n color: #fff;\\n text-align: center;\\n position: absolute;\\n bottom: 35px;\\n width: 100%;\\n z-index: 314195;\\n left: 0px;\\n}\\n\\n.spanDetailState {\\n font-weight: bolder;\\n padding-left: 8px;\\n}\\n\\ndiv_origin {\\n text-align: right;\\n direction: rtl;\\n width: 95%;\\n background-color: white;\\n border-radius: 8px;\\n background: white;\\n padding: 8px;\\n margin-left: auto;\\n margin-right: auto;\\n margin-top: 8px;\\n margin-bottom: 8px;\\n}\\n\\n.btnreq {\\n display: block;\\n background: #32cb00;\\n width: 95%;\\n margin-left: auto;\\n margin-right: auto;\\n margin-top: 8px;\\n margin-bottom: 8px;\\n height: 35px;\\n}\\n\\n.spanAddr {\\n font-weight: bold;\\n}\\n\\n.address__origin::before, .address__dest::before, .address__dest-2::before {\\n position: absolute;\\n content: \\\"\\\";\\n width: 14px;\\n height: 28px;\\n background: #9c27b0;\\n border-radius: 8px;\\n display: block;\\n right: -20px !important;\\n top: 0 !important;\\n}\\n\\n.containter_mainbar {\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n position: fixed;\\n}\\n\\n.top_bar {\\n left: 0;\\n right: 0;\\n z-index: 20;\\n top: 0px !important;\\n position: fixed;\\n display: block !important;\\n}\\n\\n.bottom_bar {\\n position: fixed;\\n bottom: 0 !important;\\n left: 0;\\n right: 0;\\n width: 100%;\\n}\\n\\n#div_userinfotop {\\n display: flex;\\n width: 100%;\\n}\\n\\n#div_main {\\n position: fixed;\\n height: 100%;\\n width: 100%;\\n left: 0px;\\n top: 0px;\\n background-color: yellow;\\n}\\n\\n#div_top {\\n position: fixed;\\n left: 0px;\\n top: 0px;\\n width: 100%;\\n background-color: red;\\n}\\n\\n#div_bottom {\\n position: fixed;\\n left: 0px;\\n bottom: 0px;\\n width: 100%;\\n background-color: blue;\\n}\\n\\n#div_top1 {\\n display: flex;\\n background-color: bisque;\\n}\\n\\n#div_top2 {\\n display: block;\\n background-color: aqua;\\n}\\n\\n.editDestianation {\\n width: 65%;\\n}\\n\\n.destIcon {\\n position: absolute;\\n width: 14px;\\n height: 28px;\\n background: #9c27b0;\\n border-radius: 8px;\\n display: block;\\n right: -20px !important;\\n top: 0 !important;\\n}\\n\\n.mandePositive {\\n color: green;\\n}\\n\\n.mandeNegative {\\n color: red;\\n}\\n\\n.divMande {\\n direction: ltr;\\n font-weight: bolder;\\n font-size: large;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJpdmVyL3Rlc3R2aWV3L3Rlc3R2aWV3LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksMEJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0FBQ0o7O0FBRUE7RUFDRSxlQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtBQUNGOztBQUVBOzswQkFBQTs7QUFHRSxnQkFBQTs7QUFDRixJQUFBOztBQUVBO0VBQ0UsY0FBQTtBQUFGOztBQUdBO0VBQ0UsVUFBQTtFQUNBLGtCQUFBO0FBQUY7O0FBQ0U7RUFHQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSwyQ0FBQTtFQUNBLDZCQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxtQ0FBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLDhEQUFBO0VBQ0Esc0JBQUE7QUFERjs7QUFFRTtFQUdBLCtCQUFBO0FBRkY7O0FBREU7RUFHQSwrQkFBQTtBQUZGOztBQUtBO0VBQ0Usc0JBQUE7RUFDQSxjQUFBO0VBQ0EseUNBQUE7QUFIRjs7QUFJRTtFQUdBLGNBQUE7QUFKRjs7QUFVQTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0FBUkY7O0FBYUE7RUFDRSxhQUFBO0VBQ0EsV0FBQTtBQVZGOztBQWFBO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7QUFWRjs7QUFXRTtFQUdBLGtCQUFBO0FBWEY7O0FBY0E7RUFDRSxlQUFBO0FBWkY7O0FBZUE7RUFDRSxtQkFBQTtFQUNBLFdBQUE7QUFiRjs7QUFrQkE7RUFDRSxrQkFBQTtFQUVBLFdBRE87RUFFUCxZQUZPO0FBZFQ7O0FBa0JFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0tBQUEsaUJBQUE7QUFoQko7O0FBbUJFO0VBQ0Usa0JBQUE7RUFDQSxPQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0FBakJKOztBQXFCQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUFsQkY7O0FBbUJFO0VBR0Esb0JBQUE7RUFDQSxpQkFBQTtBQW5CRjs7QUFzQkE7RUFDRSxvQ0FBQTtFQUVBLGtCQUFBO0VBQ0Esd0JBQUE7RUFDQSxzQkFBQTtBQXJCRjs7QUEwQkE7RUFDRSxhQUFBO0VBQ0EseUJBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLFNBQUE7QUF2QkY7O0FBMEJBO0VBQ0UsbUJBQUE7RUFDQSxpQkFBQTtBQXZCRjs7QUEwQkE7RUFDRSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxVQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7QUF2QkY7O0FBMEJBO0VBQ0UsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsVUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0FBdkJGOztBQTBCQTtFQUNFLGlCQUFBO0FBdkJGOztBQTJCQTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSx1QkFBQTtFQUNBLGlCQUFBO0FBeEJGOztBQTRCQTtFQUNFLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FBekJGOztBQTRCQTtFQUNFLE9BQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLHlCQUFBO0FBekJGOztBQTRCQTtFQUNFLGVBQUE7RUFDQSxvQkFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtBQXpCRjs7QUE0QkE7RUFDRSxhQUFBO0VBQ0EsV0FBQTtBQXpCRjs7QUE2QkE7RUFDRSxlQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBO0VBQ0EsUUFBQTtFQUNBLHdCQUFBO0FBMUJGOztBQTZCQTtFQUNFLGVBQUE7RUFDQSxTQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7RUFDQSxxQkFBQTtBQTFCRjs7QUE2QkE7RUFDRSxlQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0Esc0JBQUE7QUExQkY7O0FBNkJBO0VBQ0UsYUFBQTtFQUNBLHdCQUFBO0FBMUJGOztBQTZCQTtFQUNFLGNBQUE7RUFDQSxzQkFBQTtBQTFCRjs7QUE0QkE7RUFFSSxVQUFBO0FBMUJKOztBQTRCQTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7QUF6QkY7O0FBNEJBO0VBQ0ksWUFBQTtBQXpCSjs7QUEyQkE7RUFFSSxVQUFBO0FBekJKOztBQTJCQTtFQUNFLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0FBeEJGIiwiZmlsZSI6InNyYy9hcHAvZHJpdmVyL3Rlc3R2aWV3L3Rlc3R2aWV3LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICB9XHJcblxyXG5hcHAtdGF4aW1hcCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMHB4O1xyXG4gIGxlZnQ6IDBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyo6aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyovXHJcbiAgLypoZWlnaHQ6IDEwMCU7Ki9cclxuLyp9Ki9cclxuXHJcbm1hdC1kcmF3ZXItY29udGFpbmVyIHtcclxuICBmbGV4OiAxIDAgYXV0bztcclxufVxyXG5cclxuLmRyaXZlci1zZWFyY2gge1xyXG4gIHdpZHRoOiA1MCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICZfX2lucHV0XHJcblxyXG57XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIDAuMTUpO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XHJcbiAgcGFkZGluZzogMC4yNWVtIDAuNWVtIDAuMjVlbSAyLjVyZW07XHJcbiAgb3V0bGluZTogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjRzLCBib3gtc2hhZG93IDAuM3M7XHJcbiAgYm94LXNoYWRvdzogMCAwIDAgIzAwMDtcclxuICAmOjpwbGFjZWhvbGRlclxyXG5cclxue1xyXG4gIGNvbG9yOiByZ2JhKCNmZmYsIDAuMyk7XHJcbn1cclxuXHJcbiY6Zm9jdXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgY29sb3I6ICMyODJiM2I7XHJcbiAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbiAgKyAuZHJpdmVyLXNlYXJjaF9faWNvblxyXG5cclxue1xyXG4gIGNvbG9yOiAjMjgyYjNiO1xyXG59XHJcblxyXG59XHJcbn1cclxuXHJcbiZfX2ljb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA5cHg7XHJcbiAgdG9wOiA3cHg7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG5cclxufVxyXG5cclxuLnNpZGUtYmFyIHtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZHJpdmVyLWluZm9ybWF0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAmX19kZXRhaWxzXHJcblxyXG57XHJcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG59XHJcblxyXG4mX19uYW1lIHtcclxuICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbiZfX3N0YXR1cy1sYWJlbCB7XHJcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICBjb2xvcjogIzg4ODtcclxufVxyXG5cclxufVxyXG5cclxuLmF2YXRhciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICRzaXplOiA1NHB4O1xyXG4gIHdpZHRoOiAkc2l6ZTtcclxuICBoZWlnaHQ6ICRzaXplO1xyXG5cclxuICAmX19pbWFnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgJl9fc3RhdHVzIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB3aWR0aDogOHB4O1xyXG4gICAgaGVpZ2h0OiA4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi5jYXItaW5mbyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG4gICZfX3R5cGVcclxuXHJcbntcclxuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuJl9faWQge1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICA7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuNXJlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG59XHJcblxyXG59XHJcblxyXG4uYm90dG9tRGl2IHtcclxuICBwYWRkaW5nOiAxcmVtO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyODJiM2I7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDM1cHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgei1pbmRleDogMzE0MTk1O1xyXG4gIGxlZnQ6IDBweDtcclxufVxyXG5cclxuLnNwYW5EZXRhaWxTdGF0ZSB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICBwYWRkaW5nLWxlZnQ6IDhweDtcclxufVxyXG5cclxuZGl2X29yaWdpbiB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgZGlyZWN0aW9uOiBydGw7XHJcbiAgd2lkdGg6IDk1JTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgcGFkZGluZzogOHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4uYnRucmVxIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiAjMzJjYjAwO1xyXG4gIHdpZHRoOiA5NSU7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi10b3A6IDhweDtcclxuICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgaGVpZ2h0OiAzNXB4O1xyXG59XHJcblxyXG4uc3BhbkFkZHIge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG5cclxuLmFkZHJlc3NfX29yaWdpbjo6YmVmb3JlLCAuYWRkcmVzc19fZGVzdDo6YmVmb3JlLCAuYWRkcmVzc19fZGVzdC0yOjpiZWZvcmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAxNHB4O1xyXG4gIGhlaWdodDogMjhweDtcclxuICBiYWNrZ3JvdW5kOiAjOWMyN2IwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICByaWdodDogLTIwcHggIWltcG9ydGFudDtcclxuICB0b3A6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi5jb250YWludGVyX21haW5iYXIge1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbn1cclxuXHJcbi50b3BfYmFyIHtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHotaW5kZXg6IDIwO1xyXG4gIHRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ib3R0b21fYmFyIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuI2Rpdl91c2VyaW5mb3RvcCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICB3aWR0aDoxMDAlO1xyXG59XHJcblxyXG5cclxuI2Rpdl9tYWluIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGxlZnQ6IDBweDtcclxuICB0b3A6IDBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7XHJcbn1cclxuXHJcbiNkaXZfdG9wIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgbGVmdDogMHB4O1xyXG4gIHRvcDogMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxufVxyXG5cclxuI2Rpdl9ib3R0b20ge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBsZWZ0OiAwcHg7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcclxufVxyXG5cclxuI2Rpdl90b3AxIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGJpc3F1ZTtcclxufVxyXG5cclxuI2Rpdl90b3AyIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBhcXVhO1xyXG59XHJcbi5lZGl0RGVzdGlhbmF0aW9uXHJcbntcclxuICAgIHdpZHRoOjY1JTtcclxufVxyXG4uZGVzdEljb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTRweDtcclxuICBoZWlnaHQ6IDI4cHg7XHJcbiAgYmFja2dyb3VuZDogIzljMjdiMDtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcmlnaHQ6IC0yMHB4ICFpbXBvcnRhbnQ7XHJcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYW5kZVBvc2l0aXZle1xyXG4gICAgY29sb3I6Z3JlZW47XHJcbn1cclxuLm1hbmRlTmVnYXRpdmVcclxue1xyXG4gICAgY29sb3I6cmVkO1xyXG59XHJcbi5kaXZNYW5kZSB7XHJcbiAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICBmb250LXNpemU6IGxhcmdlO1xyXG59XHJcblxyXG5cclxuIl19 */\";","\r\nimport { Component, ElementRef, Inject, OnDestroy, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MarkerType } from '../../lib/markerHelper';\r\nimport { Car } from '../../model/car';\r\nimport { Driver } from '../../model/driver';\r\nimport { StationSteps } from '../../model/enumtype';\r\nimport { FormControl } from '@angular/forms';\r\n\r\nimport { Station } from '../../model/station';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { TaximapComponent } from '../../taximap/taximap.component';\r\nimport { MatSidenav } from '@angular/material/sidenav';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\nimport { BottomsheetinfoComponent } from '../../station/bottomsheetinfo/bottomsheetinfo.component';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DriverStatus, IDriverStatusMeta } from '../../lib/enums/driver-status.enum';\r\nimport { SavedPlaceService } from '../../lib/serviceLib/savedplace.service';\r\n\r\nimport { LatLng } from 'leaflet';\r\nimport { LocationInfo, PageState } from '../../globalVariable';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { ManualServiceRequest } from '../../model/ServiceRequest';\r\n\r\nimport { MytripsComponent } from '../mytrips/mytrips.component';\r\nimport { ShiftlistingComponent } from '../../manage/shiftlisting/shiftlisting.component';\r\n\r\nimport { ProfileComponent } from '../profile/profile.component';\r\nimport { WebSocketService } from '../../lib/web-socket.service';\r\nimport { NotificationModel, SocketMessageType } from '../../model/socketmodels';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { ProposedRequestComponent } from '../proposed-request/proposed-request.component';\r\nimport { SwPush, SwUpdate } from '@angular/service-worker';\r\nimport { FreeserviceComponent } from '../freeservice/freeservice.component';\r\nimport { environment } from '../../../environments/environment.prod';\r\nimport { SnackbarexitdriverComponent } from '../snackbarexitdriver/snackbarexitdriver.component';\r\nimport { DriverMenuComponent } from '../driver-menu/driver-menu.component';\r\nimport { StationListComponent } from '../../station/station-list/station-list.component';\r\nimport { PassangerSavedPlace } from '../../model/passangerSavedPlace';\r\nimport { SearchplaceComponent } from './../../shared/searchplace/searchplace.component';\r\nimport { MyshiftComponent } from '../../manage/myshift/myshift.component';\r\n\r\n@Component({\r\n selector: 'app-testview',\r\n templateUrl: './testview.component.html',\r\n styleUrls: ['./testview.component.scss']\r\n})\r\nexport class TestviewComponent implements OnInit, OnDestroy, AfterViewInit {\r\n\r\n //#region variables\r\n @ViewChild(\"audioOption\", { static: false })\r\n public audioPlayerRef: ElementRef;\r\n @ViewChild('android', { static: false })\r\n public android: ElementRef;\r\n @ViewChild('logoutAndroid', { static: false })\r\n public logoutAndroid: ElementRef;\r\n @ViewChild(\"map\", { static: false })\r\n public map: TaximapComponent;\r\n\r\n\r\n\r\n socket: WebSocket;\r\n isVan = false;\r\n _currentDriverState: DriverStatus = DriverStatus.Off;\r\n now: number;\r\n schedulJon: any;\r\n guidDriver: string = '';\r\n driverInfo = new Driver();\r\n carInfo = new Car();\r\n avatar: any;\r\n lstStation: Station[];\r\n currentStation = new Station();\r\n currentPriority = 0;\r\n currentFBSToken = '';\r\n cuerrentVersion = '';\r\n dialogStationMemberRef: MatDialogRef;\r\n dialogShiftRef: MatDialogRef;\r\n dialogMyShiftRef: MatDialogRef;\r\n \r\n dialogProfileMemberRef: MatDialogRef;\r\n\r\n dialogProposedServiceRef: MatDialogRef;\r\n dialogFreeServiceRef: MatDialogRef;\r\n dialogStationListRef: MatDialogRef;\r\n passangerFullName = 'آقای نجاتی';\r\n passangerMobile = '09151112914';\r\n passangerComment = '';\r\n destinationInput = 'میدان فردوسی';\r\n\r\n CurrentState = PageState.None;\r\n currentStep: StationSteps = StationSteps.None;\r\n originPoint = new LocationInfo();\r\n destinationPoint = new LocationInfo();\r\n StateName = ''\r\n originMarker: any;\r\n initMarker: any;\r\n destinationMarker: any;\r\n OutOfRange = false;\r\n dtOutOfRange: any;\r\n gpsFailedTry = 0;\r\n snackBarStationExit: any;\r\n driverCount = 0\r\n requestCount = 0;\r\n\r\n\r\n\r\n\r\n\r\n constructor(\r\n private swPush: SwPush,\r\n private dialog: MatDialog,\r\n private sanitizer: DomSanitizer,\r\n private driverSerivce: DriverserviceService,\r\n private stationSerivce: StationserviceService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private _bottomSheet: MatBottomSheet,\r\n private matSnackbar: MatSnackBar,\r\n private taxiSerivce: TaxiserviceService,\r\n private requestSerivce: ServiceRequestService,\r\n private socketService: WebSocketService,\r\n private swUpdate: SwUpdate,\r\n private placeService: SavedPlaceService,\r\n ) {\r\n\r\n\r\n //console.log('station init');\r\n\r\n\r\n setInterval(() => {\r\n this.now = Date.now();\r\n }, 1);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n //console.log('ngoninit22');\r\n this.initLoad();\r\n this.loadSavedPlace();\r\n //console.log('initLoad finish22');\r\n\r\n this.checkForUpdat();\r\n //console.log('checkForUpdat finish22');\r\n //navigator.geolocation.getCurrentPosition((position: Position) => this.getNewPosition(position));\r\n //navigator.geolocation.getCurrentPosition(this.getNewPosition);\r\n this.schedulingupdatestatus();\r\n //navigator.geolocation.watchPosition((position: Position) => this.getNewPosition(position), (err) => {\r\n\r\n // this.setPosition(36.28988214947892, 59.613681321220305);\r\n // this.matSnackbar.open('جی پی اس دستگاه را بررسی نمایید', null, { duration: 2000 }\r\n // )\r\n // ;\r\n //}, { enableHighAccuracy: true });\r\n //this.schedulJon = setInterval(() => {\r\n\r\n //}, 5 * 1000);\r\n\r\n //console.log('schedulingupdatestatus set interall finish22');\r\n\r\n\r\n //this.getLocation(true);\r\n //console.log('this.getLocation(true); finish22');\r\n\r\n\r\n }\r\n\r\n initLoad() {\r\n if (!this.map)\r\n this.map = new TaximapComponent();\r\n this.currentFBSToken = localStorage.getItem(environment.cur_fbsToken);\r\n this.loadDriverInfo().subscribe({\r\n next: (_res) => {\r\n this.guidDriver = _res.info.guid;\r\n this.driverInfo = _res.info;\r\n this.carInfo = _res.car;\r\n this.isVan = this.carInfo.isVan;\r\n if (this.currentFBSToken) {\r\n this.driverSerivce.saveDriverFBS(this.driverInfo.id, this.currentFBSToken).subscribe(fbsres => { });\r\n }\r\n this.UpdateStateFromServer(true).subscribe(res => { });\r\n\r\n this.avatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + this.driverInfo.avatar);\r\n\r\n if (this.driverInfo != null) {\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(DriverStatus.Off);\r\n\r\n this.driverInfo.currentStation = 0;\r\n this.getlastState();\r\n\r\n }\r\n else {\r\n //console.log('station to home');\r\n this.matSnackbar.open('نیاز به لاگین', null, { duration: 2000 });\r\n this.router.navigate(['driver/new'], {});\r\n }\r\n\r\n this.loadStation().subscribe(res => { });\r\n this.UpdateStateFromServer(true).subscribe(res => { });\r\n //this.socketService.startSocket();\r\n },\r\n error: (e) => {\r\n this.router.navigate(['driver/new'], {});\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n this.setEmptyStation();\r\n\r\n }\r\n schedulingupdatestatus() {\r\n this.UpdateStateFromServer(false).subscribe(res => {\r\n this.loadStation(false).subscribe(_r => {\r\n this.schedulJon = setTimeout(() => { this.schedulingupdatestatus() }, 5000);\r\n })\r\n }\r\n )\r\n //console.log('schedulingupdatestatus run');\r\n //this.schedulJon = setTimeout(() => { this.schedulingupdatestatus() }, 10);\r\n //forkJoin(this.UpdateStateFromServer(), this.loadStation(false)).subscribe(res => {\r\n // this.schedulJon = setTimeout(() => { this.schedulingupdatestatus() }, 5000);\r\n //})\r\n //forkJoin({\r\n // user: this.UpdateStateFromServer();\r\n // roles: this.loadStation(false);;\r\n //}).subscribe(results => {\r\n // this.user = results.user;\r\n // this.roles = results.roles;\r\n // //do whetever has to be done here since both are complete\r\n //})\r\n //forkJoin(\r\n\r\n\r\n //).subscribe((([posts, tags]: [Post[], Tag[]]) => {\r\n\r\n //}));\r\n\r\n //name$.pipe(\r\n // combineLatestWith($document)\r\n //)\r\n // .subscribe(([name, document]) => {\r\n // this.name = name;\r\n // this.document = pair.document;\r\n // this.showForm();\r\n // })\r\n\r\n //this.getLocation(false);\r\n\r\n\r\n\r\n }\r\n \r\n lastReset= 0;\r\n resetGPS() {\r\n const diff = Math.abs((new Date()).getTime() - this.lastReset);\r\n if (diff > 2 * 60 * 1000) {\r\n this.lastReset = Date.now();\r\n this.android.nativeElement.click();\r\n this.matSnackbar.open('ارسال جی پی اس ریست شد', null, { duration: 2000 });\r\n\r\n }\r\n }\r\n \r\n Mande = 0;\r\n MandeString = '';\r\n\r\n lastGPSMinute= 0;\r\n UpdateStateFromServer(setgps = false): Observable {\r\n return new Observable((observer) => {\r\n this.driverSerivce.getAndFetch_StatusInfo(this.driverInfo.guid, this._currentDriverState, this.map.gpsLat, this.map.gpsLng, this.getCurrentStationID()).subscribe(_res => {\r\n \r\n\r\n\r\n \r\n \r\n console.warn('getAndFetch_StatusInfo');\r\n console.warn(_res);\r\n if (_res) {\r\n if (_res.lastGPSRecieveDistanceSecond > 0)\r\n this.lastGPSMinute = Math.floor(_res.lastGPSRecieveDistanceSecond / 60);\r\n else\r\n this.lastGPSMinute = 0;\r\n if (this.lastGPSMinute > 3) {\r\n this.resetGPS();\r\n }\r\n this.Mande = _res.mande;\r\n this.MandeString= _res.mandeString;\r\n\r\n if (_res.currentStatus == DriverStatus.LogoutForConcurrency) {\r\n this.matSnackbar.open('خروج اجباری به دلیل همزمانی', null, { duration: 2000 });\r\n this.signout();\r\n }\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(_res.currentStatus);\r\n\r\n if (_res.currentStatus == DriverStatus.Locked) {\r\n this.matSnackbar.open('قفل - ' + this.driverInfo.lockComment, null, { duration: 2000 });\r\n this.driverInfo.currentDriverStatus.text = 'قفل ' + this.driverInfo.lockComment;\r\n }\r\n \r\n this.currentPriority = _res.priority;\r\n \r\n this._currentDriverState = _res.currentStatus;\r\n if (!_res.lat || _res.lat == 0) {\r\n _res.lat = 36.2568397521973;\r\n }\r\n if (!_res.lng || _res.lng == 0) {\r\n _res.lng = 59.6200141906738;\r\n }\r\n\r\n this.map.gpsLat = _res.lat;\r\n this.map.gpsLng = _res.lng;\r\n this.map.locateManual(_res.lat, _res.lng, false)\r\n\r\n \r\n\r\n //this.checkStationExit();\r\n if (setgps)\r\n this.map.gotogps();\r\n\r\n //console.log('this._currentDriverState' + this._currentDriverState);\r\n //console.log('_res is ');\r\n //console.log(_res);\r\n if (this._currentDriverState == DriverStatus.Traveling && _res.guid) {\r\n //console.log('this.currentState == DriverStatus.Traveling and navigate to service/origin(station)');\r\n this.router.navigate(['service/origin'], { queryParams: { guid: _res.guid } });\r\n }\r\n\r\n if (this.getCurrentStationID() != _res.stationID) {\r\n this.stationSerivce.getStation(_res.stationID).subscribe(_stationInfo => {\r\n this.currentStation = _stationInfo;\r\n this.driverInfo.currentStation = _res.stationID;\r\n\r\n //console.warn('_stationInfo res is :');\r\n //console.warn(_stationInfo);\r\n if (!_stationInfo) {\r\n //console.warn('_stationInfo is null :');\r\n }\r\n });\r\n }\r\n }\r\n observer.next(_res)\r\n });\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n\r\n inChangeUpdateMode = false;\r\n saveDriverStateOnDatabase(newStatus: DriverStatus, goOnline: boolean = false): Observable {\r\n return new Observable((observer) => {\r\n this.driverSerivce.updateDriverStatus(this.driverInfo.guid, newStatus, goOnline).subscribe(\r\n _res => {\r\n observer.next(_res)\r\n }\r\n );\r\n });\r\n\r\n }\r\n\r\n showStationList() {\r\n this.dialogStationListRef = this.dialog.open(StationListComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n\r\n guidDriver: this.driverInfo.guid,\r\n gpsLat: this.map.gpsLat,\r\n gpsLng: this.map.gpsLng\r\n }\r\n });\r\n this.dialogStationListRef.afterClosed().subscribe((result: any) => {\r\n if (result) {\r\n {\r\n this.showStation(result);\r\n }\r\n }\r\n });\r\n }\r\n showFreeServices() {\r\n\r\n //console.log('showFreeServices'+this.driverInfo.guid);\r\n this.dialogFreeServiceRef = this.dialog.open(FreeserviceComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n guidRequest: this.driverInfo.guid\r\n }\r\n });\r\n this.dialogFreeServiceRef.afterClosed().subscribe((result: any) => {\r\n if (result.length > 0) {\r\n {\r\n this.requestSerivce.getPropsedByDriver_Service(result, this.driverInfo.guid).subscribe(_res => { this.showProposedRequest(_res); });\r\n }\r\n }\r\n });\r\n\r\n //this.taxiSerivce.getRequestByPropsedCode(guidRequestParam).subscribe(_res => {\r\n // console.warn(_res);\r\n //});\r\n\r\n }\r\n showSearchPlace() {\r\n\r\n console.log('showFreeServices' + this.driverInfo.guid);\r\n var dialogsearchPlaceRef = this.dialog.open(SearchplaceComponent, {\r\n width: '99%',\r\n height: '99%',\r\n\r\n hasBackdrop: true,\r\n data: {\r\n\r\n }\r\n });\r\n dialogsearchPlaceRef.afterClosed().subscribe((result: any) => {\r\n console.log(result)\r\n console.log(result)\r\n\r\n if (this.getCurrentStationID() == 2) {\r\n this.addHomaInit();\r\n }\r\n else if (this.getCurrentStationID() == 100 || this.getCurrentStationID() == 0) {\r\n this.addFreeInit();\r\n }\r\n\r\n else {\r\n this.addMadineInit();\r\n\r\n }\r\n \r\n //this.setDestination(, false);\r\n this.CurrentState = PageState.RequestTrip;\r\n if (result.name == 'در اختیار') {\r\n this.destinationPoint.setFromCordinate([this.map.gpsLat, this.map.gpsLng]);\r\n this.destinationMarker = this.map.addMarker(this.map.gpsLat, this.map.gpsLng, MarkerType.destination);\r\n this.StateName = 'درخواست سفر'\r\n this.destinationInput = result.name;\r\n this.darEkhtiar=(true);\r\n console.log('dar ekhtiar')\r\n }\r\n else {\r\n this.destinationPoint.setFromCordinate([result.lat, result.lng]);\r\n this.destinationMarker = this.map.addMarker(result.lat, result.lng, MarkerType.destination);\r\n this.StateName = 'درخواست سفر'\r\n this.destinationInput = result.name;\r\n }\r\n //this.setState(PageState.RequestTrip, false);\r\n //this.routing();\r\n\r\n if (this.initMarker) {\r\n\r\n\r\n this.map.removemarker(this.initMarker);\r\n }\r\n this.initMarker = null;\r\n\r\n \r\n\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n acceptRequest(guidRequestParam: any) {\r\n //this.socketService.sendMessage(guidRequestParam, SocketMessageType.AcceptProposedRequest);\r\n\r\n this.driverSerivce.GetSuccesfullService(guidRequestParam, 'accept').subscribe(res => {\r\n this.router.navigate(['service/origin'], { queryParams: { guid: res } });\r\n });\r\n }\r\n\r\n rejectRequest(guidRequestParam: any) {\r\n this.driverSerivce.GetSuccesfullService(guidRequestParam, 'reject').subscribe(res => {\r\n\r\n //this.router.navigate(['driver/new'], { queryParams: { guid: res } });\r\n });\r\n\r\n\r\n }\r\n gotoRunService(guidService: any) {\r\n //console.warn('gotoRunService:' + guidService);\r\n this.getlastState();\r\n if (this._currentDriverState == DriverStatus.Traveling)\r\n // با توجه به اینکه ممکن است سفر خاتمه خورده باشد به جای ارسال مستقیم به صفحه سفر ابتدا چک می شود اگر وضعیت در حال سفر باشد منتقل می گردد\r\n this.router.navigate(['service/origin'], { queryParams: { guid: guidService } });\r\n }\r\n\r\n gotoOrigin() {\r\n //if (this._currentDriverState != DriverStatus.WaitingOnStation) {\r\n // this.matSnackbar.open('ابتدا می بایست در ایستگاه مربوطه ثبت نوبت نمایید.', null, { duration: 2000 });\r\n // return;\r\n //}\r\n /*\r\n this.currentStep = StationSteps.Origin;\r\n this.setState(PageState.OriginDefine);\r\n */\r\n this.addMadineInit();\r\n }\r\n addinitialMarker() {\r\n\r\n console.log('addinitialMarker');\r\n var loc = this.map.getCenter();\r\n var cord = [loc.lat, loc.lng]\r\n this.initMarker = this.map.addMarker(loc.lat, loc.lng, MarkerType.initLocation);\r\n console.log('addinitialMarker + getOriginAddressDesc');\r\n\r\n this.getOriginAddressDesc(loc.lat, loc.lng);\r\n }\r\n addOriginMarker() {\r\n var loc = this.map.getCenter();\r\n var cord = [loc.lat, loc.lng]\r\n this.originMarker = this.map.addMarker(loc.lat, loc.lng, MarkerType.origin);\r\n }\r\n addDestinationMarker() {\r\n var loc = this.map.getCenter();\r\n var cord = [loc.lat, loc.lng]\r\n this.destinationMarker = this.map.addMarker(loc.lat, loc.lng, MarkerType.destination);\r\n }\r\n checkForUpdat() {\r\n \r\n \r\n this.swUpdate.available.subscribe(event => {\r\n this.swUpdate.activateUpdate().then(() => {\r\n this.matSnackbar.open('اعمال بروزرسانی به نسخه جدید', null, { duration: 3000 });\r\n window.location.reload();\r\n });\r\n\r\n \r\n location.reload();\r\n });\r\n\r\n }\r\n forceUpdate() {\r\n this.swUpdate.activateUpdate().then(() => document.location.reload());\r\n window.location.reload();\r\n\r\n }\r\n\r\n\r\n loadDriverInfo(): Observable {\r\n return new Observable((observer) => {\r\n if (this.currentFBSToken) {\r\n this.driverSerivce.getDriverByFBSToken_OnlyInfo(this.currentFBSToken).subscribe(_res => {\r\n\r\n //localStorage.setItem(environment.cur_u_tkn, _res.tk);\r\n //console.log('localStorage.setItem(environment.cur_u_tkn, _res.tk);');\r\n //console.log('environment.cur_u_tkn is ;');\r\n //console.log(localStorage.getItem(environment.cur_u_tkn));\r\n observer.next(_res);\r\n //console.log('getDriverBySuccessfuGUID');\r\n //console.log(_res);\r\n })\r\n }\r\n else {\r\n observer.error('guid is not correct');\r\n\r\n\r\n }\r\n return {\r\n unsubscribe() {\r\n //navigator.geolocation.clearWatch(watchId);\r\n }\r\n };\r\n });\r\n }\r\n\r\n\r\n setPosition(lat, lng) {\r\n this.map.gpsLat = lat;\r\n this.map.gpsLng = lng;\r\n\r\n this.map.moveCurrentGPS(this.map.gpsLat, this.map.gpsLng);\r\n }\r\n getNewPosition(position) {\r\n\r\n console.log('getNewPosition')\r\n console.log(position.coords.latitude)\r\n console.log(position.coords.longitude)\r\n this.setPosition(position.coords.latitude, position.coords.longitude)\r\n\r\n\r\n // در صورتی که ثبت نوبت کرده باشد نباید از محدوده خارج شود\r\n //this.checkStationExit();\r\n\r\n\r\n\r\n }\r\n\r\n stopAlarmStation() {\r\n if (this.snackBarStationExit) {\r\n this.snackBarStationExit.dismiss();\r\n this.snackBarStationExit = null;\r\n }\r\n this.audioPlayerRef.nativeElement.pause();\r\n }\r\n stationExit_No_Alarm_PauseClicked = false;\r\n stationExit_No_Alarm_CloseClicked = false;\r\n\r\n checkStationExit() {\r\n const currentLat = this.map.gpsLat;\r\n const currentLng = this.map.gpsLng;\r\n\r\n if (this.currentStation && this.currentStation.id !== 0 && this.currentStation.id !== 100 && this.currentStation.lat != 0) {\r\n const distKM = this.map.getDistanceFromLatLonInKm(currentLat, currentLng, this.currentStation.lat, this.currentStation.lng);\r\n const InRange = (distKM * 1000) <= this.currentStation.radios;\r\n if (InRange) {\r\n this.OutOfRange = false;\r\n this.dtOutOfRange = \"\";\r\n this.stopAlarmStation();\r\n this.stationExit_No_Alarm_PauseClicked = false;\r\n this.stationExit_No_Alarm_CloseClicked = false;\r\n }\r\n else {\r\n if (!this.OutOfRange) {\r\n //this.audioPlayerRef.nativeElement.play();\r\n this.OutOfRange = true;\r\n this.dtOutOfRange = new Date()\r\n this.stationExit_No_Alarm_CloseClicked = false;\r\n this.stationExit_No_Alarm_PauseClicked = false;\r\n this.driverSerivce.seenAlarm(this.guidDriver).subscribe(res => { });\r\n\r\n //this.stationSerivce.sendExitSocketMessage(this.currentFBSToken, \"https://boroseir.ir/message/exitq?id=\" + this.currentPriority, this.currentPriority,3).subscribe(res => { });\r\n\r\n\r\n\r\n //this.matSnackbar.open('شما از محدوده مجاز ایستگاه خارج شده اید.در صورت عدم بازگشت ظرف مدت 3 دقیقه از صف و نوبت خارج می شوید', null, { duration: 3000 });\r\n this.snackBarStationExit = this.matSnackbar.openFromComponent(SnackbarexitdriverComponent, {\r\n duration: 3 * 60 * 1000,\r\n data:\r\n {\r\n fbsToken: this.guidDriver,\r\n preClose: (methodname: any) => {\r\n if (methodname == 'close') {\r\n\r\n this.stationExit_No_Alarm_CloseClicked = true;\r\n this.stopAlarmStation();\r\n\r\n //console.log('close');\r\n };\r\n\r\n if (methodname == 'stop') {\r\n this.stationExit_No_Alarm_PauseClicked = true;\r\n //console.log('stop');\r\n this.audioPlayerRef.nativeElement.pause();\r\n }\r\n },\r\n\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n else {\r\n\r\n\r\n\r\n const diff = Math.abs((new Date()).getTime() - this.dtOutOfRange);\r\n\r\n if (diff > 3 * 60 * 1000) {\r\n\r\n //this.stationSerivce.sendExitSocketMessage(this.currentFBSToken, \"به دلیل عدم بازگشت به صف نوبت شما از صف خارج شد\", this.currentPriority, 1).subscribe(res => { });\r\n\r\n this.stopAlarmStation();\r\n this.setdefaultStation().subscribe(res => { });\r\n\r\n }\r\n else {\r\n\r\n if (!this.stationExit_No_Alarm_PauseClicked && !this.stationExit_No_Alarm_CloseClicked) {\r\n this.audioPlayerRef.nativeElement.pause();\r\n //this.audioPlayerRef.nativeElement.play();\r\n //console.log('play1');\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n else {\r\n this.stopAlarmStation();\r\n }\r\n }\r\n ngAfterViewInit() {\r\n console.log(this.android.nativeElement.click());\r\n\r\n this.setPosition(36.28988214947892, 59.613681321220305);\r\n //console.log('ngAfterViewInit');\r\n this.route.queryParams.subscribe(params => {\r\n const state = params['state'];\r\n if (state == 1) {\r\n this.matSnackbar.open('سفر شما به دلیل ویرایش کاربر کنسل گردید.', null, { duration: 2000 });\r\n }\r\n else if (state == 2) {\r\n this.matSnackbar.open('سفر شما توسط اپراتور کنسل گردید.', null, { duration: 2000 });\r\n }\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n getLocation(setView: any): void {\r\n this.map.locate(setView).subscribe(res => {\r\n if (!navigator.geolocation) {\r\n this.matSnackbar.open('جی پی اس خود را بررسی نمایید', null, { duration: 2500 });\r\n this.gpsFailedTry++;\r\n if (this.gpsFailedTry > 5) {\r\n this.map.gpsLat = 0;\r\n this.map.gpsLng = 0;\r\n //this.checkStationExit();\r\n }\r\n }\r\n else {\r\n this.gpsFailedTry = 0;\r\n //this.checkStationExit();\r\n }\r\n\r\n });\r\n\r\n }\r\n map_Click(cordinates: any) {\r\n if (this._currentDriverState == DriverStatus.Station100) {\r\n this._bottomSheet.open(BottomsheetinfoComponent);\r\n }\r\n\r\n\r\n }\r\n\r\n loadStation(withMarker = true): Observable {\r\n return new Observable((observer) => {\r\n this.stationSerivce.getStationList(this.guidDriver, this.map.gpsLat, this.map.gpsLng).subscribe(_res => {\r\n this.lstStation = _res;\r\n this.driverCount = 0;\r\n this.requestCount = 0;\r\n _res.forEach(station => {\r\n station.guidDriver = this.guidDriver;\r\n this.driverCount = this.driverCount + station.length;\r\n this.requestCount = this.requestCount + station.requestCount;\r\n if (!this.isVan) {\r\n if (withMarker) {\r\n this.map.addStationMarker(station);\r\n }\r\n else\r\n this.map.updateStationMarker(station);\r\n }\r\n });\r\n observer.next(_res)\r\n });\r\n });\r\n }\r\n addtoStation(item: Station) {\r\n //console.log('addtoStation');\r\n //console.log(item);\r\n this.stationSerivce.addToQueue(item.id, this.driverInfo.guid).subscribe(_res => {\r\n if (_res.startsWith('suspend')) {\r\n var newstr = _res.replace('suspend', '').replace('#',''); \r\n\r\n this.matSnackbar.open('سرویس در اختیار امکان ثبت نوبت نمی باشد ' + newstr , null, { duration: 20000 });\r\n\r\n }\r\n if (_res == '-1000') {\r\n this.matSnackbar.open('ظرفیت ایستگاه پر می باشد.', null, { duration: 3000 });\r\n\r\n }\r\n else {\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(DriverStatus.WaitingOnStation);\r\n this.currentStation = item;\r\n this.driverInfo.currentStation = this.currentStation ? this.currentStation.id : 0;\r\n this.currentPriority = Number.parseInt(_res);\r\n if (!item) {\r\n //console.warn('item is null :');\r\n }\r\n }\r\n });\r\n }\r\n showStation(stationInput: Station) {\r\n console.log(this._currentDriverState);\r\n if (this._currentDriverState == DriverStatus.Locked) {\r\n return;\r\n }\r\n console.log('this._currentDriverState false called');\r\n this.stationSerivce.getStation(stationInput.id).subscribe(item => {\r\n\r\n //this.router.navigate(['/station/view'], { queryParams: { guid: this.guidDriver, id: item.id } });\r\n if (this._currentDriverState >= DriverStatus.Station100) {\r\n let state = 0;\r\n if (this._currentDriverState == DriverStatus.WaitingOnStation)\r\n state = 1;\r\n else\r\n state = 0;\r\n var distKM = this.map.getDistanceFromLatLonInKm(this.map.gpsLat, this.map.gpsLng, item.lat, item.lng);\r\n //console.warn('distance is ' + distKM);\r\n var InRange = (distKM * 1000) <= item.radios;\r\n this._bottomSheet.open(BottomsheetinfoComponent,\r\n {\r\n data: { stationInfo: item, driverGuid: this.guidDriver, driverInfo: this.driverInfo, InRange: InRange },\r\n }\r\n ).afterDismissed().subscribe((dataFromChild) => {\r\n if (dataFromChild == 'addToQueue') {\r\n var distKM = this.map.getDistanceFromLatLonInKm(this.map.gpsLat, this.map.gpsLng, item.lat, item.lng);\r\n //console.warn('distance is ' + distKM);\r\n if (!InRange) {\r\n this.matSnackbar.open('شما در محدوده مجاز ایستگاه قرار ندارید.', null, { duration: 3000 });\r\n }\r\n else {\r\n this.addtoStation(item);\r\n }\r\n\r\n }\r\n else if (dataFromChild == 'exitQueue') {\r\n this.setdefaultStation().subscribe(res => { });\r\n }\r\n });\r\n\r\n }\r\n });\r\n }\r\n setdefaultStation(goOnline = false): Observable {\r\n\r\n return new Observable((observer) => {\r\n this.saveDriverStateOnDatabase(DriverStatus.Station100, goOnline).subscribe(res => {\r\n if (!this.currentStation)\r\n this.currentStation = new Station();\r\n this.currentStation.name = \"ایستگاه 100\";\r\n this.currentStation.id = 100;\r\n this.currentStation.code = \"100\";\r\n\r\n this.currentPriority = res;\r\n\r\n this.driverInfo.currentStation = 100;\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(DriverStatus.Station100);\r\n this._currentDriverState = DriverStatus.Station100;\r\n //console.log(res);\r\n observer.next(this.currentStation.id);\r\n });\r\n });\r\n\r\n }\r\n setEmptyStation() {\r\n this.saveDriverStateOnDatabase(DriverStatus.Off).subscribe(res => {\r\n this._currentDriverState = DriverStatus.Off;\r\n this.currentStation = new Station();\r\n this.currentStation.name = \"---\";\r\n this.currentStation.id = 0;\r\n this.currentPriority = 0;\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(DriverStatus.Off);\r\n this.driverInfo.currentStation = 0;\r\n });;\r\n }\r\n toggleMenu() {\r\n //console.warn('toggleMenu');\r\n //this.drawer.toggle();\r\n const bottomSheetRef = this._bottomSheet.open(DriverMenuComponent, {\r\n data: { mande: this.Mande, mandeString : this.MandeString }\r\n });\r\n\r\n bottomSheetRef.afterDismissed().subscribe((res) => {\r\n if (res == 'gotoOrigin')\r\n this.showSearchPlace();\r\n else if (res == 'mytrip')\r\n this.mytrip();\r\n else if (res == 'showFreeServices')\r\n this.showFreeServices();\r\n else if (res == 'showStation')\r\n this.showStationList();\r\n\r\n else if (res == 'turnOff')\r\n this.turnOff();\r\n else if (res == 'signout')\r\n this.signout();\r\n else if (res == 'forceUpdate')\r\n this.forceUpdate();\r\n else if (res == 'myProfile')\r\n this.myProfile();\r\n else if (res == 'pay')\r\n this.gotopay();\r\n else if (res == 'myShift')\r\n this.myShift();\r\n else if (res == 'allShift')\r\n this.allShift ();\r\n\r\n\r\n\r\n\r\n });\r\n }\r\n balebotURL = 'https://ble.ir/borobot?start';\r\n gotopay() {\r\n this.driverSerivce.startPay(this.driverInfo.id).subscribe(res => {\r\n this.balebotURL = 'https://ble.ir/borobot?start='+res;\r\n window.open(this.balebotURL, '_system');\r\n });\r\n \r\n\r\n }\r\n testLog(msg) {\r\n console.log(msg);\r\n }\r\n goOnline() {\r\n this.testLog('goOnline');\r\n if (this._currentDriverState == DriverStatus.Locked) {\r\n this.testLog('this._currentDriverState == DriverStatus.Locked');\r\n \r\n this.matSnackbar.open('قفل- ' + this.driverInfo.lockComment, null, { duration: 2000 });\r\n } else {\r\n this.testLog('else this._currentDriverState == DriverStatus.Locked');\r\n if (this._currentDriverState) {\r\n this.testLog('this.setdefaultStation');\r\n this.setdefaultStation(true).subscribe(res => {\r\n console.log(res);\r\n });\r\n }\r\n }\r\n }\r\n\r\n saveHeartBit() {\r\n if (!this.driverInfo.id) {\r\n return;\r\n }\r\n\r\n\r\n\r\n //console.log('saveHearBit ');\r\n this.taxiSerivce.saveHearBit(this.driverInfo.id, 1, this.map.gpsLat, this.map.gpsLng, this._currentDriverState).subscribe(p => {\r\n\r\n //console.log('saveHearBit subscribe ');\r\n //console.log(p);\r\n });\r\n }\r\n getlastState() {\r\n\r\n this.driverSerivce.getLastStatus(this.guidDriver).subscribe(_res => {\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(_res.currentStatus);\r\n\r\n this._currentDriverState = _res.currentStatus;\r\n\r\n this.driverInfo.currentStation = _res.stationID;\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(_res.currentStatus);\r\n\r\n this._currentDriverState = _res.currentStatus;\r\n if (this._currentDriverState == DriverStatus.LogoutForConcurrency) {\r\n\r\n this.signout();\r\n }\r\n if (!this.currentStation)\r\n this.currentStation = new Station();\r\n if (this.currentStation.id != _res.stationID || this.currentStation.lat == 0) {\r\n this.stationSerivce.getStation(_res.stationID).subscribe(_stationInfo => {\r\n this.currentStation = _stationInfo;\r\n });\r\n }\r\n\r\n\r\n\r\n this.currentPriority = _res.priority;\r\n if (this._currentDriverState == DriverStatus.Traveling) {\r\n this.router.navigate(['service/origin'], { queryParams: { guid: _res.guid } });\r\n }\r\n\r\n\r\n }\r\n );\r\n }\r\n\r\n\r\n getOriginAddressDesc(lat: any, lng: any) {\r\n var s = this.taxiSerivce.getAddressFromLocation(lat, lng);\r\n s.subscribe(_res => {\r\n console.log('this.originPoint.desc = ' + _res)\r\n this.originPoint.desc = _res;\r\n });\r\n }\r\n moveMapEvent(evt: any) {\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(evt.location[0], evt.location[1]));\r\n }\r\n }\r\n moveEndMapEvent(evt: any) {\r\n if (this.CurrentState == PageState.OriginDefine) {\r\n console.log('moveEndMapEvent')\r\n this.getOriginAddressDesc(evt.location[0], evt.location[1]);\r\n }\r\n else if (this.CurrentState == PageState.DestinationDefine) {\r\n var s = this.taxiSerivce.getAddressFromLocation(evt.location[0], evt.location[1]);\r\n s.subscribe(_res => {\r\n this.destinationPoint.desc = _res;\r\n //this.destinationInput = _res;\r\n });\r\n }\r\n\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(evt.location[0], evt.location[1]));\r\n }\r\n }\r\n addMadineInit() {\r\n this.currentStep = StationSteps.Origin;\r\n const lat = 36.2913780212402;\r\n const lng = 59.6130332946777;\r\n this.map.setView(lat, lng);\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(lat, lng));\r\n }\r\n else {\r\n this.initMarker = this.map.addMarker(lat, lng, MarkerType.initLocation);\r\n }\r\n this.originPoint.desc = 'هتل مدینه الرضا';\r\n this.setOrigin([lat, lng], 'هتل مدینه الرضا');\r\n this.originMarker = this.map.addMarker(lat, lng, MarkerType.origin);\r\n this.originPoint.desc = 'هتل مدینه الرضا';\r\n this.setState(PageState.DestinationDefine, false);\r\n }\r\n addHomaInit() {\r\n this.currentStep = StationSteps.Origin;\r\n \t\r\n const lat = 36.3199234008789;\r\n const lng = 59.5635948181152;\r\n this.map.setView(lat, lng);\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(lat, lng));\r\n }\r\n else {\r\n this.initMarker = this.map.addMarker(lat, lng, MarkerType.initLocation);\r\n }\r\n this.originPoint.desc = 'هتل هما';\r\n this.setOrigin([lat, lng], 'هتل هما');\r\n this.originMarker = this.map.addMarker(lat, lng, MarkerType.origin);\r\n this.originPoint.desc = 'هتل هما';\r\n this.setState(PageState.DestinationDefine, false);\r\n }\r\n\r\n addFreeInit() {\r\n this.currentStep = StationSteps.Origin;\r\n \t\r\n const lat = 36.2635154724121;\r\n const lng = 59.5273551940918;\r\n this.map.setView(lat, lng);\r\n if (this.initMarker) {\r\n this.initMarker.setLatLng(new LatLng(lat, lng));\r\n }\r\n else {\r\n this.initMarker = this.map.addMarker(lat, lng, MarkerType.initLocation);\r\n }\r\n this.originPoint.desc = 'آزاد';\r\n this.setOrigin([lat, lng], 'آزاد');\r\n this.originMarker = this.map.addMarker(lat, lng, MarkerType.origin);\r\n this.originPoint.desc = 'آزاد';\r\n this.setState(PageState.DestinationDefine, false);\r\n }\r\n\r\n setState(newState: any, addmarker = true) {\r\n console.log('setState' + newState + ',' + addmarker);\r\n this.CurrentState = newState;\r\n switch (this.CurrentState) {\r\n case PageState.DestinationDefine:\r\n this.StateName = 'تایید مقصد'\r\n if (addmarker)\r\n this.addOriginMarker();\r\n break;\r\n case PageState.None:\r\n case PageState.OriginDefine:\r\n this.StateName = 'تایید مبدا'\r\n if (addmarker)\r\n this.addinitialMarker();\r\n\r\n break;\r\n case PageState.RequestTrip:\r\n this.StateName = 'درخواست سفر'\r\n if (addmarker)\r\n this.addDestinationMarker();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n setOrigin(cordinates: any, addressname: string = '') {\r\n console.log('setOrigin');\r\n //this.map.addMarker(cordinates[0], cordinates[1], MarkerType.origin);\r\n this.originPoint.setFromCordinate(cordinates);\r\n if (!addressname) {\r\n var s = this.taxiSerivce.getAddressFromLocation(this.originPoint.lat, this.originPoint.ln);\r\n s.subscribe(_res => {\r\n this.originPoint.desc = _res;\r\n });\r\n this.setState(PageState.DestinationDefine);\r\n }\r\n else\r\n this.setState(PageState.DestinationDefine, false);\r\n\r\n }\r\n setDestination(cordinates: any, setText = true) {\r\n //this.map.addMarker(cordinates[0], cordinates[1], MarkerType.destination);\r\n this.destinationPoint.setFromCordinate(cordinates);\r\n if (setText) {\r\n this.taxiSerivce.getAddressFromLocation(this.destinationPoint.lat, this.destinationPoint.ln).subscribe(_res => {\r\n this.destinationPoint.desc = _res;\r\n //this.destinationInput = _res;\r\n });\r\n }\r\n \r\n this.setState(PageState.RequestTrip);\r\n this.routing();\r\n\r\n }\r\n routing() {\r\n //\r\n var encoded = \"cob|Ewx_kJet@p~@ilEdjEepBc|AYeOaFaG\";\r\n //var coordinates = Polyline.fromEncoded(encoded).getLatLngs();\r\n ////console.log(coordinates);\r\n\r\n\r\n\r\n //var polyline = polyline(\r\n // coordinates,\r\n // {\r\n // color: 'red',\r\n // weight: 10,\r\n // opacity: .7,\r\n // dashArray: '20,15',\r\n // lineJoin: 'round'\r\n // }\r\n //).addTo(this.map);\r\n\r\n /*this.taxiSerivce.routing(this.originPoint.lat, this.originPoint.ln, this.destinationPoint.lat, this.destinationPoint.ln).subscribe(_res => {\r\n //console.warn('ply:' + _res);\r\n //console.warn(_res.distanceText);\r\n //console.warn(_res.distanceValue);\r\n //console.warn(_res.durationText);\r\n //console.warn(_res.durationValue);\r\n //console.warn(_res.polylines);\r\n //console.warn(_res.summaryTotal);\r\n */\r\n //this.map.showpoly2(_res.polylines, this.originPoint.ln, this.originPoint.lat, this.destinationPoint.ln, this.destinationPoint.lat);\r\n\r\n //});\r\n }\r\n getCurrentStationID() {\r\n if (this.currentStation)\r\n return this.currentStation.id;\r\n else\r\n return 0;\r\n\r\n }\r\n saveRequest() {\r\n if (this.CurrentState == PageState.OriginDefine) {\r\n var latLng = this.initMarker.getLatLng();\r\n this.setOrigin([latLng.lat, latLng.lng]);\r\n }\r\n else if (this.CurrentState == PageState.DestinationDefine) {\r\n var latLng = this.initMarker.getLatLng();\r\n this.setDestination([latLng.lat, latLng.lng]);\r\n this.map.removemarker(this.initMarker);\r\n this.initMarker = null;\r\n }\r\n //else if (this.CurrentState == PageState.RequestTrip) {\r\n // this.setState(PageState.PassangerInfo);\r\n\r\n //}\r\n else if (this.CurrentState == PageState.RequestTrip) {\r\n if (!this.passangerFullName) {\r\n this.matSnackbar.open('نام مسافر را به صورت صحیح وارد نمایید', null, { duration: 2000 });\r\n return;\r\n }\r\n else if (!this.passangerMobile) {\r\n this.matSnackbar.open('شماره همراه را به صورت صحیح وارد نمایید', null, { duration: 2000 });\r\n return;\r\n }\r\n else if (!this.passangerMobile) {\r\n this.matSnackbar.open('شماره همراه را به صورت صحیح وارد نمایید', null, { duration: 2000 });\r\n return;\r\n }\r\n //else if (!this.passangerComment) {\r\n // this.matSnackbar.open('توضیحات را به صورت صحیح وارد نمایید', null, { duration: 2000 });\r\n // return;\r\n //}\r\n\r\n let req = new ManualServiceRequest();\r\n req.id = 1;\r\n req.destinationLat = this.destinationPoint.lat;\r\n req.destinationLng = this.destinationPoint.ln;\r\n req.originLat = this.originPoint.lat;\r\n req.originLng = this.originPoint.ln;\r\n req.destinationAddr = this.destinationInput;\r\n req.destination2Addr = '';\r\n req.originAddr = this.originPoint.desc;\r\n //req.passangerID = this.passangerID;\r\n req.passangerName = this.passangerFullName;\r\n req.passangerMobile = this.passangerMobile;\r\n req.comment = this.passangerComment;\r\n req.darEkhtiar = this.darEkhtiar;\r\n \r\n //console.warn('input req is ');\r\n //console.warn(req);\r\n this.requestSerivce.saveManualService(req, this.driverInfo.id, this.getCurrentStationID()).subscribe(_res => {\r\n //this.guidRequest = _res;\r\n //console.warn('save manual guid service is ' + _res);\r\n this.router.navigate(['service/origin'], { queryParams: { guid: _res } });\r\n\r\n //this.router.navigate(['driver/new'], {});\r\n //this.socketService.sendMessage(_res, SocketMessageType.RequestServiceCreate);\r\n ////console.warn(_res);\r\n //this.openloadingBar();\r\n });\r\n\r\n }\r\n }\r\n mainBack() {\r\n if (this.CurrentState == PageState.OriginDefine) {\r\n this.setState(PageState.None, false);\r\n this.currentStep = StationSteps.None;\r\n this.map.removemarker(this.initMarker);\r\n this.initMarker = null;\r\n }\r\n if (this.CurrentState == PageState.DestinationDefine) {\r\n this.modiforigin();\r\n }\r\n else if (this.CurrentState == PageState.RequestTrip) {\r\n this.modifyDestination();\r\n }\r\n }\r\n modiforigin() {\r\n if (this.CurrentState == PageState.DestinationDefine) {\r\n this.map.setView(this.originPoint.lat, this.originPoint.ln);\r\n this.setState(PageState.OriginDefine, false);\r\n this.map.removemarker(this.originMarker);\r\n this.originMarker = null;\r\n }\r\n }\r\n modifyDestination() {\r\n if (this.CurrentState == PageState.RequestTrip) {\r\n\r\n this.setState(PageState.DestinationDefine, false);\r\n this.map.setView(this.destinationPoint.lat, this.destinationPoint.ln);\r\n this.setState(PageState.DestinationDefine, false);\r\n this.map.removemarker(this.destinationMarker);\r\n this.destinationMarker = null;\r\n this.addinitialMarker();\r\n }\r\n\r\n }\r\n\r\n //#region Methods\r\n\r\n mytrip() {\r\n\r\n this.dialogStationMemberRef = this.dialog.open(MytripsComponent, {\r\n width: '100%',\r\n hasBackdrop: true,\r\n data: {\r\n driverID: this.driverInfo.id\r\n }\r\n });\r\n }\r\n myShift() {\r\n\r\n this.dialogMyShiftRef = this.dialog.open(MyshiftComponent, {\r\n width: '100%',\r\n hasBackdrop: true,\r\n data: {\r\n driverID: this.driverInfo.id,\r\n myInfo: this.driverInfo\r\n },\r\n panelClass: 'custom-modalbox'\r\n });\r\n }\r\n allShift() {\r\n\r\n this.dialogShiftRef = this.dialog.open(ShiftlistingComponent, {\r\n width: '100%',\r\n hasBackdrop: true,\r\n data: {\r\n driverID: this.driverInfo.id,\r\n myInfo: this.driverInfo\r\n }\r\n ,\r\n panelClass: 'custom-modalbox'\r\n });\r\n }\r\n\r\n myProfile() {\r\n this.dialogProfileMemberRef = this.dialog.open(ProfileComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n guidDriver: this.guidDriver\r\n }\r\n });\r\n }\r\n\r\n openNeshan() {\r\n window.open(\"https://neshan.org/\", '_blank').focus();\r\n\r\n }\r\n\r\n\r\n\r\n //#endregion\r\n\r\n //#region Firebase Notification\r\n processMessage(messageBox: NotificationModel) {\r\n\r\n //console.warn('socket is received on driver2');\r\n //console.warn(messageBox);\r\n\r\n switch (messageBox.msgType) {\r\n case SocketMessageType.GetClientInfo:\r\n //console.warn('sent info is : ');\r\n //console.warn(this.driverInfo);\r\n this.socketService.sendMessage(this.driverInfo.guid, SocketMessageType.SetDriverInfo);\r\n break;\r\n case SocketMessageType.ProposedRequestServive:\r\n this.showProposedRequest(messageBox.guidCode);\r\n break;\r\n case SocketMessageType.FinishedProposedRequestServive:\r\n //console.warn('case SocketMessageType.FinishedProposedRequestServive');\r\n this.dialogProposedServiceRef.close('NotAnswered');\r\n break;\r\n case SocketMessageType.FinishedBroadCastRequestServive:\r\n //console.warn('case SocketMessageType.FinishedBroadCastRequestServive');\r\n this.dialogProposedServiceRef.close('NotAnswered');\r\n break;\r\n case SocketMessageType.RequestServiceCancelByPassanger:\r\n this.dialogProposedServiceRef.close('CancelByUser');\r\n break;\r\n case SocketMessageType.ServiceGetSubmitedSuccessfully:\r\n\r\n this.gotoRunService(messageBox.guidCode);\r\n break;\r\n\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n showProposedRequest(guidRequestParam: any) {\r\n this.dialogProposedServiceRef = this.dialog.open(ProposedRequestComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n guidRequest: guidRequestParam\r\n }\r\n });\r\n this.dialogProposedServiceRef.afterClosed().subscribe((result: any) => {\r\n if (result == 'Accept') {\r\n this.acceptRequest(guidRequestParam);\r\n } else if (result == 'Reject') {\r\n this.rejectRequest(guidRequestParam);\r\n }\r\n else if (result == 'NULL') {\r\n this.matSnackbar.open('سرویس توسط شخص دیگری دریافت گردید', null, { duration: 2000 });\r\n }\r\n });\r\n\r\n //this.taxiSerivce.getRequestByPropsedCode(guidRequestParam).subscribe(_res => {\r\n // console.warn(_res);\r\n //});\r\n\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Finalize\r\n\r\n ngOnDestroy() {\r\n if (this.schedulJon) {\r\n clearInterval(this.schedulJon);\r\n }\r\n }\r\n\r\n signout() {\r\n this.setEmptyStation();\r\n this.schedulingupdatestatus();\r\n localStorage.removeItem('cache_id_z');\r\n localStorage.removeItem(environment.cur_u_name);\r\n localStorage.removeItem(environment.cur_fbsToken);\r\n localStorage.removeItem(environment.is_created);\r\n localStorage.removeItem(environment.cur_u_tkn);\r\n\r\n\r\n try {\r\n this.driverSerivce.logOutFToken(this.guidDriver).subscribe(\r\n res => {\r\n\r\n this.router.navigate(['driver/new'], {});\r\n })\r\n }\r\n catch (e) {\r\n\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n //public test(): string{\r\n // this.buttonTest.nativeElement.innerHTML = 'test';\r\n // return 'test';\r\n //}\r\n\r\n\r\n\r\n turnOff() {\r\n this.setEmptyStation();\r\n }\r\n gotogps() {\r\n this.map.gotogps();\r\n }\r\n selectedOrigins: PassangerSavedPlace[] = [];\r\n loadSavedPlace() {\r\n /*\r\n this.placeService.listAll(1).subscribe(res => {\r\n if (res) {\r\n this.selectedOrigins = res;\r\n \r\n }\r\n else {\r\n this.selectedOrigins = null;\r\n \r\n }\r\n\r\n\r\n });\r\n */\r\n }\r\n gotoPlace(p: PassangerSavedPlace) {\r\n console.log(p);\r\n const lat = p.lat;\r\n const lng = p.lng;\r\n this.map.setView(lat, lng)\r\n this.initMarker.setLatLng(new LatLng(lat, lng));\r\n this.setDestination([lat, lng]);\r\n this.destinationPoint.desc = p.placeAddr;\r\n this.destinationInput = p.placeAddr;\r\n this.map.removemarker(this.initMarker);\r\n this.initMarker = null;\r\n\r\n }\r\n fastNewService() {\r\n if (this._currentDriverState == DriverStatus.Locked) {\r\n this.matSnackbar.open('قفل - ' + this.driverInfo.lockComment, null, { duration: 2000 });\r\n return;\r\n } \r\n\r\n let req = new ManualServiceRequest();\r\n req.id = 1;\r\n req.destinationLat = this.map.gpsLat;\r\n req.destinationLng = this.map.gpsLng;\r\n req.originLat = this.map.gpsLat;\r\n req.originLng = this.map.gpsLng;\r\n req.destinationAddr = '';\r\n req.destination2Addr = '';\r\n req.originAddr = '';\r\n //req.passangerID = this.passangerID;\r\n req.passangerName = '';\r\n req.passangerMobile = '';\r\n req.comment = '';\r\n req.darEkhtiar = false;\r\n\r\n //console.warn('input req is ');\r\n //console.warn(req);\r\n this.requestSerivce.saveManualService(req, this.driverInfo.id, this.getCurrentStationID()).subscribe(_res => {\r\n //this.guidRequest = _res;\r\n //console.warn('save manual guid service is ' + _res);\r\n this.router.navigate(['service/origin'], { queryParams: { guid: _res } });\r\n\r\n //this.router.navigate(['driver/new'], {});\r\n //this.socketService.sendMessage(_res, SocketMessageType.RequestServiceCreate);\r\n ////console.warn(_res);\r\n //this.openloadingBar();\r\n });\r\n\r\n }\r\n //#endregion\r\n darEkhtiar :boolean=false\r\n valueChange(changedItem: any, $event: any) {\r\n //console.log('dar ekhtiar before ' + this.darEkhtiar);\r\n if (changedItem == 'darEkhtiar') {\r\n this.darEkhtiar=($event.checked);\r\n //if (this.darEkhtiar) {\r\n // this.passangerFormGroup.patchValue({ serviceRequestComment: this.addTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' در اختیار ') });\r\n //}\r\n //else {\r\n // this.passangerFormGroup.patchValue({ serviceRequestComment: this.subTerm(this.passangerFormGroup.get('serviceRequestComment')?.value, ' در اختیار ') });\r\n //}\r\n }\r\n \r\n //console.log('dar ekhtiar after ' + this.darEkhtiar);\r\n }\r\n\r\n}\r\n\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci91bmxvY2tub3RpZmljYXRpb24vdW5sb2Nrbm90aWZpY2F0aW9uLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { ProposedRequestComponent } from '../proposed-request/proposed-request.component';\r\nimport { SwUpdate } from '@angular/service-worker';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\n@Component({\r\n selector: 'app-unlocknotification',\r\n templateUrl: './unlocknotification.component.html',\r\n styleUrls: ['./unlocknotification.component.scss']\r\n})\r\nexport class UnlocknotificationComponent implements OnInit {\r\n dialogProposedServiceRef: MatDialogRef;\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private ccService: CallCenterService,\r\n private driverService: DriverserviceService,\r\n private taxiSerivce: ServiceRequestService,\r\n private matSnackbar: MatSnackBar,\r\n private dialog: MatDialog,\r\n private swUpdate: SwUpdate) { }\r\n code=''\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n this.code = params['code'];\r\n this.taxiSerivce.checkActive(this.code).subscribe(_res => {\r\n if (_res) {\r\n this.loadData(this.code);\r\n }\r\n else {\r\n this.closePopupdialog();\r\n \r\n }\r\n\r\n\r\n });\r\n });\r\n }\r\n ngAfterViewInit() {\r\n this.checkForUpdat();\r\n\r\n }\r\n checkForUpdat() {\r\n this.swUpdate.available.subscribe(event => {\r\n\r\n //console.log('update version ');\r\n location.reload();\r\n\r\n\r\n });\r\n }\r\n schedulJon: any;\r\n loadData(code: any) {\r\n //this.ccService.finishLog(code).subscribe(res => { });\r\n\r\n //this.driverService.setFinish(code).subscribe(res => { console.log });\r\n\r\n //this.driverService.sendNotif('', '', 1).subscribe(res => { console.log });\r\n\r\n\r\n\r\n\r\n this.dialogProposedServiceRef = this.dialog.open(ProposedRequestComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n disableClose: true,\r\n data: {\r\n guidRequest: code\r\n }\r\n });\r\n this.dialogProposedServiceRef.afterClosed().subscribe((result : any) => {\r\n if (result == 'Accept') {\r\n this.acceptRequest(code);\r\n\r\n } else if (result == 'Reject') {\r\n\r\n this.rejectRequest(code);\r\n }\r\n });\r\n this.schedulJon = setTimeout(() => {\r\n this.dialogProposedServiceRef.close();\r\n this.closePopupdialog();\r\n }, 30 * 1000);\r\n\r\n }\r\n closePopupdialog() {\r\n this.taxiSerivce.proposedDialogClosed(this.code).subscribe(_res => {\r\n this.router.navigate(['/lauchercall/setact'], {\r\n queryParams: {\r\n act: 'close'\r\n }\r\n });\r\n });\r\n \r\n }\r\n acceptRequest(guidRequestParam: any) {\r\n this.driverService.GetSuccesfullService(guidRequestParam, 'accept').subscribe(res => {\r\n if (res == 'duplicate') {\r\n var refsnack = this.matSnackbar.open('سرویس توسط شخص دیگری قبول گردید', null, { duration: 1000 });\r\n refsnack.afterDismissed().subscribe(() => {\r\n this.closePopupdialog();\r\n });\r\n\r\n \r\n }\r\n else\r\n this.closePopupdialog();\r\n //this.router.navigate(['service/origin'], { queryParams: { guid: res } });\r\n });\r\n }\r\n\r\n rejectRequest(guidRequestParam: any) {\r\n this.driverService.GetSuccesfullService(guidRequestParam, 'reject').subscribe(res => {\r\n this.closePopupdialog();\r\n //this.router.navigate(['driver/new'], { queryParams: { guid: res } });\r\n });\r\n }\r\n \r\n\r\n\r\n}\r\n\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci92ZXJpZnlzbXMvdmVyaWZ5c21zLmNvbXBvbmVudC5jc3MifQ== */\";","import {Component, OnInit,AfterViewInit,ElementRef,ViewChild} from '@angular/core';\r\n\r\nimport {Router, ActivatedRoute} from '@angular/router';\r\nimport {ErrorOutputMessage} from '../../model/enumtype';\r\nimport {VerificationOutput} from '../../model/verificationOutput';\r\nimport {DriverserviceService} from '../../lib/serviceLib/driverservice.service';\r\nimport {SplitInputService} from 'ngx-splitinput';\r\n\r\n\r\n@Component({\r\n selector: 'app-verifysms',\r\n templateUrl: './verifysms.component.html',\r\n styleUrls: ['./verifysms.component.css']\r\n})\r\nexport class VerifysmsComponent implements OnInit, AfterViewInit {\r\n verificationCode = '';\r\n guidSms = '';\r\n guidDriver = '';\r\n errorMessage = '';\r\n @ViewChild('android')\r\n public android: ElementRef;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private driverSerivce: DriverserviceService,\r\n private splitInputService: SplitInputService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n //localStorage.setItem(environment.cur_url, window.location.href);\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.guidSms = params['guidS'];\r\n this.guidDriver = params['guidD'];\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n console.log(this.android.nativeElement.click());\r\n }\r\n\r\n confirm() {\r\n let result: VerificationOutput;\r\n this.driverSerivce.checkVerification(this.verificationCode, this.guidSms, this.guidDriver).subscribe(_res => {\r\n result = _res;\r\n this.processResult(result);\r\n //console.warn(_res);\r\n });\r\n }\r\n\r\n processResult(result: VerificationOutput) {\r\n //console.log('verify resuylt');\r\n //console.log(result);\r\n if (result.result) {\r\n this.router.navigate(['/driver/confirm'], {queryParams: {guid: result.guidCode}});\r\n } else {\r\n this.errorMessage = ErrorOutputMessage.getText(result.error);\r\n this.guidSms = result.guidCode;\r\n //console.log(this.guidSms);\r\n }\r\n }\r\n\r\n handleCompleted(event: any): void {\r\n this.verificationCode = event;\r\n this.confirm();\r\n this.splitInputService.clearSplitInput();\r\n }\r\n backToLast() {\r\n\r\n this.router.navigate(['driver/new']);\r\n\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RyaXZlci93YWl0Zm9yY29uZmlybS93YWl0Zm9yY29uZmlybS5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ErrorOutput } from '../../model/enumtype';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\n \r\n@Component({\r\n selector: 'app-waitforconfirm',\r\n templateUrl: './waitforconfirm.component.html',\r\n styleUrls: ['./waitforconfirm.component.scss']\r\n})\r\nexport class WaitforconfirmComponent implements OnInit {\r\n\r\n constructor(private router: Router, private driverService: DriverserviceService, private route: ActivatedRoute) { }\r\n \r\n guid: string;\r\n ngOnInit() {\r\n \r\n this.route.queryParams.subscribe(params => {\r\n this.guid = params['guid'];\r\n this.loadDriverInfo(this.guid);\r\n });\r\n }\r\n\r\n base64Image: any;\r\n loadDriverInfo(guid: any) {\r\n this.driverService.getDriverBySuccessfuGUID(guid).subscribe(_res => {\r\n //console.warn('loadDriverInfo guid ' + guid);\r\n //console.warn('loadDriverInfo');\r\n //console.warn(_res);\r\n if (_res.errorCode != ErrorOutput.None) {\r\n //console.warn('_res.errorCode != ErrorOutput.None');\r\n //console.warn(_res.errorCode);\r\n //console.warn(guid);\r\n this.router.navigate(['driver/new'], {});\r\n //console.warn('goto home page 4');\r\n }\r\n if (_res.info != null ) {\r\n //console.warn('navigagte to station with ' + _res.info.guid);\r\n this.router.navigate(['driver/test'], { queryParams: { guid: _res.info.guid } });\r\n }\r\n else {\r\n \r\n }\r\n });\r\n }\r\n\r\n \r\n notconfirm() {\r\n this.router.navigate(['dirver/new'], {});\r\n //console.warn('goto home page 5');\r\n }\r\n logout() {\r\n this.router.navigate(['driver/logout'], { });\r\n }\r\n\r\n}\r\n","export default \":host {\\r\\n position: fixed;\\r\\n top: 0px;\\r\\n left: 0px;\\r\\n display: block;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZHJ2L2Rydi1tYXN0ZXIvZHJ2LW1hc3Rlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLFFBQVE7RUFDUixTQUFTO0VBQ1QsY0FBYztFQUNkLFlBQVk7RUFDWixXQUFXO0FBQ2IiLCJmaWxlIjoic3JjL2FwcC9kcnYvZHJ2LW1hc3Rlci9kcnYtbWFzdGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMHB4O1xyXG4gIGxlZnQ6IDBweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuIl19 */\";","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-drv-master',\r\n templateUrl: './drv-master.component.html',\r\n styleUrls: ['./drv-master.component.css']\r\n})\r\nexport class DrvMasterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\n\r\nexport class GlobalVariable {\r\n\r\n //public static BaseServiceURL = \"https://localhost:44332/\";\r\n\r\n //public static socketURL = 'wss://etaxi.mashhad.ir/ws';\r\n //public static BaseServiceURL = 'https://boroseir.ir/';\r\n public static BaseServiceURL = location.origin + \"/\";\r\n public static socketURL = 'wss://' + GlobalVariable.BaseServiceURL.replace('https://', '') + 'ws';\r\n\r\n //public static BaseServiceURL = 'https://boroseir.ir:8080/';\r\n //public static socketURL = 'wss://etaxi.mashhad.ir:8080/ws';\r\n\r\n public static AccBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/Acc';\r\n public static DriverBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/driver';\r\n public static ShiftBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/shift';\r\n public static UtilityBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/GeneralUtility';\r\n public static RequestServiceBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/RequestService';\r\n public static StationBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/Station';\r\n public static TestBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/Test';\r\n public static ServiceBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/Service';\r\n public static DashboardBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/Dashboard';\r\n public static ProfileBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/Profile';\r\n public static ComplaintBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/Complaint';\r\n public static LogBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/Log';\r\n public static FoundedObjectBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/FoundedObject';\r\n public static PassangerBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/Passanger';\r\n public static CallCenterBaseServiceURL = GlobalVariable.BaseServiceURL + 'CallCenter';\r\n public static BaseInfoBaseServiceURL = GlobalVariable.BaseServiceURL + 'BaseInfo';\r\n public static OperatorBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/Operator';\r\n public static PassangerSavedPlaceBaseServiceURL = GlobalVariable.BaseServiceURL + 'api/PassangerSavedPlace';\r\n public static mokeFLAG = false;\r\n public static adminLevel = 1;\r\n\r\n\r\n public static check(codemelli: any) {\r\n\r\n var fakeCode = ['0000000000', '1111111111', '2222222222', '3333333333', '4444444444', '5555555555', '6666666666', '7777777777', '8888888888', '9999999999'];\r\n let Arr = Array.from(codemelli);\r\n if (fakeCode.some(e => e == codemelli)) {\r\n return false;\r\n } else if (Arr.length != 10) {\r\n return false;\r\n } else {\r\n let Sum = 0;\r\n let Last;\r\n\r\n for (let i = 0; i < 9; i++) {\r\n Sum += +Arr[i] * (10 - i);\r\n }\r\n let divideRemaining = Sum % 11;\r\n if (divideRemaining < 2) {\r\n Last = divideRemaining;\r\n } else {\r\n Last = 11 - (divideRemaining);\r\n }\r\n let n = Arr[9];\r\n return Last == n;\r\n }\r\n }\r\n\r\n\r\n\r\n public static toShamsi(mdate: Date) {\r\n\r\n const today = mdate;\r\n\r\n const todayFa = {\r\n \"day\": this.getDateFormat(today, { \"day\": \"2-digit\" }),\r\n \"month\": this.getDateFormat(today, { \"month\": \"numeric\" }),\r\n \"monthTitle\": this.getDateFormat(today, { \"month\": \"long\" }),\r\n \"year\": this.getDateFormat(today, { \"year\": \"numeric\" }),\r\n \"dayWeek\": this.getDateFormat(today, { \"weekday\": \"long\" }),\r\n }\r\n\r\n return todayFa;\r\n\r\n\r\n\r\n\r\n }\r\n public static getDateFormat(uDate, option) {\r\n let date = new Intl.DateTimeFormat('fa-IR', option).format(uDate);\r\n return date;\r\n }\r\n}\r\n\r\nexport enum PageState {\r\n None = 0,\r\n OriginDefine = 1,\r\n DestinationDefine,\r\n RequestTrip,\r\n PassangerInfo\r\n}\r\n\r\nexport class LocationInfo {\r\n lat: number;\r\n ln: number;\r\n desc: string;\r\n\r\n setFromCordinate(cordinates: any) {\r\n this.lat = cordinates[0];\r\n this.ln = cordinates[1];\r\n }\r\n\r\n\r\n}\r\n\r\nexport enum ServiceState {\r\n DriverFound = 1,\r\n GotoOrigin = 2,\r\n OriginReceived = 3,\r\n PassangerArrived = 4,\r\n GotoDestination = 5,\r\n Finished = 6,\r\n CancelByOperator = 7,\r\n CancelByOperatorAndConfirmDriver = 8,\r\n CancelByDriverAfter8Minute = 9,\r\n CancelByDriverWithCallPassanger = 10,\r\n CancelByPassanger = 11,\r\n CancelByDriver = 12\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","export enum DriverStatus {\r\n //کلا برنامه بسته است\r\n OutOfService = 1004,\r\n // برنامه باز است ولی افلاین است\r\n Off = 1005,\r\n // لاگین کرده و انلاین هم در دسترس هم شده ولی در ایستگاه ثبت نوبت نکرده است\r\n Station100 = 1006,\r\n //در ایستگاه در صف انتظار قرار دارد\r\n WaitingOnStation = 1007,\r\n Traveling = 1008,\r\n Blocked = 1009,\r\n Vacation = 1010,\r\n ProposedService = 1011,\r\n // به دلیل لاگین در دستگاه دیگری از برنامه خارج می گردد\r\n LogoutForConcurrency = 1012,\r\n Locked = 1013,\r\n\r\n}\r\n \r\nexport class IDriverStatusMeta {\r\n text: string;\r\n color: string;\r\n state: DriverStatus;\r\n static getStatus(code: DriverStatus): IDriverStatusMeta {\r\n //console.log('code is ' + code);\r\n const statusMap = {\r\n [DriverStatus.Blocked]: {\r\n text: 'مسدود',\r\n color: '#f00',\r\n state: DriverStatus.Blocked\r\n },\r\n [DriverStatus.Off]: {\r\n text: 'خارج از سرویس',\r\n color: '#888',\r\n state: DriverStatus.Off\r\n },\r\n [DriverStatus.WaitingOnStation]: {\r\n text: 'در صف ایستگاه',\r\n color: '#ff0',\r\n state: DriverStatus.WaitingOnStation\r\n },\r\n [DriverStatus.Station100]: {\r\n text: ' آزاد',\r\n color: '#eee',\r\n state: DriverStatus.Station100\r\n },\r\n [DriverStatus.Traveling]: {\r\n text: 'در حال سفر',\r\n color: '#0f0',\r\n state: DriverStatus.Traveling\r\n },\r\n [DriverStatus.Vacation]: {\r\n text: 'مرخصی',\r\n color: '#f0f',\r\n state: DriverStatus.Vacation\r\n },\r\n [DriverStatus.OutOfService]: {\r\n text: 'خارج از برنامه',\r\n color: '#fff',\r\n state: DriverStatus.OutOfService\r\n },\r\n [DriverStatus.Locked]: {\r\n text: 'قفل شده توسط راهبر',\r\n color: '#f00',\r\n state: DriverStatus.Locked\r\n }\r\n }[code];\r\n return statusMap ? statusMap : statusMap[DriverStatus.Off];\r\n }\r\n\r\n isInStation(): boolean {\r\n return this.state == DriverStatus.WaitingOnStation;\r\n }\r\n}\r\n","export enum FormMode {\r\n Add,\r\n Edit\r\n}\r\n","import { Map, map as LeafletMap, tileLayer, CRS, marker, icon, LeafletMouseEvent, Icon, DivIcon, Marker, LatLng, circleMarker, circle } from 'leaflet';\r\n\r\nexport enum MarkerType {\r\n initLocation,\r\n currentGPS,\r\n origin,\r\n destination,\r\n station,\r\n taxi,\r\n grayDriver,\r\n greenDriver,\r\n yellowDriver,\r\n redDriver\r\n \r\n}\r\nexport class markerHelper {\r\n\r\n public static getMarker(markertype?: MarkerType): Icon {\r\n\r\n \r\n\r\n switch (markertype) {\r\n case MarkerType.initLocation:\r\n return icon({\r\n iconUrl: 'assets/markersnapp.png',\r\n iconSize: [34, 48],\r\n \r\n });\r\n\r\n case MarkerType.origin:\r\n return icon({\r\n iconUrl: 'assets/originmarkersnapp.png',\r\n iconSize: [110, 43]\r\n });\r\n \r\n case MarkerType.destination:\r\n return icon({\r\n iconUrl: 'assets/destinationsnapp.png',\r\n iconSize: [108, 42]\r\n });\r\n \r\n case MarkerType.station:\r\n return icon({\r\n iconUrl: 'assets/station.png',\r\n iconSize: [43, 36]\r\n });\r\n case MarkerType.taxi:\r\n return icon({\r\n iconUrl: 'assets/carIcon.png',\r\n iconSize: [32, 62]\r\n });\r\n case MarkerType.grayDriver:\r\n return icon({\r\n iconUrl: 'assets/car-gray.png',\r\n iconSize: [10, 20]\r\n });\r\n case MarkerType.greenDriver:\r\n return icon({\r\n iconUrl: 'assets/car-green.png',\r\n iconSize: [10, 20]\r\n });\r\n case MarkerType.yellowDriver:\r\n return icon({\r\n iconUrl: 'assets/car-yellow.png',\r\n iconSize: [10, 20]\r\n });\r\n case MarkerType.redDriver:\r\n return icon({\r\n iconUrl: 'assets/car-red.png',\r\n iconSize: [10, 20]\r\n });\r\n default:\r\n return icon({\r\n iconUrl: 'assets/normalMarker.png',\r\n iconSize: [24, 24]\r\n });\r\n\r\n\r\n \r\n }\r\n \r\n \r\n }\r\n public static getMarkerText(txt:string , markertype?: MarkerType): string {\r\n return txt;\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\r\n\r\nimport { GlobalVariable } from './../../globalVariable';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { Acc_Acc } from '../../model/accModels';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccServiceService {\r\n\r\n private AccBaseServiceURL = GlobalVariable.AccBaseServiceURL;\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n public getAccList(nCode: any): Observable {\r\n let params = new HttpParams().set('ParentID', nCode);\r\n return this.httpClient.post(this.AccBaseServiceURL + \"/GetInfo\", params);\r\n }\r\n\r\n public insert(value: Partial): Observable {\r\n console.log('insert')\r\n console.log(value)\r\n\r\n let params = new HttpParams().set('AccName', value.accName);\r\n params = params.set('Comment', value.comment);\r\n params = params.set('ParentID', value.parentID.toString());\r\n \r\n return this.httpClient.post(this.AccBaseServiceURL + '/InsertNew', params);\r\n }\r\n\r\n public update(value: Partial): Observable {\r\n console.log('update')\r\n console.log(value)\r\n\r\n let params = new HttpParams().set('AccName', value.accName);\r\n params = params.set('Comment', value.comment);\r\n //params = params.set('ParentID', value.parentID.toString());\r\n params = params.set('ID', value.id.toString());\r\n\r\n return this.httpClient.post(this.AccBaseServiceURL + '/Update', params);\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AudioService {\r\n audioObj = new Audio();\r\n\r\n constructor() { }\r\n private stop$ = new Subject();\r\n \r\n private streamObservable(url: any) {\r\n return new Observable(observer => {\r\n // Play audio\r\n this.audioObj.src = url;\r\n this.audioObj.load();\r\n this.audioObj.play();\r\n\r\n //const handler = (event: Event) => {\r\n // this.updateStateEvents(event);\r\n // observer.next(event);\r\n //};\r\n\r\n //this.addEvents(this.audioObj, this.audioEvents, handler);\r\n return () => {\r\n // Stop Playing\r\n this.audioObj.pause();\r\n this.audioObj.currentTime = 0;\r\n // remove event listeners\r\n //this.removeEvents(this.audioObj, this.audioEvents, handler);\r\n //// reset state\r\n //this.resetState();\r\n };\r\n });\r\n }\r\n playStream(url: any) {\r\n this.stop$.next(\"\");\r\n return this.streamObservable(url).pipe(takeUntil(this.stop$));\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpParams} from '@angular/common/http';\r\nimport {GlobalVariable} from './../../globalVariable';\r\nimport {Driver, getDriverInfo} from './../../model/driver';\r\nimport {Observable, Subscriber} from 'rxjs';\r\nimport {ErrorOutput} from '../../model/enumtype';\r\nimport {Car} from '../../model/car';\r\nimport { LastCallInfo } from '../../model/lastCallInfo';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport { IBaseInfo, IBaseInfoMaster } from '../interfaces/Ibaseinfo';\r\n\r\n\r\nexport enum BaseInfoEnum {\r\n None = 0,\r\n TypePardakht = 9,\r\n TypeService= 10,\r\n}\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseInfoService {\r\n public moke = GlobalVariable.mokeFLAG;\r\n private BaseServiceURL= GlobalVariable.BaseInfoBaseServiceURL ;\r\n\r\n constructor(private httpClient: HttpClient) {\r\n\r\n }\r\n \r\n public getList(masterID: any): Observable {\r\n let params = new HttpParams().set('MasterID', masterID);\r\n return this.httpClient.post(this.BaseServiceURL + '/GetList', params);\r\n }\r\n public getMasterInfo(masterID: any): Observable {\r\n let params = new HttpParams().set('MasterID', masterID);\r\n return this.httpClient.post(this.BaseServiceURL + '/GetMasterInfo', params);\r\n }\r\n\r\n public insert(value: Partial): Observable {\r\n let params = new HttpParams().set('Name', value.name);\r\n params = params.set('GroupId', value.groupId.toString());\r\n params = params.set('Comment', value.comment);\r\n return this.httpClient.post(this.BaseServiceURL + '/InsertNew', params);\r\n }\r\n\r\n public update(value: Partial): Observable {\r\n const params = new HttpParams()\r\n .set('Name', value.name)\r\n .set('GroupId', value.groupId.toString())\r\n .set('Comment', value.comment)\r\n .set('ID', value.id.toString());\r\n return this.httpClient.post(`${this.BaseServiceURL}/Update`, params);\r\n }\r\n\r\n public delete(opID: any): Observable {\r\n const params = new HttpParams().set('ID', opID);\r\n return this.httpClient.post(`${this.BaseServiceURL}/Delete`, params);\r\n }\r\n \r\n\r\n\r\n \r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpParams} from '@angular/common/http';\r\nimport {GlobalVariable} from './../../globalVariable';\r\nimport {Driver, getDriverInfo} from './../../model/driver';\r\nimport {Observable, Subscriber} from 'rxjs';\r\nimport {ErrorOutput} from '../../model/enumtype';\r\nimport {Car} from '../../model/car';\r\nimport { LastCallInfo } from '../../model/lastCallInfo';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CallCenterService {\r\n public moke = GlobalVariable.mokeFLAG;\r\n private CallCenterBaseServiceURL = GlobalVariable.CallCenterBaseServiceURL;\r\n\r\n constructor(private httpClient: HttpClient) {\r\n }\r\n\r\n public getDriverByNationalCode(nCode: any, mobile: any): Observable {\r\n if (this.moke) {\r\n return new Observable((subscriber: Subscriber) => subscriber.next('f7f571ff-49d1-4e78-802b-80d4ab49a28e'));\r\n\r\n }\r\n let params = new HttpParams().set('nCode', nCode).set('mobile', mobile);\r\n return this.httpClient.post(this.CallCenterBaseServiceURL + '/GetInfo', params,{ responseType: 'text' as 'json'});\r\n }\r\n\r\n private getMokeInfo() {\r\n var result = new getDriverInfo();\r\n result.car = new Car();\r\n result.errorCode = ErrorOutput.None;\r\n result.info = new Driver();\r\n result.car.carName = 'پراید';\r\n result.car.carType = 1;\r\n result.car.color = 2;\r\n result.car.colorName = 'زرد';\r\n result.car.pelaque2 = '12';\r\n result.car.pelaque3 = '123';\r\n result.car.pelaqueLetter = 'ج';\r\n result.car.pelaqueIR = '23';\r\n result.car.pelaque = 'ایران 12 32 ج 28';\r\n result.info.currentCarID = 1;\r\n result.info.currentStatus = 1;\r\n result.info.fName = 'محمد';\r\n result.info.lName = 'زاده محمد';\r\n result.info.mobile = '09155213180';\r\n\r\n result.info.nationalCode = '0946854254';\r\n return result;\r\n }\r\n\r\n public getCurrentCallInfo(operatorID: any): Observable {\r\n let params = new HttpParams().set('operatorID', operatorID);\r\n return this.httpClient.post(this.CallCenterBaseServiceURL + '/GetCurrentCall', params);\r\n }\r\n public getCallerInfoByMobile(mobile: any): Observable {\r\n let params = new HttpParams().set('Mobile', mobile);\r\n return this.httpClient.post(this.CallCenterBaseServiceURL + '/GetCallerInfo', params);\r\n }\r\n public getOperatorInfo(guidCode: any): Observable {\r\n let params = new HttpParams().set('guidCode', guidCode);\r\n return this.httpClient.post(this.CallCenterBaseServiceURL + '/GetByGUID', params);\r\n }\r\n public testWS(driverID: any): Observable {\r\n let params = new HttpParams().set('file', driverID);\r\n return this.httpClient.post(this.CallCenterBaseServiceURL + '/testws', params);\r\n }\r\n public saveLogCall(line: any, no: any): Observable {\r\n \r\n let params = new HttpParams().set('LineNo', line).set('No', no);\r\n return this.httpClient.post(this.CallCenterBaseServiceURL + '/LogCallWS', params,{ responseType: 'text' as 'json' });\r\n } \r\n public sendNotif(Title: any, Body: any, DriverID: any): Observable {\r\n //console.log('sendNotif');\r\n let params = new HttpParams().set('DriverID', DriverID).set('Body', Body).set('Title', Title);\r\n return this.httpClient.post(this.CallCenterBaseServiceURL + '/sendNotif', params,{ responseType: 'text' as 'json' });\r\n\r\n }\r\n public setFinish(guid: any): Observable {\r\n //console.log('setFinish2');\r\n let params = new HttpParams().set('guid',guid);\r\n return this.httpClient.post(this.CallCenterBaseServiceURL + '/setFinish', params,{ responseType: 'text' as 'json' });\r\n\r\n }\r\n \r\n\r\n public finishLog(guid: any): Observable {\r\n //console.log('finishLog');\r\n let params = new HttpParams().set('guid', guid);\r\n return this.httpClient.post(this.CallCenterBaseServiceURL + '/setFinish', params,{ responseType: 'text' as 'json' });\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport { Observable} from 'rxjs';\r\nimport { Complaint } from '../../model/complaint';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ComplaintserviceService {\r\n constructor(\r\n private httpClient: HttpClient\r\n\r\n ) { }\r\n\r\n\r\n public insertComplaint(requestID: any,passangerFName :string,passangerMobile :string, originAddr: string,destinationAddr: string,driverCode: string,serviceDateTime:string,description: string, creatorUserID :any): Observable {\r\n \r\n let params = new HttpParams().set('requestID', requestID).set('description', description).set('creatorUserID', creatorUserID)\r\n .set('passangerFName', passangerFName).set('passangerMobile', passangerMobile)\r\n .set('originAddr', originAddr).set('destinationAddr', destinationAddr)\r\n .set('driverCode', driverCode).set('serviceDateTime', serviceDateTime)\r\n ;\r\n\r\n return this.httpClient.post(GlobalVariable.ComplaintBaseServiceURL + \"/InsertComplaint\", params);\r\n }\r\n public reportAll(): Observable {\r\n \r\n let params = new HttpParams()\r\n return this.httpClient.post(GlobalVariable.ComplaintBaseServiceURL + \"/ReportAll\", params);\r\n }\r\n public getTop(): Observable {\r\n \r\n let params = new HttpParams()\r\n return this.httpClient.post(GlobalVariable.ComplaintBaseServiceURL + \"/GetTop\", params);\r\n }\r\n\r\n public getListDynamic(whereCondition: string, orderByExpression: string): Observable {\r\n let params = new HttpParams().set('whereCondition', whereCondition).set('orderByExpression', orderByExpression);\r\n return this.httpClient.post(GlobalVariable.ComplaintBaseServiceURL + \"/getListDynamic\", params);\r\n }\r\n\r\n public reportAllComplaint(passangerFName: any, passangerMobile: any, driverCode: any, originAddr: any, destinationAddr: any, description: any): Observable {\r\n if (typeof passangerFName == 'undefined' || !passangerFName) {\r\n passangerFName = '';\r\n }\r\n if (typeof originAddr == 'undefined' || !originAddr) {\r\n originAddr = '';\r\n }\r\n if (typeof passangerMobile == 'undefined' || !passangerMobile) {\r\n passangerMobile = '';\r\n }\r\n if (typeof driverCode == 'undefined' || !driverCode) {\r\n driverCode = '';\r\n }\r\n if (typeof destinationAddr == 'undefined' || !destinationAddr) {\r\n destinationAddr = '';\r\n }\r\n if (typeof description == 'undefined' || !description) {\r\n description = '';\r\n }\r\n let params = new HttpParams().set('passangerFName', passangerFName).set('passangerMobile', passangerMobile).set('driverCode', driverCode).set('originAddr', originAddr).set('destinationAddr', destinationAddr).set('description', description);\r\n return this.httpClient.post(GlobalVariable.ComplaintBaseServiceURL + \"/ReportAllComplaint\", params);\r\n }\r\n\r\n public reportDriverComplaints(driverCode: any): Observable {\r\n\r\n let params = new HttpParams().set('driverCode', driverCode);\r\n return this.httpClient.post(GlobalVariable.ComplaintBaseServiceURL + \"/ReportAllComplaint\", params);\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport { Observable } from 'rxjs';\r\nimport { Dashboard } from '../../model/dashboard';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DashboardService {\r\n constructor(\r\n private httpClient: HttpClient\r\n\r\n ) { }\r\n\r\n\r\n public getDashboard(operatorGUID: string): Observable {\r\n \r\n let params = new HttpParams().set('operatorGUID', operatorGUID);\r\n\r\n return this.httpClient.post(GlobalVariable.DashboardBaseServiceURL + \"/GetDashboard\", params);\r\n }\r\n\r\n\r\n\r\n public writeLog(log: string): Observable {\r\n\r\n let params = new HttpParams().set('log', log);\r\n \r\n\r\n return this.httpClient.post(GlobalVariable.DashboardBaseServiceURL + \"/LogToFile\", params);\r\n\r\n\r\n }\r\n\r\n\r\n}\r\n\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\r\n\r\nimport { GlobalVariable } from './../../globalVariable';\r\nimport { Driver, DriverLog, DriverStatusInfo, getDriverInfo, NationalCodeCheckResult } from './../../model/driver';\r\nimport { Car } from './../../model/car';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { VerificationOutput } from './../../model/verificationOutput';\r\nimport { DriverPositionHist } from '../../model/driver';\r\nimport { IShift } from '../../model/shiftTable';\r\nimport { DebitCredit } from '../../model/debitcredit';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DriverserviceService {\r\n public moke = GlobalVariable.mokeFLAG;\r\n private DriverBaseServiceURL = GlobalVariable.DriverBaseServiceURL;\r\n private ShiftBaseServiceURL = GlobalVariable.ShiftBaseServiceURL;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n public getDriverByNationalCode(nCode: any, mobile: any): Observable {\r\n let params = new HttpParams().set('nCode', nCode).set('mobile', mobile);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetInfo\", params);\r\n }\r\n public seenAlarm(fbsToken: any): Observable {\r\n let params = new HttpParams().set('FBSToken', fbsToken);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/SeenAlarm\", params);\r\n }\r\n \r\n public getDriverBySuccessfuGUID(guid: any): Observable {\r\n \r\n let body = new HttpParams().set('guid', guid);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetInfoBySuccessfullGUID\",body );\r\n }\r\n public getDriverSuccessfullGUIDWithToken(newtoken: any, oldToken: any, version: any): Observable {\r\n\r\n let body = new HttpParams().set('newtoken', newtoken).set('oldToken', oldToken).set('Version', version);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/getDriverSuccessfullGUIDWithToken\", body,{ responseType: 'text' as 'json' });\r\n }\r\n public saveLauncherInfo(newtoken: any, oldToken: any, version: any): Observable {\r\n\r\n let body = new HttpParams().set('newtoken', newtoken).set('oldToken', oldToken).set('Version', version);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/saveLauncherInfo\", body, { responseType: 'text' as 'json' });\r\n }\r\n public setPriority(driverCode: any, stationID: any, newPriority: any): Observable {\r\n let body = new HttpParams().set('driverCode', driverCode).set('stationID', stationID).set('newPriority', newPriority);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/SetPriority\", body, { responseType: 'text' as 'json' });\r\n }\r\n public readDefaultStation(driverID: number) {\r\n let params = new HttpParams().set('DriverID', driverID.toString());\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetDefaultStation\", params, { responseType: 'text' as 'json' });\r\n }\r\n public updateDefaultStation(driverID, stationID): Observable {\r\n let params = new HttpParams().set('DriverID', driverID);\r\n params = params.set('StationID', stationID);\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/UpdateDefaultStation`, params);\r\n }\r\n\r\n public updateShif(driverID, shiftName): Observable {\r\n let params = new HttpParams().set('DriverID', driverID);\r\n params = params.set('ShiftName', shiftName);\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/UpdateShift`, params);\r\n }\r\n \r\n public resetVanQueue(): Observable {\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/ResetVanQueue`, {});\r\n }\r\n\r\n public startPay(driverID): Observable {\r\n let params = new HttpParams().set('DriverID', driverID);\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/StartPay`, params, { responseType: 'text' as 'json' });\r\n }\r\n\r\n \r\n\r\n postFile(fileToUpload: File, driverID): Observable {\r\n\r\n\r\n const formData: FormData = new FormData();\r\n formData.append('fileKey', fileToUpload, fileToUpload.name);\r\n formData.append('driverID', JSON.stringify(driverID));\r\n \r\n\r\n \r\n return this.httpClient\r\n .post(`${this.DriverBaseServiceURL}/UploadImage`, formData);\r\n //.map(() => { return true; })\r\n //.catch((e) => console.log(e));\r\n }\r\n\r\n public getDriverFBSToken(token: any): Observable {\r\n\r\n let body = new HttpParams().set('token', token);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetInfoByFBSToken\", body);\r\n }\r\n public getDriverWithoutFBSToken(driverID: any): Observable {\r\n\r\n let body = new HttpParams().set('DriverID', driverID);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetInfoWithoutFBSToken\", body);\r\n }\r\n public verifyToken(guidD: any, guidT: any): Observable {\r\n let params = new HttpParams().set('guidD', guidD).set('guidT', guidT);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/VerifyToken\", params);\r\n }\r\n\r\n public getDriverByGUID(guid: any): Observable {\r\n let params = new HttpParams().set('guid', guid);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetInfoByGUID\", params);\r\n }\r\n\r\n public getDriverByID(ID: any): Observable {\r\n let params = new HttpParams().set('ID', ID);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetDriverInfoByID\", params);\r\n }\r\n\r\n public getDriverByFBSToken_OnlyInfo(fbsToken: any): Observable {\r\n let params = new HttpParams().set('FbsToken', fbsToken);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetOnlyInfoByFBS\", params);\r\n }\r\n public getDriverByNCode(nCode: any): Observable {\r\n \r\n let params = new HttpParams().set('nCode', nCode);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/getDriverByNCode\", params);\r\n }\r\n\r\n public sendVerification(guid: any):Observable {\r\n \r\n let params = new HttpParams().set('guid', guid);\r\n const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/SendVerification\", params,{ responseType: 'text' as 'json' });\r\n }\r\n public GetSuccesfullService(guidCode: any, actionstring: any): Observable {\r\n let params = new HttpParams().set('guidCode', guidCode).set('acttionName', actionstring);;\r\n //console.log(params);\r\n //console.log(actionstring);\r\n\r\n const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetSuccesfullService\", params,{ responseType: 'text' as 'json' });\r\n }\r\n public SetRejectService(guidCode: any): Observable {\r\n\r\n let params = new HttpParams().set('guidCode', guidCode);\r\n const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetSuccesfullService\", params,{ responseType: 'text' as 'json' });\r\n }\r\n\r\n \r\n public checkVerification(code: any, guidCode: any, guidDriver: any): Observable {\r\n \r\n let params = new HttpParams().set('code', code);\r\n params = params.set('guidCode', guidCode);\r\n params = params.set('guidDriver', guidDriver);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/CheckVerification\", params);\r\n }\r\n public setSuccessfullResult(guid: any, result: any): Observable {\r\n if (this.moke) {\r\n return new Observable((subscriber: Subscriber) => subscriber.next());\r\n\r\n }\r\n else {\r\n let params = new HttpParams().set('guid', guid);\r\n params = params.set('result', result);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/setSuccessfullResult\", params);\r\n }\r\n }\r\n\r\n public logOutFToken(fbsToken: any): Observable {\r\n let params = new HttpParams().set('fbsToken', fbsToken);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/LogOutFToken\", params);\r\n }\r\n public getAndFetch_StatusInfo(driverGUID: any, Status: any, lat: any, lng: any, stationID: any): Observable {\r\n if (!stationID || stationID == 'undefined')\r\n stationID = 0;\r\n let params = new HttpParams().set('driverGUID', driverGUID);\r\n params = params.set('Status', Status);\r\n params = params.set('lat', lat);\r\n params = params.set('lng', lng);\r\n params = params.set('stationID', stationID);\r\n\r\n return this.httpClient.post (this.DriverBaseServiceURL + \"/getAndFetch_StatusInfo\", params);\r\n\r\n }\r\n public getLastStatus(driverGUID: any): Observable {\r\n let params = new HttpParams().set('driverGUID', driverGUID);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetLastStatus\", params);\r\n }\r\n public getCarByDriverID(driverID: any): Observable {\r\n let params = new HttpParams().set('DriverID', driverID);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetCarInfo\", params);\r\n }\r\n\r\n public updateDriverStatus(driverGUID: any, Status: any, goOnline : any): Observable {\r\n let params = new HttpParams().set('driverGUID', driverGUID);\r\n params = params.set('Status', Status);\r\n params = params.set('GoOnline', goOnline == true ? \"1\" : \"0\");\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/UpdateDriverStatus\", params);\r\n }\r\n\r\n public SaveNotifInfo(driverGUID: any, endpoint2: any, auth2: any, p256dh: any): Observable {\r\n let params = new HttpParams().set('driverGUID', driverGUID);\r\n params = params.set('endpoint', endpoint2);\r\n params = params.set('auth', auth2);\r\n params = params.set('p256dh', p256dh);\r\n \r\n\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/SaveNotifInfo\", params);\r\n }\r\n \r\n public handleShahremanToken(token: any): Observable {\r\n let params = new HttpParams().set('Token', token);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/HandelToken\", params);\r\n }\r\n public saveManualInfo(ncode: any, mobile: any): Observable {\r\n let params = new HttpParams().set('ncode', ncode).set('mobile', mobile);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/saveManualInfo\", params,{ responseType: 'text' as 'json' });\r\n\r\n \r\n }\r\n public getDriverByCode(driverCode: any): Observable {\r\n let params = new HttpParams().set('DriverCode', driverCode);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/getDriverFromCode\", params,{ responseType: 'text' as 'json' });\r\n }\r\n public saveDriverFBS(driverID: any, fbsToken: any): Observable {\r\n let params = new HttpParams().set('driverID', driverID).set('fbsToken', fbsToken);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/saveDriverFBS\", params,{ responseType: 'text' as 'json' });\r\n }\r\n \r\n public getAllLog(driverID: any): Observable {\r\n let params = new HttpParams().set('DriverID', driverID);\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/ListLog`, params);\r\n }\r\n public getAllDriver(): Observable {\r\n let params = new HttpParams();\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/GetAllDriver`, params);\r\n }\r\n public getAllDriverForSchedule(): Observable {\r\n let params = new HttpParams();\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/GetAllDriverForSchedule`, params);\r\n }\r\n\r\n public getAll(mobile: any, fName: any, driverCode: any, nationalCode: any, statuses: any): Observable {\r\n let params = new HttpParams().set('Mobile', mobile);\r\n params = params.set('FName', fName);\r\n params = params.set('DriverCode', driverCode);\r\n params = params.set('NationalCode', nationalCode);\r\n if (typeof statuses == 'undefined' || !statuses) {\r\n statuses = '';\r\n }\r\n params = params.set('statuses', statuses);\r\n\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/GetAll`, params);\r\n }\r\n public getAllSimple(mobile: any, fName: any, driverCode: any, nationalCode: any, statuses: any): Observable {\r\n let params = new HttpParams().set('Mobile', mobile);\r\n params = params.set('FName', fName);\r\n params = params.set('DriverCode', driverCode);\r\n params = params.set('NationalCode', nationalCode);\r\n if (typeof statuses == 'undefined' || !statuses) {\r\n statuses = '';\r\n }\r\n params = params.set('statuses', statuses);\r\n\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/GetAll_SimpleForManageDriver`, params);\r\n }\r\n public getAllWithShift(searchkw: any, selectedShift: any): Observable {\r\n let params = new HttpParams().set('KeySearch', searchkw);\r\n \r\n params = params.set('ShiftCode', selectedShift);\r\n\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/GetAll_SimpleForManageDriverWithShift`, params);\r\n }\r\n public getAllDebit(refID: number, refType: number): Observable {\r\n let params = new HttpParams().set('RefID', refID.toString());\r\n params = params.set('RefType', refType.toString());\r\n\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/GetAllDebit`, params);\r\n }\r\n\r\n public abonmanList(year: string, month: string): Observable {\r\n let params = new HttpParams().set('Year', year );\r\n params = params.set('Month', month.toString());\r\n\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/AbonmanList`, params);\r\n }\r\n\r\n\r\n\r\n public getAllForMonitor(mobile: any, fName: any, driverCode: any, nationalCode: any, statuses: any): Observable {\r\n let params = new HttpParams().set('Mobile', mobile);\r\n params = params.set('FName', fName);\r\n params = params.set('DriverCode', driverCode);\r\n params = params.set('NationalCode', nationalCode);\r\n if (typeof statuses == 'undefined' || !statuses) {\r\n statuses = '';\r\n }\r\n params = params.set('statuses', statuses);\r\n\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/GetAllForMonitor`, params);\r\n }\r\n\r\n public getAllDriverPosition(mobile: any, fName: any, driverCode: any, passangerName: any, passangerMobile: any, tarikhAz: any, tarikhTa: any, timeAz: any, timeTa: any): Observable {\r\n let params = new HttpParams().set('Mobile', mobile);\r\n params = params.set('FName', fName);\r\n params = params.set('DriverCode', driverCode);\r\n params = params.set('PassangerName', passangerName);\r\n params = params.set('PassangerMobile', passangerMobile);\r\n params = params.set('TarikhAz', tarikhAz);\r\n params = params.set('TarikhTa', tarikhTa);\r\n params = params.set('TimeAz', timeAz);\r\n params = params.set('TimeTa', timeTa);\r\n\r\n\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/GetAllDriverPosition`, params);\r\n }\r\n public insert(value: Partial): Observable {\r\n console.log('insert')\r\n console.log(value)\r\n\r\n let params = new HttpParams().set('Mobile', value.mobile);\r\n params = params.set('FName', value.fName);\r\n params = params.set('WorkingMobile', value.workingMobile);\r\n params = params.set('DriverCode', value.driverCode);\r\n params = params.set('Mobile', value.mobile);\r\n params = params.set('NationalCode', value.nationalCode);\r\n params = params.set('Color', value.color.toString());\r\n params = params.set('TypeCar', value.typeCar.toString());\r\n params = params.set('Pelaque2', value.pelaque2.toString());\r\n params = params.set('Pelaque3', value.pelaque3.toString());\r\n params = params.set('PelaqueIR', value.pelaqueIR);\r\n params = params.set('PelaqueLetter', value.pelaqueLetter);\r\n params = params.set('Username', value.username);\r\n params = params.set('Password', value.password);\r\n return this.httpClient.post(this.DriverBaseServiceURL + '/InsertNew', params);\r\n }\r\n\r\n public insertdebit(value: Partial, refID: number, IsCredit: boolean, operatorguid:string): Observable {\r\n console.log('insert')\r\n console.log(value)\r\n\r\n let params = new HttpParams().set('Price', value.price.toString());\r\n params = params.set('Comment', value.comment);\r\n params = params.set('RefID', refID.toString());\r\n params = params.set('IsCredit', IsCredit.toString());\r\n params = params.set('OperatorGUID', operatorguid);\r\n \r\n return this.httpClient.post(this.DriverBaseServiceURL + '/InsertNewDebit', params);\r\n }\r\n\r\n public lock(driverID: any, lockComment: any, date: any, hour: any, minute: any): Observable {\r\n let params = new HttpParams().set('driverID', driverID);\r\n params = params.set('LockComment', lockComment);\r\n params = params.set('date', date);\r\n params = params.set('hour', hour);\r\n params = params.set('minute', minute);\r\n return this.httpClient.post(this.DriverBaseServiceURL + '/LockDriver', params);\r\n }\r\n public unlock(driverID: any): Observable {\r\n let params = new HttpParams().set('driverID', driverID);\r\n return this.httpClient.post(this.DriverBaseServiceURL + '/UnLockDriver', params);\r\n }\r\n public update(value: Partial): Observable {\r\n console.log('update ');\r\n console.log(value);\r\n let params = new HttpParams().set('Mobile', value.mobile);\r\n params = params.set('FName', value.fName);\r\n params = params.set('DriverCode', value.driverCode);\r\n params = params.set('NationalCode', value.nationalCode);\r\n params = params.set('WorkingMobile', value.workingMobile);\r\n params = params.set('typeCar', value.typeCar.toString());\r\n params = params.set('color', value.color.toString());\r\n params = params.set('pelaqueIR', value.pelaqueIR);\r\n params = params.set('pelaqueLetter', value.pelaqueLetter);\r\n params = params.set('pelaque2', value.pelaque2.toString());\r\n params = params.set('pelaque3', value.pelaque3.toString());\r\n params = params.set('Username', value.username);\r\n params = params.set('Password', value.password);\r\n params = params.set('NationalCode', value.nationalCode);\r\n params = params.set('ID', value.id.toString());\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/Update`, params);\r\n }\r\n public updateComission(driverID , comission): Observable {\r\n \r\n let params = new HttpParams().set('DriverID', driverID);\r\n params = params.set('Comission', comission);\r\n \r\n \r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/UpdateComission`, params);\r\n }\r\n public updateAbonman(driverID, abonman): Observable {\r\n\r\n let params = new HttpParams().set('DriverID', driverID);\r\n params = params.set('Abonman', abonman);\r\n\r\n\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/UpdateAbonman`, params);\r\n }\r\n\r\n public delete(opID: any): Observable {\r\n const params = new HttpParams().set('ID', opID);\r\n return this.httpClient.post(`${this.DriverBaseServiceURL}/Delete`, params);\r\n }\r\n public insertShift(shiftNightDriverID: any, shiftAsrDriverID: any, DateTime): Observable {\r\n let params = new HttpParams().set('ShiftNightDriverID', shiftNightDriverID);\r\n params = new HttpParams().set('ShiftAsrDriverID', shiftAsrDriverID);\r\n params = new HttpParams().set('DateTime', DateTime);\r\n return this.httpClient.post(`${this.ShiftBaseServiceURL}/InsertNew`, params);\r\n }\r\n public getShiftTable(driverID: any): Observable {\r\n let params = new HttpParams().set('DriverID', driverID);\r\n return this.httpClient.post(`${this.ShiftBaseServiceURL}/ListShiftByID`, params);\r\n }\r\n public getAllShiftTable(): Observable {\r\n let params = new HttpParams();\r\n return this.httpClient.post(`${this.ShiftBaseServiceURL}/ListShiftAll`, params);\r\n }\r\n public saveShiftTable(shiftTables: IShift[]): Observable {\r\n console.log('shiftTables');\r\n console.log(shiftTables);\r\n //let params = new HttpParams().set('shiftTables', JSON.stringify() );\r\n return this.httpClient.post(`${this.ShiftBaseServiceURL}/SaveShift`, shiftTables);\r\n }\r\n}\r\n","import {\r\n HttpEvent,\r\n HttpHandler,\r\n HttpRequest,\r\n HttpErrorResponse,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, retry } from 'rxjs/operators';\r\nexport class ErrorIntercept implements HttpInterceptor {\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n return next.handle(request)\r\n .pipe(\r\n retry(1),\r\n catchError((error: HttpErrorResponse) => {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error\r\n errorMessage = `Error: ${error.error.message}`;\r\n } else {\r\n // server-side error\r\n errorMessage = `Error Status: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n //console.log(errorMessage);\r\n return throwError(errorMessage);\r\n })\r\n )\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport { Observable } from 'rxjs';\r\nimport { FoundedObject } from '../../model/foundedObject';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FoundedObjectserviceService {\r\n constructor(\r\n private httpClient: HttpClient\r\n\r\n ) { }\r\n\r\n\r\n public insertFoundedObject(requestID: any,passangerFName :string,passangerMobile :string, originAddr: string,destinationAddr: string,driverCode: string,serviceDateTime:string,description: string, creatorUserID :any): Observable {\r\n \r\n let params = new HttpParams().set('requestID', requestID).set('description', description).set('creatorUserID', creatorUserID)\r\n .set('passangerFName', passangerFName).set('passangerMobile', passangerMobile)\r\n .set('originAddr', originAddr).set('destinationAddr', destinationAddr)\r\n .set('driverCode', driverCode).set('serviceDateTime', serviceDateTime)\r\n ;\r\n\r\n return this.httpClient.post(GlobalVariable.FoundedObjectBaseServiceURL + \"/InsertFoundedObject\", params);\r\n }\r\n public reportAll(): Observable {\r\n \r\n let params = new HttpParams()\r\n return this.httpClient.post(GlobalVariable.FoundedObjectBaseServiceURL + \"/ReportAll\", params);\r\n }\r\n\r\n public getTop(): Observable {\r\n\r\n let params = new HttpParams()\r\n return this.httpClient.post(GlobalVariable.ComplaintBaseServiceURL + \"/GetTop\", params);\r\n }\r\n\r\n public getListDynamic(whereCondition: string, orderByExpression: string): Observable {\r\n let params = new HttpParams().set('whereCondition', whereCondition).set('orderByExpression', orderByExpression);\r\n return this.httpClient.post(GlobalVariable.FoundedObjectBaseServiceURL + \"/getListDynamic\", params);\r\n }\r\n\r\n\r\n public reportAllFoundedObject(passangerFName: any, passangerMobile: any, driverCode: any, originAddr: any, destinationAddr: any, description: any): Observable {\r\n if (typeof passangerFName == 'undefined' || !passangerFName) {\r\n passangerFName = '';\r\n }\r\n if (typeof originAddr == 'undefined' || !originAddr) {\r\n originAddr = '';\r\n }\r\n if (typeof passangerMobile == 'undefined' || !passangerMobile) {\r\n passangerMobile = '';\r\n }\r\n if (typeof driverCode == 'undefined' || !driverCode) {\r\n driverCode = '';\r\n }\r\n if (typeof destinationAddr == 'undefined' || !destinationAddr) {\r\n destinationAddr = '';\r\n }\r\n if (typeof description == 'undefined' || !description) {\r\n description = '';\r\n }\r\n let params = new HttpParams().set('passangerFName', passangerFName).set('passangerMobile', passangerMobile).set('driverCode', driverCode).set('originAddr', originAddr).set('destinationAddr', destinationAddr).set('description', description);\r\n return this.httpClient.post(GlobalVariable.FoundedObjectBaseServiceURL + \"/ReportAllFoundedObject\", params);\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport { Observable} from 'rxjs';\r\nimport { Log } from '../../model/log';\r\nimport { ConfigurationAll } from '../../model/ConfigurationAll';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LogserviceService {\r\n constructor(\r\n private httpClient: HttpClient\r\n\r\n ) { }\r\n\r\n\r\n\r\n public reportAllLog(types: any, deviceID: any, deviceModel: any, tarikhAz: any, tarikhTa: any, timeAz: any, timeTa: any): Observable {\r\n \r\n let params = new HttpParams();\r\n\r\n if (typeof types == 'undefined' || !types) {\r\n types = '';\r\n }\r\n params = params.set('types', types);\r\n if (typeof deviceID == 'undefined' || !deviceID) {\r\n deviceID = '';\r\n }\r\n params = params.set('deviceID', deviceID);\r\n if (typeof deviceModel == 'undefined' || !deviceModel) {\r\n deviceModel = '';\r\n }\r\n params = params.set('deviceModel', deviceModel);\r\n if (typeof tarikhAz == 'undefined' || !tarikhAz) {\r\n tarikhAz = '';\r\n }\r\n params = params.set('TarikhAz', tarikhAz);\r\n if (typeof tarikhTa == 'undefined' || !tarikhTa) {\r\n tarikhTa = '';\r\n }\r\n params = params.set('TarikhTa', tarikhTa);\r\n if (typeof timeAz == 'undefined' || !timeAz) {\r\n timeAz = '';\r\n }\r\n params = params.set('TimeAz', timeAz);\r\n if (typeof timeTa == 'undefined' || !timeTa) {\r\n timeTa = '';\r\n }\r\n params = params.set('TimeTa', timeTa);\r\n\r\n return this.httpClient.post(GlobalVariable.DashboardBaseServiceURL + \"/ReportAllLog\", params);\r\n }\r\n\r\n public getConfig(): Observable {\r\n \r\n let params = new HttpParams();\r\n return this.httpClient.post(GlobalVariable.DashboardBaseServiceURL + \"/GetConfig\", params);\r\n }\r\n\r\n public updateConfig(gpsLogTime : string,logSocketServer: any,logSocketClient : any,gpsLogDistance : any,serverOffTime : any): Observable {\r\n\r\n let params = new HttpParams().set('gpsLogTime', gpsLogTime).set('logSocketServer', logSocketServer).set('logSocketClient', logSocketClient).set('gpsLogDistance', gpsLogDistance).set('serverOffTime', serverOffTime);\r\n return this.httpClient.post(GlobalVariable.DashboardBaseServiceURL + \"/UpdateConfig\", params);\r\n }\r\n\r\n\r\n public deleteLogs(): Observable {\r\n\r\n let params = new HttpParams();\r\n return this.httpClient.post(GlobalVariable.DashboardBaseServiceURL + \"/DeleteAllLogs\", params);\r\n }\r\n public deleteLogsList(ids : any): Observable {\r\n\r\n let params = new HttpParams().set('ids', ids);\r\n return this.httpClient.post(GlobalVariable.DashboardBaseServiceURL + \"/DeleteLogsList\", params);\r\n }\r\n public deleteLog(id: any): Observable {\r\n\r\n let params = new HttpParams().set('id',id);\r\n return this.httpClient.post(GlobalVariable.DashboardBaseServiceURL + \"/DeleteLog\", params);\r\n }\r\n public deleteLogByType(type: any): Observable {\r\n\r\n let params = new HttpParams().set('type', type);\r\n return this.httpClient.post(GlobalVariable.DashboardBaseServiceURL + \"/DeleteLogByType\", params);\r\n }\r\n\r\n}\r\n\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpParams} from '@angular/common/http';\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport { Observable } from 'rxjs';\r\nimport { IAllLoginOutput, IOperator, IOperatorLoginOutput } from '../interfaces/operator';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OperatorService {\r\n private OperatorBaseServiceURL = GlobalVariable.OperatorBaseServiceURL;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) {\r\n }\r\n\r\n public login(userName: any, passWord: any): Observable {\r\n const params = new HttpParams().set('UserName', userName).set('Password', passWord);\r\n return this.httpClient.post(this.OperatorBaseServiceURL + '/Login', params);\r\n }\r\n public loginAll(userName: any, passWord: any, fbsToken): Observable {\r\n const params = new HttpParams().set('UserName', userName).set('Password', passWord).set('FBSToken', fbsToken);\r\n return this.httpClient.post(this.OperatorBaseServiceURL + '/LoginAll', params);\r\n }\r\n\r\n\r\n public isLogin(guidCode: string): Observable {\r\n const params = new HttpParams().set('guidCode', guidCode);\r\n return this.httpClient.post(this.OperatorBaseServiceURL + '/IsLogin', params);\r\n }\r\n\r\n public logout(id: any, needSocket: any): Observable {\r\n const params = new HttpParams().set('id', id).set('needSocket', needSocket);\r\n return this.httpClient.post(this.OperatorBaseServiceURL + '/Logout', params);\r\n }\r\n\r\n public insert(value: Partial): Observable {\r\n let params = new HttpParams().set('Mobile', value.mobile);\r\n params = params.set('OperatorName', value.operatorName);\r\n params = params.set('Password', value.password);\r\n params = params.set('Username', value.username);\r\n params = params.set('VOIPNo', value.voipNo.toString());\r\n return this.httpClient.post(this.OperatorBaseServiceURL + '/InsertNew', params);\r\n }\r\n\r\n public update(value: Partial): Observable {\r\n const params = new HttpParams()\r\n .set('Mobile', value.mobile)\r\n .set('OperatorName', value.operatorName)\r\n .set('Password', value.password)\r\n .set('Username', value.username)\r\n .set('AdminLevel', value.adminLevel.toString())\r\n .set('IsActive', value.isActive.toString())\r\n .set('VOIPNo', value.voipNo.toString())\r\n .set('ID', value.id.toString());\r\n return this.httpClient.post(`${this.OperatorBaseServiceURL}/Update`, params);\r\n }\r\n\r\n public delete(opID: any): Observable {\r\n const params = new HttpParams().set('ID', opID);\r\n return this.httpClient.post(`${this.OperatorBaseServiceURL}/Delete`, params);\r\n }\r\n\r\n public getAll(): Observable {\r\n return this.httpClient.post(`${this.OperatorBaseServiceURL}/GetAll`, {});\r\n }\r\n public getAllMoaref(): Observable {\r\n return this.httpClient.post(`${this.OperatorBaseServiceURL}/GetAllMoaref`, {});\r\n }\r\n \r\n\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport { Observable} from 'rxjs';\r\nimport { Passanger } from '../../model/passanger';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PassangerserviceService {\r\n constructor(\r\n private httpClient: HttpClient\r\n\r\n ) { }\r\n\r\n\r\n public insertPassanger(fName :string,lName :string, mobile: string,nationalCode: string,id : string): Observable {\r\n \r\n let params = new HttpParams().set('fName', fName).set('lName', lName).set('mobile', mobile).set('id', id)\r\n .set('nationalCode', nationalCode) ;\r\n\r\n return this.httpClient.post(GlobalVariable.PassangerBaseServiceURL + \"/InsertPassanger\", params);\r\n }\r\n public reportAll(): Observable {\r\n \r\n let params = new HttpParams()\r\n return this.httpClient.post(GlobalVariable.PassangerBaseServiceURL + \"/ReportAll\", params);\r\n }\r\n public get(id :string): Observable {\r\n \r\n let params = new HttpParams().set('id', id);\r\n return this.httpClient.post(GlobalVariable.PassangerBaseServiceURL + \"/Get\", params);\r\n }\r\n\r\n public getListDynamic(whereCondition: string, orderByExpression: string): Observable {\r\n let params = new HttpParams().set('whereCondition', whereCondition).set('orderByExpression', orderByExpression);\r\n return this.httpClient.post(GlobalVariable.PassangerBaseServiceURL + \"/getListDynamic\", params);\r\n }\r\n\r\n\r\n public reportAllPassanger(fName: any, lName: any, mobile: any, nationalCode: any): Observable {\r\n if (typeof fName == 'undefined' || !fName) {\r\n fName = '';\r\n }\r\n if (typeof lName == 'undefined' || !lName) {\r\n lName = '';\r\n }\r\n if (typeof mobile == 'undefined' || !mobile) {\r\n mobile = '';\r\n }\r\n if (typeof nationalCode == 'undefined' || !nationalCode) {\r\n nationalCode = '';\r\n }\r\n \r\n let params = new HttpParams().set('fName', fName).set('lName', lName).set('mobile', mobile).set('nationalCode', nationalCode);\r\n return this.httpClient.post(GlobalVariable.PassangerBaseServiceURL + \"/ReportAllPassanger\", params);\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport { Observable} from 'rxjs';\r\nimport { Profile } from '../../model/profile';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProfileService {\r\n constructor(\r\n private httpClient: HttpClient\r\n\r\n ) { }\r\n\r\n\r\n public getProfile(driverID: any): Observable {\r\n \r\n let params = new HttpParams().set('driverID', driverID);\r\n\r\n return this.httpClient.post(GlobalVariable.ProfileBaseServiceURL + \"/GetProfile\", params);\r\n }\r\n public getProfileToday(driverID: any): Observable {\r\n\r\n let params = new HttpParams().set('driverID', driverID);\r\n\r\n return this.httpClient.post(GlobalVariable.ProfileBaseServiceURL + \"/GetProfileToday\", params);\r\n }\r\n\r\n\r\n\r\n public writeLog(log: string): Observable {\r\n\r\n let params = new HttpParams().set('log', log);\r\n \r\n\r\n return this.httpClient.post(GlobalVariable.ProfileBaseServiceURL + \"/LogToFile\", params);\r\n\r\n\r\n }\r\n\r\n\r\n}\r\n\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpParams} from '@angular/common/http';\r\nimport {GlobalVariable} from './../../globalVariable';\r\nimport {Driver, getDriverInfo} from './../../model/driver';\r\nimport {Observable, Subscriber} from 'rxjs';\r\nimport {ErrorOutput} from '../../model/enumtype';\r\nimport {Car} from '../../model/car';\r\nimport { LastCallInfo } from '../../model/lastCallInfo';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport { IBaseInfo, IBaseInfoMaster } from '../interfaces/Ibaseinfo';\r\nimport { ICommissionReport, IKarkardReport, IMonthbyMonthReport, IServiceReport } from '../interfaces/iServiceReport';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportService {\r\n public moke = GlobalVariable.mokeFLAG;\r\n private BaseServiceURL = GlobalVariable.BaseServiceURL + 'Report';;\r\n \r\n\r\n constructor(private httpClient: HttpClient) {\r\n\r\n }\r\n\r\n public ServiceReport(driverID: string, dateStart: string, dateFinish: string, operatorID: string = null, keyword: string =''): Observable {\r\n let params = new HttpParams()\r\n .set('driverID', driverID)\r\n .set('dateStart', dateStart)\r\n .set('operatorID', operatorID)\r\n .set('Keyword', keyword)\r\n .set('dateFinish', dateFinish);\r\n return this.httpClient.post(this.BaseServiceURL + '/ServiceReport', params);\r\n }\r\n public KarkardReport(driverID): Observable {\r\n let params = new HttpParams()\r\n .set('driverID', driverID);\r\n return this.httpClient.post(this.BaseServiceURL + '/ReportKarkard', params);\r\n }\r\n public MonthByMonthReport(driverID): Observable {\r\n let params = new HttpParams()\r\n .set('driverID', driverID);\r\n return this.httpClient.post(this.BaseServiceURL + '/ReportMonthByMonth', params);\r\n }\r\n public CommissionReport(datePrefix,driverID =-1): Observable {\r\n let params = new HttpParams()\r\n .set('datePrefix', datePrefix)\r\n .set('DriverID', driverID.toString())\r\n return this.httpClient.post(this.BaseServiceURL + '/CommissionReport', params);\r\n }\r\n public GetCurrentActiveDate(): Observable {\r\n let params = new HttpParams()\r\n return this.httpClient.post(this.BaseServiceURL + '/GetCurrentActiveDate', params);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { GlobalVariable } from './../../globalVariable';\r\n\r\nimport { Observable} from 'rxjs';\r\nimport { PassangerSavedPlace } from '../../model/passangerSavedPlace';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SavedPlaceService {\r\n public moke = GlobalVariable.mokeFLAG;\r\n private PassangerSavedPlaceBaseServiceURL = GlobalVariable.PassangerSavedPlaceBaseServiceURL;\r\n\r\n constructor(private httpClient: HttpClient) {\r\n }\r\n\r\n public getSavedPlace(passangerID: any): Observable {\r\n let params = new HttpParams().set('passangerID', passangerID);\r\n return this.httpClient.post(this.PassangerSavedPlaceBaseServiceURL + '/GetSavedPlace', params);\r\n }\r\n public savePlace(value: PassangerSavedPlace): Observable {\r\n let params = new HttpParams().set('passangerID', value.passangerID.toString());\r\n params = params.set('lat', value.lat.toString());\r\n params = params.set('lng', value.lng.toString());\r\n params = params.set('PlaceName', value.placeName);\r\n params = params.set('PlaceAddr', value.placeAddr);\r\n\r\n return this.httpClient.post(this.PassangerSavedPlaceBaseServiceURL + '/SavePlace', params,{ responseType: 'text' as 'json' });\r\n }\r\n public listAll(passangerID): Observable {\r\n let params = new HttpParams().set('passangerID', passangerID);\r\n\r\n return this.httpClient.post(this.PassangerSavedPlaceBaseServiceURL + '/AllPlace', params, {});\r\n }\r\n \r\n\r\n\r\n\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams} from '@angular/common/http';\r\n\r\nimport { GlobalVariable } from './../../globalVariable';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { ManualServiceRequest, PropsoedReport, ServiceRequest } from '../../model/ServiceRequest';\r\nimport { ResevedService } from '../../model/reservedService';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServiceRequestService {\r\n public moke = GlobalVariable.mokeFLAG;\r\n constructor(private httpClient: HttpClient) { }\r\n private RequestServiceBaseServiceURL = GlobalVariable.RequestServiceBaseServiceURL;\r\n private getMockServiceRequest() {\r\n var res = new ServiceRequest();\r\n res.destination2Addr = 'مقصد ستی';\r\n res.destinationAddr = 'مقصد اول تستی';\r\n res.destinationLat = 36.314077;\r\n res.destinationLng = 59.561900;\r\n res.destinationLat2 = 36.310619\r\n res.destinationLng2 = 59.646701\r\n res.originAddr = 'مب دا';\r\n res.originLat = 36.321882;\r\n res.originLng = 59.545666;\r\n res.result = 0;\r\n res.daleyTime = 10;\r\n res.distanceKM = 10;\r\n res.distanceMinute = 30;\r\n\r\n return res;\r\n }\r\n public getRequestByPropsedCode(guidRequest: any): Observable {\r\n if (this.moke) {\r\n return new Observable((subscriber: Subscriber) => subscriber.next(this.getMockServiceRequest()));\r\n }\r\n let params = new HttpParams().set('guidRequest', guidRequest);\r\n //console.log(this.RequestServiceBaseServiceURL + \"/getRequestByPropsedCode\");\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/getRequestByPropsedCode\", params);\r\n }\r\n public getPropsedByDriver_Service(guidRequest: any, guidDriver: any) {\r\n \r\n let params = new HttpParams().set('guidRequest', guidRequest).set('guidDriver', guidDriver);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/getPropsedByDriver_Service\", params,{ responseType: 'text' as 'json' });\r\n }\r\n public peygiri(requestID: any) {\r\n\r\n let params = new HttpParams().set('requestID', requestID);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/peygiri\", params,{ responseType: 'text' as 'json' });\r\n }\r\n public proposedDialogClosed(guidRequest: any): Observable {\r\n let params = new HttpParams().set('guidRequest', guidRequest);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/ProposedDialogClosed\", params);\r\n }\r\n public checkActive(guidRequest: any): Observable {\r\n let params = new HttpParams().set('guidRequest', guidRequest);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/CheckActive\", params);\r\n }\r\n public getRequestService(guidRequest: any): Observable {\r\n if (this.moke) {\r\n return new Observable((subscriber: Subscriber) => subscriber.next(this.getMockServiceRequest()));\r\n }\r\n let params = new HttpParams().set('guidRequest', guidRequest);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/getRequestService\", params);\r\n }\r\n public getLastRequest(passangerID: any): Observable {\r\n \r\n let params = new HttpParams().set('passangerID', passangerID);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/getLastRequest\", params);\r\n }\r\n public getCurrentReserved(passangerID: any): Observable {\r\n\r\n let params = new HttpParams().set('passangerID', passangerID);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/getCurrentReserved\", params);\r\n }\r\n public getRequestServiceByID(serviceID: any): Observable {\r\n let params = new HttpParams().set('serviceID', serviceID);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/getRequestServiceByID\", params);\r\n }\r\n public saveServiceReuest(req: ServiceRequest) {\r\n let params = new HttpParams().set('originlat', req.originLat.toString()).set('originlng', req.originLng.toString()).set('destinationLat', req.destinationLat.toString()).set('destinationLng', req.destinationLng.toString()).set('destinationLat2', req.destinationLat2.toString()).set('destinationLng2', req.destinationLng2.toString()).set('passangerID', req.passangerID.toString()).set('destination2Addr', req.destination2Addr.toString()).set('destinationAddr', req.destinationAddr.toString()).set('originAddr', req.originAddr.toString());\r\n \r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/saverequest\", params,{ responseType: 'text' as 'json' });\r\n\r\n }\r\n public getFreeService(guidDriver: any): Observable {\r\n //console.log('guidDriver params' + guidDriver);\r\n let params = new HttpParams().set('guidDriver', guidDriver);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/getFreeService\", params );\r\n }\r\n\r\n public getListDynamic(whereCondition: string, orderByExpression: string): Observable {\r\n let params = new HttpParams().set('whereCondition', whereCondition).set('orderByExpression', orderByExpression);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/getListDynamic\", params);\r\n }\r\n\r\n public saveManualService(req: ManualServiceRequest, driverID: any, stationID: any) {\r\n let params = new HttpParams().set('originlat', req.originLat.toString()).set('originlng', req.originLng.toString()).set('destinationLat', req.destinationLat.toString()).set('destinationLng', req.destinationLng.toString()).set('destinationLat2', req.destinationLat2.toString()).set('destinationLng2', req.destinationLng2.toString()).set('passangerID', req.passangerID.toString()).set('destination2Addr', req.destination2Addr.toString()).set('destinationAddr', req.destinationAddr.toString()).set('originAddr', req.originAddr.toString()).set('DriverID', driverID).set('StationID', stationID);\r\n params = params.set('passangerName', req.passangerName);\r\n params = params.set('passagnerMobile', req.passangerMobile);\r\n params = params.set('comment', req.comment);\r\n params = params.set('DarEkhtiar', req.darEkhtiar.toString());\r\n\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/savemanualrequest\", params,{ responseType: 'text' as 'json' });\r\n\r\n }\r\n\r\n public getPropsoedReport(requestID: any): Observable {\r\n \r\n let params = new HttpParams().set('RequestID', requestID);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/GetPropsoedReport\", params);\r\n }\r\n public Delete(requestID: number) {\r\n let params = new HttpParams().set('RequestID', requestID.toString());\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/Delete\", params);\r\n\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { Service } from '../../model/service';\r\nimport { AllServiceInfo, ServiceInfo } from '../../model/serviceInfo';\r\nimport { ServiceRequest } from '../../model/ServiceRequest';\r\nimport { Passanger } from '../../model/passanger';\r\nimport { SaveServiceResult } from '../../model/saveserviceresult';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServiceserviceService {\r\n constructor(\r\n private httpClient: HttpClient\r\n\r\n ) { }\r\n public moke = GlobalVariable.mokeFLAG;\r\n\r\n private ServiceBaseServiceURL = GlobalVariable.ServiceBaseServiceURL;\r\n private getMokeService(index = 1) {\r\n var res = new Service();\r\n res.carTypeName = 'پراید'\r\n res.colorTypeName = 'زرد'\r\n res.driverFName = 'محمد'\r\n res.driverLName = 'محمد زده'\r\n res.pelaque2 = '12'\r\n res.pelaque3 = '123'\r\n res.pelaqueIR = '23';\r\n res.pelaqueLetter = 'ج'\r\n res.driverMobile = '09337926212'\r\n res.passangerFName = 'بهروز'\r\n res.passangerLName = 'مدیری'\r\n res.passangerMobile = '09158521458'\r\n\r\n\r\n return res;\r\n }\r\n public getService(guidService: any): Observable {\r\n if (this.moke) {\r\n return new Observable((subscriber: Subscriber) => subscriber.next(this.getMokeService()));\r\n }\r\n let params = new HttpParams().set('guidService', guidService);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/getService\", params);\r\n }\r\n\r\n public getServiceByID(serviceID: any): Observable {\r\n \r\n let params = new HttpParams().set('serviceID', serviceID);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/getServiceByID\", params);\r\n }\r\n\r\n public updateServiceState(serviceGUID: any, state: any): Observable {\r\n if (this.moke) {\r\n return new Observable((subscriber: Subscriber) => subscriber.next());\r\n }\r\n //console.log('updateServiceState');\r\n //console.log('serviceGUID:' + serviceGUID+'state'+state);\r\n let params = new HttpParams().set('serviceGUID', serviceGUID).set('state', state);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/updateServiceState\", params);\r\n }\r\n\r\n public cancelServiceByRequest(requestID: any): Observable {\r\n if (this.moke) {\r\n return new Observable((subscriber: Subscriber) => subscriber.next());\r\n }\r\n let params = new HttpParams().set('requestID', requestID);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/cancelRequest\", params);\r\n }\r\n\r\n public report(passangerID: any): Observable {\r\n let params = new HttpParams().set('PassangerID', passangerID);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/Report\", params);\r\n }\r\n public reportAll(): Observable {\r\n let params = new HttpParams();\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/ReportAll\", params);\r\n }\r\n public reportAllService(guid: any, tel: any, driverCode: any, stationID: any, passangerFName: any, passangerAddress: any, selectedStateNumbers: any,\r\n dateAz: string, dateTa: string,\r\n searchKeyWord:string\r\n\r\n ): Observable {\r\n if (typeof stationID == 'undefined' || !stationID) {\r\n stationID = 0;\r\n }\r\n if (typeof guid == 'undefined' || !guid) {\r\n guid = '';\r\n }\r\n if (typeof tel == 'undefined' || !tel) {\r\n tel = '';\r\n }\r\n if (typeof driverCode == 'undefined' || !driverCode) {\r\n driverCode = '';\r\n }\r\n if (typeof passangerFName == 'undefined' || !passangerFName) {\r\n passangerFName = '';\r\n }\r\n if (typeof passangerAddress == 'undefined' || !passangerAddress) {\r\n passangerAddress = '';\r\n }\r\n\r\n if (typeof selectedStateNumbers == 'undefined' || !selectedStateNumbers) {\r\n selectedStateNumbers = '';\r\n }\r\n let params = new HttpParams().set('guid', guid).set('Tel', tel).set('DriverCode', driverCode).set('StationID', stationID).set('PassangerFName', passangerFName).set('PassangerAddress', passangerAddress).set('StateNumbers', selectedStateNumbers.toString()).set('DateAz', dateAz).set('DateTa', dateTa).set('searchKeyWord', searchKeyWord)\r\n \r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/ReportAllService\", params);\r\n }\r\n\r\n public reportQueue(queueID: any): Observable {\r\n let params = new HttpParams().set('QueueID', queueID);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/ReportQueue\", params);\r\n }\r\n public reportDriver(driverID: any): Observable {\r\n let params = new HttpParams().set('DriverID', driverID);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/ReportDriver\", params);\r\n }\r\n public UpdateFinish(ServiceGUID: any, Price: any, Anam: any, CountOfPassangers: any, DriverVoteToPassanger: any) {\r\n let params = new HttpParams().set('ServiceGUID', ServiceGUID);\r\n params = params.set('Price', Price);\r\n params = params.set('CountOfPassangers', CountOfPassangers);\r\n params = params.set('DriverVoteToPassanger', DriverVoteToPassanger);\r\n params = params.set('Anam', Anam);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/UpdateFinish\", params);\r\n\r\n }\r\n\r\n\r\n\r\n public UpdateFinishWithDestination(ServiceGUID: any, Price: any, Anam: any, Destination: any, Comment) {\r\n let params = new HttpParams().set('ServiceGUID', ServiceGUID);\r\n params = params.set('Price', Price);\r\n params = params.set('Anam', Anam);\r\n params = params.set('Destination', Destination);\r\n params = params.set('Comment', Comment);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/UpdateFinishWithDestination\", params);\r\n }\r\n\r\n public UpdatePrice(ServiceID: any, Price: any) {\r\n //let params = new HttpParams().set('ServiceID', ServiceID);\r\n //params = params.set('Price', Price);\r\n \r\n //return this.httpClient.post(this.ServiceBaseServiceURL + \"/UpdatePrice\", params);\r\n\r\n let params = new HttpParams().set('sid', ServiceID);\r\n params = params.set('Price', Price);\r\n\r\n return this.httpClient.post(GlobalVariable.TestBaseServiceURL + \"/updateTest_UpdatePrice\", params);\r\n\r\n }\r\n public UpdateAnam(ServiceID: any, Anam: any) {\r\n let params = new HttpParams().set('ServiceID', ServiceID);\r\n params = params.set('Anam', Anam);\r\n\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/UpdateAnam\", params);\r\n }\r\n public UpdateDestination(ServiceID: any, Destination: any) {\r\n //let params = new HttpParams().set('ServiceID', ServiceID);\r\n //params = params.set('Destination', Destination);\r\n\r\n //return this.httpClient.post(this.ServiceBaseServiceURL + \"/UpdateDestination\", params);\r\n\r\n let params = new HttpParams().set('sid', ServiceID);\r\n params = params.set('dest', Destination);\r\n\r\n return this.httpClient.post(GlobalVariable.TestBaseServiceURL + \"/updateTest_dest\", params);\r\n\r\n\r\n }\r\n public UpdateRequestComment(ServiceID: any, RequestComment: any) {\r\n //let params = new HttpParams().set('ServiceID', ServiceID);\r\n //params = params.set('RequestComment', RequestComment);\r\n\r\n //return this.httpClient.post(this.ServiceBaseServiceURL + \"/UpdateRequestComment\", params);\r\n\r\n let params = new HttpParams().set('sid', ServiceID);\r\n params = params.set('rc', RequestComment);\r\n\r\n return this.httpClient.post(GlobalVariable.TestBaseServiceURL + \"/updateTest_reqCom\", params);\r\n\r\n }\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n public UpdateTypePardakht(ServiceID: any, TypePardakht: any) {\r\n //let params = new HttpParams().set('ServiceID', ServiceID);\r\n //params = params.set('TypePardakht', TypePardakht);\r\n //return this.httpClient.post(this.ServiceBaseServiceURL + \"/UpdateTypePardakht\", params);\r\n\r\n let params = new HttpParams().set('sid', ServiceID);\r\n params = params.set('tp', TypePardakht);\r\n return this.httpClient.post(GlobalVariable.TestBaseServiceURL + \"/updateTest\", params);\r\n }\r\n\r\n\r\n\r\n \r\n \r\n public saveService(req: ServiceRequest, psng: Passanger, stationID: number, mode: string, serviceCount: any, transID: any,\r\n\r\n reserveSelectableDate = false, tarikhReserved = '', timeRserved = '',\r\n price=0\r\n\r\n ): Observable {\r\n let params = new HttpParams().set('originlat', req.originLat.toString())\r\n params = params.set('originlng', req.originLng.toString())\r\n params = params.set('destinationLat', req.destinationLat.toString())\r\n params = params.set('destinationLng', req.destinationLng.toString())\r\n params = params.set('destinationLat2', req.destinationLat2.toString())\r\n params = params.set('destinationLng2', req.destinationLng2.toString())\r\n \r\n params = params.set('destination2Addr', req.destination2Addr ? req.destination2Addr.toString() : '')\r\n params = params.set('destinationAddr', req.destinationAddr ? req.destinationAddr.toString():'')\r\n params = params.set('originAddr', req.originAddr ? req.originAddr.toString():'');\r\n params = params.set('originAddr', req.originAddr ? req.originAddr.toString() : '');\r\n if (psng) {\r\n params = params.set('passangerFName', psng.fName);\r\n params = params.set('passangerMobile', psng.mobile);\r\n if (psng.id)\r\n params = params.set('passangerID', psng.id.toString())\r\n else\r\n params = params.set('passangerID', '-1')\r\n\r\n }\r\n \r\n params = params.set('StationID', stationID.toString());\r\n params = params.set('maeloolin', req.maeloolin.toString());\r\n params = params.set('amanati', req.amanati.toString());\r\n params = params.set('khadamat', req.khadamat.toString());\r\n params = params.set('pos', req.pos.toString());\r\n params = params.set('telIDCaller', req.telIDCaller.toString());\r\n params = params.set('operatorID', req.operatorID.toString());\r\n params = params.set('darEkhtiar', req.darEkhtiar.toString());\r\n params = params.set('transID', transID);\r\n \r\n \r\n params = params.set('typeCars', req.typeCars&&req.typeCars.toString()||'');\r\n params = params.set('driverCode', req.driverCode);\r\n params = params.set('fixedComment', req.fixedComment);\r\n params = params.set('requestComment', req.requestComment&&req.requestComment||'');\r\n params = params.set('male', req.maleDriver.toString());\r\n params = params.set('female', req.femaleDriver.toString());\r\n params = params.set('mode', mode);\r\n params = params.set('requestID', req.id ? req.id.toString():'');\r\n params = params.set('serviceCount', serviceCount);\r\n params = params.set('serviceCount', serviceCount);\r\n params = params.set('moarefID', req.moarefID);\r\n params = params.set('typeService', req.typeService);\r\n params = params.set('typePardakht', req.typePardakht);\r\n \r\n params = params.set('reserveSelectableDate', String(reserveSelectableDate));\r\n params = params.set('tarikhReserved', tarikhReserved);\r\n params = params.set('timeRserved', timeRserved);\r\n params = params.set('price', price.toString());\r\n\r\n \r\n //return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/saverequest\", params,{ responseType: 'text' as 'json' });\r\n\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/SaveService\", params);\r\n }\r\n public saveServiceSimple(destinationAddr, operatorID, requestComment, serviceCount, price, darEkhtiar\r\n , driverCode = '', typePardakht='1019', stationCode='1'\r\n ): Observable {\r\n let params = new HttpParams().set('destinationAddr', destinationAddr)\r\n params = params.set('operatorID', operatorID);\r\n params = params.set('requestComment', requestComment && requestComment || '');\r\n params = params.set('serviceCount', serviceCount);\r\n params = params.set('price', price);\r\n params = params.set('driverCode', driverCode);\r\n params = params.set('typePardakht', typePardakht);\r\n params = params.set('DarEkhtiar', darEkhtiar);\r\n params = params.set('StationCode', stationCode);\r\n \r\n\r\n //return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/saverequest\", params,{ responseType: 'text' as 'json' });\r\n\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/SaveServiceSimple\", params);\r\n }\r\n\r\n public saveServiceManualByAdmin(requestGUID: any, driverCode: any, actionType: any): Observable {\r\n let params = new HttpParams().set('RequestGUID', requestGUID)\r\n params = params.set('DriverCode', driverCode)\r\n params = params.set('ActionType', actionType)\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/SaveServiceManualByAdmin\", params);\r\n }\r\n\r\n\r\n public ReProposedRequest(requestID: any): Observable {\r\n let params = new HttpParams().set('requestID', requestID.toString())\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/ReProposedRequest\", params);\r\n }\r\n public alertWanReady() {\r\n \r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/SendAlaramVanReady\", {});\r\n }\r\n \r\n\r\n public exitDriver(driverCode: any): Observable {\r\n\r\n let params = new HttpParams().set('driverCode', driverCode);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/ExitDriver\", params);\r\n }\r\n public finishService(serviceGuid: any ): Observable {\r\n\r\n let params = new HttpParams().set('serviceGuid', serviceGuid);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/FinishService\", params);\r\n }\r\n\r\n public cancelService(guidService: any, newServiceState: any): Observable {\r\n\r\n let params = new HttpParams().set('guidService', guidService);\r\n params = params.set('newServiceState', newServiceState);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/CancelService\", params);\r\n }\r\n\r\n public reservedService(ServiceRequestID: any, StationID: any, date: any, time: any): Observable{\r\n \r\n let params = new HttpParams().set('ServiceRequestID', ServiceRequestID);\r\n params = params.set('StationID', StationID);\r\n params = params.set('time', time);\r\n params = params.set('date', date);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/doreserved\", params);\r\n }\r\n\r\n\r\n}\r\n\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpParams} from '@angular/common/http';\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport {Observable} from 'rxjs';\r\nimport { IStationDetail } from '../interfaces/station-detail';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StationService {\r\n private StationBaseServiceURL = GlobalVariable.StationBaseServiceURL;\r\n\r\n constructor(\r\n private httpClient: HttpClient\r\n ) {\r\n }\r\n\r\n\r\n public getAll(stationID: any): Observable {\r\n const params = new HttpParams().set('StationID', stationID);\r\n return this.httpClient.post(`${this.StationBaseServiceURL}/GetDetails`, params);\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { Station, StationNeighbor } from '../../model/station';\r\nimport { StationQueueInfo } from '../../model/stationQueueInfo';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StationserviceService {\r\n constructor(private httpClient: HttpClient, private sanitizer: DomSanitizer) { }\r\n public moke = GlobalVariable.mokeFLAG;\r\n \r\n \r\n private StationBaseServiceURL = GlobalVariable.StationBaseServiceURL;\r\n private DriverBaseServiceURL = GlobalVariable.DriverBaseServiceURL;\r\n private getMokeStationInf(index = 1) {\r\n var res = new StationQueueInfo();\r\n if (index == 1) {\r\n res.carName = 'پراید'\r\n res.colorName = 'زرد'\r\n res.fName = 'محمد'\r\n res.lName = 'محمد زده'\r\n res.pelaque2 = '12'\r\n res.pelaque3 = '123'\r\n res.pelaqueIR = '23';\r\n res.pelaqueLetter = 'ج'\r\n }\r\n else {\r\n res.carName = '405'\r\n res.colorName = 'زرد'\r\n res.fName = 'محسن'\r\n res.lName = 'حسین زده'\r\n res.pelaque2 = '54'\r\n res.pelaque3 = '345'\r\n res.pelaqueIR = '23';\r\n res.pelaqueLetter = 'د'\r\n }\r\n return res;\r\n }\r\n private getMokeStation(index = 1) {\r\n if (index == 1) {\r\n var res = new Station();\r\n res.distanceKM = 23;\r\n res.distanceMinute = 43;\r\n res.guidDriver = '4e35cddd-c390-471b-9ae2-211f42170339'\r\n res.lat = 36.331701;\r\n res.length = 23;\r\n res.lng = 59.493137;\r\n res.name = 'ایستگاه صدف';\r\n return res;\r\n }\r\n else {\r\n var res = new Station();\r\n res.distanceKM = 2;\r\n res.distanceMinute = 12;\r\n res.guidDriver = '4e35cddd-c290-471b-9ae2-2re1f42170339'\r\n res.lat = 36.333361;\r\n res.length = 23;\r\n res.lng = 59.485584;\r\n res.name = 'ایستگاه قانع';\r\n return res;\r\n }\r\n }\r\n public getStation(stationID: any): Observable {\r\n if (this.moke) {\r\n return new Observable((subscriber: Subscriber) => subscriber.next(this.getMokeStation()));\r\n }\r\n let params = new HttpParams().set('stationID', stationID);\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/getStationInfo\", params);\r\n }\r\n\r\n public getNeighbors(stationID: any): Observable {\r\n let params = new HttpParams().set('stationID', stationID);\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/ListSelectNeighbors\", params);\r\n }\r\n public getPredictStation(RequestID: any): Observable {\r\n let params = new HttpParams().set('RequestID', RequestID);\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/getNeighbor\", params);\r\n }\r\n\r\n\r\n public addToQueue(stationID: any, guidDriver: any):Observable {\r\n if (this.moke) {\r\n return new Observable((subscriber: Subscriber) => subscriber.next('ff072be1-7999-415f-a5c5-199d70017db8'));\r\n }\r\n let params = new HttpParams().set('stationID', stationID).set('guidDriver', guidDriver);\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/addToQueue\", params,{ responseType: 'text' as 'json' });\r\n }\r\n public getStationList(guidDriver: any, lat: any, lng: any): Observable {\r\n //if (this.moke) {\r\n // let stationList: Station[] = [\r\n // this.getMokeStation(1),\r\n // this.getMokeStation(2)\r\n // ];\r\n // return new Observable((subscriber: Subscriber) => subscriber.next(stationList));\r\n //}\r\n let params = new HttpParams().set('guidDriver', guidDriver).set('lat', lat).set('lng', lng);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/StationList\", params);\r\n\r\n }\r\n public getAllStationList(): Observable {\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/StationList\", { });\r\n }\r\n public removeFromQueue(stationID: any, guidDriver: any): Observable {\r\n if (this.moke) {\r\n return new Observable((subscriber: Subscriber) => subscriber.next());\r\n }\r\n else {\r\n let params = new HttpParams().set('stationID', stationID).set('guidDriver', guidDriver);\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/removeFromQueue\", params);\r\n }\r\n }\r\n \r\n public getStationQueue(stationID: any): Observable {\r\n \r\n let params = new HttpParams().set('stationID', stationID);\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/getStationQueue\", params);\r\n \r\n\r\n //return StationQueueInfo.getStationQueue(stationID, this.httpClient);\r\n }\r\n \r\n public getStationQueueWithOther(stationID: any): Observable {\r\n //این سرویس علاوه بر اعضای صف بقیه را هم نشان میدهد\r\n let params = new HttpParams().set('stationID', stationID);\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/getStationQueueWithOther\", params);\r\n //return StationQueueInfo.getStationQueue(stationID, this.httpClient);\r\n }\r\n\r\n \r\n\r\n public getAllStations(): Observable {\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/StationListAll\", {});\r\n }\r\n\r\n public insertStation(name: string, code: string, capacity: any,lat: any,lng: any,radios: any,id: any): Observable {\r\n\r\n let params = new HttpParams().set('name', name).set('code', code).set('capacity', capacity).set('lat', lat).set('lng', lng).set('radios', radios).set('id', id);\r\n if (id) {\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/UpdateStation\", params);\r\n\r\n } else {\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/InsertStation\", params);\r\n\r\n }\r\n }\r\n\r\n\r\n public delete(id: any): Observable {\r\n const params = new HttpParams().set('ID', id);\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/Delete\", params);\r\n }\r\n\r\n public sendExitSocketMessage(token: string,content: string,id: any,type: any): Observable {\r\n const params = new HttpParams().set('token', token).set('content', content).set('id', id).set('type',type);\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/SendExitSocketMessage\", params);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams} from '@angular/common/http';\r\nimport { GlobalVariable } from './../../globalVariable';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { routingInfo, searchResult } from '../../model/routingInfo';\r\nimport { keyvalueobject } from '../../model/keyvalueobject';\r\nimport { configValue } from '../../model/configValue';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TaxiserviceService {\r\n private UtilityBaseServiceURL = GlobalVariable.UtilityBaseServiceURL;\r\n private ServiceBaseServiceURL = GlobalVariable.ServiceBaseServiceURL ;\r\n public moke = GlobalVariable.mokeFLAG;\r\n constructor(private httpClient: HttpClient) { }\r\n public getAddressFromLocation(lat: any, lng: any) {\r\n if (this.moke) {\r\n return new Observable((subscriber: Subscriber) => subscriber.next('آدرس گرفته شده از نشان'));\r\n\r\n }\r\n let params = new HttpParams().set('lat', lat).set('lng', lng);\r\n return this.httpClient.post(this.UtilityBaseServiceURL + \"/loctoadr\", params,{ responseType: 'text' as 'json'});\r\n }\r\n public routing(lat: any, lng: any, destlat: any, destln: any): Observable {\r\n if (this.moke) {\r\n var val = new routingInfo();\r\n val.distanceText = '3 کیلومتر'\r\n val.distanceValue = '3200'\r\n val.durationText = '25 دقیقه'\r\n val.durationValue = '650'\r\n val.polylines = ['efr|EmgsjJg@UyB}@', 'gkr|EajsjJtA}F']\r\n val.summaryTotal='احمد اباد به پارک'\r\n return new Observable((subscriber: Subscriber) => subscriber.next(val));\r\n }\r\n let params = new HttpParams().set('originlat', lat).set('originln', lng).set('destlat', destlat).set('destln', destln);\r\n return this.httpClient.post(this.UtilityBaseServiceURL + \"/routing\", params);\r\n }\r\n\r\n public searchMap(term: any, lat: any, lng: any): Observable {\r\n let params = new HttpParams().set('term', term).set('lat', lat).set('lng', lng);\r\n return this.httpClient.post(this.UtilityBaseServiceURL + \"/search\", params);\r\n }\r\n public saveHearBit(userid: any, userType: any, lat: any, lng: any, state: any): Observable {\r\n //console.log('saveHearBit service ');\r\n let params = new HttpParams().set('userType', userType);\r\n params = params.set('UserID', userid);\r\n params = params.set('lat', lat);\r\n params = params.set('lng', lng);\r\n params = params.set('State', state);\r\n return this.httpClient.post(this.UtilityBaseServiceURL + \"/saveHeartBit\", params);\r\n }\r\n public updateSetting(key:string , value:string): Observable {\r\n let params = new HttpParams().set('key', key);\r\n params = params.set('value', value);\r\n return this.httpClient.post(this.UtilityBaseServiceURL + \"/UpdateSetting\", params);\r\n }\r\n public readConfig(): Observable {\r\n let params = new HttpParams();\r\n return this.httpClient.post(GlobalVariable.UtilityBaseServiceURL + \"/GetAllConfig\", params);\r\n }\r\n\r\n public readConfigValue(key: string ='PoorsantPercent') {\r\n let params = new HttpParams().set('key', key);\r\n return this.httpClient.post(this.UtilityBaseServiceURL + \"/GetConfigValue\", params, { responseType: 'text' as 'json' });\r\n }\r\n \r\n \r\n public getListKeyValue (group): Observable {\r\n\r\n let params = new HttpParams().set('type', group);\r\n return this.httpClient.post(GlobalVariable.UtilityBaseServiceURL + \"/getBaseInfoList\", params);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NotificationModel, SocketMessageType } from './../model/socketmodels';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { GlobalVariable } from '../globalVariable';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WebSocketService {\r\n private socket: WebSocket;\r\n meesageList$: BehaviorSubject = new BehaviorSubject(new NotificationModel());\r\n constructor() { }\r\n \r\n startSocket() {\r\n \r\n if (!this.socket) {\r\n this.socket = new WebSocket(GlobalVariable.socketURL);\r\n //this.socket.addEventListener(\"open\", (ev => {\r\n //}));\r\n this.socket.addEventListener(\"message\", (ev => {\r\n //console.log(ev);\r\n try {\r\n //var messageBox: NotificationModel = JSON.parse(ev.data);\r\n //this.meesageList$.next(messageBox);\r\n console.log(ev.data);\r\n } catch (e) {\r\n //console.log(e);\r\n }\r\n }));\r\n //this.socket.addEventListener(\"close\", (ev => {\r\n // //console.log('web socket is close');\r\n // //console.log(ev);\r\n //}));\r\n }\r\n }\r\n sendMessage(guid: string, type: SocketMessageType) {\r\n let req= new NotificationModel();\r\n req.guidCode = guid;\r\n req.msgType = type;\r\n var requestAsJson = JSON.stringify(req);\r\n this.socket.send(requestAsJson);\r\n }\r\n sendMessageByType(message: string) {\r\n\r\n this.socket.addEventListener(\"open\", (ev => {\r\n this.socket.send(message);\r\n\r\n }));\r\n \r\n }\r\n \r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21hbmFnZS9jaGFuZ2VzdGF0aW9uL2NoYW5nZXN0YXRpb24uY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { saveservicresultType } from '../../model/saveserviceresult';\r\nimport { AllServiceInfo } from '../../model/serviceInfo';\r\nimport { StationNeighbor } from '../../model/station';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\n\r\n@Component({\r\n selector: 'app-changestation',\r\n templateUrl: './changestation.component.html',\r\n styleUrls: ['./changestation.component.scss']\r\n})\r\nexport class ChangestationComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n private currentStationService: StationserviceService,\r\n private currentServiceService: ServiceserviceService,\r\n private taxiSerivce: ServiceRequestService,\r\n private matSnackbar: MatSnackBar,\r\n\r\n @Inject(MAT_DIALOG_DATA) public data: { info: AllServiceInfo }) {\r\n this.currentInfo = data.info;\r\n }\r\n currentInfo: AllServiceInfo;\r\n ngOnInit() {\r\n\r\n this.currentStationService.getPredictStation(this.data.info.requestID).subscribe(res => { this.currentList = res; });\r\n this.dialogRef.keydownEvents().subscribe((event: any) => {\r\n if (event.key === \"Escape\") {\r\n this.onCancel();\r\n }\r\n });\r\n\r\n this.dialogRef.backdropClick().subscribe((event: any) => {\r\n this.onCancel();\r\n });\r\n\r\n }\r\n onCancel(): void {\r\n this.dialogRef.close('');\r\n }\r\n close(driverCode: any) {\r\n //console.log(driverCode);\r\n //console.log(this.data.info.serviceGuid);\r\n\r\n\r\n this.currentServiceService.saveServiceManualByAdmin(this.data.info.serviceGuid, driverCode,2).subscribe(res => {\r\n if (res.result == saveservicresultType.driverNotFound) {\r\n this.matSnackbar.open('سفر دیگری دارد.', null, { duration: 3000 });\r\n }\r\n else\r\n this.dialogRef.close('Accept');\r\n\r\n\r\n //console.log('accept finish' + res);\r\n });\r\n\r\n this.dialogRef.close(driverCode);\r\n\r\n }\r\n\r\n currentList: StationNeighbor[];\r\n}\r\n","export default \".tdTotal {\\n /*text-align:left;*/\\n font-weight: bolder;\\n}\\n\\n.trTotal {\\n background-color: #d1c9c9;\\n}\\n\\n.debit {\\n color: red !important;\\n}\\n\\n.credit {\\n color: green !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFuYWdlL21hbmFnZS1kZWJpdC9tYW5hZ2UtZGViaXQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFFSSxtQkFBQTtFQUNBLG1CQUFBO0FBQUo7O0FBR0E7RUFDSSx5QkFBQTtBQUFKOztBQUVBO0VBQ0UscUJBQUE7QUFDRjs7QUFDQTtFQUNJLHVCQUFBO0FBRUoiLCJmaWxlIjoic3JjL2FwcC9tYW5hZ2UvbWFuYWdlLWRlYml0L21hbmFnZS1kZWJpdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi50ZFRvdGFsXHJcbntcclxuICAgIC8qdGV4dC1hbGlnbjpsZWZ0OyovXHJcbiAgICBmb250LXdlaWdodDpib2xkZXI7XHJcblxyXG59XHJcbi50clRvdGFsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6I2QxYzljOTtcclxuICAgIH1cclxuLmRlYml0IHtcclxuICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7XHJcbn1cclxuLmNyZWRpdHtcclxuICAgIGNvbG9yOmdyZWVuICFpbXBvcnRhbnQ7XHJcbn1cclxuIl19 */\";","\r\n\r\nimport { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\n\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { FormMode } from '../../lib/enums/form-mode.enum';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ConfirmDialogComponent } from '../../shared/confirm-dialog/confirm-dialog.component';\r\nimport { keyvalueobject } from '../../model/keyvalueobject';\r\nimport { Driver,getDriverInfo } from '../../model/driver';\r\nimport { DebitCredit } from '../../model/debitcredit';\r\n\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { DriverLogComponent } from '../../driver/driver-log/driver-log.component';\r\nimport { MyTel } from '../../shared/materials/plaque.component';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { InputtextComponent } from '../../shared/inputtext/inputtext.component';\r\n\r\n@Component({\r\n selector: 'app-operators',\r\n templateUrl: './manage-debit.component.html',\r\n styleUrls: ['./manage-debit.component.scss']\r\n})\r\nexport class ManageDebitComponent implements OnInit {\r\n @ViewChild('operatorDialog', { static: false }) operatorDialogTemplateRef: TemplateRef;\r\n operatorDialogRef: MatDialogRef;\r\n\r\n\r\n @ViewChild('lockDialog', { static: false }) lockDialogTemplateRef: TemplateRef;\r\n lockDialogRef: MatDialogRef;\r\n\r\ntotal=0;\r\n Mande = 0;\r\n totalDebit = 0;\r\n totalCredit = 0;\r\n currentFormMode: FormMode;\r\n operatorFromGroup: FormGroup;\r\n lockFromGroup: FormGroup;\r\n operators: Partial[];\r\n currentEditingOperator: Partial;\r\n mobileSearch = '';\r\n nationalCodeSearch = '';\r\n driverFNameSearch = '';\r\n driverCodeSearch = '';\r\n stationCode = '';\r\n recordCount = 0;\r\n operatorguid = '';\r\ncurrentRefID = 0;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n\r\n private drivService: DriverserviceService,\r\n private taxiservice: TaxiserviceService,\r\n\r\n private matDialog: MatDialog,\r\n private matSnackbar: MatSnackBar,\r\n private dialog: MatDialog,\r\n private taxiService: TaxiserviceService,\r\n ) {\r\n \r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n this.currentRefID = params['refID'];\r\n\r\n });\r\n }\r\ncalcTotal()\r\n{\r\nthis.total = 0;\r\n this.totalCredit = 0;\r\n this.totalDebit= 0;\r\n this.Mande = 0;\r\nthis.operators.forEach(i=>{\r\n this.total += i.price;\r\n this.totalCredit += i.credit;\r\n this.totalDebit+= i.debit;\r\n this.Mande = this.totalCredit - this.totalDebit;\r\n i.mande = this.Mande;\r\n\r\n})\r\n\r\n}\r\n\r\n filter() {\r\n console.log('filter');\r\n this.drivService.getAllDebit(this.currentRefID,1).subscribe(_res => {\r\n console.log(_res);\r\n this.operators = _res;\r\nthis.calcTotal();\r\n\r\n });\r\n\r\n\r\n\r\n \r\n\r\n }\r\nCurrentDriver:getDriverInfo;\r\nloadDriverInfo()\r\n{\r\nthis.drivService.getDriverByID(this.currentRefID).subscribe(_res => {\r\n this.CurrentDriver = _res;\r\nthis.driverCodeSearch=(this.CurrentDriver.info.driverCode )\r\nthis.driverFNameSearch=(this.CurrentDriver.info.fName )\r\n });\r\n\r\n}\r\n ngOnInit() {\r\n this.filter();\r\nthis.loadDriverInfo();\r\n this.operatorFromGroup = new FormGroup({\r\n price: new FormControl('', [Validators.required]),\r\n comment: new FormControl('', [Validators.required]) \r\n });\r\n\r\n \r\n }\r\n \r\n\r\n get FormMode() {\r\n return FormMode;\r\n }\r\n currentIsCredit = false;\r\n openOperatorDialog(_mode: FormMode, isCredit: boolean, _data?: Partial) {\r\n console.log(_data);\r\n this.currentIsCredit = isCredit;\r\n this.currentFormMode = _mode;\r\n this.operatorFromGroup.reset();\r\n\r\n if (_mode === FormMode.Edit && _data) {\r\n\r\n this.currentEditingOperator = _data;\r\n this.operatorFromGroup.patchValue(this.currentEditingOperator);\r\n }\r\n\r\n this.operatorDialogRef = this.matDialog.open(this.operatorDialogTemplateRef, {\r\n hasBackdrop: true,\r\n width: '360px'\r\n });\r\n }\r\n\r\n delete(_data: Partial) {\r\n const confirmRef = this.matDialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مطمئن هستید تراکنس «' + _data.fName + _data.driverCode + '» حذف شود؟',\r\n buttonText: {\r\n ok: 'بله',\r\n cancel: 'خیر'\r\n }\r\n }\r\n });\r\n\r\n confirmRef.afterClosed().subscribe(_confirmed => {\r\n if (_confirmed) {\r\n this.drivService.delete(_data.id).subscribe(_res => {\r\n const index = this.operators.findIndex(_item => _item.id === _data.id);\r\n if (index > -1) {\r\n this.operators.splice(index, 1);\r\n }\r\n this.matSnackbar.open('راننده با شناسه ' + _data.id + ' حذف شد.', null, { duration: 5000 });\r\n });\r\n }\r\n });\r\n }\r\n selectedhour = new FormControl('', [Validators.required, Validators.min(0), Validators.max(23)]);\r\n selectedminute = new FormControl('', [Validators.required, Validators.min(0), Validators.max(59)]);\r\n date = new FormControl('', [Validators.required]);\r\n submitLock() {\r\n if (this.lockFromGroup.valid) {\r\n const formValues: Partial = this.lockFromGroup.value;\r\n this.drivService.lock(this.currentEditingOperator.id, formValues.lockComment, this.date.value, this.selectedhour.value, this.selectedminute.value\r\n ).subscribe(_id => {\r\n this.currentEditingOperator.lockComment = formValues.lockComment;\r\n this.matSnackbar.open('کد' + this.currentEditingOperator.driverCode + 'قفل گردید', null, { duration: 5000 });\r\n });\r\n this.lockDialogRef.close();\r\n }\r\n\r\n }\r\n unlock(operator: Driver) {\r\n this.drivService.unlock(operator.id).subscribe(res => {\r\n operator.lockComment = '';\r\n this.matSnackbar.open('قفل کد ' + operator.driverCode + 'باز گردید', null, { duration: 5000 });\r\n\r\n }\r\n );\r\n }\r\n submit() {\r\n\r\n if (this.operatorFromGroup.valid) {\r\n const formValues: Partial = this.operatorFromGroup.value;\r\n\r\n if (this.currentFormMode === FormMode.Add) {\r\n\r\n this.drivService.insertdebit(formValues, this.currentRefID, this.currentIsCredit, this.operatorguid ).subscribe(_id => {\r\n formValues.id = _id;\r\n \r\n //this.operators.push(formValues);\r\n this.matSnackbar.open('ثبت شد.', null, { duration: 5000 });\r\nthis.filter();\r\n });\r\n\r\n } else if (this.currentFormMode === FormMode.Edit) {\r\n\r\n this.currentEditingOperator.mobile = formValues.mobile;\r\n this.currentEditingOperator.fName = formValues.fName;\r\n this.currentEditingOperator.workingMobile = formValues.workingMobile;\r\n this.currentEditingOperator.driverCode = formValues.driverCode;\r\n this.currentEditingOperator.pelaque2 = formValues.pelaque2;\r\n this.currentEditingOperator.pelaque3 = formValues.pelaque3;\r\n this.currentEditingOperator.pelaqueIR = formValues.pelaqueIR;\r\n this.currentEditingOperator.pelaqueLetter = formValues.pelaqueLetter;\r\n this.currentEditingOperator.typeCar = formValues.typeCar;\r\n this.currentEditingOperator.color = formValues.color;\r\n this.currentEditingOperator.nationalCode = formValues.nationalCode;\r\n this.currentEditingOperator.username = formValues.username;\r\n this.currentEditingOperator.password = formValues.password;\r\n\r\n this.drivService.update(this.currentEditingOperator).subscribe(_id => {\r\n this.matSnackbar.open('ویرایش راننده با موفقیت انجام شد.', null, { duration: 5000 });\r\n });\r\n }\r\n\r\n this.operatorDialogRef.close();\r\n }\r\n }\r\n dialogProposedServiceRef: MatDialogRef;\r\n lockDrv(driver: Driver) {\r\n\r\n }\r\n showLog(driverIDParam: any) {\r\n this.dialogProposedServiceRef = this.dialog.open(DriverLogComponent, {\r\n width: '800px',\r\n hasBackdrop: true,\r\n data: {\r\n driverID: driverIDParam\r\n },\r\n autoFocus: true,\r\n });\r\n }\r\n \r\n updatePriceDefault() {\r\n this.router.navigate(['cc/setting'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n updatePrice(): void {\r\n\r\n this.taxiService.readConfigValue().subscribe(res => {\r\n console.log(res);\r\n\r\n\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش کمیسیون', msg: 'درصد کمیسیون را وارد نمایید', fieldName: 'کمیسیون', value: res },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.operators.forEach(item => {\r\n \r\n this.drivService.updateComission(item.id, result).subscribe(_id => {\r\n item.price= result;\r\n });\r\n })\r\n\r\n\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n })\r\n }\r\n updateSelectedCommission(drv) {\r\n\r\n this.taxiService.readConfigValue().subscribe(res => {\r\n console.log(res);\r\n\r\n var defaultCommission = drv.commission;\r\n if (drv.commission && drv.commission > 0) {\r\n defaultCommission = drv.commission;\r\n }\r\n else\r\n defaultCommission = res;\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش کمیسیون', msg: 'درصد کمیسیون را وارد نمایید', fieldName: 'کمیسیون', value: defaultCommission },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.drivService.updateComission(drv.id, result).subscribe(_id => {\r\n drv.commission = result;\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n })\r\n }\r\n}\r\n","export default \".spanShiftNameZoj {\\n cursor: pointer;\\n color: green;\\n}\\n\\n.spanShiftNameNone {\\n cursor: pointer;\\n color: red;\\n}\\n\\n.spanShiftNameFard {\\n cursor: pointer;\\n color: blue;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFuYWdlL21hbmFnZS1kcml2ZXIvbWFuYWdlLWRyaXZlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUVJLGVBQUE7RUFDQSxZQUFBO0FBQUo7O0FBRUE7RUFDRSxlQUFBO0VBQ0EsVUFBQTtBQUNGOztBQUNBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7QUFFRiIsImZpbGUiOiJzcmMvYXBwL21hbmFnZS9tYW5hZ2UtZHJpdmVyL21hbmFnZS1kcml2ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc3BhblNoaWZ0TmFtZVpvalxyXG57XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgIGNvbG9yOmdyZWVuO1xyXG59XHJcbi5zcGFuU2hpZnROYW1lTm9uZSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGNvbG9yOiByZWQ7XHJcbn1cclxuLnNwYW5TaGlmdE5hbWVGYXJkIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY29sb3I6IGJsdWU7XHJcbn1cclxuIl19 */\";","\r\n\r\nimport { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\n\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { FormMode } from '../../lib/enums/form-mode.enum';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ConfirmDialogComponent } from '../../shared/confirm-dialog/confirm-dialog.component';\r\nimport { keyvalueobject } from '../../model/keyvalueobject';\r\nimport { Driver } from '../../model/driver';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { DriverLogComponent } from '../../driver/driver-log/driver-log.component';\r\nimport { MyTel } from '../../shared/materials/plaque.component';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { InputtextComponent } from '../../shared/inputtext/inputtext.component';\r\n\r\n@Component({\r\n selector: 'app-operators',\r\n templateUrl: './manage-driver.component.html',\r\n styleUrls: ['./manage-driver.component.scss']\r\n})\r\nexport class ManageDriverComponent implements OnInit {\r\n \r\n @ViewChild('operatorDialog', { static: false }) operatorDialogTemplateRef: TemplateRef;\r\n operatorDialogRef: MatDialogRef;\r\n\r\n\r\n @ViewChild('lockDialog', { static: false }) lockDialogTemplateRef: TemplateRef;\r\n lockDialogRef: MatDialogRef;\r\n\r\n\r\n\r\n currentFormMode: FormMode;\r\n operatorFromGroup: FormGroup;\r\n lockFromGroup: FormGroup;\r\n operators: Partial[];\r\n currentEditingOperator: Partial;\r\n \r\n driverSearchKey = '';\r\n stationCode = '';\r\n recordCount = 0;\r\n operatorguid = '';\r\n selectedShift = '---';\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n\r\n private drivService: DriverserviceService,\r\n private taxiservice: TaxiserviceService,\r\n\r\n private matDialog: MatDialog,\r\n private matSnackbar: MatSnackBar,\r\n private dialog: MatDialog,\r\n private taxiService: TaxiserviceService,\r\n ) {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n\r\n });\r\n }\r\n filter() {\r\n console.log('filter');\r\n this.drivService.getAllWithShift(this.driverSearchKey, this.selectedShift).subscribe(_res => {\r\n console.log(_res);\r\n this.operators = _res;\r\n });\r\n\r\n\r\n this.taxiservice.getListKeyValue(2).subscribe(_res => {\r\n this.CarList = _res;\r\n console.log(this.CarList);\r\n });\r\n this.taxiservice.getListKeyValue(3).subscribe(_res => {\r\n this.ColorList = _res;\r\n console.log(this.ColorList);\r\n });\r\n\r\n\r\n }\r\n ngOnInit() {\r\n this.filter();\r\n\r\n this.operatorFromGroup = new FormGroup({\r\n mobile: new FormControl('', [Validators.required]),\r\n fName: new FormControl('', [Validators.required]),\r\n workingMobile: new FormControl('', [Validators.required]),\r\n driverCode: new FormControl('', [Validators.required]),\r\n typeCar: new FormControl('', [Validators.required]),\r\n color: new FormControl('', [Validators.required]),\r\n pelaqueIR: new FormControl('', [Validators.required]),\r\n pelaqueLetter: new FormControl('', [Validators.required]),\r\n pelaque2: new FormControl('', [Validators.required]),\r\n pelaque3: new FormControl('', [Validators.required]),\r\n nationalCode: new FormControl('', []),\r\n username: new FormControl('', []),\r\n password: new FormControl('', []),\r\n });\r\n\r\n this.lockFromGroup = new FormGroup({\r\n lockComment: new FormControl('', [Validators.required]),\r\n });\r\n }\r\n CarList: keyvalueobject[] = [];\r\n ColorList: keyvalueobject[] = [];\r\n\r\n\r\n get FormMode() {\r\n return FormMode;\r\n }\r\n openlockDialog(_data?: Partial) {\r\n this.lockFromGroup.reset();\r\n if (_data) {\r\n this.currentEditingOperator = _data;\r\n this.lockFromGroup.patchValue(this.currentEditingOperator);\r\n }\r\n\r\n this.lockDialogRef = this.matDialog.open(this.lockDialogTemplateRef, {\r\n hasBackdrop: true,\r\n width: '360px'\r\n });\r\n\r\n }\r\n openOperatorDialog(_mode: FormMode, _data?: Partial) {\r\n console.log(_data);\r\n this.currentFormMode = _mode;\r\n this.operatorFromGroup.reset();\r\n\r\n if (_mode === FormMode.Edit && _data) {\r\n\r\n this.currentEditingOperator = _data;\r\n this.operatorFromGroup.patchValue(this.currentEditingOperator);\r\n }\r\n\r\n this.operatorDialogRef = this.matDialog.open(this.operatorDialogTemplateRef, {\r\n hasBackdrop: true,\r\n width: '360px'\r\n });\r\n }\r\n\r\n delete(_data: Partial) {\r\n const confirmRef = this.matDialog.open(ConfirmDialogComponent, {\r\n hasBackdrop: true,\r\n data: {\r\n message: 'آیا مطمئن هستید راننده «' + _data.fName + _data.driverCode + '» حذف شود؟',\r\n buttonText: {\r\n ok: 'بله',\r\n cancel: 'خیر'\r\n }\r\n }\r\n });\r\n\r\n confirmRef.afterClosed().subscribe(_confirmed => {\r\n if (_confirmed) {\r\n this.drivService.delete(_data.id).subscribe(_res => {\r\n const index = this.operators.findIndex(_item => _item.id === _data.id);\r\n if (index > -1) {\r\n this.operators.splice(index, 1);\r\n }\r\n this.matSnackbar.open('راننده با شناسه ' + _data.id + ' حذف شد.', null, { duration: 5000 });\r\n });\r\n }\r\n });\r\n }\r\n selectedhour = new FormControl('', [Validators.required, Validators.min(0), Validators.max(23)]);\r\n selectedminute = new FormControl('', [Validators.required, Validators.min(0), Validators.max(59)]);\r\n date = new FormControl('', [Validators.required]);\r\n submitLock() {\r\n if (this.lockFromGroup.valid) {\r\n const formValues: Partial = this.lockFromGroup.value;\r\n this.drivService.lock(this.currentEditingOperator.id, formValues.lockComment, this.date.value, this.selectedhour.value, this.selectedminute.value\r\n ).subscribe(_id => {\r\n this.currentEditingOperator.lockComment = formValues.lockComment;\r\n this.matSnackbar.open('کد' + this.currentEditingOperator.driverCode + 'قفل گردید', null, { duration: 5000 });\r\n });\r\n this.lockDialogRef.close();\r\n }\r\n\r\n }\r\n unlock(operator: Driver) {\r\n this.drivService.unlock(operator.id).subscribe(res => {\r\n operator.lockComment = '';\r\n this.matSnackbar.open('قفل کد ' + operator.driverCode + 'باز گردید', null, { duration: 5000 });\r\n\r\n }\r\n );\r\n }\r\n submit() {\r\n if (this.operatorFromGroup.valid) {\r\n const formValues: Partial = this.operatorFromGroup.value;\r\n\r\n if (this.currentFormMode === FormMode.Add) {\r\n\r\n this.drivService.insert(formValues).subscribe(_id => {\r\n formValues.id = _id;\r\n this.operators.push(formValues);\r\n this.matSnackbar.open('راننده جدید با موفقیت افزوده شد.', null, { duration: 5000 });\r\n });\r\n\r\n } else if (this.currentFormMode === FormMode.Edit) {\r\n\r\n this.currentEditingOperator.mobile = formValues.mobile;\r\n this.currentEditingOperator.fName = formValues.fName;\r\n this.currentEditingOperator.workingMobile = formValues.workingMobile;\r\n this.currentEditingOperator.driverCode = formValues.driverCode;\r\n this.currentEditingOperator.pelaque2 = formValues.pelaque2;\r\n this.currentEditingOperator.pelaque3 = formValues.pelaque3;\r\n this.currentEditingOperator.pelaqueIR = formValues.pelaqueIR;\r\n this.currentEditingOperator.pelaqueLetter = formValues.pelaqueLetter;\r\n this.currentEditingOperator.typeCar = formValues.typeCar;\r\n this.currentEditingOperator.color = formValues.color;\r\n this.currentEditingOperator.nationalCode = formValues.nationalCode;\r\n this.currentEditingOperator.username = formValues.username;\r\n this.currentEditingOperator.password = formValues.password;\r\n\r\n this.drivService.update(this.currentEditingOperator).subscribe(_id => {\r\n this.matSnackbar.open('ویرایش راننده با موفقیت انجام شد.', null, { duration: 5000 });\r\n });\r\n }\r\n\r\n this.operatorDialogRef.close();\r\n }\r\n }\r\n dialogProposedServiceRef: MatDialogRef;\r\n lockDrv(driver: Driver) {\r\n\r\n }\r\n showLog(driverIDParam: any) {\r\n this.dialogProposedServiceRef = this.dialog.open(DriverLogComponent, {\r\n width: '800px',\r\n hasBackdrop: true,\r\n data: {\r\n driverID: driverIDParam\r\n },\r\n autoFocus: true,\r\n });\r\n }\r\n checkAll($event: any) {\r\n this.operators.forEach(res => {\r\n res.selected = $event.checked;\r\n });\r\n }\r\n valueChange(checkedItem: Driver, $event: any) {\r\n if (checkedItem) {\r\n checkedItem.selected = $event.checked;\r\n console.log(checkedItem);\r\n }\r\n }\r\n updatePriceDefault() {\r\n this.router.navigate(['cc/setting'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n fileToUpload: File | null = null;\r\n handleFileInput(files: FileList, driverID) {\r\n \r\n this.fileToUpload = files.item(0);\r\n console.log(this.fileToUpload);\r\n this.uploadFileToActivity(driverID);\r\n \r\n }\r\n uploadFileToActivity(driverID) {\r\n this.drivService.postFile(this.fileToUpload, driverID).subscribe(data => {\r\n\r\n // do something, if upload success\r\n }, error => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n \r\n\r\n\r\n updatePrice(): void {\r\n\r\n this.taxiService.readConfigValue().subscribe(res => {\r\n console.log(res);\r\n\r\n\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش کمیسیون', msg: 'درصد کمیسیون را وارد نمایید', fieldName: 'کمیسیون', value: res },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.operators.forEach(item => {\r\n if (item.selected)\r\n this.drivService.updateComission(item.id, result).subscribe(_id => {\r\n item.commission = result;\r\n });\r\n })\r\n\r\n\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n })\r\n }\r\n\r\n\r\n updateAbonman(): void {\r\n\r\n this.taxiService.readConfigValue().subscribe(res => {\r\n console.log(res);\r\n\r\n\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش آبونمان', msg: ' آبونمان را وارد نمایید', fieldName: 'آبونمان', value: res },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.operators.forEach(item => {\r\n if (item.selected)\r\n this.drivService.updateComission(item.id, result).subscribe(_id => {\r\n item.commission = result;\r\n });\r\n })\r\n\r\n\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n })\r\n }\r\n updateDebit(drv) {\r\n this.router.navigate(['cc/debits'], { queryParams: { guid: this.operatorguid , refID : drv.id} });\r\n }\r\n \r\n showMbyM(drv) {\r\n this.router.navigate(['cc/mbym'], { queryParams: { guid: this.operatorguid, did: drv.id } });\r\n }\r\n showKarkard(drv) {\r\n this.router.navigate(['cc/karkard'], { queryParams: { guid: this.operatorguid, gid: drv.id } });\r\n }\r\n loginWith(drv) {\r\n const url = this.router.serializeUrl(\r\n this.router.createUrlTree([`/DirectLogin?uid=${drv.fbsToken}`])\r\n );\r\n console.log(url);\r\n /*this.router.navigate([]).then(result => { */window.open(`/DirectLogin?uid=${drv.fbsToken}`, '_blank'); //});\r\n\r\n //window.open(url, '_blank');\r\n // this.router.navigate(['cc/karkard'], { queryParams: { guid: this.operatorguid, gid: drv.id } });\r\n }\r\n setstation(drv) {\r\n this.drivService.readDefaultStation(drv.id).subscribe(res => {\r\n console.log(res);\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ایستگاه پیش فرض', msg: 'کد ایستگاه را وارد کنید', fieldName: 'ایستگاه پیش فرض', value: res },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result) {\r\n this.drivService.updateDefaultStation(drv.id, result).subscribe(_id => {\r\n //item.commission = result;\r\n });\r\n\r\n }\r\n\r\n\r\n });\r\n })\r\n }\r\n\r\n\r\n updateSelectedCommission(drv) {\r\n\r\n this.taxiService.readConfigValue().subscribe(res => {\r\n console.log(res);\r\n\r\n var defaultCommission = drv.commission;\r\n if (drv.commission && drv.commission > 0) {\r\n defaultCommission = drv.commission;\r\n }\r\n else\r\n defaultCommission = res;\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش کمیسیون', msg: 'درصد کمیسیون را وارد نمایید', fieldName: 'کمیسیون', value: defaultCommission },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.drivService.updateComission(drv.id, result).subscribe(_id => {\r\n drv.commission = result;\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n })\r\n }\r\n updateSelectedAbonman(drv) {\r\n console.log(drv);\r\n console.log('updateSelectedAbonman');\r\n this.taxiService.readConfigValue('MonthlyAbonman').subscribe(res => {\r\n console.log(res);\r\n\r\n var defaultAbonman = drv.abonman;\r\n if (drv.abonman && drv.abonman > 0) {\r\n defaultAbonman = drv.abonman;\r\n }\r\n else\r\n defaultAbonman = res;\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش آبونمان', msg: 'مقدار آبونمان را وارد نمایید', fieldName: 'آبونمان تومان', value: defaultAbonman },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.drivService.updateAbonman(drv.id, result).subscribe(_id => {\r\n drv.abonman = result;\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n })\r\n }\r\n shiftChanges(operator: Driver) {\r\n if (!operator.shiftName || operator.shiftName =='---')\r\n operator.shiftName = 'زوج';\r\n else if (operator.shiftName=='زوج')\r\n operator.shiftName = 'فرد';\r\n else if (operator.shiftName=='فرد')\r\n operator.shiftName = '---';\r\n this.updateShift(operator.id , operator.shiftName);\r\n\r\n }\r\n updateShift(driverID: number , shiftName:any) {\r\n \r\n this.drivService.updateShif(driverID, shiftName).subscribe(_id => {\r\n\r\n });\r\n }\r\n resetVanList() {\r\n this.drivService.resetVanQueue().subscribe(_id => {\r\n \r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ServiceInfo } from '../../model/serviceInfo';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { InputtextComponent } from '../../shared/inputtext/inputtext.component';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { IShift } from '../../model/shiftTable';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { Driver } from '../../model/driver';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-myshift',\r\n templateUrl: './myshift.component.html',\r\n styleUrls: ['../shiftlisting/shiftlisting.component.css']\r\n})\r\nexport class MyshiftComponent implements OnInit {\r\n list: IShift[] = [];\r\n driverID = 0;\r\n myInfo: Driver;\r\n avatar: any;\r\n constructor(\r\n private dialog: MatDialog,\r\n private matSnackbar: MatSnackBar,\r\n private sanitizer: DomSanitizer,\r\n public serviceService: DriverserviceService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: {\r\n driverID: number,\r\n myInfo: Driver\r\n }\r\n ) {\r\n this.driverID = data.driverID;\r\n this.myInfo = data.myInfo;\r\n this.avatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + this.myInfo.avatar);\r\n console.log('this.driverID is' + this.driverID);\r\n this.serviceService.getShiftTable(this.driverID).subscribe(res => {\r\n this.list = res;\r\n \r\n\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n close() {\r\n this.dialogRef.close('closse');\r\n\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21hbmFnZS9zZXRwcmlvcml0eS9zZXRwcmlvcml0eS5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\n\r\n@Component({\r\n selector: 'app-setpriority',\r\n templateUrl: './setpriority.component.html',\r\n styleUrls: ['./setpriority.component.scss']\r\n})\r\nexport class SetpriorityComponent implements OnInit {\r\n\r\n stationID = new FormControl('');\r\n driverCode = new FormControl('');\r\n priority = new FormControl('');\r\n\r\n\r\n constructor(\r\n private driverService: DriverserviceService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { driverCode: string, stationID:string }\r\n ) {\r\n this.driverCode.setValue(data.driverCode);\r\n this.stationID .setValue(data.stationID);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n save() {\r\n this.driverService.setPriority(this.driverCode.value, this.stationID.value, this.priority.value).subscribe(_res => {\r\n this.cancel()\r\n });\r\n }\r\n cancel() {\r\n this.dialogRef.close('Reject');\r\n }\r\n\r\n}\r\n","export default \".container {\\r\\n text-align: right;\\r\\n padding: 20px;\\r\\n}\\r\\n\\r\\n.form-group {\\r\\n margin-bottom: 15px;\\r\\n}\\r\\n\\r\\nlabel {\\r\\n display: block;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\ninput[type=\\\"number\\\"],\\r\\ninput[type=\\\"text\\\"] {\\r\\n width: 100%;\\r\\n padding: 8px;\\r\\n margin-bottom: 10px;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n}\\r\\n\\r\\nbutton {\\r\\n padding: 10px 20px;\\r\\n margin-right: 10px;\\r\\n background-color: #007bff;\\r\\n color: white;\\r\\n border: none;\\r\\n border-radius: 4px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\nbutton:hover {\\r\\n background-color: #0056b3;\\r\\n }\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n border-collapse: collapse;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\ntable, th, td {\\r\\n border: 1px solid black;\\r\\n}\\r\\n\\r\\nth, td {\\r\\n padding: 10px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.driver-name {\\r\\n margin-top: 5px;\\r\\n font-weight: bold;\\r\\n color: green;\\r\\n}\\r\\n\\r\\n.rowHeader td\\r\\n{\\r\\n background-color:black;\\r\\n color:white;\\r\\n}\\r\\n\\r\\n.rowHeader .delimitedColl\\r\\n{\\r\\n background-color:white !important;\\r\\n}\\r\\n\\r\\n.delimitedColl {\\r\\n max-width: 4px !important;\\r\\n padding: 0px !important;\\r\\n background-color: black;\\r\\n}\\r\\n\\r\\n.delimitedRow td {\\r\\n max-height: 1px !important;\\r\\n padding: 0px !important;\\r\\n font-size: 4px;\\r\\n}\\r\\n\\r\\n.tdDriverCode\\r\\n{\\r\\n width:75px !important;\\r\\n}\\r\\n\\r\\n.tdDriverCode input {\\r\\n width: 100%;\\r\\n padding:0px;\\r\\n margin:0px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFuYWdlL3NoaWZ0LXNjaGVkdWxlci9zaGlmdC1zY2hlZHVsZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFpQjtFQUNqQixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxjQUFjO0VBQ2Qsa0JBQWtCO0FBQ3BCOztBQUVBOztFQUVFLFdBQVc7RUFDWCxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUN0QixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixlQUFlO0FBQ2pCOztBQUVFO0lBQ0UseUJBQXlCO0VBQzNCOztBQUVGO0VBQ0UsV0FBVztFQUNYLHlCQUF5QjtFQUN6QixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxhQUFhO0VBQ2Isa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixZQUFZO0FBQ2Q7O0FBRUE7O0lBRUksc0JBQXNCO0lBQ3RCLFdBQVc7QUFDZjs7QUFDQTs7SUFFSSxpQ0FBaUM7QUFDckM7O0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIsdUJBQXVCO0VBQ3ZCLHVCQUF1QjtBQUN6Qjs7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQix1QkFBdUI7RUFDdkIsY0FBYztBQUNoQjs7QUFDQTs7SUFFSSxxQkFBcUI7QUFDekI7O0FBQ0E7RUFDRSxXQUFXO0VBQ1gsV0FBVztFQUNYLFVBQVU7QUFDWiIsImZpbGUiOiJzcmMvYXBwL21hbmFnZS9zaGlmdC1zY2hlZHVsZXIvc2hpZnQtc2NoZWR1bGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29udGFpbmVyIHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG59XHJcblxyXG4uZm9ybS1ncm91cCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxubGFiZWwge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcclxuaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDhweDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG59XHJcblxyXG5idXR0b24ge1xyXG4gIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbiAgYnV0dG9uOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU2YjM7XHJcbiAgfVxyXG5cclxudGFibGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxudGFibGUsIHRoLCB0ZCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XHJcbn1cclxuXHJcbnRoLCB0ZCB7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5kcml2ZXItbmFtZSB7XHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGNvbG9yOiBncmVlbjtcclxufVxyXG5cclxuLnJvd0hlYWRlciB0ZFxyXG57XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO1xyXG4gICAgY29sb3I6d2hpdGU7XHJcbn1cclxuLnJvd0hlYWRlciAuZGVsaW1pdGVkQ29sbFxyXG57XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuLmRlbGltaXRlZENvbGwge1xyXG4gIG1heC13aWR0aDogNHB4ICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbn1cclxuLmRlbGltaXRlZFJvdyB0ZCB7XHJcbiAgbWF4LWhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiA0cHg7XHJcbn1cclxuLnRkRHJpdmVyQ29kZVxyXG57XHJcbiAgICB3aWR0aDo3NXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnRkRHJpdmVyQ29kZSBpbnB1dCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzowcHg7XHJcbiAgbWFyZ2luOjBweDtcclxufVxyXG4iXX0= */\";","import { Component } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { Driver } from '../../model/driver';\r\nimport { IShift } from '../../model/shiftTable';\r\nimport { ShiftlistingComponent } from '../shiftlisting/shiftlisting.component';\r\n\r\n@Component({\r\n selector: 'app-shift-scheduler',\r\n templateUrl: './shift-scheduler.component.html',\r\n styleUrls: ['./shift-scheduler.component.css']\r\n})\r\nexport class ShiftSchedulerComponent {\r\n dialogShiftRef: MatDialogRef;\r\n startNumber: number = 1; // شماره شروع\r\n startNumber_Showing: number = 1; // از این برای نمایش استفاده می شود\r\n endNumber: number = 1; // شماره شروع\r\n skipFirstCount: number = 0;\r\n monthNumber: number = 11; // شماره ماه\r\n dayInWeekNumber: string = '0'; // روز شروع هفته\r\n rowCount: number = 17; // تعداد سطرها\r\n tableData: IShift[] = []; // داده‌های جدول (می‌تواند شامل اعداد یا null باشد)\r\n tableGenerated: boolean = false; // آیا جدول ساخته شده است؟\r\n\r\n // آرایه‌ها برای ذخیره کد و نام راننده‌ها\r\n driverCodes: string[] = [];\r\n driverNames: string[] = [];\r\n driverList: Driver[] = [];\r\n AvalShab :string = 'AvalShab';\r\n constructor(\r\n private driverService: DriverserviceService,\r\n private dialog: MatDialog,\r\n\r\n ) {\r\n\r\n }\r\n // تابع برای ایجاد جدول\r\n generateTable() {\r\n this.startNumber_Showing = this.startNumber;\r\n this.tableData = [];\r\n this.driverCodes = new Array(this.rowCount).fill(''); // مقداردهی اولیه کد راننده‌ها\r\n this.driverNames = new Array(this.rowCount).fill(''); // مقداردهی اولیه نام راننده‌ها\r\n let currentNumber = this.startNumber;\r\n\r\n // ساخت جدول با شمارنده‌های عمودی\r\n for (let i = 0; i < this.rowCount; i++) {\r\n let row: IShift = new IShift();\r\n row.date_dayNumber1 = this.startNumber + i;\r\n if (row.date_dayNumber1 + this.rowCount <= this.endNumber)\r\n row.date_dayNumber2 = row.date_dayNumber1 + this.rowCount;\r\n this.tableData.push(row);\r\n }\r\n\r\n this.tableGenerated = true; // جدول ساخته شد\r\n }\r\n\r\n // تابع برای زمانی که کاربر از اینپوت کد راننده خارج می‌شود\r\n onDriverCodeBlur(row: IShift, index: number) {\r\n const driverCode = index == 1 ? row.driver1Code : row.driver2Code;\r\n if (driverCode) {\r\n this.driverService.getDriverByCode(driverCode).subscribe(drv => {\r\n if (drv) {\r\n if (index == 1)\r\n row.driver1Name = drv;\r\n else\r\n row.driver2Name = drv;\r\n }\r\n\r\n })\r\n // اینجا می‌توانید API را فراخوانی کنید و نام راننده را دریافت کنید\r\n // برای مثال:\r\n // this.fetchDriverName(driverCode).then(name => this.driverNames[index] = name);\r\n console.log(`کد راننده وارد شده: ${driverCode}`);\r\n }\r\n }\r\n\r\n // تابع برای چاپ جدول\r\n printTable() {\r\n window.print();\r\n }\r\n getDayName(shift:IShift ,colIndex:number) {\r\n if (shift) {\r\n var rowIndex = shift.date_dayNumber1;\r\n if (colIndex == 1) {\r\n rowIndex = shift.date_dayNumber1;\r\n if (this.monthNumber != shift.monthNumber1)\r\n rowIndex = rowIndex + this.endNumber;\r\n }\r\n else {\r\n rowIndex = shift.date_dayNumber2;\r\n if (shift.monthNumber2 != shift.monthNumber1)\r\n rowIndex = rowIndex + this.endNumber;\r\n }\r\n\r\n var dIndex = ((rowIndex - this.startNumber_Showing)+ parseInt(this.dayInWeekNumber) ) % 7;\r\n if (dIndex == 0)\r\n return 'شنبه';\r\n if (dIndex == 6)\r\n return 'جمعه';\r\n\r\n return dIndex + ' شنبه';\r\n }\r\n else\r\n return '';\r\n\r\n }\r\n autoschedule() {\r\n debugger;\r\n this.startNumber_Showing = this.startNumber;\r\n this.driverService.getAllDriverForSchedule().subscribe(t => {\r\n if (!this.skipFirstCount)\r\n this.skipFirstCount = 0;\r\n if (this.skipFirstCount > 0) {\r\n const firstFive = t.slice(0, this.skipFirstCount); // گرفتن پرش خانه اول\r\n const rest = t.slice(this.skipFirstCount); // گرفتن بقیه خانه‌ها\r\n this.driverList = rest.concat(firstFive); // الحاق پرش خانه اول به انتهای آرایه\r\n }\r\n else\r\n this.driverList = t;\r\n if (this.monthNumber >= 1 && this.monthNumber <= 6)\r\n this.endNumber = 31;\r\n else if (this.monthNumber<12)\r\n this.endNumber = 30;\r\n else\r\n this.endNumber = 29;\r\n\r\n this.tableData = [];\r\n this.rowCount = this.driverList.length;\r\n // ساخت جدول با شمارنده‌های عمودی\r\n for (let i = 0; i < this.rowCount; i++) {\r\n let row: IShift = new IShift();\r\n row.date_dayNumber1 = this.startNumber + i;\r\n \r\n row.monthNumber1 = this.monthNumber;\r\n if (row.date_dayNumber1 > this.endNumber) {\r\n row.date_dayNumber1 = row.date_dayNumber1 - this.endNumber;\r\n row.monthNumber1 = this.monthNumber + 1;\r\n }\r\n \r\n row.date_dayNumber2 = row.date_dayNumber1 + this.rowCount;\r\n if (row.date_dayNumber2 > this.endNumber) {\r\n row.monthNumber2 = row.monthNumber1 + 1;\r\n }\r\n else\r\n row.monthNumber2 = row.monthNumber1;\r\n if (row.monthNumber2 > 12)\r\n row.monthNumber2 = row.monthNumber2 - 12;\r\n\r\n this.tableData.push(row);\r\n }\r\n\r\n for (let i = 0; i < this.rowCount; i++) {\r\n var row = this.tableData[i];\r\n if (this.AvalShab == 'AvalShab') {\r\n row.driver2Code = this.driverList[i].driverCode;\r\n row.driver2Name = this.driverList[i].fName\r\n row.driver2 = this.driverList[i];\r\n }\r\n else {\r\n row.driver1Code = this.driverList[i].driverCode;\r\n row.driver1Name = this.driverList[i].fName\r\n row.driver1 = this.driverList[i];\r\n }\r\n \r\n }\r\n const mid = Math.floor(this.rowCount / 2);\r\n var counter = 0;\r\n for (let i = mid; i < this.rowCount; i++) {\r\n if (this.AvalShab == 'AvalShab') {\r\n this.tableData[i].driver1 = this.driverList[counter];\r\n this.tableData[i].driver1Name = this.driverList[counter].fName;\r\n this.tableData[i].driver1Code = this.driverList[counter].driverCode;\r\n }\r\n else {\r\n this.tableData[i].driver2 = this.driverList[counter];\r\n this.tableData[i].driver2Name = this.driverList[counter].fName;\r\n this.tableData[i].driver2Code = this.driverList[counter].driverCode;\r\n }\r\n \r\n counter++;\r\n }\r\n counter = 1;\r\n if (this.rowCount % 2 == 0)\r\n counter = 0;\r\n \r\n for (let i = 0; i < mid; i++) {\r\n if (this.AvalShab == 'AvalShab') {\r\n this.tableData[i].driver1 = this.driverList[counter + mid];\r\n this.tableData[i].driver1Name = this.driverList[counter + mid].fName;\r\n this.tableData[i].driver1Code = this.driverList[counter + mid].driverCode;\r\n }\r\n else {\r\n this.tableData[i].driver2 = this.driverList[counter + mid];\r\n this.tableData[i].driver2Name = this.driverList[counter + mid].fName;\r\n this.tableData[i].driver2Code = this.driverList[counter + mid].driverCode;\r\n }\r\n counter++;\r\n }\r\n\r\n for (let i = 0; i < this.rowCount; i++) {\r\n row = this.tableData[i];\r\n if (row.date_dayNumber2 > this.endNumber)\r\n row.date_dayNumber2 = row.date_dayNumber2 - this.endNumber;\r\n }\r\n\r\n\r\n\r\n this.tableGenerated = true; // جدول ساخته شد\r\n\r\n });\r\n }\r\n saveShift() {\r\n this.driverService.saveShiftTable(this.tableData).subscribe(res => {\r\n console.log(res);\r\n });\r\n\r\n //\r\n }\r\n allShift() {\r\n\r\n this.dialogShiftRef = this.dialog.open(ShiftlistingComponent, {\r\n width: '100%',\r\n hasBackdrop: true,\r\n data: {\r\n driverID: -1,\r\n myInfo: null\r\n }\r\n ,\r\n panelClass: 'custom-modalbox'\r\n });\r\n }\r\n\r\n}\r\n\r\n","export default \"/*:host {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 100vh;\\r\\n}\\r\\n\\r\\n.driver-information {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n align-items: center;\\r\\n &__details\\r\\n\\r\\n{\\r\\n margin-right: 1rem;\\r\\n}\\r\\n\\r\\n&__name {\\r\\n font-size: 1rem;\\r\\n}\\r\\n\\r\\n&__status-label {\\r\\n font-size: 0.875rem;\\r\\n color: #888;\\r\\n}\\r\\n\\r\\n}\\r\\n\\r\\n.avatar {\\r\\n position: relative;\\r\\n $size: 54px;\\r\\n width: $size;\\r\\n height: $size;\\r\\n &__image\\r\\n\\r\\n{\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n border-radius: 50%;\\r\\n object-fit: cover;\\r\\n}\\r\\n\\r\\n&__status {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n bottom: 0;\\r\\n width: 8px;\\r\\n height: 8px;\\r\\n border-radius: 50%;\\r\\n background-color: #fff;\\r\\n border: 2px solid #fff;\\r\\n}\\r\\n\\r\\n}\\r\\n\\r\\n.car-info {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n align-items: center;\\r\\n margin-top: 0.5rem;\\r\\n &__type\\r\\n\\r\\n{\\r\\n margin-right: 0.5rem;\\r\\n margin-left: auto;\\r\\n}\\r\\n\\r\\n&__id {\\r\\n border: 2px solid rgba(0, 0, 0, 0.2);\\r\\n border-radius: 4px;\\r\\n padding: 0.125rem 0.5rem;\\r\\n background-color: #eee;\\r\\n}\\r\\n\\r\\n}\\r\\n\\r\\n.spanPrice {\\r\\n padding-right: 20px;\\r\\n padding-left: 20px;\\r\\n padding-top: 1px;\\r\\n padding-bottom: 1px;\\r\\n background-color: rgba(0, 0, 0, 0.2);\\r\\n border-radius: 5px;\\r\\n}\\r\\n\\r\\n.spanPriceEtebari {\\r\\n background-color: rgb(249, 58, 210) !important;\\r\\n color: white;\\r\\n font-weight: bolder;\\r\\n}\\r\\n\\r\\n\\r\\n.spanTime {\\r\\n}\\r\\n\\r\\n.spanDest {\\r\\n font-weight: bolder;\\r\\n}\\r\\n\\r\\n.rowDest {\\r\\n display: flex;\\r\\n flex-flow: row nowrap;\\r\\n -webkit-box-align: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.redItem {\\r\\n background-color: #ea6666\\r\\n}\\r\\n\\r\\n.greenItem {\\r\\n background-color: #198b59\\r\\n}\\r\\n\\r\\n.normalItem {\\r\\n}\\r\\n\\r\\n.mat-dialog-content {\\r\\n max-height: 100vh;\\r\\n}\\r\\n\\r\\n\\r\\n#tabelShift td\\r\\n{\\r\\n border:1px solid black;\\r\\n}\\r\\n#tabelShift\\r\\n{\\r\\n width:100%;\\r\\n}\\r\\n\\r\\n.spanTick\\r\\n{\\r\\n color:green;\\r\\n}\\r\\n\\r\\n.shift-card {\\r\\n max-width: 400px;\\r\\n}\\r\\n\\r\\n.shift-header-image {\\r\\n background-image: url('https://www.gandomvip.com/wp-content/uploads/2022/10/ezgif.com-gif-maker-2022-10-12T114640.241.webp');\\r\\n background-size: cover;\\r\\n}\\r\\n\\r\\n\\r\\n.card-bottom\\r\\n{\\r\\n margin-top:10px;\\r\\n}\\r\\n*/\\r\\n\\r\\n\\r\\n.shiftcontainer {\\r\\n width: 100%;\\r\\n /*margin: 50px auto;*/\\r\\n background-color: #fff;\\r\\n padding: 0px;\\r\\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\\r\\n border-radius: 8px;\\r\\n overflow-y: auto;\\r\\n height: 100vh;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n border-collapse: collapse;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n\\r\\nth, td {\\r\\n padding: 0.5rem;\\r\\n text-align: center;\\r\\n border-bottom: 1px solid #ddd;\\r\\n}\\r\\n\\r\\n\\r\\nth {\\r\\n background-color: #4CAF50;\\r\\n color: white;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n\\r\\nimg:hover {\\r\\n border: 2px solid #ff0000;\\r\\n cursor: pointer;\\r\\n width: 52px;\\r\\n height: 52px;\\r\\n}\\r\\n\\r\\n\\r\\nimg {\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n border-radius: 50%;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n border: 2px solid #4CAF50;\\r\\n}\\r\\n\\r\\n\\r\\n.mat-dialog-container{\\r\\n padding:0px !important;\\r\\n}\\r\\n\\r\\n\\r\\n.divImage {\\r\\n position: relative;\\r\\n width: 48px;\\r\\n height: 48px;\\r\\n margin: 0 auto;\\r\\n}\\r\\n\\r\\n\\r\\n.mat-card {\\r\\n font-family: IRANSans, iranyekan_regular !important;\\r\\n padding: 0.5rem;\\r\\n}\\r\\n\\r\\n\\r\\n.spanTick {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n\\r\\n.spanTickAsr {\\r\\n color: green;\\r\\n}\\r\\n\\r\\n\\r\\n.shift-header-image {\\r\\n background-image: url('https://www.gandomvip.com/wp-content/uploads/2022/10/ezgif.com-gif-maker-2022-10-12T114640.241.webp');\\r\\n background-size: cover;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFuYWdlL3NoaWZ0bGlzdGluZy9zaGlmdGxpc3RpbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FxSkM7OztBQUdEO0VBQ0UsV0FBVztFQUNYLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsWUFBWTtFQUNaLHVDQUF1QztFQUN2QyxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYixrQkFBa0I7QUFDcEI7OztBQUNBO0VBQ0UsV0FBVztFQUNYLHlCQUF5QjtFQUN6QixnQkFBZ0I7QUFDbEI7OztBQUVBO0VBQ0UsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQiw2QkFBNkI7QUFDL0I7OztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixpQkFBaUI7QUFDbkI7OztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLGVBQWU7RUFDZixXQUFXO0VBQ1gsWUFBWTtBQUNkOzs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLG9CQUFpQjtLQUFqQixpQkFBaUI7RUFDakIseUJBQXlCO0FBQzNCOzs7QUFDQTtJQUNJLHNCQUFzQjtBQUMxQjs7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFlBQVk7RUFDWixjQUFjO0FBQ2hCOzs7QUFDQTtFQUNFLG1EQUFtRDtFQUNuRCxlQUFlO0FBQ2pCOzs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7O0FBRUE7RUFDRSxZQUFZO0FBQ2Q7OztBQUlBO0VBQ0UsNEhBQTRIO0VBQzVILHNCQUFzQjtBQUN4QiIsImZpbGUiOiJzcmMvYXBwL21hbmFnZS9zaGlmdGxpc3Rpbmcvc2hpZnRsaXN0aW5nLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKjpob3N0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxufVxyXG5cclxuLmRyaXZlci1pbmZvcm1hdGlvbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgJl9fZGV0YWlsc1xyXG5cclxue1xyXG4gIG1hcmdpbi1yaWdodDogMXJlbTtcclxufVxyXG5cclxuJl9fbmFtZSB7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcblxyXG4mX19zdGF0dXMtbGFiZWwge1xyXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgY29sb3I6ICM4ODg7XHJcbn1cclxuXHJcbn1cclxuXHJcbi5hdmF0YXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAkc2l6ZTogNTRweDtcclxuICB3aWR0aDogJHNpemU7XHJcbiAgaGVpZ2h0OiAkc2l6ZTtcclxuICAmX19pbWFnZVxyXG5cclxue1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcbiZfX3N0YXR1cyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHdpZHRoOiA4cHg7XHJcbiAgaGVpZ2h0OiA4cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxufVxyXG5cclxufVxyXG5cclxuLmNhci1pbmZvIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAwLjVyZW07XHJcbiAgJl9fdHlwZVxyXG5cclxue1xyXG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcblxyXG4mX19pZCB7XHJcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjVyZW07XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxufVxyXG5cclxufVxyXG5cclxuLnNwYW5QcmljZSB7XHJcbiAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgcGFkZGluZy10b3A6IDFweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi5zcGFuUHJpY2VFdGViYXJpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5LCA1OCwgMjEwKSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBmb250LXdlaWdodDogYm9sZGVyO1xyXG59XHJcblxyXG5cclxuLnNwYW5UaW1lIHtcclxufVxyXG5cclxuLnNwYW5EZXN0IHtcclxuICBmb250LXdlaWdodDogYm9sZGVyO1xyXG59XHJcblxyXG4ucm93RGVzdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XHJcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ucmVkSXRlbSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhNjY2NlxyXG59XHJcblxyXG4uZ3JlZW5JdGVtIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk4YjU5XHJcbn1cclxuXHJcbi5ub3JtYWxJdGVtIHtcclxufVxyXG5cclxuLm1hdC1kaWFsb2ctY29udGVudCB7XHJcbiAgbWF4LWhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcblxyXG4jdGFiZWxTaGlmdCB0ZFxyXG57XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkIGJsYWNrO1xyXG59XHJcbiN0YWJlbFNoaWZ0XHJcbntcclxuICAgIHdpZHRoOjEwMCU7XHJcbn1cclxuXHJcbi5zcGFuVGlja1xyXG57XHJcbiAgICBjb2xvcjpncmVlbjtcclxufVxyXG5cclxuLnNoaWZ0LWNhcmQge1xyXG4gIG1heC13aWR0aDogNDAwcHg7XHJcbn1cclxuXHJcbi5zaGlmdC1oZWFkZXItaW1hZ2Uge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly93d3cuZ2FuZG9tdmlwLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMC9lemdpZi5jb20tZ2lmLW1ha2VyLTIwMjItMTAtMTJUMTE0NjQwLjI0MS53ZWJwJyk7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxufVxyXG5cclxuXHJcbi5jYXJkLWJvdHRvbVxyXG57XHJcbiAgICBtYXJnaW4tdG9wOjEwcHg7XHJcbn1cclxuKi9cclxuXHJcblxyXG4uc2hpZnRjb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIC8qbWFyZ2luOiA1MHB4IGF1dG87Ki9cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxudGFibGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxudGgsIHRkIHtcclxuICBwYWRkaW5nOiAwLjVyZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG50aCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRDQUY1MDtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbmltZzpob3ZlciB7XHJcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmMDAwMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgd2lkdGg6IDUycHg7XHJcbiAgaGVpZ2h0OiA1MnB4O1xyXG59XHJcblxyXG5pbWcge1xyXG4gIHdpZHRoOiA1MHB4O1xyXG4gIGhlaWdodDogNTBweDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzRDQUY1MDtcclxufVxyXG4ubWF0LWRpYWxvZy1jb250YWluZXJ7XHJcbiAgICBwYWRkaW5nOjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGl2SW1hZ2Uge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogNDhweDtcclxuICBoZWlnaHQ6IDQ4cHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuLm1hdC1jYXJkIHtcclxuICBmb250LWZhbWlseTogSVJBTlNhbnMsIGlyYW55ZWthbl9yZWd1bGFyICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogMC41cmVtO1xyXG59XHJcblxyXG4uc3BhblRpY2sge1xyXG4gIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi5zcGFuVGlja0FzciB7XHJcbiAgY29sb3I6IGdyZWVuO1xyXG59XHJcblxyXG5cclxuXHJcbi5zaGlmdC1oZWFkZXItaW1hZ2Uge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly93d3cuZ2FuZG9tdmlwLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMC9lemdpZi5jb20tZ2lmLW1ha2VyLTIwMjItMTAtMTJUMTE0NjQwLjI0MS53ZWJwJyk7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxufVxyXG4iXX0= */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ServiceInfo } from '../../model/serviceInfo';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { InputtextComponent } from '../../shared/inputtext/inputtext.component';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { IShift } from '../../model/shiftTable';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { Driver } from '../../model/driver';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n\r\n@Component({\r\n selector: 'app-shiftlisting',\r\n templateUrl: './shiftlisting.component.html',\r\n styleUrls: ['./shiftlisting.component.css']\r\n})\r\nexport class ShiftlistingComponent implements OnInit {\r\n list: IShift[] = [];\r\n driverID = 0;\r\n myInfo: Driver;\r\n constructor(\r\n private dialog: MatDialog,\r\n private matSnackbar: MatSnackBar,\r\n private sanitizer: DomSanitizer,\r\n\r\n public serviceService: DriverserviceService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: {\r\n driverID: number,\r\n myInfo: Driver\r\n }\r\n ) {\r\n this.driverID = data.driverID;\r\n this.myInfo = data.myInfo;\r\n console.log('this.driverID is' + this.driverID);\r\n this.serviceService.getAllShiftTable().subscribe(res => {\r\n console.log(res);\r\n this.list = res;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n close() {\r\n this.dialogRef.close('closse');\r\n\r\n }\r\n getAvatar(avatar) {\r\n return this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + avatar)\r\n }\r\n}\r\n","export default \"mat-card {\\n margin: 1rem;\\n}\\n\\ntable {\\n width: 100%;\\n /*overflow-x: scroll;\\n overflow-y: scroll;*/\\n}\\n\\n.mat-card {\\n padding: 5px;\\n}\\n\\n.mat-row:nth-child(even) {\\n background-color: #c5f3fa;\\n}\\n\\n.mat-row:nth-child(odd) {\\n background-color: white;\\n}\\n\\n.highlight {\\n background: #42A948;\\n /* green */\\n}\\n\\n.mat-cell {\\n font-size: 14px;\\n min-height: 48px;\\n text-align: center;\\n border-right: 1px solid black;\\n}\\n\\n.mat-header-cell {\\n border-right: 1px solid black;\\n}\\n\\n.mat-cell,\\n.mat-header-cell {\\n word-wrap: initial;\\n display: table-cell;\\n padding: 0px 5px;\\n line-break: unset;\\n width: 100%;\\n white-space: nowrap;\\n overflow: hidden;\\n vertical-align: middle;\\n text-align: center !important;\\n}\\n\\n.mat-row,\\n.mat-header-row {\\n display: table-row;\\n}\\n\\n.mat-icon-button {\\n width: 20px;\\n}\\n\\n.mat-column-finishCol, .mat-column-exitCol, .mat-column-setPriorityCol, .mat-column-resendCol, .mat-column-position, .mat-column-passangerName, .mat-column-passangerMobile, .mat-column-originAddr, .mat-column-destinationAddr, .mat-column-tripComment, .mat-column-stationID, .mat-column-editCol, .mat-column-manualCol, .mat-column-deleteCol, .mat-column-driverName, .mat-column-driverMobile, .mat-column-timedConsume, .mat-column-serviceStateName, .mat-column-operatorName, .mat-column-driverCount {\\n word-wrap: break-word !important;\\n white-space: unset !important;\\n flex: 0 0 30px !important;\\n width: 30px !important;\\n /* overflow-wrap: break-word;\\n word-wrap: break-word;\\n word-break: break-word;*/\\n -webkit-hyphens: auto;\\n hyphens: auto;\\n}\\n\\n.mat-header-row {\\n position: sticky;\\n top: 0;\\n z-index: 100;\\n background: blue;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFuYWdlL3RyaXBtYW5hZ2UvdHJpcG1hbmFnZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQUE7QUFDRjs7QUFFQTtFQUNFLFdBQUE7RUFDQTtzQkFBQTtBQUVGOztBQUVBO0VBQ0UsWUFBQTtBQUNGOztBQUVBO0VBQ0UseUJBQUE7QUFDRjs7QUFFQTtFQUNFLHVCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxtQkFBQTtFQUFxQixVQUFBO0FBRXZCOztBQUNBO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSw2QkFBQTtBQUVGOztBQUNBO0VBQ0UsNkJBQUE7QUFFRjs7QUFDQTs7RUFFRSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSw2QkFBQTtBQUVGOztBQUNBOztFQUVFLGtCQUFBO0FBRUY7O0FBQ0E7RUFDRSxXQUFBO0FBRUY7O0FBRUE7RUFDRSxnQ0FBQTtFQUNBLDZCQUFBO0VBQ0EseUJBQUE7RUFDQSxzQkFBQTtFQUNBOzswQkFBQTtFQUtBLHFCQUFBO0VBQ0EsYUFBQTtBQUNGOztBQUVBO0VBQ0UsZ0JBQUE7RUFDQSxNQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9tYW5hZ2UvdHJpcG1hbmFnZS90cmlwbWFuYWdlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsibWF0LWNhcmQge1xyXG4gIG1hcmdpbjogMXJlbTtcclxufVxyXG5cclxudGFibGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIC8qb3ZlcmZsb3cteDogc2Nyb2xsO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDsqL1xyXG59XHJcblxyXG4ubWF0LWNhcmQge1xyXG4gIHBhZGRpbmc6IDVweDtcclxufVxyXG5cclxuLm1hdC1yb3c6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzVmM2ZhO1xyXG59XHJcblxyXG4ubWF0LXJvdzpudGgtY2hpbGQob2RkKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5oaWdobGlnaHQge1xyXG4gIGJhY2tncm91bmQ6ICM0MkE5NDg7IC8qIGdyZWVuICovXHJcbn1cclxuXHJcbi5tYXQtY2VsbCB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGJsYWNrO1xyXG59XHJcblxyXG4ubWF0LWhlYWRlci1jZWxsIHtcclxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBibGFjaztcclxufVxyXG5cclxuLm1hdC1jZWxsLFxyXG4ubWF0LWhlYWRlci1jZWxsIHtcclxuICB3b3JkLXdyYXA6IGluaXRpYWw7XHJcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICBwYWRkaW5nOiAwcHggNXB4O1xyXG4gIGxpbmUtYnJlYWs6IHVuc2V0O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWF0LXJvdyxcclxuLm1hdC1oZWFkZXItcm93IHtcclxuICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbn1cclxuXHJcbi5tYXQtaWNvbi1idXR0b24ge1xyXG4gIHdpZHRoOiAyMHB4O1xyXG59XHJcblxyXG5cclxuLm1hdC1jb2x1bW4tZmluaXNoQ29sLCAubWF0LWNvbHVtbi1leGl0Q29sLCAubWF0LWNvbHVtbi1zZXRQcmlvcml0eUNvbCwgLm1hdC1jb2x1bW4tcmVzZW5kQ29sLCAubWF0LWNvbHVtbi1wb3NpdGlvbiwgLm1hdC1jb2x1bW4tcGFzc2FuZ2VyTmFtZSwgLm1hdC1jb2x1bW4tcGFzc2FuZ2VyTW9iaWxlLCAubWF0LWNvbHVtbi1vcmlnaW5BZGRyLCAubWF0LWNvbHVtbi1kZXN0aW5hdGlvbkFkZHIsIC5tYXQtY29sdW1uLXRyaXBDb21tZW50LCAubWF0LWNvbHVtbi1zdGF0aW9uSUQsIC5tYXQtY29sdW1uLWVkaXRDb2wsIC5tYXQtY29sdW1uLW1hbnVhbENvbCwgLm1hdC1jb2x1bW4tZGVsZXRlQ29sLCAubWF0LWNvbHVtbi1kcml2ZXJOYW1lLCAubWF0LWNvbHVtbi1kcml2ZXJNb2JpbGUsIC5tYXQtY29sdW1uLXRpbWVkQ29uc3VtZSwgLm1hdC1jb2x1bW4tc2VydmljZVN0YXRlTmFtZSwgLm1hdC1jb2x1bW4tb3BlcmF0b3JOYW1lLCAubWF0LWNvbHVtbi1kcml2ZXJDb3VudCB7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XHJcbiAgd2hpdGUtc3BhY2U6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgZmxleDogMCAwIDMwcHggIWltcG9ydGFudDtcclxuICB3aWR0aDogMzBweCAhaW1wb3J0YW50O1xyXG4gIC8qICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyovXHJcbiAgLW1zLWh5cGhlbnM6IGF1dG87XHJcbiAgLW1vei1oeXBoZW5zOiBhdXRvO1xyXG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcclxuICBoeXBoZW5zOiBhdXRvO1xyXG59XHJcblxyXG4ubWF0LWhlYWRlci1yb3cge1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgdG9wOiAwO1xyXG4gIHotaW5kZXg6IDEwMDtcclxuICBiYWNrZ3JvdW5kOiBibHVlO1xyXG59XHJcbiJdfQ== */\";","import { Component, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SetmanualdriverComponent } from '../../call-center/setmanualdriver/setmanualdriver.component';\r\nimport { SetpriorityComponent } from '../../manage/setpriority/setpriority.component';\r\nimport { MessageboxComponent } from '../../messagebox/messagebox.component';\r\nimport { AllServiceInfo } from '../../model/serviceInfo';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\n@Component({\r\n selector: 'app-tripmanage',\r\n templateUrl: './tripmanage.component.html',\r\n styleUrls: ['./tripmanage.component.scss']\r\n})\r\nexport class TripmanageComponent implements OnInit {\r\n allserviceList: AllServiceInfo[] = [];\r\n dataSource = new MatTableDataSource(this.allserviceList);\r\n dialogProposedServiceRef: MatDialogRef;\r\n dialogSetPriority: MatDialogRef;\r\n\r\n constructor(\r\n private currentServiceService: ServiceserviceService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private dialog: MatDialog,\r\n private renderer2: Renderer2,\r\n private matSnackbar: MatSnackBar\r\n ) {\r\n }\r\n @ViewChild(\"sort\", { static: false })\r\n public sort: MatSort;\r\n\r\n\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n highlight(row: any) {\r\n //console.log('highlight' + row.id);\r\n this.selectedRowIndex = row.id;\r\n this.selectedElement = row;\r\n\r\n }\r\n handleShortCut(event: KeyboardEvent) {\r\n if (event.key === 'F2') {\r\n this.renderer2.selectRootElement('#driverCode').focus();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F3') {\r\n this.filter();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F7') {\r\n // cancelTrip(element.requestID, element)\r\n if (this.selectedElement) {\r\n this.cancelTrip(this.selectedElement.requestID, this.selectedElement);\r\n }\r\n this.filter();\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F8') {\r\n //console.log('F8 is pressed');\r\n\r\n //editService(element.requestID)\r\n if (this.selectedElement) {\r\n //console.log('selectedElement is ' + this.selectedElement);\r\n this.editService(this.selectedElement.requestID);\r\n }\r\n else\r\n //console.log('selectedElement is null');\r\n event.preventDefault();\r\n }\r\n else if (event.key === 'F9') {\r\n //(click)=\"setManualDriver(element.serviceGuid)\">\r\n if (this.selectedElement) {\r\n this.setManualDriver(this.selectedElement.serviceGuid);\r\n }\r\n event.preventDefault();\r\n }\r\n\r\n\r\n else if ((event.which == 13 || event.keyCode == 13)) {\r\n //console.log('enter pressed');\r\n\r\n\r\n this.forwardNext(event.srcElement);\r\n\r\n event.preventDefault();\r\n }\r\n }\r\n forwardNext(element: any) {\r\n\r\n var nextControlDic: { [id: string]: string; } = {};\r\n nextControlDic[\"driverCode\"] = \"telCall\";\r\n nextControlDic[\"telCall\"] = \"passangerName\";\r\n nextControlDic[\"passangerName\"] = \"address\";\r\n nextControlDic[\"address\"] = \"stationCode\";\r\n nextControlDic[\"stationCode\"] = null;\r\n\r\n\r\n\r\n\r\n var related = nextControlDic[element.id];\r\n if (related) {\r\n //console.log('realted is ' + related)\r\n this.renderer2.selectRootElement('#' + related).focus();\r\n }\r\n else {\r\n if (element.id == 'stationCode') {\r\n this.filter();\r\n }\r\n\r\n }\r\n }\r\n selectedRowIndex = -1;\r\n selectedElement: AllServiceInfo = null;\r\n displayedColumns: string[] = ['position', 'passangerName', 'passangerMobile', 'originAddr', 'destinationAddr', 'tripComment', 'stationID', 'editCol', 'manualCol', 'deleteCol', 'resendCol', 'exitCol', 'finishCol', 'setPriorityCol', 'driverName', 'driverMobile', 'timedConsume', 'serviceStateName', 'operatorName', 'driverCount'];\r\n loadPassangerReport() {\r\n this.currentServiceService.reportAllService('',\r\n this.telCall, this.driverCode, this.stationCode, this.passangerName, this.address, '', '', '', this.searchKeyword\r\n ).subscribe(res => {\r\n //console.log(res);\r\n this.allserviceList = res;\r\n if (this.allserviceList)\r\n this.recordCount = this.allserviceList.length;\r\n this.dataSource = new MatTableDataSource(this.allserviceList);\r\n });\r\n }\r\n telCall = '';\r\n driverCode = '';\r\n passangerName = '';\r\n address = '';\r\n searchKeyword = '';\r\n stationCode = '';\r\n recordCount = 0;\r\n showwaiting: Boolean = true;\r\n showreserved: Boolean = true;\r\n currentGuid = '';\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n const guidDriver = params['guid'];\r\n if (guidDriver) {\r\n this.currentGuid = guidDriver;\r\n this.loadPassangerReport();\r\n }\r\n\r\n\r\n });\r\n //this.schedulJon = setInterval(() => {\r\n // this.schedulingupdatestatus();\r\n //}, 5 * 1000);\r\n }\r\n\r\n \r\n \r\n\r\n editService(id: any) {\r\n this.router.navigate(['cc/new'], { queryParams: { guid: this.currentGuid, valp: id } });\r\n }\r\n\r\n filter() {\r\n this.loadPassangerReport();\r\n \r\n\r\n }\r\n dialogmsgBoxRef: MatDialogRef;\r\n cancelTrip(requestID: any, trip: any) {\r\n //console.log('cancelTrip');\r\n //console.log(requestID);\r\n //console.log(trip);\r\n\r\n this.dialogmsgBoxRef = this.dialog.open(MessageboxComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n msgText: 'آیا از کنسل کردن سفر اطمینان دارید؟',\r\n msgTitle: 'انصراف'\r\n }\r\n });\r\n this.dialogmsgBoxRef.afterClosed().subscribe((result : any) => {\r\n\r\n if (result == 'ok') {\r\n this.currentServiceService.cancelServiceByRequest(requestID).subscribe(res => {\r\n if (trip) {\r\n trip.serviceStateName = 'کنسل شده';\r\n this.loadPassangerReport();\r\n\r\n }\r\n });\r\n }\r\n\r\n });\r\n\r\n //console.warn(trip);\r\n }\r\n resend(requestID: any) {\r\n //console.log('resend')\r\n //console.log(trip)\r\n this.currentServiceService.ReProposedRequest(requestID).subscribe(res => {\r\n //this.socketService.sendMessage(res.serviceGUID, SocketMessageType.RequestServiceCreate);\r\n this.matSnackbar.open('فرم دوباره ثبت گردید', null, { duration: 3000 });\r\n //console.log(res);\r\n });\r\n\r\n\r\n\r\n\r\n }\r\n finishTrip(serviceGuid: any) {\r\n this.currentServiceService.finishService(serviceGuid).subscribe(_res => {\r\n\r\n });\r\n }\r\n ListProposed(requestID: any) {\r\n\r\n }\r\n\r\n SetPriority(dCode: any, stationID: any) {\r\n this.dialogSetPriority = this.dialog.open(SetpriorityComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n driverCode: dCode,\r\n stationID: stationID\r\n }\r\n });\r\n\r\n }\r\n exitDriver(driverCode: any) {\r\n this.currentServiceService.exitDriver(driverCode).subscribe(_res => {\r\n\r\n });\r\n }\r\n setManualDriver(guidRequestParam: any) {\r\n //console.log(guidRequestParam);\r\n this.dialogProposedServiceRef = this.dialog.open(SetmanualdriverComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n guidRequest: guidRequestParam\r\n },\r\n autoFocus: true,\r\n });\r\n this.dialogProposedServiceRef.afterClosed().subscribe((result : any) => {\r\n if (result == 'Accept') {\r\n\r\n\r\n\r\n } else if (result == 'Reject') {\r\n\r\n }\r\n });\r\n\r\n //this.taxiSerivce.getRequestByPropsedCode(guidRequestParam).subscribe(_res => {\r\n // console.warn(_res);\r\n //});\r\n\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21lc3NhZ2Vib3gvbWVzc2FnZWJveC5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-messagebox',\r\n templateUrl: './messagebox.component.html',\r\n styleUrls: ['./messagebox.component.scss']\r\n})\r\nexport class MessageboxComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { msgText: string, msgTitle: string }) {\r\n this.title = data.msgTitle;\r\n this.messageText = data.msgText;\r\n }\r\n messageText = 'آیا مطمین هستید؟'\r\n title=''\r\n ngOnInit() {\r\n\r\n }\r\n ok() {\r\n this.dialogRef.close('ok');\r\n\r\n }\r\n cancel() {\r\n this.dialogRef.close('cancel');\r\n\r\n }\r\n\r\n}\r\n","import { MatDatepickerToggleIcon } from \"@angular/material/datepicker\";\r\nimport { LocationInfo } from \"../globalVariable\";\r\n\r\nexport class ServiceRequest {\r\n constructor(\r\n ) {\r\n this.id = 0;\r\n this.requestGUI = '';\r\n this.destinationLat = 0;\r\n this.destinationLat2 = 0;\r\n this.destinationLng = 0;\r\n this.destinationLng2 = 0;\r\n this.originLat = 0;\r\n this.originLng = 0;\r\n this.passangerID = 0;\r\n this.maeloolin = false;\r\n this.amanati = false;\r\n this.khadamat = false;\r\n this.darEkhtiar = false;\r\n this.pos = false;\r\n this.typeCars = '';\r\n this.passangerFName = \"\";\r\n this.passangerMobile = \"\";\r\n this.driverCode = '';\r\n this.fixedComment = '';\r\n this.passangerServiceCount = 0;\r\n this.requestComment = '';\r\n this.price = 0;\r\n this.operatorID = 0;\r\n this.typePardakht = '';\r\n this.typePardakhtName = 'پس پرداخت';\r\n this.dateTimeForDisplay = '';\r\n \r\n }\r\n id:number;\r\n requestGUI :string;\r\n originLat:number;\r\n originLng: number;\r\n destinationLat: number;\r\n destinationLng: number;\r\n destinationLat2: number;\r\n destinationLng2: number;\r\n createDateTime:any;\r\n passangerID: number;\r\n result: number;\r\n originAddr: string;\r\n destinationAddr: string;\r\n destination2Addr: string;\r\n daleyTime: number;\r\n distanceKM: number;\r\n distanceMinute: number;\r\n originMeter: number;\r\n passangerFName: string;\r\n passangerMobile: string;\r\n typeCars: string;\r\n pos: boolean;\r\n maeloolin: boolean;\r\n darEkhtiar: boolean;\r\n amanati: boolean;\r\n khadamat: boolean;\r\n driverCode: string;\r\n fixedComment: string;\r\n requestComment: string;\r\n price: number;\r\n maleDriver: boolean;\r\n femaleDriver: boolean;\r\n telIDCaller: string;\r\n passangerServiceCount: number;\r\n selectedStationID: number;\r\n createTime: string;\r\n acceptTime: string;\r\n operatorID: number;\r\n typePardakht: string;\r\n typeService: string;\r\n moarefID: string;\r\n typePardakhtName: string;\r\n dateTimeForDisplay: string;\r\n}\r\n\r\n\r\nexport class ManualServiceRequest {\r\n \r\n id: number=0;\r\n requestGUID: string='';\r\n originLat: number=0;\r\n originLng: number = 0;\r\n destinationLat: number = 0;\r\n destinationLng: number = 0;\r\n destinationLat2: number=0;\r\n destinationLng2: number=0;\r\n createDateTime: any;\r\n passangerID: number = 0;\r\n result: number = 0;\r\n originAddr: string='';\r\n destinationAddr: string = '';\r\n destination2Addr: string='';\r\n daleyTime: number=0;\r\n distanceKM: number = 0;\r\n distanceMinute: number = 0;\r\n originMeter: number = 0;\r\n passangerName: string='';\r\n passangerMobile: string = '';\r\n comment: string = '';\r\n darEkhtiar: boolean = false;\r\n\r\n\r\n\r\n}\r\n\r\nexport class PropsoedReport {\r\n id: number;\r\n dateAndTime: string;\r\n driverID: number;\r\n responseText: string;\r\n proposedID: number;\r\n requestID: number;\r\n driverCode: string;\r\n result: number;\r\n stationCode: string;\r\n\r\n timeText: string;\r\n typeName: string;\r\n resultName: string;\r\n\r\n\r\n}\r\n","export class CallLog {\r\n id: number;\r\n lineNumber: string;\r\n tel: string;\r\n}\r\n \r\n","export class Car {\r\n id: number;\r\n carName: string;\r\n colorName: string;\r\n pelaqueIR: string;\r\n pelaqueLetter: string;\r\n pelaque2: string;\r\n pelaque3: string;\r\n carType: number;\r\n color: number;\r\n pelaque: string;\r\n isVan: boolean;\r\n}\r\n \r\n","export class Dashboard {\r\n constructor(\r\n ) {\r\n this.todayCount = 0;\r\n this.monthCount = 0;\r\n\r\n }\r\n todayCount:number;\r\n monthCount:number;\r\n\r\n\r\n}\r\n","import { DriverStatus, IDriverStatusMeta } from \"../lib/enums/driver-status.enum\";\r\nimport { Car } from \"./car\";\r\nimport { ErrorOutput } from \"./enumtype\";\r\n\r\nexport class Driver {\r\n selected: boolean;\r\n id: number;\r\n nationalCode: string;\r\n mobile: string;\r\n fName: string;\r\n lName: string;\r\n currentCarID: number;\r\n currentStatus: number;\r\n guid: string;\r\n confirmInfoByDriver: boolean;\r\n avatar: string;\r\n confirmInfoByOperator: boolean;\r\n currentDriverStatus: IDriverStatusMeta;\r\n driverCode: string;\r\n workingMobile: string;\r\n currentStation = 0;\r\n lockComment: string;\r\n lat: any;\r\n lng: any;\r\n lastActivity: any;\r\n driverStatusInfo: DriverStatusInfo;\r\n typeCar: number;\r\n color: number;\r\n pelaqueIR: string;\r\n pelaqueLetter: string;\r\n pelaque2 : number;\r\n pelaque3: number;\r\n username: string;\r\n password: string;\r\n commission: number;\r\n abonman: number\r\n mande: number;\r\n sumPrice: number;\r\n sumEtebari: number;\r\n commissionPercent: number;\r\n commissionValue: number;\r\n debitMande: number;\r\n this_Month_SumPrice: number;\r\n this_Month_SumEtebari: number;\r\n this_Month_CountTotal: number;\r\n this_Month_CountEtebari: number;\r\n this_Month_CalculatedCommission: number;\r\n\r\n shiftName: string;\r\n\r\n\r\n\r\n\r\n\r\n constructor() {\r\n this.currentDriverStatus = IDriverStatusMeta.getStatus(DriverStatus.OutOfService);\r\n this.driverStatusInfo = new DriverStatusInfo();\r\n\r\n this.typeCar=0;\r\n this.color = 0;\r\n this.pelaqueIR='';\r\n this.pelaqueLetter = '';\r\n this.pelaque2 = 0;\r\n this.pelaque3 = 0;\r\n\r\n\r\n }\r\n}\r\nexport class getDriverInfo {\r\n info: Driver;\r\n car: Car;\r\n errorCode: ErrorOutput;\r\n tk: string;\r\n}\r\nexport class DriverPositionHist {\r\n lat: any;\r\n lng: any;\r\n bearing: any;\r\n speed: any;\r\n driverID: number;\r\n createDateTime: string;\r\n relatedServiceID: number;\r\n relatedToken: string;\r\n currentStatus: number;\r\n currentStation: number;\r\n fName: string;\r\n lName: string;\r\n driverCode: number;\r\n mobile: string;\r\n shamsiCreateDateTime: string;\r\n}\r\nexport class DriverStatusInfo {\r\n currentStatus: number;\r\n stationID: number;\r\n priority: number;\r\n guid: string;\r\n lat: any;\r\n lng: any;\r\n\r\n lastGPSRecieveDateTime: Date;\r\n lastGPSRecieveDistanceSecond: number;\r\n mande: number;\r\n mandeString: string;\r\n \r\n\r\n\r\n}\r\nexport class NationalCodeCheckResult {\r\n driverGUID: string;\r\n errorCode: number;\r\n errorMessage: string;\r\n tempGuid: string;\r\n}\r\n\r\nexport class DriverLog {\r\n id: number;\r\n logType: number;\r\n logTypeName: string;\r\n logMessage: string;\r\n tag: string;\r\n createDateTime: string;\r\n persianDate: string;\r\n eventTime: string;\r\n\r\n}\r\n","\r\nexport enum ErrorOutput {\r\n None = 0,\r\n VerificationSms_TryCountMaximumReached,\r\n VerificationSms_GUIDCodeNotFound,\r\n VerificationSms_CodeIsMismatch,\r\n VerificationSms_SentCodeTimeOut,\r\n /// \r\n /// راننده ای با این کد ملی ثبت نشده است\r\n /// \r\n DriverLogin_driverNotFound,\r\n /// \r\n /// شماره موبایل وارد شده با شماره ثبت شده در سیستم متفاوت است - برای لاگین های بار دوم بهب عد\r\n /// \r\n DriverLogin_MobileIsMisMatch,\r\n /// \r\n /// شماره وارد شده متعلق به این راننده نمی باشد\r\n /// \r\n DriverLogin_ShahkarFailed,\r\n DriverSuccessfull_GUIDMismatch\r\n}\r\nexport class ErrorOutputMessage {\r\n static getText(err: ErrorOutput) {\r\n switch (err) {\r\n case ErrorOutput.None:\r\n return '';\r\n case ErrorOutput.VerificationSms_CodeIsMismatch:\r\n return 'کد وارد شده صحیح نمی باشد';\r\n case ErrorOutput.VerificationSms_GUIDCodeNotFound:\r\n return 'خطا در اطلاعات ورودی - لطفا صفحه را بسته و دوباره امتحان کنید';\r\n case ErrorOutput.VerificationSms_SentCodeTimeOut:\r\n return 'کد ارسالی منقضی شده است';\r\n case ErrorOutput.VerificationSms_TryCountMaximumReached:\r\n return 'خطا به دلیل تلاش بیش از حد مجاز';\r\n case ErrorOutput.DriverLogin_driverNotFound:\r\n return \"رانند ه ای با این کد ملی ثبت نشده است\";\r\n case ErrorOutput.DriverLogin_MobileIsMisMatch:\r\n return \"شماره همراه وارد شده صحیح نیست\";\r\n case ErrorOutput.DriverLogin_ShahkarFailed:\r\n return \"اطلاعات وارد شده صحیح نمی باشد\";\r\n case ErrorOutput.DriverSuccessfull_GUIDMismatch:\r\n return \"خطا در داده های دریافتی\";\r\n\r\n\r\n\r\n default:\r\n return null;\r\n }\r\n }\r\n}\r\nexport enum driverStatusinStation {\r\n None,\r\n InQueue,\r\n InTrip\r\n}\r\nexport enum StationSteps {\r\n None,\r\n Origin ,\r\n}\r\n","import { CallLog } from \"./callLog\";\r\nimport { ErrorOutput } from \"./enumtype\";\r\nimport { Passanger } from \"./passanger\";\r\n\r\nexport class LastCallInfo {\r\n callInfo: CallLog;\r\n passangerInfo: Passanger;\r\n error: ErrorOutput ;\r\n}\r\n \r\n","export class OperatorTable {\r\n id: number;\r\n operatorName: string;\r\n mobile: string;\r\n voipno: number;\r\n username: string;\r\n password: string;\r\n guidCode: string;\r\n countThisOperator: number;\r\n countAll: number;\r\n adminLevel: number;\r\n isActive: boolean;\r\n}\r\n","import { NumericLiteral } from \"typescript\";\r\n\r\nexport class Passanger {\r\n id: number;\r\n fName: string;\r\n lName: string;\r\n mobile: string;\r\n nationalCode: string;\r\n gender: boolean;\r\n fixedComment: string;\r\n lockDriver: string;\r\n serviceCount: number;\r\n mobiles: string;\r\n \r\n}\r\n \r\n","export class Profile {\r\n id: number;\r\n todayPrice: number;\r\n totalPrice: number;\r\n monthPrice: number;\r\n todayCount: number;\r\n totalCount: number;\r\n monthCount: number;\r\n serviceTime: number;\r\n totalServiceTime: number;\r\n serviceTimeHour: string;\r\n serviceTimeMinute: string;\r\n serviceTimeMonth: number;\r\n serviceTimeHourMonth: string;\r\n serviceTimeMinuteMonth: string;\r\n workTimeHour: string;\r\n workTimeMinute: string;\r\n workTime: number;\r\n workTimeHourMonth: string;\r\n workTimeMinuteMonth: string;\r\n workTimeMonth: number;\r\n serviceTimes: string;\r\n monthCounts: string;\r\n workTimes: string;\r\n prices: string;\r\n sumEtebariToday: number;\r\n sumEtebariMonth: number;\r\n sumEtebariTotal: number;\r\n sumDebit: number;\r\n sumCredit: number;\r\n mande: number;\r\n\r\n}\r\n \r\n","export class routingInfo {\r\n distanceValue: string;\r\n distanceText: string;\r\n durationValue: string;\r\n durationText: string;\r\n polylines: string[];\r\n summaryTotal: string;\r\n}\r\n\r\n\r\n \r\nexport class searchResult {\r\n category: string;\r\n type: string;\r\n region: string;\r\n neighbourhood: string;\r\n x: number;\r\n y: number;\r\n title: string;\r\n address: string;\r\n}\r\n\r\n\r\n\r\n","export class SaveServiceResult {\r\n id: number;\r\n result: saveservicresultType;\r\n driverName: string;\r\n carName: string;\r\n carColor: string;\r\n carPelaque: string;\r\n serviceGUID: string;\r\n msg: string;\r\n requestID: number;\r\n\r\n}\r\nexport enum saveservicresultType {\r\n //جالتی که راننده اختصاص داده شد\r\n driverFound,\r\n // راننده ای وجود نداردو اتمام فرآیند\r\n driverNotFound,\r\n // در حال جستجوی راننده - راننده قطعی وجود نداشته و در حالپیشنهاد به راننده ها می باشد\r\n inSearchingDriver,\r\n update_lastServiceIsCancel,\r\n update_SentAlarmForDriver,\r\n update_NoChange,\r\n\r\n \r\n\r\n}\r\n \r\n","export class Service {\r\n \r\n carTypeName: string;\r\n colorTypeName: string;\r\n pelaqueIR: string;\r\n pelaqueLetter: string;\r\n pelaque2: string;\r\n pelaque3: string;\r\n passangerFName: string;\r\n passangerLName: string;\r\n passangerMobile: string;\r\n driverFName: string;\r\n driverLName: string;\r\n driverMobile: string;\r\n driverAvatar: string;\r\n safedriverAvatar: any;\r\n\r\n requestID: number;\r\n delayTimeMinute: number;\r\n serviceType: number;\r\n serviceState: number;\r\n predictTimeMinute: number;\r\n predictServiceLenghtMetter: number;\r\n serviceGUID: string;\r\n createDateTime: Date;\r\n originAddr: string;\r\n destinationAddr: string;\r\n \r\n \r\n}\r\n\r\n/*\r\n * protected int _iD;\r\n protected int _driverID = -1;\r\n protected int _passangerID = -1;\r\n protected int _serviceType = -1;\r\n protected int _carID = -1;\r\n protected DateTime _createDateTime;\r\n protected DateTime _finishDateTime;\r\n protected double _originLat;\r\n protected double _originLng;\r\n protected double _destination1Lat;\r\n protected double _destination1Lng;\r\n protected double _destination2Lat;\r\n protected double _destination2Lng;\r\n protected int _serviceState = -1;\r\n protected int _price;\r\n protected int _countOfPassangers;\r\n protected int _driverVoteToPassanger;\r\n protected int _delayTimeMinute;\r\n protected int _predictTimeMinute;\r\n protected decimal _predictServiceLenghtMetter;\r\n protected decimal _realServiceLenghtMetter;\r\n protected string _serviceGUID = String.Empty;\r\n protected int _requestID ;\r\n */\r\n \r\n","export class ServiceInfo {\r\n // این کلاس برای نمایش و گزارش لیست صسفرهای مسافر استفاده شده است\r\n tarikhStart: string;\r\n saatStart: string;\r\n originAddr: string;\r\n destinationAddr: string;\r\n driverName: string;\r\n driverCode: string;\r\n serviceStateName: string;\r\n serviceState: number;\r\n id: number;\r\n avatar: string;\r\n safeAvatar: any;\r\n serviceGuid: string;\r\n price: string;\r\n saatForm: string;\r\n saatAccept: string;\r\n requestID: number;\r\n stationID: number;\r\n reservedDate: string;\r\n typePardakhtName: string;\r\n updatablePrice: boolean;\r\n anam: string;\r\n requestComment: string;\r\n darEkhtiar: boolean;\r\n}\r\n\r\nexport class AllServiceInfo {\r\n \r\n tarikhStart: string;\r\n saatStart: string;\r\n saatModify: string;\r\n originAddr: string;\r\n destinationAddr: string;\r\n driverName: string;\r\n driverCode: string;\r\n serviceStateName: string;\r\n id: number;\r\n avatar: string;\r\n safeAvatar: any;\r\n serviceGuid: string;\r\n price: string;\r\n saatForm: string;\r\n saatAccept: string;\r\n requestID: number;\r\n stationID: number;\r\n passangerName: string;\r\n passangerMobile: string;\r\n passangerAddress: string;\r\n driverMobile: string;\r\n timedConsume: string;\r\n operatorName: string;\r\n modifyOperatorName: string;\r\n free: string;\r\n driverCount: number;\r\n tripComment: string;\r\n driverID: number;\r\n\r\n serviceState: number;\r\n requestResult: number;\r\n typePardakhtName:string\r\n\r\n}\r\n\r\n","import { Driver } from \"./driver\";\r\n\r\n export class IShift {\r\n id: number;\r\n date: Date | null;\r\n shiftAsrDriverID: number | null;\r\n shiftNightDriverID: number | null;\r\n datePersian: string;\r\n\r\n date_dayNumber1: number;\r\n date_dayNumber2: number;\r\n driver1: Driver;\r\n driver2: Driver;\r\n driver1Name: string;\r\n driver1Code: string;\r\n driver2Code: string;\r\n driver2Name: string;\r\n monthNumber1: number;\r\n monthNumber2: number;\r\n dayWeekName: string;\r\n avatarAsr: string;\r\n avatarNight: string;\r\n\r\n}\r\n\r\n \r\n","export class SocketMessage {\r\n MessageType: string;\r\n Payload: any\r\n}\r\nexport class NotificationModel {\r\n guidCode: string;\r\n msgType: SocketMessageType;\r\n}\r\nexport class SquareChangeRequest {\r\n Id: number;\r\n Color: string;\r\n Name: string;\r\n}\r\nexport class Square {\r\n Id: number;\r\n Color: string;\r\n}\r\n\r\nexport enum SocketMessageType {\r\n GetClientInfo,\r\n /// \r\n /// در صورتی که کلاینت مسافر باشد در زمان اعلام مشخصات خود از این نوع پیام استفاده می کند\r\n /// \r\n SetPassangerInfo,\r\n /// \r\n /// اعلام مشخصات راننده در اپلیکیشن راننده در زمان معرفی خود\r\n /// \r\n SetDriverInfo,\r\n /// \r\n /// ارسال اطلاعات اپراتور در زمان معرفی خود بعد از باز کردن سوکت\r\n /// \r\n SetOperatorInfo,\r\n /// \r\n /// ثبت درخواست سفر توسط مسافر\r\n /// \r\n RequestServiceCreate,\r\n RequestServiceUpdate,\r\n DriverNotExistForThisRequest,\r\n /// \r\n /// پیشنهاد یک سفر به راننده\r\n /// \r\n ProposedRequestServive,\r\n FinishedProposedRequestServive,\r\n FinishedBroadCastRequestServive,\r\n AcceptProposedRequest,\r\n RejectProposedRequest,\r\n ServiceRequestAssigned,\r\n RequestServiceCancelByPassanger,\r\n ServiceGetSubmitedSuccessfully,\r\n ServieState_GotoOrigin ,\r\n ServiceState_OriginReceived,\r\n ServiceState_PassangerArrived,\r\n SuccessfullAlertOnCallCenter=16\r\n \r\n\r\n\r\n}\r\n","import { saveservicresultType } from \"./saveserviceresult\";\r\n\r\nexport class Station {\r\n id: number;\r\n name: string;\r\n length: number;\r\n distanceKM: number;\r\n distanceMinute: number;\r\n lat: number;\r\n lng: number;\r\n guidDriver: string;\r\n serviceResult: saveservicresultType;\r\n radios: number;\r\n reservedCount: number;\r\n capacity: number;\r\n requestCount: number;\r\n code: string;\r\n\r\n \r\n}\r\n\r\nexport class StationNeighbor {\r\n id: number;\r\n rowIndex: number;\r\n driverCodes: string;\r\n \r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { GlobalVariable } from '../globalVariable';\r\n\r\nexport class StationQueueInfo {\r\n fName: string;\r\n lName: string;\r\n pelaque2: string;\r\n pelaque3: string;\r\n pelaqueIR: string;\r\n pelaqueLetter: string;\r\n carName: string;\r\n colorName: string;\r\n avatar: string;\r\n safeAvatar: any;\r\n driverCode: string;\r\n lat: number;\r\n lng: number;\r\n pos: boolean;\r\n mobile: string;\r\n workingMobile: string;\r\n priority: string;\r\n driverID: number;\r\n stationID: number;\r\n}\r\n \r\n","export default \"div_origin {\\r\\n text-align: right;\\r\\n direction: rtl;\\r\\n width: 95%;\\r\\n background-color: white;\\r\\n border-radius: 8px;\\r\\n background: white;\\r\\n padding: 8px;\\r\\n margin-left: auto;\\r\\n margin-right: auto;\\r\\n margin-top: 8px;\\r\\n margin-bottom: 8px;\\r\\n}\\r\\n\\r\\n.btnreq {\\r\\n display: block;\\r\\n background: #32cb00;\\r\\n width: 95%;\\r\\n margin-left: auto;\\r\\n margin-right: auto;\\r\\n margin-top: 8px;\\r\\n margin-bottom: 8px;\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.spanAddr {\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbmV3cmVxdWVzdC9uZXdyZXF1ZXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxpQkFBaUI7RUFDakIsY0FBYztFQUNkLFVBQVU7RUFDVix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2Ysa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLFlBQVk7QUFDZDs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQiIsImZpbGUiOiJzcmMvYXBwL25ld3JlcXVlc3QvbmV3cmVxdWVzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiZGl2X29yaWdpbiB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgZGlyZWN0aW9uOiBydGw7XHJcbiAgd2lkdGg6IDk1JTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgcGFkZGluZzogOHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4uYnRucmVxIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kOiAjMzJjYjAwO1xyXG4gIHdpZHRoOiA5NSU7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi10b3A6IDhweDtcclxuICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgaGVpZ2h0OiAzNXB4O1xyXG59XHJcblxyXG4uc3BhbkFkZHIge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbiJdfQ== */\";","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { LocationInfo, PageState } from '../globalVariable';\r\nimport { MarkerType } from '../lib/markerHelper';\r\nimport { WebSocketService } from '../lib/web-socket.service';\r\nimport { ServiceRequest } from '../model/ServiceRequest';\r\nimport { NotificationModel, SocketMessageType } from '../model/socketmodels';\r\nimport { DrivernotfoundComponent } from '../passanger/drivernotfound/drivernotfound.component';\r\nimport { WaitforRequestComponent } from '../passanger/waitfor-request/waitfor-request.component';\r\nimport { ServiceRequestService } from '../lib/serviceLib/servicerequestservice.service';\r\nimport { TaxiserviceService } from '../lib/serviceLib/taxiservice.service';\r\nimport { TaximapComponent } from '../taximap/taximap.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-newrequest',\r\n templateUrl: './newrequest.component.html',\r\n styleUrls: ['./newrequest.component.css']\r\n})\r\n\r\nexport class NewrequestComponent implements OnInit {\r\n @ViewChild(\"map\", { static: false })\r\n public map: TaximapComponent;\r\n passangerGuid = '38F8ED9A-0DB2-43C7-9A7F-A1564E43A5BE'\r\n passangerID = 1\r\n StateName = ''\r\n guidRequest = ''\r\n CurrentState = PageState.None;\r\n originPoint = new LocationInfo();\r\n destinationPoint = new LocationInfo();\r\n constructor(\r\n private requestSerivce: ServiceRequestService,\r\n private taxiSerivce: TaxiserviceService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private socketService: WebSocketService,\r\n private dialog: MatDialog) {\r\n \r\n \r\n \r\n this.socketService.meesageList$.subscribe(announcement => {\r\n if (announcement) {\r\n this.processReceivedSocketMessage(announcement);\r\n }\r\n });\r\n\r\n }\r\n getService(guidService: any) {\r\n //console.warn('service accepted by :' + guidService);\r\n this.router.navigate(['passanger/service'], { queryParams: { guid: guidService } });\r\n\r\n }\r\n processReceivedSocketMessage(messageBox: NotificationModel) {\r\n //console.warn('msg is received')\r\n //console.warn(messageBox)\r\n switch (messageBox.msgType) {\r\n case SocketMessageType.GetClientInfo:\r\n this.socketService.sendMessage(this.passangerGuid, SocketMessageType.SetPassangerInfo);\r\n break;\r\n case SocketMessageType.ServiceRequestAssigned:\r\n //this.socketService.sendMessage(this.passangerGuid, SocketMessageType.SetPassangerInfo);\r\n this.closeloadingBar();\r\n this.getService(messageBox.guidCode);\r\n break;\r\n case SocketMessageType.DriverNotExistForThisRequest:\r\n this.closeloadingBar();\r\n this.openNotFoundError()\r\n break;\r\n\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n ngOnInit() {\r\n this.map = new TaximapComponent();\r\n this.setState(PageState.OriginDefine);\r\n this.socketService.startSocket();\r\n this.route.queryParams.subscribe(params => {\r\n \r\n if (params['showWaiting']) {\r\n this.openloadingBar()\r\n }\r\n else if (params['showNotFound']) {\r\n this.openNotFoundError()\r\n }\r\n \r\n });\r\n }\r\n\r\n setState(newState: any) {\r\n\r\n this.CurrentState = newState;\r\n switch (this.CurrentState) {\r\n case PageState.DestinationDefine:\r\n this.StateName = 'تایید مقصد'\r\n break;\r\n case PageState.None:\r\n case PageState.OriginDefine:\r\n this.StateName = 'تایید مبدا'\r\n break;\r\n case PageState.RequestTrip:\r\n this.StateName = 'درخواست سفر'\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n setOrigin(cordinates: any) {\r\n this.map.addMarker(cordinates[0], cordinates[1], MarkerType.origin);\r\n this.originPoint.setFromCordinate(cordinates);\r\n var s = this.taxiSerivce.getAddressFromLocation(this.originPoint.lat, this.originPoint.ln);\r\n s.subscribe(_res => {\r\n this.originPoint.desc = _res;\r\n });\r\n this.setState(PageState.DestinationDefine);\r\n }\r\n setDestination(cordinates: any) {\r\n this.map.addMarker(cordinates[0], cordinates[1], MarkerType.destination);\r\n this.destinationPoint.setFromCordinate(cordinates);\r\n this.taxiSerivce.getAddressFromLocation(this.destinationPoint.lat, this.destinationPoint.ln).subscribe(_res => {\r\n this.destinationPoint.desc = _res;\r\n });\r\n this.setState(PageState.RequestTrip);\r\n //this.routing();\r\n\r\n }\r\n routing() {\r\n this.taxiSerivce.routing(this.originPoint.lat, this.originPoint.ln, this.destinationPoint.lat, this.destinationPoint.ln).subscribe(_res => {\r\n //console.warn('ply:' + _res);\r\n //console.warn(_res.distanceText);\r\n //console.warn(_res.distanceValue);\r\n //console.warn(_res.durationText);\r\n //console.warn(_res.durationValue);\r\n //console.warn(_res.polylines);\r\n //console.warn(_res.summaryTotal);\r\n\r\n //this.map.showpoly2(_res.polylines, this.originPoint.ln, this.originPoint.lat, this.destinationPoint.ln, this.destinationPoint.lat);\r\n });\r\n }\r\n currentLat = 0\r\n currentLng = 0\r\n map_MoveEnd(data: any) {\r\n this.currentLat = data.location[0]\r\n this.currentLng = data.location[1]\r\n if (this.CurrentState == PageState.OriginDefine) {\r\n var s = this.taxiSerivce.getAddressFromLocation(this.currentLat, this.currentLng);\r\n s.subscribe(_res => {\r\n this.originPoint.desc = _res;\r\n });\r\n\r\n }\r\n else if (this.CurrentState == PageState.DestinationDefine) {\r\n var s = this.taxiSerivce.getAddressFromLocation(data.location[0], data.location[1]);\r\n s.subscribe(_res => {\r\n this.destinationPoint.desc = _res;\r\n });\r\n }\r\n }\r\n map_Click(cordinates: any) {\r\n //if (this.CurrentState == PageState.OriginDefine) {\r\n // this.setOrigin(cordinates);\r\n // this.setState(PageState.DestinationDefine);\r\n // this.map.showMarkerOnCenter = true;\r\n //}\r\n //else if (this.CurrentState == PageState.DestinationDefine) {\r\n // this.setDestination(cordinates);\r\n // this.setState(PageState.RequestTrip);\r\n // this.map.showMarkerOnCenter = false;\r\n //}\r\n //this.map.addMarker(cordinates[0], cordinates[1]);\r\n //console.warn(cordinates);\r\n }\r\n openNotFoundError() {\r\n this.dialogRefDrvNotFound = this.dialog.open(DrivernotfoundComponent, {\r\n height: '400px',\r\n width: '600px',\r\n data: { guidRequest: this.guidRequest }\r\n });\r\n this.dialogRefDrvNotFound.afterClosed().subscribe((result : any) => {\r\n if (result == 'Retry') {\r\n this.saveRequest();\r\n\r\n }\r\n\r\n });\r\n }\r\n openloadingBar() {\r\n this.dialogRef = this.dialog.open(WaitforRequestComponent, {\r\n height: '400px',\r\n width: '600px',\r\n data: { guidRequest: this.guidRequest }\r\n });\r\n this.dialogRef.afterClosed().subscribe((result : any) => {\r\n if (result == 'CancelRequest') {\r\n //console.warn('CancelRequest is received');\r\n this.socketService.sendMessage(this.guidRequest, SocketMessageType.RequestServiceCancelByPassanger);\r\n\r\n }\r\n\r\n });\r\n }\r\n closeloadingBar() {\r\n //console.warn('closeloadingBar')\r\n this.dialogRef.close('NotAnswered');\r\n }\r\n dialogRef: MatDialogRef;\r\n dialogRefDrvNotFound: MatDialogRef;\r\n saveRequest() {\r\n //console.warn('saveRequest is click');\r\n\r\n\r\n if (this.CurrentState == PageState.OriginDefine) {\r\n this.setOrigin([this.currentLat, this.currentLng]);\r\n //this.map.showMarkerOnCenter = true;\r\n\r\n }\r\n else if (this.CurrentState == PageState.DestinationDefine) {\r\n this.setDestination([this.currentLat, this.currentLng]);\r\n //this.map.showMarkerOnCenter = false;\r\n\r\n }\r\n else if (this.CurrentState == PageState.RequestTrip) {\r\n //this.map.showMarkerOnCenter = false;\r\n\r\n let req = new ServiceRequest();\r\n req.id = 1;\r\n req.destinationLat = this.destinationPoint.lat;\r\n req.destinationLng = this.destinationPoint.ln;\r\n req.originLat = this.originPoint.lat;\r\n req.originLng = this.originPoint.ln;\r\n req.destinationAddr = this.destinationPoint.desc;\r\n req.destination2Addr = '';\r\n req.originAddr = this.originPoint.desc;\r\n req.passangerID = this.passangerID;\r\n //console.warn(req);\r\n\r\n this.requestSerivce.saveServiceReuest(req).subscribe(_res => {\r\n this.guidRequest = _res;\r\n this.socketService.sendMessage(_res, SocketMessageType.RequestServiceCreate);\r\n //console.warn(_res);\r\n this.openloadingBar();\r\n });\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL25ld3VpL25ldy1mb290ZXIvbmV3LWZvb3Rlci5jb21wb25lbnQuY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-new-footer',\r\n templateUrl: './new-footer.component.html',\r\n styleUrls: ['./new-footer.component.css']\r\n})\r\nexport class NewFooterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL25ld3VpL25ldy1tZW51L25ldy1tZW51LmNvbXBvbmVudC5jc3MifQ== */\";","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SwUpdate } from '@angular/service-worker';\r\n\r\n@Component({\r\n selector: 'app-new-menu',\r\n templateUrl: './new-menu.component.html',\r\n styleUrls: ['./new-menu.component.css']\r\n})\r\nexport class NewMenuComponent implements OnInit {\r\n\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private swUpdate: SwUpdate\r\n ) { }\r\n operatorguid: string;\r\n ngOnInit() {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n /*this.loadOperatorInfo(this.operatorguid);*/\r\n });\r\n\r\n }\r\n showMenu(item) {\r\n if (item == 'dashboard') {\r\n this.router.navigate(['cc/dashboard'], { queryParams: { guid: this.operatorguid } });\r\n\r\n }\r\n if (item == 'newForm') {\r\n this.router.navigate(['cc/new'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n if (item == 'newVanForm') {\r\n this.router.navigate(['cc/newvan'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n \r\n if (item == 'newFormSimple') {\r\n this.router.navigate(['cc/newsimple'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n \r\n else if (item == 'searchForms') {\r\n this.router.navigate(['cc/searchforms'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'formsList') {\r\n this.router.navigate(['cc/formslist'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'regComplaint') {\r\n this.router.navigate(['cc/regComplaint'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'complaints') {\r\n this.router.navigate(['cc/complaints'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'regFounded') {\r\n this.router.navigate(['cc/regFounded'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'foundeds') {\r\n this.router.navigate(['cc/foundeds'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'regPassanger') {\r\n this.router.navigate(['cc/regPassanger'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'passangers') {\r\n this.router.navigate(['cc/passangers'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'regStation') {\r\n this.router.navigate(['cc/regStation'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'stations') {\r\n this.router.navigate(['cc/stations'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'bisim') {\r\n this.router.navigate(['cc/manage'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'operatosmanage') {\r\n this.router.navigate(['cc/operators'], { queryParams: { guid: this.operatorguid } });\r\n\r\n }\r\n else if (item == 'manage') {\r\n this.router.navigate(['cc/manageall'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n \r\n \r\n else if (item == 'managedrivers') {\r\n this.router.navigate(['cc/drivers'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'shift') {\r\n this.router.navigate(['cc/shift'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'newWebForm') {\r\n this.router.navigate(['cc/newweb'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'logs') {\r\n this.router.navigate(['cc/logs'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'drivermonitor') {\r\n this.router.navigate(['cc/drivermonitor'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'trafficmonitor') {\r\n this.router.navigate(['cc/trafficmonitor'], { queryParams: { guid: this.operatorguid } });\r\n }\r\n else if (item == 'colors') {\r\n this.router.navigate(['cc/baseinfo'], { queryParams: { guid: this.operatorguid , gid:3 } });\r\n }\r\n else if (item == 'carTypes') {\r\n this.router.navigate(['cc/baseinfo'], { queryParams: { guid: this.operatorguid, gid: 2 } });\r\n }\r\n else if (item == 'serviceType') {\r\n this.router.navigate(['cc/baseinfo'], { queryParams: { guid: this.operatorguid, gid: 10 } });\r\n }\r\n\r\n else if (item == 'report_driver') {\r\n this.router.navigate(['cc/report'], { queryParams: { guid: this.operatorguid, gid: 2 } });\r\n }\r\n else if (item == 'report_karkard') {\r\n this.router.navigate(['cc/karkard'], { queryParams: { guid: this.operatorguid, gid: 2 } });\r\n }\r\n else if (item == 'report_operator') {\r\n this.router.navigate(['cc/reportoperator'], { queryParams: { guid: this.operatorguid, gid: 2 } });\r\n }\r\n else if (item == 'config') {\r\n this.router.navigate(['cc/setting'], { queryParams: { guid: this.operatorguid, gid: 2 } });\r\n }\r\n else if (item == 'report_commission') {\r\n this.router.navigate(['cc/reportcommission'], { queryParams: { guid: this.operatorguid, gid: 2 } });\r\n } else if (item == 'abonman') {\r\n this.router.navigate(['cc/abonman'], { queryParams: { guid: this.operatorguid, gid: 2 } });\r\n }\r\n else if (item == 'updateversion') {\r\n\r\n this.swUpdate.available.subscribe(() => {\r\n this.swUpdate.activateUpdate().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n}\r\n \r\n \r\n console.log(item);\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL25ld3VpL25ldy1uYXZiYXIvbmV3LW5hdmJhci5jb21wb25lbnQuY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormControl } from '@angular/forms';\r\nimport { OperatorService } from '../../lib/serviceLib/operatorservice.service';\r\nimport { OperatorTable } from '../../model/operatorTable';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { GlobalVariable } from '../../globalVariable';\r\nimport { environment } from '../../../environments/environment.prod';\r\n\r\n@Component({\r\n selector: 'app-new-navbar',\r\n templateUrl: './new-navbar.component.html',\r\n styleUrls: ['./new-navbar.component.css']\r\n})\r\nexport class NewNavbarComponent implements OnInit {\r\n\r\n loadOperatorInfo(guidCode: any) {\r\n this.callCenterService.getOperatorInfo(guidCode).subscribe(res => {\r\n if (res) {\r\n this.operatorInfo = res;\r\n GlobalVariable.adminLevel = this.operatorInfo.adminLevel;\r\n\r\n } else {\r\n\r\n this.router.navigate(['login'], { queryParams: {} });\r\n }\r\n });\r\n } \r\n constructor(private router: Router,\r\n private route: ActivatedRoute,\r\n private callCenterService: CallCenterService,\r\n\r\n private operatorService: OperatorService,\r\n\r\n\r\n ) { }\r\n telID = '';\r\n operatorguid: any;\r\n\r\n ngOnInit(): void {\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n this.loadOperatorInfo(this.operatorguid);\r\n\r\n });\r\n }\r\n\r\n getCallClick() {\r\n this.router.navigate(['cc/new'], { queryParams: { guid: this.operatorguid, telID: this.telID} });\r\n\r\n }\r\n operatorInfo = new OperatorTable();\r\n\r\n signout() {\r\n\r\n try {\r\n this.operatorService.logout(this.operatorInfo.id,false).subscribe(\r\n res => {\r\n this.router.navigate(['login'], {});\r\n })\r\n }\r\n catch (e) {\r\n\r\n }\r\n\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL25ld3VpL25ldy11c2VyaW5mby9uZXctdXNlcmluZm8uY29tcG9uZW50LmNzcyJ9 */\";","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-new-userinfo',\r\n templateUrl: './new-userinfo.component.html',\r\n styleUrls: ['./new-userinfo.component.css']\r\n})\r\nexport class NewUserinfoComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL25ld3VpL25ld3Rlc3QvbmV3dGVzdC5jb21wb25lbnQuY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-newtest',\r\n templateUrl: './newtest.component.html',\r\n styleUrls: ['./newtest.component.css']\r\n})\r\nexport class NewtestComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Bhc3Nhbmdlci9kcml2ZXJub3Rmb3VuZC9kcml2ZXJub3Rmb3VuZC5jb21wb25lbnQuY3NzIn0= */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\n\r\n@Component({\r\n selector: 'app-drivernotfound',\r\n templateUrl: './drivernotfound.component.html',\r\n styleUrls: ['./drivernotfound.component.css']\r\n})\r\nexport class DrivernotfoundComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef, private route: ActivatedRoute, private taxiSerivce: DriverserviceService, @Inject(MAT_DIALOG_DATA) public data: { guidRequest: string }) { }\r\n\r\n ngOnInit() {\r\n }\r\n retry() {\r\n this.dialogRef.close('Retry')\r\n }\r\n\r\n cancel() {\r\n this.dialogRef.close('Cancel')\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Bhc3Nhbmdlci9zZXJ2aWNlcnVuaW5nL3NlcnZpY2VydW5pbmcuY29tcG9uZW50LmNzcyJ9 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Service } from '../../model/service';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\n\r\n@Component({\r\n selector: 'app-serviceruning',\r\n templateUrl: './serviceruning.component.html',\r\n styleUrls: ['./serviceruning.component.css']\r\n})\r\nexport class ServiceruningComponent implements OnInit {\r\n guidService = ''\r\n currentService = new Service();\r\n constructor(private route: ActivatedRoute, private taxiSerivce: ServiceserviceService) { }\r\n loadService(service: Service) {\r\n //console.warn(service);\r\n this.currentService = service; \r\n }\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n this.guidService = params['guid'];\r\n \r\n this.taxiSerivce.getService(this.guidService).subscribe(_res => {\r\n this.loadService(_res);\r\n });\r\n });\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Bhc3Nhbmdlci93YWl0Zm9yLXJlcXVlc3Qvd2FpdGZvci1yZXF1ZXN0LmNvbXBvbmVudC5jc3MifQ== */\";","import {Component, Inject, OnInit} from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {DriverserviceService} from '../../lib/serviceLib/driverservice.service';\r\n\r\n@Component({\r\n selector: 'app-waitfor-request',\r\n templateUrl: './waitfor-request.component.html',\r\n styleUrls: ['./waitfor-request.component.css']\r\n})\r\nexport class WaitforRequestComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private route: ActivatedRoute,\r\n private taxiSerivce: DriverserviceService,\r\n @Inject(MAT_DIALOG_DATA) public data: { guidRequest: string }\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n cancelrequest() {\r\n this.dialogRef.close('CancelRequest');\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3JlcG9ydC9tb250aGJ5bW9udGgvbW9udGhieW1vbnRoLmNvbXBvbmVudC5jc3MifQ== */\";","import { Component, OnInit } from '@angular/core';\r\nimport { ICommissionReport, IMonthbyMonthReport } from '../../lib/interfaces/iServiceReport'\r\nimport { ReportService } from '../../lib/serviceLib/report.service'\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-monthbymonth',\r\n templateUrl: './monthbymonth.component.html',\r\n styleUrls: ['./monthbymonth.component.css']\r\n})\r\nexport class MonthbymonthComponent implements OnInit {\r\n\r\n constructor(private repSrv: ReportService,\r\n private route: ActivatedRoute\r\n ) {\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.route.queryParams.subscribe(params => {\r\n this.driverID = params['did'];\r\n\r\n });\r\n this.report();\r\n \r\n }\r\n driverID = 11;\r\n totalprice = 0;\r\n totalcommission = 0;\r\n totalmande = 0;\r\n totalEtebari = 0;\r\n totaldebitCreditMande = 0;\r\n reports: IMonthbyMonthReport[];\r\n driveracc: { [id: number]: number; } = {};\r\n count = 0;\r\n\r\n calctotal() {\r\n this.totalprice = 0;\r\n this.totalcommission = 0;\r\n this.totalmande = 0;\r\n\r\n this.count = this.reports?.length ?? 0;\r\n this.reports.forEach(t => {\r\n\r\n if (!t.debitCreditMande) {\r\n t.debitCreditMande = 0;\r\n }\r\n\r\n\r\n if (t.sumPrice) {\r\n \r\n this.totalprice += t.sumPrice;\r\n\r\n this.totalcommission += t.commissionValue;\r\n this.totalmande += t.mande;\r\n this.totalEtebari += t.sumEtebari;\r\n this.totaldebitCreditMande += t.debitCreditMande;\r\n\r\n }\r\n else\r\n t.sumPrice = 0;\r\n\r\n\r\n })\r\n }\r\n calcMande() {\r\n var first = true;\r\n var MandeKol = this.commissionInfo.mande;\r\n this.reports.reverse().forEach(t => {\r\n\r\n if (first) {\r\n t.mandeMain = MandeKol;\r\n MandeKol = t.mandeMain + t.mande;\r\n first = false;\r\n }\r\n else {\r\n t.mandeMain = MandeKol;\r\n MandeKol = t.mandeMain + t.mande;\r\n\r\n }\r\n })\r\n }\r\n commissionInfo: ICommissionReport;\r\n report() {\r\n \r\n\r\n this.repSrv.MonthByMonthReport(this.driverID).subscribe(t => {\r\n this.reports = t;\r\n console.log(t);\r\n this.calctotal();\r\n this.repSrv.CommissionReport('', this.driverID).subscribe(t => {\r\n this.commissionInfo = t[0];\r\n this.calcMande();\r\n });\r\n\r\n \r\n });\r\n }\r\n}\r\n","export default \"\\r\\n:host ::ng-deep app-report-trip .reportmain {\\r\\n overflow-x: auto !important;\\r\\n width:100%;\\r\\n}\\r\\n:host ::ng-deep app-report-trip .reportmain table {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmVwb3J0L3JlcG9ydC1ieWRyaXZlci9yZXBvcnQtYnlkcml2ZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7RUFDRSwyQkFBMkI7RUFDM0IsVUFBVTtBQUNaO0FBQ0E7RUFDRSxXQUFXO0FBQ2IiLCJmaWxlIjoic3JjL2FwcC9yZXBvcnQvcmVwb3J0LWJ5ZHJpdmVyL3JlcG9ydC1ieWRyaXZlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbjpob3N0IDo6bmctZGVlcCBhcHAtcmVwb3J0LXRyaXAgLnJlcG9ydG1haW4ge1xyXG4gIG92ZXJmbG93LXg6IGF1dG8gIWltcG9ydGFudDtcclxuICB3aWR0aDoxMDAlO1xyXG59XHJcbjpob3N0IDo6bmctZGVlcCBhcHAtcmVwb3J0LXRyaXAgLnJlcG9ydG1haW4gdGFibGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbiJdfQ== */\";","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { Driver } from '../../model/driver';\r\nimport { ReportTripComponent } from '../report-trip/report-trip.component';\r\n\r\n@Component({\r\n selector: 'app-report-bydriver',\r\n templateUrl: './report-bydriver.component.html',\r\n styleUrls: ['./report-bydriver.component.css']\r\n})\r\nexport class ReportBydriverComponent implements OnInit {\r\n\r\n @ViewChild(ReportTripComponent) child: ReportTripComponent;\r\n\r\n \r\n\r\n constructor(private drvService: DriverserviceService,\r\n \r\n ) {\r\n \r\n }\r\n\r\n selectedDriver = new FormControl('');\r\n keyword= new FormControl('');\r\n options: string[] = [];\r\n driverList: Driver[] = [];\r\n filteredOptions: Observable;\r\n\r\n\r\n dateAz = new FormControl(new Date(), []);\r\n dateTa = new FormControl(new Date(), []);\r\n\r\n ngOnInit() {\r\n this.options = [];\r\n this.drvService.getAllDriver().subscribe(res => {\r\n this.driverList = res;\r\n res.forEach(t => {\r\n this.options.push(this.displayDriver(t));\r\n });\r\n });\r\n\r\n this.filteredOptions = this.selectedDriver.valueChanges.pipe(\r\n startWith(''),\r\n map(value => this._filter(value.toString() || '')),\r\n );\r\n\r\n }\r\n displayDriver(drv: Driver) {\r\n\r\n return drv.driverCode + ' - ' + drv.fName;\r\n }\r\n private _filter(value: string): string[] {\r\n const filterValue = value.toLowerCase();\r\n return this.options.filter(option => option.toLowerCase().includes(filterValue));\r\n }\r\n selectOption(e: MatAutocompleteSelectedEvent) {\r\n console.log(e);\r\n }\r\n\r\n\r\n driverID = 0;\r\n dateStart = '';\r\n dateFinish = '';\r\n kw = '';\r\n report() {\r\n console.log(this.dateAz.value?.toString());\r\n console.log(this.dateTa.value?.toString());\r\n console.log(this.selectedDriver.value);\r\n var driverObject: Driver;\r\n this.driverList.forEach(t => {\r\n console.log(this.displayDriver(t));\r\n if (this.selectedDriver.value == this.displayDriver(t)) {\r\n driverObject = t;\r\n }\r\n }\r\n );\r\n this.driverID = driverObject?.id;\r\n this.dateStart = this.dateAz.value?.toString();\r\n this.dateFinish = this.dateTa.value?.toString();\r\n this.kw = this.keyword.value;\r\n if (driverObject)\r\n console.log(driverObject);\r\n this.child.report();\r\n\r\n }\r\n\r\n}\r\n","export default \"\\r\\n:host ::ng-deep app-report-trip .reportmain {\\r\\n overflow-x: auto !important;\\r\\n width:100%;\\r\\n}\\r\\n:host ::ng-deep app-report-trip .reportmain table {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmVwb3J0L3JlcG9ydC1ieW9wZXJhdG9yL3JlcG9ydC1ieW9wZXJhdG9yLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0VBQ0UsMkJBQTJCO0VBQzNCLFVBQVU7QUFDWjtBQUNBO0VBQ0UsV0FBVztBQUNiIiwiZmlsZSI6InNyYy9hcHAvcmVwb3J0L3JlcG9ydC1ieW9wZXJhdG9yL3JlcG9ydC1ieW9wZXJhdG9yLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuOmhvc3QgOjpuZy1kZWVwIGFwcC1yZXBvcnQtdHJpcCAucmVwb3J0bWFpbiB7XHJcbiAgb3ZlcmZsb3cteDogYXV0byAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOjEwMCU7XHJcbn1cclxuOmhvc3QgOjpuZy1kZWVwIGFwcC1yZXBvcnQtdHJpcCAucmVwb3J0bWFpbiB0YWJsZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuIl19 */\";","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\nimport { IOperator } from '../../lib/interfaces/operator';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { OperatorService } from '../../lib/serviceLib/operatorservice.service';\r\nimport { ReportTripComponent } from '../report-trip/report-trip.component';\r\n\r\n@Component({\r\n selector: 'app-report-byoperator',\r\n templateUrl: './report-byoperator.component.html',\r\n styleUrls: ['./report-byoperator.component.css']\r\n})\r\nexport class ReportByoperatorComponent implements OnInit {\r\n\r\n @ViewChild(ReportTripComponent) child: ReportTripComponent;\r\n\r\n\r\n constructor(private drvService: OperatorService) { }\r\n\r\n selectedDriver= new FormControl('');\r\n dateAz = new FormControl(new Date(), []);\r\n dateTa = new FormControl(new Date(), []);\r\n options: string[] = [];\r\n operatorList: IOperator[] = [];\r\n filteredOptions: Observable;\r\n\r\n ngOnInit() {\r\n this.options = [];\r\n this.drvService.getAll().subscribe(res => {\r\n this.operatorList = res;\r\n res.forEach(t => {\r\n this.options.push(this.displayOperator(t));\r\n });\r\n });\r\n\r\n this.filteredOptions = this.selectedDriver.valueChanges.pipe(\r\n startWith(''),\r\n map(value => this._filter(value.toString() || '')),\r\n );\r\n\r\n }\r\n displayOperator(drv: IOperator) {\r\n return drv.username + ' - ' + drv.operatorName;\r\n }\r\n private _filter(value: string): string[] {\r\n const filterValue = value.toLowerCase();\r\n return this.options.filter(option => option.toLowerCase().includes(filterValue));\r\n }\r\n selectOption(e: MatAutocompleteSelectedEvent) {\r\n console.log(e);\r\n }\r\n operatorID = 0;\r\n dateStart = '';\r\n dateFinish = '';\r\n report() {\r\n console.log(this.dateAz.value?.toString());\r\n console.log(this.dateTa.value?.toString());\r\n console.log(this.selectedDriver.value);\r\n var operatorObject: IOperator;\r\n this.operatorList.forEach(t => {\r\n console.log(this.displayOperator(t));\r\n if (this.selectedDriver.value == this.displayOperator(t)) {\r\n operatorObject = t;\r\n }\r\n }\r\n );\r\n this.operatorID = operatorObject?.id;\r\n this.dateStart = this.dateAz.value?.toString();\r\n this.dateFinish = this.dateTa.value?.toString();\r\n console.log(operatorObject);\r\n this.child.report();\r\n\r\n }\r\n\r\n}\r\n","export default \".totalrow {\\r\\n background-color: lightgray;\\r\\n}\\r\\n\\r\\n .totalrow .count span {\\r\\n }\\r\\n\\r\\n .totalrow .total {\\r\\n text-align: left;\\r\\n padding-left: 20px;\\r\\n }\\r\\n\\r\\n .totalrow .total span {\\r\\n font-weight: bolder;\\r\\n }\\r\\n\\r\\n .priceSpan {\\r\\n cursor: pointer;\\r\\n color: blue;\\r\\n}\\r\\n\\r\\n .priceSpan:hover {\\r\\n color: red;\\r\\n }\\r\\n\\r\\n .mandePositive\\r\\n{\\r\\n\\r\\n}\\r\\n\\r\\n .mandeNegative {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmVwb3J0L3JlcG9ydC1jb21taXNzaW9uL3JlcG9ydC1jb21taXNzaW9uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSwyQkFBMkI7QUFDN0I7O0VBRUU7RUFDQTs7RUFFQTtJQUNFLGdCQUFnQjtJQUNoQixrQkFBa0I7RUFDcEI7O0VBRUU7TUFDRSxtQkFBbUI7SUFDckI7O0VBR0o7RUFDRSxlQUFlO0VBQ2YsV0FBVztBQUNiOztFQUVFO0lBQ0UsVUFBVTtFQUNaOztFQUdGOzs7QUFHQTs7RUFDQTtFQUNFLFVBQVU7QUFDWiIsImZpbGUiOiJzcmMvYXBwL3JlcG9ydC9yZXBvcnQtY29tbWlzc2lvbi9yZXBvcnQtY29tbWlzc2lvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRvdGFscm93IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyYXk7XHJcbn1cclxuXHJcbiAgLnRvdGFscm93IC5jb3VudCBzcGFuIHtcclxuICB9XHJcblxyXG4gIC50b3RhbHJvdyAudG90YWwge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICB9XHJcblxyXG4gICAgLnRvdGFscm93IC50b3RhbCBzcGFuIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgIH1cclxuXHJcblxyXG4ucHJpY2VTcGFuIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY29sb3I6IGJsdWU7XHJcbn1cclxuXHJcbiAgLnByaWNlU3Bhbjpob3ZlciB7XHJcbiAgICBjb2xvcjogcmVkO1xyXG4gIH1cclxuXHJcblxyXG4ubWFuZGVQb3NpdGl2ZVxyXG57XHJcblxyXG59XHJcbi5tYW5kZU5lZ2F0aXZlIHtcclxuICBjb2xvcjogcmVkO1xyXG59XHJcbiJdfQ== */\";","import { Component, Input, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ICommissionReport } from '../../lib/interfaces/iServiceReport';\r\nimport { ReportService } from '../../lib/serviceLib/report.service';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { InputtextComponent } from '../../shared/inputtext/inputtext.component';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-report-commission',\r\n templateUrl: './report-commission.component.html',\r\n styleUrls: ['./report-commission.component.css']\r\n})\r\nexport class ReportCommissionComponent implements OnInit {\r\n totalprice = 0;\r\n totalcommission = 0;\r\n totalbedehkari = 0;\r\n totalbestankari = 0;\r\n\r\n dayPrefix = new FormControl('02');\r\n yearPrefix = new FormControl('1403');\r\n\r\n count = 0;\r\n \r\n \r\n constructor(private repSrv: ReportService, public dialog: MatDialog,\r\n private serviceService: ServiceserviceService,\r\n\r\n ) { }\r\n reports: ICommissionReport[];\r\n ngOnInit(\r\n ): void {\r\n this.getCurrentDate();\r\n }\r\n getCurrentDate() {\r\n this.repSrv.GetCurrentActiveDate().subscribe(t => {\r\n console.log(t);\r\n this.yearPrefix.setValue(t[0]);\r\n this.dayPrefix.setValue(t[1]);\r\n });\r\n }\r\n calctotal() {\r\n this.totalprice = 0;\r\n this.totalcommission = 0;\r\n this.totalbedehkari = 0;\r\n this.totalbestankari = 0;\r\n\r\n this.count = this.reports?.length ?? 0;\r\n this.reports.forEach(t => {\r\n if (t.sumPrice) {\r\n let prc: number = t.sumPrice;\r\n if (prc > 0) this.totalprice += prc;\r\n\r\n this.totalcommission += t.commissionValue;\r\n //this.totalbedehkari += t.bedehkari;\r\n //this.totalbestankari += t.bestankari;\r\n\r\n\r\n }\r\n \r\n })\r\n }\r\n datePrefix = '1403/02';\r\n report()\r\n {\r\n this.datePrefix = this.yearPrefix.value + '/' + this.dayPrefix.value;\r\n console.log(this.datePrefix);\r\n this.repSrv.CommissionReport(this.datePrefix).subscribe(t => {\r\n this.reports = t;\r\n console.log(t);\r\n //this.calctotal();\r\n });\r\n }\r\n}\r\n","export default \".totalrow {\\r\\n background-color: lightgray;\\r\\n}\\r\\n\\r\\n .totalrow .count span {\\r\\n }\\r\\n\\r\\n .totalrow .total {\\r\\n text-align: left;\\r\\n padding-left: 20px;\\r\\n }\\r\\n\\r\\n .totalrow .total span {\\r\\n font-weight: bolder;\\r\\n }\\r\\n\\r\\n .priceSpan {\\r\\n cursor: pointer;\\r\\n color: blue;\\r\\n}\\r\\n\\r\\n .priceSpan:hover {\\r\\n color: red;\\r\\n }\\r\\n\\r\\n th {\\r\\n background-color: gray;\\r\\n color: white;\\r\\n font-weight: bolder;\\r\\n}\\r\\n\\r\\n .redSpan\\r\\n{\\r\\n color:red;\\r\\n}\\r\\n\\r\\n .darEkhtiarRow\\r\\n{\\r\\n background-color:#f7d1c2;\\r\\n\\r\\n}\\r\\n\\r\\n .EtebariRow {\\r\\n background-color: #c2f7e3;\\r\\n}\\r\\n\\r\\n .debitRow {\\r\\n background-color: red;\\r\\n color:white;\\r\\n border-color:black;\\r\\n}\\r\\n\\r\\n .creditRow {\\r\\n background-color: green;\\r\\n color: white;\\r\\n border-color: black;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmVwb3J0L3JlcG9ydC1rYXJrYXJkL3JlcG9ydC1rYXJrYXJkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSwyQkFBMkI7QUFDN0I7O0VBRUU7RUFDQTs7RUFFQTtJQUNFLGdCQUFnQjtJQUNoQixrQkFBa0I7RUFDcEI7O0VBRUU7TUFDRSxtQkFBbUI7SUFDckI7O0VBR0o7RUFDRSxlQUFlO0VBQ2YsV0FBVztBQUNiOztFQUVFO0lBQ0UsVUFBVTtFQUNaOztFQUVGO0VBQ0Usc0JBQXNCO0VBQ3RCLFlBQVk7RUFDWixtQkFBbUI7QUFDckI7O0VBQ0E7O0lBRUksU0FBUztBQUNiOztFQUNBOztJQUVJLHdCQUF3Qjs7QUFFNUI7O0VBQ0E7RUFDRSx5QkFBeUI7QUFDM0I7O0VBQ0E7RUFDRSxxQkFBcUI7RUFDckIsV0FBVztFQUNYLGtCQUFrQjtBQUNwQjs7RUFDQTtFQUNFLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1osbUJBQW1CO0FBQ3JCIiwiZmlsZSI6InNyYy9hcHAvcmVwb3J0L3JlcG9ydC1rYXJrYXJkL3JlcG9ydC1rYXJrYXJkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudG90YWxyb3cge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JheTtcclxufVxyXG5cclxuICAudG90YWxyb3cgLmNvdW50IHNwYW4ge1xyXG4gIH1cclxuXHJcbiAgLnRvdGFscm93IC50b3RhbCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgICAudG90YWxyb3cgLnRvdGFsIHNwYW4ge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgfVxyXG5cclxuXHJcbi5wcmljZVNwYW4ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBjb2xvcjogYmx1ZTtcclxufVxyXG5cclxuICAucHJpY2VTcGFuOmhvdmVyIHtcclxuICAgIGNvbG9yOiByZWQ7XHJcbiAgfVxyXG5cclxudGgge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuLnJlZFNwYW5cclxue1xyXG4gICAgY29sb3I6cmVkO1xyXG59XHJcbi5kYXJFa2h0aWFyUm93XHJcbntcclxuICAgIGJhY2tncm91bmQtY29sb3I6I2Y3ZDFjMjtcclxuXHJcbn1cclxuLkV0ZWJhcmlSb3cge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjMmY3ZTM7XHJcbn1cclxuLmRlYml0Um93IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgY29sb3I6d2hpdGU7XHJcbiAgYm9yZGVyLWNvbG9yOmJsYWNrO1xyXG59XHJcbi5jcmVkaXRSb3cge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBib3JkZXItY29sb3I6IGJsYWNrO1xyXG59XHJcbiJdfQ== */\";","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { IKarkardReport, IServiceReport } from '../../lib/interfaces/iServiceReport';\r\nimport { ReportService } from '../../lib/serviceLib/report.service';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { InputtextComponent } from '../../shared/inputtext/inputtext.component';\r\nimport { InputselectItemComponent } from '../../shared/inputselectItem/inputselectItem.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { Driver } from '../../model/driver';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\nimport { FormControl } from '@angular/forms';\r\nimport { SummaryinfoComponent } from '../../driver/summaryinfo/summaryinfo.component';\r\n\r\n@Component({\r\n selector: 'app-report-karkard',\r\n templateUrl: './report-karkard.component.html',\r\n styleUrls: ['./report-karkard.component.css']\r\n})\r\nexport class ReportKarKardComponent implements OnInit {\r\n @ViewChild(SummaryinfoComponent) child: SummaryinfoComponent;\r\n\r\n totalprice = 0;\r\n totalcommission = 0;\r\n totalbedehkari = 0;\r\n totalbestankari = 0;\r\n driverID = 1;\r\n mande = 0;\r\n driveracc: { [id: number]: number; } = {};\r\n driverInfo: Driver;\r\n count = 0;\r\n selectedDriver = new FormControl('');\r\n options: string[] = [];\r\n driverList: Driver[] = [];\r\n filteredOptions: Observable;\r\n\r\n operatorguid = '';\r\n constructor(private repSrv: ReportService, public dialog: MatDialog,\r\n private serviceService: ServiceserviceService,\r\n private drvSservice: DriverserviceService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n\r\n ) {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n this.driverID = params['gid'];\r\n\r\n });\r\n }\r\n reports: IKarkardReport[];\r\n ngOnInit(\r\n ): void {\r\n if(this.driverID > 0)\r\n this.report();\r\n\r\n \r\n this.options = [];\r\n this.drvSservice.getAllDriver().subscribe(res => {\r\n this.driverList = res;\r\n res.forEach(t => {\r\n this.options.push(this.displayDriver(t));\r\n });\r\n});\r\n\r\nthis.filteredOptions = this.selectedDriver.valueChanges.pipe(\r\n startWith(''),\r\n map(value => this._filter(value.toString() || '')),\r\n);\r\n\r\n }\r\n displayDriver(drv: Driver) {\r\n this.driverID = drv.id;\r\n return drv.driverCode + ' - ' + drv.fName;\r\n}\r\n private _filter(value: string): string[] {\r\n const filterValue = value.toLowerCase();\r\n return this.options.filter(option => option.toLowerCase().includes(filterValue));\r\n}\r\nselectOption(e: MatAutocompleteSelectedEvent) {\r\n console.log(e);\r\n}\r\n\r\n\r\n\r\ncalctotal() {\r\n this.totalprice = 0;\r\n this.totalcommission = 0;\r\n this.totalbedehkari = 0;\r\n this.totalbestankari = 0;\r\n\r\n this.count = this.reports?.length ?? 0;\r\n var isFirst = 0;\r\n var nextMande = 0;\r\n this.reports.forEach(t => {\r\n\r\n if (isFirst == 0) {\r\n isFirst = 1;\r\n t.mande = this.driverInfo.mande;\r\n nextMande = t.mande;\r\n }\r\n else {\r\n t.mande = nextMande;\r\n\r\n }\r\n if (!this.driveracc[t.driverId]) {\r\n this.driveracc[t.driverId] = 0;\r\n }\r\n\r\n nextMande = nextMande + t.bedehkari;\r\n nextMande = nextMande - t.bestankari;\r\n\r\n //this.driveracc[t.driverId] = this.driveracc[t.driverId] + t.bestankari;\r\n //t.mande = this.driveracc[t.driverId];\r\n\r\n\r\n if (!t.anam) {\r\n t.anam = 0;\r\n }\r\n\r\n\r\n if (t.price) {\r\n let prc: number = parseInt(t.price);\r\n if (prc > 0)\r\n this.totalprice += prc;\r\n\r\n this.totalcommission += t.commission;\r\n this.totalbedehkari += t.bedehkari;\r\n this.totalbestankari += t.bestankari;\r\n\r\n\r\n }\r\n else\r\n t.price = '0';\r\n if (!t.typePardakhtName)\r\n t.typePardakhtName = '---';\r\n\r\n });\r\n this.mande = this.driverInfo.mande;\r\n}\r\n\r\n report() {\r\n if (this.selectedDriver.value) {\r\n var driverObject: Driver;\r\n this.driverList.forEach(t => {\r\n console.log(this.displayDriver(t));\r\n if (this.selectedDriver.value == this.displayDriver(t)) {\r\n driverObject = t;\r\n }\r\n }\r\n );\r\n this.driverID = driverObject?.id;\r\n }\r\n this.drvSservice.getDriverWithoutFBSToken(this.driverID).subscribe(t => {\r\n this.child.report();\r\n console.log(t);\r\n this.driverInfo = t.info;\r\n });\r\n\r\n this.repSrv.KarkardReport(this.driverID).subscribe(t => {\r\n this.reports = t;\r\n console.log(t);\r\n this.calctotal();\r\n });\r\n}\r\nopenDialog(row, defValue, mode): void {\r\n console.log(row?.serviceID);\r\n if(mode == 'destination') {\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش مقصد', msg: 'مقصد را وارد نمایید', fieldName: 'مقصد', value: defValue },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.serviceService.UpdateDestination(row.serviceID, result).subscribe(_res => {\r\n row.destinationAddr = result;\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n}\r\n else if (mode == 'requestComment') {\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش توضیحات', msg: 'توضیحات را وارد نمایید', fieldName: 'توضیحات', value: defValue },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.serviceService.UpdateRequestComment(row.serviceID, result).subscribe(_res => {\r\n row.requestComment = result;\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n}\r\nelse if (mode == 'typePardakhtName') {\r\n const dialogRef = this.dialog.open(InputselectItemComponent, {\r\n data: {\r\n title: 'نوع پرداخت', msg: 'نوع پرداخت را انتخاب نمایید', fieldName: 'نوع پرداخت', value: defValue,\r\n lst: [\r\n { id: 1019, name: 'نقدی' },\r\n { id: 1020, name: 'پیش پرداخت' },\r\n { id: 1021, name: 'اعتباری' }\r\n ]\r\n },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.serviceService.UpdateTypePardakht(row.serviceID, result).subscribe(_res => {\r\n if (result == '1019')\r\n row.typePardakhtName = 'نقدی';\r\n else if (result == '1020')\r\n row.typePardakhtName = 'پیش پرداخت';\r\n else if (result == '1021')\r\n row.typePardakhtName = 'اعتباری';\r\n\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n}\r\nelse if (mode == 'anam') {\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش انعام', msg: 'مقدار انعام را وارد نمایید', fieldName: 'انعام', value: defValue },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.serviceService.UpdateAnam(row.serviceID, result).subscribe(_res => {\r\n row.anam = result;\r\n\r\n this.report();\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n}\r\nelse {\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش کرایه', msg: 'مقدار کرایه را وارد نمایید', fieldName: 'کرایه', value: defValue, maxValue: 40000 },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.serviceService.UpdatePrice(row.serviceID, result).subscribe(_res => {\r\n row.price = result;\r\n\r\n this.report();\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n}\r\n\r\n\r\n\r\n \r\n\r\n\r\n }\r\nupdateDebit(drvID) {\r\n this.router.navigate(['cc/debits'], { queryParams: { guid: this.operatorguid, refID: drvID } });\r\n}\r\n}\r\n","export default \".totalrow {\\r\\n background-color: lightgray;\\r\\n}\\r\\n\\r\\n .totalrow .count span {\\r\\n }\\r\\n\\r\\n .totalrow .total {\\r\\n text-align: left;\\r\\n padding-left: 20px;\\r\\n }\\r\\n\\r\\n .totalrow .total span {\\r\\n font-weight: bolder;\\r\\n }\\r\\n\\r\\n .priceSpan {\\r\\n cursor: pointer;\\r\\n color: blue;\\r\\n}\\r\\n\\r\\n .priceSpan:hover {\\r\\n color: red;\\r\\n }\\r\\n\\r\\n th {\\r\\n background-color: gray;\\r\\n color: white;\\r\\n font-weight: bolder;\\r\\n}\\r\\n\\r\\n .redSpan\\r\\n{\\r\\n color:red;\\r\\n}\\r\\n\\r\\n .darEkhtiarRow\\r\\n{\\r\\n background-color:#f7d1c2;\\r\\n\\r\\n}\\r\\n\\r\\n .EtebariRow {\\r\\n background-color: #c2f7e3;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmVwb3J0L3JlcG9ydC10cmlwL3JlcG9ydC10cmlwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSwyQkFBMkI7QUFDN0I7O0VBRUU7RUFDQTs7RUFFQTtJQUNFLGdCQUFnQjtJQUNoQixrQkFBa0I7RUFDcEI7O0VBRUU7TUFDRSxtQkFBbUI7SUFDckI7O0VBR0o7RUFDRSxlQUFlO0VBQ2YsV0FBVztBQUNiOztFQUVFO0lBQ0UsVUFBVTtFQUNaOztFQUVGO0VBQ0Usc0JBQXNCO0VBQ3RCLFlBQVk7RUFDWixtQkFBbUI7QUFDckI7O0VBQ0E7O0lBRUksU0FBUztBQUNiOztFQUNBOztJQUVJLHdCQUF3Qjs7QUFFNUI7O0VBQ0E7RUFDRSx5QkFBeUI7QUFDM0IiLCJmaWxlIjoic3JjL2FwcC9yZXBvcnQvcmVwb3J0LXRyaXAvcmVwb3J0LXRyaXAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50b3RhbHJvdyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmF5O1xyXG59XHJcblxyXG4gIC50b3RhbHJvdyAuY291bnQgc3BhbiB7XHJcbiAgfVxyXG5cclxuICAudG90YWxyb3cgLnRvdGFsIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgfVxyXG5cclxuICAgIC50b3RhbHJvdyAudG90YWwgc3BhbiB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICB9XHJcblxyXG5cclxuLnByaWNlU3BhbiB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGNvbG9yOiBibHVlO1xyXG59XHJcblxyXG4gIC5wcmljZVNwYW46aG92ZXIge1xyXG4gICAgY29sb3I6IHJlZDtcclxuICB9XHJcblxyXG50aCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxufVxyXG4ucmVkU3BhblxyXG57XHJcbiAgICBjb2xvcjpyZWQ7XHJcbn1cclxuLmRhckVraHRpYXJSb3dcclxue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZjdkMWMyO1xyXG5cclxufVxyXG4uRXRlYmFyaVJvdyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyZjdlMztcclxufVxyXG4iXX0= */\";","import { Component, Input, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { IServiceReport } from '../../lib/interfaces/iServiceReport';\r\nimport { ReportService } from '../../lib/serviceLib/report.service';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { InputtextComponent } from '../../shared/inputtext/inputtext.component';\r\nimport { InputselectItemComponent } from '../../shared/inputselectItem/inputselectItem.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-report-trip',\r\n templateUrl: './report-trip.component.html',\r\n styleUrls: ['./report-trip.component.css']\r\n})\r\nexport class ReportTripComponent implements OnInit {\r\n totalprice = 0;\r\n totalcommission = 0;\r\n totalbedehkari = 0;\r\n totalbestankari = 0;\r\n driveracc: { [id: number]: number; } = {};\r\n\r\n count = 0;\r\n @Input() driverID = '';\r\n @Input() dateStart = '';\r\n @Input() dateFinish = '';\r\n @Input() operatorID = '';\r\n @Input() keyword = '';\r\n operatorguid = '';\r\n constructor(private repSrv: ReportService, public dialog: MatDialog,\r\n private serviceService: ServiceserviceService,\r\n private route: ActivatedRoute,\r\n\r\n private router: Router,\r\n\r\n ) {\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.operatorguid = params['guid'];\r\n\r\n });\r\n }\r\n reports: IServiceReport[];\r\n ngOnInit(\r\n ): void {\r\n this.report();\r\n }\r\n \r\n\r\n \r\n\r\n calctotal() {\r\n this.totalprice = 0;\r\n this.totalcommission = 0;\r\n this.totalbedehkari = 0;\r\n this.totalbestankari = 0;\r\n this.driveracc = [];\r\n this.count = this.reports?.length ?? 0;\r\n this.reports.forEach(t => {\r\n if (!this.driveracc[t.driverId])\r\n {\r\n this.driveracc[t.driverId] = 0;\r\n }\r\n\r\n this.driveracc[t.driverId] = this.driveracc[t.driverId] - t.bedehkari;\r\n this.driveracc[t.driverId] = this.driveracc[t.driverId] + t.bestankari;\r\n //t.mande = this.driveracc[t.driverId];\r\n\r\n\r\n if (!t.anam) {\r\n t.anam = 0;\r\n } \r\n \r\n\r\n if (t.price) {\r\n let prc: number = parseInt(t.price);\r\n if (prc > 0)\r\n this.totalprice += prc;\r\n\r\n this.totalcommission += t.commission;\r\n this.totalbedehkari += t.bedehkari;\r\n this.totalbestankari += t.bestankari;\r\n\r\n\r\n }\r\n else\r\n t.price = '0';\r\n if (!t.typePardakhtName)\r\n t.typePardakhtName = '---';\r\n\r\n })\r\n }\r\n report() {\r\n this.repSrv.ServiceReport(this.driverID, this.dateStart, this.dateFinish, this.operatorID, this.keyword).subscribe(t => {\r\n this.reports = t;\r\n console.log(t);\r\n this.calctotal();\r\n });\r\n }\r\n openDialog(row, defValue, mode): void {\r\n console.log(row?.serviceID);\r\n if (mode == 'destination') {\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش مقصد', msg: 'مقصد را وارد نمایید', fieldName: 'مقصد', value: defValue },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.serviceService.UpdateDestination(row.serviceID, result).subscribe(_res => {\r\n row.destinationAddr = result;\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n }\r\n else if (mode == 'requestComment') {\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش توضیحات', msg: 'توضیحات را وارد نمایید', fieldName: 'توضیحات', value: defValue },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.serviceService.UpdateRequestComment(row.serviceID, result).subscribe(_res => {\r\n row.requestComment = result;\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n }\r\n else if (mode == 'typePardakhtName') {\r\n const dialogRef = this.dialog.open(InputselectItemComponent, {\r\n data: {\r\n title: 'نوع پرداخت', msg: 'نوع پرداخت را انتخاب نمایید', fieldName: 'نوع پرداخت', value: defValue,\r\n lst:[\r\n { id: 1019, name: 'نقدی' },\r\n { id: 1020, name: 'پیش پرداخت' },\r\n { id: 1021, name: 'اعتباری' }\r\n ]\r\n },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.serviceService.UpdateTypePardakht(row.serviceID, result).subscribe(_res => {\r\n if (result == '1019')\r\n row.typePardakhtName = 'نقدی';\r\n else if (result == '1020')\r\n row.typePardakhtName = 'پیش پرداخت';\r\n else if (result == '1021')\r\n row.typePardakhtName = 'اعتباری';\r\n\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n }\r\n else if (mode == 'anam') \r\n {\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش انعام', msg: 'مقدار انعام را وارد نمایید', fieldName: 'انعام', value: defValue},\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.serviceService.UpdateAnam(row.serviceID, result).subscribe(_res => {\r\n row.anam = result;\r\n \r\n this.report();\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n }\r\n else\r\n {\r\n const dialogRef = this.dialog.open(InputtextComponent, {\r\n data: { title: 'ویرایش کرایه', msg: 'مقدار کرایه را وارد نمایید', fieldName: 'کرایه', value: defValue, maxValue: 40000 },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(result)\r\n if (result)\r\n this.serviceService.UpdatePrice(row.serviceID, result).subscribe(_res => {\r\n row.price = result;\r\n\r\n this.report();\r\n });\r\n console.log('The dialog was closed');\r\n console.log(result);\r\n });\r\n}\r\n\r\n\r\n\r\n \r\n\r\n\r\n }\r\n updateDebit(drvID) {\r\n this.router.navigate(['cc/debits'], { queryParams: { guid: this.operatorguid, refID: drvID } });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9hY3RsYW51bmNoZXIvYWN0bGFudW5jaGVyLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-actlanuncher',\r\n templateUrl: './actlanuncher.component.html',\r\n styleUrls: ['./actlanuncher.component.scss']\r\n})\r\nexport class ActlanuncherComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n location.reload();\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuc2NzcyJ9 */\";","import {Component, Inject, OnInit} from '@angular/core';\r\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\r\nimport {MatDialogRef} from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-confirm-dialog',\r\n templateUrl: './confirm-dialog.component.html',\r\n styleUrls: ['./confirm-dialog.component.scss']\r\n})\r\nexport class ConfirmDialogComponent {\r\n message = 'آیا مطمئن هستید؟';\r\n confirmButtonText = 'بلی';\r\n cancelButtonText = 'خیر';\r\n extraButtonText = '';\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) private data: any,\r\n private dialogRef: MatDialogRef\r\n ) {\r\n if (data) {\r\n this.message = data.message || this.message;\r\n if (data.buttonText) {\r\n this.confirmButtonText = data.buttonText.ok || this.confirmButtonText;\r\n this.cancelButtonText = data.buttonText.cancel || this.cancelButtonText;\r\n this.extraButtonText = data.buttonText.extraButtonText || this.extraButtonText;\r\n }\r\n }\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close('cancel');\r\n }\r\n onExtrClick(): void {\r\n this.dialogRef.close('btn3');\r\n }\r\n onOKClick(): void {\r\n this.dialogRef.close('OK');\r\n }\r\n\r\n doSomething(event: KeyboardEvent) {\r\n if (event.key === '1') {\r\n this.onOKClick();\r\n event.preventDefault();\r\n }\r\n if (event.key === '2') {\r\n this.onNoClick();\r\n event.preventDefault();\r\n }\r\n if (event.key === '3') {\r\n this.onExtrClick();\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb25maXJtbWVzc2FnZS9jb25maXJtbWVzc2FnZS5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n\r\n@Component({\r\n selector: 'app-confirmmessage',\r\n templateUrl: './confirmmessage.component.html',\r\n styleUrls: ['./confirmmessage.component.scss']\r\n})\r\nexport class ConfirmmessageComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { title: string, messageText: string }) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","export default \".driver-information {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n.driver-information__details {\\n margin-right: 1rem;\\n}\\n.driver-information__name {\\n font-size: 1rem;\\n}\\n.driver-information__status-label {\\n font-size: 0.875rem;\\n color: #888;\\n}\\n.avatar {\\n position: relative;\\n width: 54px;\\n height: 54px;\\n}\\n.avatar__image {\\n width: 100%;\\n height: 100%;\\n border-radius: 50%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n.avatar__status {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: #fff;\\n border: 2px solid #fff;\\n}\\n.car-info {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin-top: 0.5rem;\\n}\\n.car-info__type {\\n margin-right: 0.5rem;\\n margin-left: auto;\\n}\\n.car-info__id {\\n border: 2px solid rgba(0, 0, 0, 0.2);\\n border-radius: 4px;\\n padding: 0.125rem 0.5rem;\\n background-color: #eee;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2RyaXZlci1jYXJkL2RyaXZlci1jYXJkLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7QUFDRjtBQUFFO0VBR0Esa0JBQUE7QUFBRjtBQUdBO0VBQ0UsZUFBQTtBQURGO0FBSUE7RUFDRSxtQkFBQTtFQUNBLFdBQUE7QUFGRjtBQU9BO0VBQ0Usa0JBQUE7RUFFQSxXQURPO0VBRVAsWUFGTztBQUhUO0FBTUU7RUFHQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBQU5GO0FBU0E7RUFDRSxrQkFBQTtFQUNBLE9BQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0Esc0JBQUE7QUFQRjtBQVlBO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBQVRGO0FBVUU7RUFHQSxvQkFBQTtFQUNBLGlCQUFBO0FBVkY7QUFhQTtFQUNFLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSx3QkFBQTtFQUNBLHNCQUFBO0FBWEYiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvZHJpdmVyLWNhcmQvZHJpdmVyLWNhcmQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZHJpdmVyLWluZm9ybWF0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAmX19kZXRhaWxzXHJcblxyXG57XHJcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG59XHJcblxyXG4mX19uYW1lIHtcclxuICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbiZfX3N0YXR1cy1sYWJlbCB7XHJcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICBjb2xvcjogIzg4ODtcclxufVxyXG5cclxufVxyXG5cclxuLmF2YXRhciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICRzaXplOiA1NHB4O1xyXG4gIHdpZHRoOiAkc2l6ZTtcclxuICBoZWlnaHQ6ICRzaXplO1xyXG4gICZfX2ltYWdlXHJcblxyXG57XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuJl9fc3RhdHVzIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICBib3R0b206IDA7XHJcbiAgd2lkdGg6IDhweDtcclxuICBoZWlnaHQ6IDhweDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xyXG59XHJcblxyXG59XHJcblxyXG4uY2FyLWluZm8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICAmX190eXBlXHJcblxyXG57XHJcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuXHJcbiZfX2lkIHtcclxuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuNXJlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG59XHJcbn1cclxuIl19 */\";","import { Component, OnInit, Input } from '@angular/core';\r\nimport { StationQueueInfo } from '../../model/stationQueueInfo';\r\n\r\n@Component({\r\n selector: 'app-driver-card',\r\n templateUrl: './driver-card.component.html',\r\n styleUrls: ['./driver-card.component.scss']\r\n})\r\nexport class DriverCardComponent implements OnInit {\r\n @Input() info: StationQueueInfo ;\r\n constructor() {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9kcml2ZXItcXVldWUvZHJpdmVyLXF1ZXVlLmNvbXBvbmVudC5jc3MifQ== */\";","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-driver-queue',\n templateUrl: './driver-queue.component.html',\n styleUrls: ['./driver-queue.component.css']\n})\nexport class DriverQueueComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9pbnB1dHNlbGVjdEl0ZW0vaW5wdXRzZWxlY3RJdGVtLmNvbXBvbmVudC5jc3MifQ== */\";","import { Component, Inject, OnInit, Renderer2 } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-inputselectitem',\r\n templateUrl: './inputselectItem.component.html',\r\n styleUrls: ['./inputselectItem.component.css']\r\n})\r\nexport class InputselectItemComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: {\r\n title: string,\r\n msg: string,\r\n fieldName: string,\r\n value: number\r\n lst: [\r\n {\r\n id: number;\r\n name: string;\r\n }]\r\n\r\n },) { }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n selectedID = '';\r\n changeInputHelper(e) {\r\n \r\n this.selectedID =(e.target.value);\r\n console.log('this.typePardakht ' + this.selectedID + 'e.target.value ' + e.target.value);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9pbnB1dHRleHQvaW5wdXR0ZXh0LmNvbXBvbmVudC5jc3MifQ== */\";","import { Component, Inject, OnInit, Renderer2 } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'app-inputtext',\r\n templateUrl: './inputtext.component.html',\r\n styleUrls: ['./inputtext.component.css']\r\n})\r\nexport class InputtextComponent implements OnInit {\r\n\r\n constructor(\r\n private matSnackbar: MatSnackBar,\r\n\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: {\r\n title: string,\r\n msg: string,\r\n fieldName: string,\r\n value: number,\r\n maxValue:number\r\n\r\n },) { }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n onYesClick(): void {\r\n if (this.data.maxValue > 0) {\r\n if (this.data.value < this.data.maxValue) {\r\n this.matSnackbar.open('مبلغ صحیح نمی باشد', null, { duration: 2000 });\r\n\r\n return;\r\n\r\n }\r\n else\r\n this.dialogRef.close(this.data.value);\r\n\r\n }\r\n this.dialogRef.close(this.data.value);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostListener, Input, OnInit, Output} from '@angular/core';\r\nimport {ThemePalette} from \"@angular/material/core\";\r\n\r\n@Component({\r\n selector: 'custom-button',\r\n template: `\r\n \r\n \r\n {{icon}}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {{icon}}\r\n \r\n \r\n {{label}}\r\n \r\n \r\n \r\n `,\r\n styles: [\r\n `\r\n .sqaure-button {\r\n min-width: 36px !important;\r\n max-width: 36px !important;\r\n width: 36px !important;\r\n cursor: pointer;\r\n border-radius: 8px;\r\nheight: 5vh;\r\n }\r\n `\r\n ]\r\n})\r\nexport class ButtonComponent implements OnInit {\r\n @Input() loading = false;\r\n @Input() label: string = '';\r\n @Input() icon: any = null;\r\n @Input() disabled: boolean = false;\r\n @Input() sqaure: boolean = false;\r\n @Input() raised: boolean = false;\r\n @Input() color: ThemePalette = 'primary';\r\n @Input() tooltip: any = null;\r\n @Output() onClick: EventEmitter = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ThemePalette} from \"@angular/material/core\";\r\nimport {ControlValueAccessor} from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'custom-checkbox',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{label}}\r\n
\r\n\r\n
\r\n `,\r\n styles: [`\r\n .clickable {\r\n cursor: pointer;\r\n }\r\n\r\n span {\r\n font-family: IranYekan;\r\n }\r\n `]\r\n})\r\nexport class CheckboxComponent implements ControlValueAccessor {\r\n @Input() label: string = '';\r\n @Input() color: ThemePalette = 'primary';\r\n @Output() onClick: EventEmitter = new EventEmitter();\r\n onChange: any = () => {\r\n }\r\n model: boolean = false;\r\n\r\n constructor() {\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n }\r\n\r\n writeValue(val: any): void {\r\n this.model = val;\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-data-table',\r\n templateUrl: './data-table.component.html',\r\n styles: [`\r\n `]\r\n})\r\nexport class DataTableComponent implements OnInit {\r\n @Input() contents: any[] = [];\r\n @Input() headers: any[] = [];\r\n @Input() actions: any[] = [];\r\n @Output() onActionButtonClick: EventEmitter<{ index: number, action: string }> = new EventEmitter<{ index: number; action: string }>();\r\n columns: any[] = [];\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.columns.push('row')\r\n this.headers.map((f) => {\r\n return this.columns.push(f.text);\r\n });\r\n if (this.actions.length > 0) {\r\n this.columns.push('action');\r\n }\r\n\r\n }\r\n}\r\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\r\nimport { Direction } from \"@angular/cdk/bidi\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { Subject } from \"rxjs\";\r\n\r\n@Component({\r\n selector: 'app-date-picker',\r\n template: `\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n `,\r\n styles: [`\r\n label {\r\n font-family: IranYekan;\r\n }\r\n `],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DatePickerComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class DatePickerComponent implements ControlValueAccessor {\r\n registerOnChange(fn: any): void {\r\n this.onChangeListener.subscribe(x => {\r\n fn(this.model);\r\n })\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n }\r\n\r\n writeValue(val: any): void {\r\n this.model = val;\r\n }\r\n\r\n model: any = new Date();\r\n @Input() label: any = '';\r\n @Input() textAlign: CanvasTextAlign = 'left';\r\n @Input() inputDirection: Direction = 'ltr';\r\n @Output() onClick = new EventEmitter();\r\n onChangeListener = new Subject();\r\n\r\n constructor() {\r\n }\r\n\r\n\r\n}\r\n","import {Component, forwardRef, Input, OnInit} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\r\nimport {Dropdown} from \"primeng/dropdown\";\r\nimport {Subject} from \"rxjs\";\r\n\r\n@Component({\r\n selector: 'custom-dropdown',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n `,\r\n styles: [`\r\n h5 {\r\n font-family: IranYekan;\r\n }\r\n\r\n p-dropdown {\r\n width: 100%;\r\n }\r\n\r\n ::ng-deep p-dropdown .p-dropdown {\r\n width: 100%;\r\n }\r\n `],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DropdownComponent),\r\n multi: true,\r\n }]\r\n})\r\nexport class DropdownComponent implements ControlValueAccessor {\r\n model: any = null;\r\n onChangeListener = new Subject();\r\n\r\n @Input() items: any[] = [];\r\n @Input() label: any = null;\r\n @Input() editable: boolean = false;\r\n @Input() placeHolder: any = null;\r\n @Input() optionLabel: any = undefined;\r\n @Input() showClear: boolean = false;\r\n\r\n constructor() {\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChangeListener.subscribe(x => {\r\n fn(x);\r\n })\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n }\r\n\r\n writeValue(val: any): void {\r\n this.model = val;\r\n }\r\n\r\n}\r\n","import { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport {\r\n Component,\r\n ElementRef,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n Optional,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n NgControl,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { MAT_FORM_FIELD, MatFormField, MatFormFieldControl } from '@angular/material/form-field';\r\nimport { Subject } from 'rxjs'\r\n@Component({\r\n selector: 'app-pelaque',\r\n templateUrl: './pelaque.component.html',\r\n providers: [{ provide: MatFormFieldControl, useExisting: PelqueComponent }],\r\n host: {\r\n '[class.example-floating]': 'shouldLabelFloat',\r\n '[id]': 'id',\r\n },\r\n styles: [`\r\n.example-tel-input-container {\r\n display: flex;\r\n}\r\n\r\n.example-tel-input-element {\r\n border: none;\r\n background: none;\r\n padding: 0;\r\n outline: none;\r\n font: inherit;\r\n text-align: center;\r\n}\r\n\r\n.example-tel-input-spacer {\r\n opacity: 0;\r\n transition: opacity 200ms;\r\n}\r\n\r\n:host.example-floating .example-tel-input-spacer {\r\n opacity: 1;\r\n}\r\n `]\r\n})\r\n\r\n\r\nexport class PelqueComponent implements ControlValueAccessor, MatFormFieldControl, OnDestroy {\r\n static nextId = 0;\r\n\r\n\r\n\r\n\r\n @ViewChild('area') areaInput: HTMLInputElement;\r\n @ViewChild('exchange') exchangeInput: HTMLInputElement;\r\n @ViewChild('subscriber') subscriberInput: HTMLInputElement;\r\n\r\n parts = this._formBuilder.group({\r\n area: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(3)]],\r\n exchange: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(3)]],\r\n subscriber: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(4)]],\r\n });\r\n stateChanges = new Subject();\r\n focused = false;\r\n touched = false;\r\n controlType = 'example-tel-input';\r\n id = `example-tel-input-${PelqueComponent.nextId++}`;\r\n onChange = (_: any) => { };\r\n onTouched = () => { };\r\n\r\n get empty() {\r\n const {\r\n value: { area, exchange, subscriber },\r\n } = this.parts;\r\n\r\n return !area && !exchange && !subscriber;\r\n }\r\n\r\n get shouldLabelFloat() {\r\n return this.focused || !this.empty;\r\n }\r\n\r\n @Input('aria-describedby') userAriaDescribedBy: string;\r\n\r\n @Input()\r\n get placeholder(): string {\r\n return this._placeholder;\r\n }\r\n set placeholder(value: string) {\r\n this._placeholder = value;\r\n this.stateChanges.next();\r\n }\r\n private _placeholder: string;\r\n\r\n @Input()\r\n get required(): boolean {\r\n return this._required;\r\n }\r\n set required(value: boolean) {\r\n this._required = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n private _required = false;\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n this._disabled ? this.parts.disable() : this.parts.enable();\r\n this.stateChanges.next();\r\n }\r\n private _disabled = false;\r\n\r\n @Input()\r\n get value(): MyTel | null {\r\n if (this.parts.valid) {\r\n const {\r\n value: { area, exchange, subscriber },\r\n } = this.parts;\r\n return new MyTel(area!, exchange!, subscriber!);\r\n }\r\n return null;\r\n }\r\n set value(tel: MyTel | null) {\r\n const { area, exchange, subscriber } = tel || new MyTel('', '', '');\r\n this.parts.setValue({ area, exchange, subscriber });\r\n this.stateChanges.next();\r\n }\r\n\r\n get errorState(): boolean {\r\n return this.parts.invalid && this.touched;\r\n }\r\n\r\n constructor(\r\n private _formBuilder: FormBuilder,\r\n private _focusMonitor: FocusMonitor,\r\n private _elementRef: ElementRef,\r\n @Optional() @Inject(MAT_FORM_FIELD) public _formField: MatFormField,\r\n @Optional() @Self() public ngControl: NgControl,\r\n ) {\r\n if (this.ngControl != null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stateChanges.complete();\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n }\r\n\r\n onFocusIn(event: FocusEvent) {\r\n if (!this.focused) {\r\n this.focused = true;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n onFocusOut(event: FocusEvent) {\r\n if (!this._elementRef.nativeElement.contains(event.relatedTarget as Element)) {\r\n this.touched = true;\r\n this.focused = false;\r\n this.onTouched();\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n autoFocusNext(control: AbstractControl, nextElement?: HTMLInputElement): void {\r\n if (!control.errors && nextElement) {\r\n this._focusMonitor.focusVia(nextElement, 'program');\r\n }\r\n }\r\n\r\n autoFocusPrev(control: AbstractControl, prevElement: HTMLInputElement): void {\r\n if (control.value.length < 1) {\r\n this._focusMonitor.focusVia(prevElement, 'program');\r\n }\r\n }\r\n\r\n setDescribedByIds(ids: string[]) {\r\n const controlElement = this._elementRef.nativeElement.querySelector(\r\n '.example-tel-input-container',\r\n )!;\r\n controlElement.setAttribute('aria-describedby', ids.join(' '));\r\n }\r\n\r\n onContainerClick() {\r\n if (this.parts.controls.subscriber.valid) {\r\n this._focusMonitor.focusVia(this.subscriberInput, 'program');\r\n } else if (this.parts.controls.exchange.valid) {\r\n this._focusMonitor.focusVia(this.subscriberInput, 'program');\r\n } else if (this.parts.controls.area.valid) {\r\n this._focusMonitor.focusVia(this.exchangeInput, 'program');\r\n } else {\r\n this._focusMonitor.focusVia(this.areaInput, 'program');\r\n }\r\n }\r\n\r\n writeValue(tel: MyTel | null): void {\r\n this.value = tel;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n _handleInput(control: AbstractControl, nextElement?: HTMLInputElement): void {\r\n this.autoFocusNext(control, nextElement);\r\n this.onChange(this.value);\r\n }\r\n}\r\n/** Data structure for holding telephone number. */\r\nexport class MyTel {\r\n constructor(public area: string, public exchange: string, public subscriber: string) { }\r\n}\r\n","import {Component, forwardRef, Input, OnInit} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\r\nimport {Direction} from \"@angular/cdk/bidi\";\r\nimport {Subject} from \"rxjs\";\r\n\r\n@Component({\r\n selector: 'custom-text-area',\r\n template: `\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n `,\r\n styles:[`\r\n label {\r\n font-family: IranYekan;\r\n }\r\n `],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TextAreaComponent),\r\n multi: true,\r\n }]\r\n})\r\nexport class TextAreaComponent implements ControlValueAccessor {\r\n @Input() label: any = '';\r\n model: string = '';\r\n @Input() textAlign: CanvasTextAlign = 'right';\r\n @Input() inputDirection: Direction = 'rtl';\r\n onChangeListener = new Subject();\r\n\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChangeListener.subscribe(x => {\r\n fn(x);\r\n });\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n }\r\n\r\n writeValue(val: any): void {\r\n this.model = val;\r\n }\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n\r\n}\r\n","import {Component, EventEmitter, forwardRef, Input, OnChanges, OnInit, Output, SimpleChanges} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\r\nimport { Direction } from \"@angular/cdk/bidi\";\r\nimport {Subject} from \"rxjs\";\r\n\r\n@Component({\r\n selector: 'custom-text-field',\r\n template: `\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n `,\r\n styles: [`\r\n ::ng-deep input {\r\n //font-size: 1.3rem;\r\nheight: 5vh;\r\n\r\n }\r\n\r\n label {\r\n font-family: IranYekan;\r\n }\r\n\r\n ::ng-deep p-inputnumber .p-inputnumber-button {\r\n border-radius: 0px !important;\r\nheight: 5vh;\r\n }\r\n\r\n ::ng-deep p-inputnumber .p-inputnumber-button-group {\r\n flex-direction: row !important;\r\nheight: 5vh;\r\n\r\n }\r\n\r\n ::ng-deep p-inputnumber .p-inputnumber-input {\r\n flex-direction: row !important;\r\nheight: 5vh;\r\n\r\n }\r\n\r\n `],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TextFieldComponent),\r\n multi: true,\r\n }]\r\n})\r\nexport class TextFieldComponent implements ControlValueAccessor {\r\n\r\n @Input() label: any = '';\r\n @Input() textAlign: CanvasTextAlign = 'left';\r\n @Input() inputDirection: Direction = 'rtl';\r\n @Input() inputType: 'phone' | 'number' | 'text' | 'password' = 'text';\r\n @Input() maxLength: number = 25;\r\n @Input() max: number = 1000;\r\n @Input() showButtons: boolean = false;\r\n @Input() useGrouping: boolean = false;\r\n @Output() keyDown = new EventEmitter();\r\n @Input() height: string = '5vh';\r\n onChangeListener = new Subject();\r\n\r\n model: string = '';\r\n isDisabled: boolean = false;\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChangeListener.subscribe(x => {\r\n fn(x);\r\n })\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n writeValue(val: any): void {\r\n this.model = val;\r\n }\r\n\r\n onKeyDown($event: any) {\r\n this.keyDown.emit($event)\r\n }\r\n}\r\n","import {Component, forwardRef, Input} from '@angular/core';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\r\nimport {Subject} from \"rxjs\";\r\n\r\n@Component({\r\n selector: 'app-time-picker',\r\n template: `\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n `,\r\n styles: [`\r\n\r\n\r\n ::ng-deep .p-timepicker {\r\n direction: ltr !important;\r\n }\r\n\r\n label {\r\n font-family: IranYekan;\r\n }\r\n `],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TimePickerComponent),\r\n multi: true,\r\n }]\r\n})\r\nexport class TimePickerComponent implements ControlValueAccessor {\r\n @Input() label: any = '';\r\n @Input() appendTo: any = 'body';\r\n\r\n model: any;\r\n\r\n onChangeListener = new Subject();\r\n\r\n constructor() {\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChangeListener.subscribe(x => {\r\n fn(x);\r\n });\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n }\r\n\r\n writeValue(val: any): void {\r\n this.model = val;\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-ui-loader',\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n درحال تبادل اطلاعات\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n styles: [`\r\n .overlay {\r\n height: 100%;\r\n width: 100%;\r\n position: fixed;\r\n z-index: 99999;\r\n left: 0;\r\n top: 0;\r\n background-color: rgb(0, 0, 0);\r\n background-color: rgba(0, 0, 0, 0.9);\r\n overflow-x: hidden;\r\n }\r\n\r\n span {\r\n font-family: IranSans;\r\n font-size: 1.5rem;\r\n color: white;\r\n }\r\n\r\n ::ng-deep .mat-progress-spinner circle {\r\n stroke: white !important;\r\n }\r\n\r\n .hide {\r\n display: none;\r\n }\r\n\r\n .fade-in {\r\n animation: 0.25s fadeIn;\r\n }\r\n\r\n\r\n .fade-out {\r\n animation: 0.5s fadeOut;\r\n }\r\n\r\n @keyframes fadeIn {\r\n from {\r\n opacity: 0;\r\n }\r\n\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n\r\n @keyframes fadeOut {\r\n from {\r\n opacity: 1;\r\n }\r\n\r\n to {\r\n opacity: 0;\r\n }\r\n }\r\n `]\r\n})\r\nexport class UiLoaderComponent implements AfterViewInit {\r\n\r\n // @ts-ignore\r\n private loaderElement: HTMLElements;\r\n @Input() animateTime: number = 500;\r\n\r\n constructor() {\r\n }\r\n\r\n\r\n hide() {\r\n this.loaderElement.classList.add('fade-out');\r\n setTimeout(() => {\r\n this.loaderElement.classList.add('hide');\r\n }, this.animateTime);\r\n }\r\n\r\n show() {\r\n setTimeout(() => {\r\n this.loaderElement.classList.remove('hide');\r\n this.loaderElement.classList.add('fade-in');\r\n this.loaderElement.classList.remove('fade-out');\r\n }, this.animateTime);\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.loaderElement = document.getElementById('overlay');\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotifalertserviceService {\r\n\r\n constructor() { }\r\n private paramSource = new BehaviorSubject(\"\");\r\n\r\n sharedData: Subject = new Subject();\r\nsetParam(param: string) { this.sharedData.next(param) } \r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9va21lc3NhZ2Uvb2ttZXNzYWdlLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\n\r\n@Component({\r\n selector: 'app-okmessage',\r\n templateUrl: './okmessage.component.html',\r\n styleUrls: ['./okmessage.component.scss']\r\n})\r\nexport class OkmessageComponent implements OnInit {\r\n constructor(public dialogRef: MatDialogRef,\r\n private route: ActivatedRoute,\r\n private taxiSerivce: ServiceRequestService,\r\n @Inject(MAT_DIALOG_DATA) public data: { title: string, messageText: string }) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","import { DateAdapter } from \"@angular/material/core\";\r\nimport * as jalaliMoment from \"jalali-moment\";\r\n\r\nexport const PERSIAN_DATE_FORMATS = {\r\n parse: {\r\n dateInput: \"jYYYY/jMM/jDD\"\r\n },\r\n display: {\r\n dateInput: \"jYYYY/jMM/jDD\",\r\n monthYearLabel: \"jYYYY jMMMM\",\r\n dateA11yLabel: \"jYYYY/jMM/jDD\",\r\n monthYearA11yLabel: \"jYYYY jMMMM\"\r\n }\r\n};\r\n\r\nexport class MaterialPersianDateAdapter extends DateAdapter {\r\n\r\n constructor() {\r\n super();\r\n super.setLocale(\"fa\");\r\n }\r\n\r\n getYear(date: jalaliMoment.Moment): number {\r\n return this.clone(date).jYear();\r\n }\r\n\r\n getMonth(date: jalaliMoment.Moment): number {\r\n return this.clone(date).jMonth();\r\n }\r\n\r\n getDate(date: jalaliMoment.Moment): number {\r\n return this.clone(date).jDate();\r\n }\r\n\r\n getDayOfWeek(date: jalaliMoment.Moment): number {\r\n return this.clone(date).day();\r\n }\r\n\r\n getMonthNames(style: \"long\" | \"short\" | \"narrow\"): string[] {\r\n switch (style) {\r\n case \"long\":\r\n case \"short\":\r\n return jalaliMoment.localeData(\"fa\").jMonths().slice(0);\r\n case \"narrow\":\r\n return jalaliMoment.localeData(\"fa\").jMonthsShort().slice(0);\r\n }\r\n }\r\n\r\n getDateNames(): string[] {\r\n const valuesArray = Array(31);\r\n for (let i = 0; i < 31; i++) {\r\n valuesArray[i] = String(i + 1);\r\n }\r\n return valuesArray;\r\n }\r\n\r\n getDayOfWeekNames(style: \"long\" | \"short\" | \"narrow\"): string[] {\r\n switch (style) {\r\n case \"long\":\r\n return jalaliMoment.localeData(\"fa\").weekdays().slice(0);\r\n case \"short\":\r\n return jalaliMoment.localeData(\"fa\").weekdaysShort().slice(0);\r\n case \"narrow\":\r\n return [\"ی\", \"د\", \"س\", \"چ\", \"پ\", \"ج\", \"ش\"];\r\n }\r\n }\r\n\r\n getYearName(date: jalaliMoment.Moment): string {\r\n return this.clone(date).jYear().toString();\r\n }\r\n\r\n getFirstDayOfWeek(): number {\r\n return jalaliMoment.localeData(\"fa\").firstDayOfWeek();\r\n }\r\n\r\n getNumDaysInMonth(date: jalaliMoment.Moment): number {\r\n return this.clone(date).jDaysInMonth();\r\n }\r\n\r\n clone(date: jalaliMoment.Moment): jalaliMoment.Moment {\r\n return date.clone().locale(\"fa\");\r\n }\r\n\r\n createDate(year: number, month: number, date: number): jalaliMoment.Moment {\r\n if (month < 0 || month > 11) {\r\n throw Error(\r\n `Invalid month index \"${month}\". Month index has to be between 0 and 11.`\r\n );\r\n }\r\n if (date < 1) {\r\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\r\n }\r\n const result = jalaliMoment()\r\n .jYear(year).jMonth(month).jDate(date)\r\n .hours(0).minutes(0).seconds(0).milliseconds(0)\r\n .locale(\"fa\");\r\n\r\n if (this.getMonth(result) !== month) {\r\n throw Error(`Invalid date ${date} for month with index ${month}.`);\r\n }\r\n if (!result.isValid()) {\r\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\r\n }\r\n return result;\r\n }\r\n\r\n today(): jalaliMoment.Moment {\r\n return jalaliMoment().locale(\"fa\");\r\n }\r\n\r\n parse(value: any, parseFormat: string | string[]): jalaliMoment.Moment | null {\r\n if (value && typeof value === \"string\") {\r\n return jalaliMoment(value, parseFormat, \"fa\");\r\n }\r\n return value ? jalaliMoment(value).locale(\"fa\") : null;\r\n }\r\n\r\n format(date: jalaliMoment.Moment, displayFormat: string): string {\r\n date = this.clone(date);\r\n if (!this.isValid(date)) {\r\n throw Error(\"JalaliMomentDateAdapter: Cannot format invalid date.\");\r\n }\r\n return date.format(displayFormat);\r\n }\r\n\r\n addCalendarYears(date: jalaliMoment.Moment, years: number): jalaliMoment.Moment {\r\n return this.clone(date).add(years, \"jYear\");\r\n }\r\n\r\n addCalendarMonths(date: jalaliMoment.Moment, months: number): jalaliMoment.Moment {\r\n return this.clone(date).add(months, \"jmonth\");\r\n }\r\n\r\n addCalendarDays(date: jalaliMoment.Moment, days: number): jalaliMoment.Moment {\r\n return this.clone(date).add(days, \"jDay\");\r\n }\r\n\r\n toIso8601(date: jalaliMoment.Moment): string {\r\n return this.clone(date).format();\r\n }\r\n\r\n isDateInstance(obj: any): boolean {\r\n return jalaliMoment.isMoment(obj);\r\n }\r\n\r\n isValid(date: jalaliMoment.Moment): boolean {\r\n return this.clone(date).isValid();\r\n }\r\n\r\n invalid(): jalaliMoment.Moment {\r\n return jalaliMoment.invalid();\r\n }\r\n\r\n deserialize(value: any): jalaliMoment.Moment | null {\r\n let date;\r\n if (value instanceof Date) {\r\n date = jalaliMoment(value);\r\n }\r\n if (typeof value === \"string\") {\r\n if (!value) {\r\n return null;\r\n }\r\n date = jalaliMoment(value).locale(\"fa\");\r\n }\r\n if (date && this.isValid(date)) {\r\n return date;\r\n }\r\n return super.deserialize(value);\r\n }\r\n}\r\n","export default \".list-group-item:hover {\\r\\n cursor: pointer;\\r\\n background-color: #6777ef\\r\\n}\\r\\n.mat-mdc-form-field + .mat-mdc-form-field {\\r\\n margin-left: 8px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3NlYXJjaHBsYWNlL3NlYXJjaHBsYWNlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFlO0VBQ2Y7QUFDRjtBQUNBO0VBQ0UsZ0JBQWdCO0FBQ2xCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3NlYXJjaHBsYWNlL3NlYXJjaHBsYWNlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubGlzdC1ncm91cC1pdGVtOmhvdmVyIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY3NzdlZlxyXG59XHJcbi5tYXQtbWRjLWZvcm0tZmllbGQgKyAubWF0LW1kYy1mb3JtLWZpZWxkIHtcclxuICBtYXJnaW4tbGVmdDogOHB4O1xyXG59XHJcbiJdfQ== */\";","import { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { Station } from '../../model/station';\r\nimport { Observable } from 'rxjs';\r\nimport { SavedPlaceService } from '../../lib/serviceLib/savedplace.service';\r\nimport { PassangerSavedPlace } from '../../model/passangerSavedPlace';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\nimport { searchResult } from '../../model/routingInfo';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, Inject, OnInit, Renderer2 } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-searchplace',\r\n templateUrl: './searchplace.component.html',\r\n styleUrls: ['./searchplace.component.css']\r\n})\r\nexport class SearchplaceComponent implements OnInit {\r\n lstStation: Station[];\r\n lstStation_Filter: Station[];\r\n lstPlace: PassangerSavedPlace[];\r\n lstPlace_Filter: PassangerSavedPlace[];\r\n lstsearchItem: searchResult[];\r\n searchvalue = '';\r\n currentlat = 36.2980006\r\n currentlng = 59.604234\r\n constructor(private stationSerivce: StationserviceService,\r\n private placeService: SavedPlaceService,\r\n private taxiService: TaxiserviceService,\r\n\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { guidRequest: string }\r\n\r\n ) \r\n {\r\n\r\n\r\n }\r\n \r\n ngOnInit(): void {\r\n this.loadStation();\r\n this.loadSavedPlace();\r\n\r\n }\r\n loadStation() {\r\n this.stationSerivce.getStationList('', 0, 0).subscribe(_res => {\r\n if (_res) {\r\n this.lstStation = _res;\r\n this.lstStation_Filter = JSON.parse(JSON.stringify(_res));\r\n }\r\n else {\r\n this.lstStation = null;\r\n this.lstStation_Filter = null;\r\n\r\n }\r\n });\r\n }\r\n loadSavedPlace(passangerID = -1) {\r\n\r\n this.placeService.listAll(passangerID).subscribe(res => {\r\n console.log(res)\r\n if (res) {\r\n this.lstPlace = res;\r\n this.lstPlace_Filter = JSON.parse(JSON.stringify(res));\r\n }\r\n else {\r\n this.lstPlace = null;\r\n this.lstPlace_Filter = null;\r\n }\r\n\r\n\r\n });\r\n }\r\n search(searchvalue) {\r\n this.taxiService.searchMap(searchvalue, this.currentlat, this.currentlng).subscribe(res => {\r\n this.lstsearchItem = res;\r\n console.log(res);\r\n\r\n })\r\n this.filter(searchvalue);\r\n\r\n }\r\n public ontextChange(event): void {\r\n console.log(event);\r\n this.search(event.target.value);\r\n }\r\n \r\n filter(value) {\r\n var count = 0;\r\n this.lstPlace_Filter = [];\r\n this.lstStation_Filter = [];\r\n\r\n this.lstPlace.forEach((data) => {\r\n if ((this.lstPlace_Filter.length < 20) && (data.placeName.includes(value) || data.placeAddr.includes(value))) {\r\n \r\n this.lstPlace_Filter.push(data);\r\n\r\n }\r\n })\r\n this.lstStation.forEach((data) => {\r\n if (this.lstStation_Filter.length <20 && data.name.includes(value)) {\r\n this.lstStation_Filter.push(data);\r\n }\r\n })\r\n }\r\n selectstation(st:Station) {\r\n console.log(st);\r\n this.selectpoint(st.lat, st.lng, st.name, 'station', st);\r\n }\r\n selectplace(plc:PassangerSavedPlace) {\r\n console.log(plc);\r\n this.selectpoint(plc.lat, plc.lng, plc.placeName, 'place', plc);\r\n\r\n }\r\n selectsrch(pl: searchResult) {\r\n console.log(pl);\r\n this.selectpoint(pl.x, pl.y, pl.title, 'search', pl);\r\n }\r\n selectpoint(lat, lng, name, type, obj) {\r\n this.dialogRef.close({\r\n lat: lat, lng: lng, name: name, type: type, obj: obj\r\n });\r\n\r\n }\r\n darekheiar() {\r\n this.dialogRef.close({\r\n lat: 0, lng: 0, name: 'در اختیار', type: 0, obj: {}\r\n });\r\n }\r\n}\r\n","export default \"app-taximap {\\r\\n display: block;\\r\\n height: calc(100vh - 5px);\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n\\r\\n.container {\\r\\n max-width: 100% !important;\\r\\n padding: 0px !important;\\r\\n margin: 0px !important;\\r\\n}\\r\\n\\r\\n\\r\\n.bottomDiv {\\r\\n margin: auto;\\r\\n padding-bottom: 15px;\\r\\n padding-top: 15px;\\r\\n min-height: 30px;\\r\\n background-color: white;\\r\\n text-align: center;\\r\\n bottom: 0px;\\r\\n width: 100%;\\r\\n border-radius: 11px;\\r\\n margin: 10px;\\r\\n padding-bottom: 0px;\\r\\n padding-top: 0px;\\r\\n}\\r\\n\\r\\n\\r\\n.mainBottomDiv {\\r\\n display: block;\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n z-index: 99999;\\r\\n left: 0px;\\r\\n bottom: 0px;\\r\\n padding-bottom: 20px;\\r\\n padding-left: 120px;\\r\\n padding-right: 100px;\\r\\n}\\r\\n\\r\\n\\r\\n.btnOrigin {\\r\\n background-color: #0aa31b;\\r\\n width:100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3NldG9yaWdpbmRlcy9zZXRvcmlnaW5kZXMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGNBQWM7RUFDZCx5QkFBeUI7RUFDekIsZ0JBQWdCO0FBQ2xCOzs7QUFHQTtFQUNFLDBCQUEwQjtFQUMxQix1QkFBdUI7RUFDdkIsc0JBQXNCO0FBQ3hCOzs7QUFFQTtFQUNFLFlBQVk7RUFDWixvQkFBb0I7RUFDcEIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsZ0JBQWdCO0FBQ2xCOzs7QUFFQTtFQUNFLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLGNBQWM7RUFDZCxTQUFTO0VBQ1QsV0FBVztFQUNYLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsb0JBQW9CO0FBQ3RCOzs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixVQUFVO0FBQ1oiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvc2V0b3JpZ2luZGVzL3NldG9yaWdpbmRlcy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYXBwLXRheGltYXAge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDVweCk7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuXHJcbi5jb250YWluZXIge1xyXG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ib3R0b21EaXYge1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICBwYWRkaW5nLXRvcDogMTVweDtcclxuICBtaW4taGVpZ2h0OiAzMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3R0b206IDBweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3JkZXItcmFkaXVzOiAxMXB4O1xyXG4gIG1hcmdpbjogMTBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAwcHg7XHJcbn1cclxuXHJcbi5tYWluQm90dG9tRGl2IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgei1pbmRleDogOTk5OTk7XHJcbiAgbGVmdDogMHB4O1xyXG4gIGJvdHRvbTogMHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMTIwcHg7XHJcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi5idG5PcmlnaW4ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwYWEzMWI7XHJcbiAgd2lkdGg6MTAwJTtcclxufVxyXG4iXX0= */\";","import { Component, OnInit, ViewChild, AfterViewInit, Inject } from '@angular/core';\r\nimport { TaximapComponent } from '../../taximap/taximap.component';\r\nimport { LocationInfo, PageState } from '../../globalVariable';\r\nimport { MarkerType } from '../../lib/markerHelper';\r\nimport { LatLng } from 'leaflet';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { Station } from '../../model/station';\r\nimport { Observable } from 'rxjs';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TaxiserviceService } from '../../lib/serviceLib/taxiservice.service';\r\n\r\n@Component({\r\n selector: 'app-setorigindes',\r\n templateUrl: './setorigindes.component.html',\r\n styleUrls: ['./setorigindes.component.css']\r\n})\r\nexport class SetorigindesComponent implements OnInit, AfterViewInit {\r\n currentStep: OriginDestinationStep = OriginDestinationStep.S1_Origin;\r\n\r\n constructor(\r\n private stationSerivce: StationserviceService,\r\n private taxiSerivce: TaxiserviceService,\r\n @Inject(MAT_DIALOG_DATA) private data: any,\r\n private dialogRef: MatDialogRef\r\n\r\n ) {\r\n console.log(data);\r\n\r\n this.dialogRef.backdropClick().subscribe(() => {\r\n this.returnData();\r\n });\r\n\r\n }\r\n @ViewChild(\"map\", { static: false })\r\n public map: TaximapComponent;\r\n\r\n lstStation: Station[];\r\n driverCount = 0\r\n requestCount = 0;\r\n guidDriver: string = '';\r\n originLatLng: LatLng;\r\n destLatLng: LatLng;\r\n origin = ''\r\n des = ''\r\n\r\n moveMapEvent(evt: any) {\r\n if (this.locationMarker) {\r\n this.locationMarker.setLatLng(new LatLng(evt.location[0], evt.location[1]));\r\n }\r\n }\r\n ngOnInit(): void {\r\n this.map = new TaximapComponent();\r\n }\r\n ngAfterViewInit() {\r\n this.addinitialMarker();\r\n this.loadStation(true).subscribe(res => { });\r\n\r\n\r\n }\r\n moveEnd(e: any) {\r\n //console.log(e);\r\n }\r\n originPoint = new LocationInfo();\r\n locationMarker: any;\r\n originMarker: any;\r\n destMarker: any;\r\n\r\n addinitialMarker() {\r\n if (this.data.originLoc && this.data.originLoc.lat > 0) {\r\n this.currentStep = OriginDestinationStep.S2_Destination;\r\n this.addOriginMarker(this.data.originLoc);\r\n }\r\n if (this.data.destLoc && this.data.destLoc.lat > 0) {\r\n this.currentStep = OriginDestinationStep.S3_Start;\r\n\r\n this.addDestMarker(this.data.destLoc);\r\n }\r\n else {\r\n this.addLocationMarker();\r\n if (this.data.originLoc && this.data.originLoc.lat > 0) {\r\n this.currentStep = OriginDestinationStep.S2_Destination;\r\n }\r\n else {\r\n this.currentStep = OriginDestinationStep.S1_Origin;\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n this.origin = this.data.origin;\r\n this.des = this.data.des;\r\n\r\n }\r\n removeLocationMarker() {\r\n this.map.removemarker(this.locationMarker);\r\n this.locationMarker = null;\r\n\r\n }\r\n addLocationMarker() {\r\n var loc = this.map.getCenter();\r\n var cord = [loc.lat, loc.lng]\r\n this.locationMarker = this.map.addMarker(loc.lat, loc.lng, MarkerType.initLocation);\r\n\r\n }\r\n loadStation(withMarker = true): Observable {\r\n return new Observable((observer) => {\r\n this.stationSerivce.getStationList('', this.map.gpsLat, this.map.gpsLng).subscribe(_res => {\r\n console.log('loadStation')\r\n this.lstStation = _res;\r\n this.driverCount = 0;\r\n this.requestCount = 0;\r\n _res.forEach(station => {\r\n station.guidDriver = this.guidDriver;\r\n this.driverCount = this.driverCount + station.length;\r\n this.requestCount = this.requestCount + station.requestCount;\r\n if (withMarker) {\r\n this.map.addStationMarker(station);\r\n }\r\n else\r\n this.map.updateStationMarker(station);\r\n });\r\n observer.next(_res)\r\n });\r\n });\r\n }\r\n\r\n returnData() {\r\n this.dialogRef.close({\r\n 'Action': 'Save',\r\n 'originLoc': this.originLatLng,\r\n 'destLoc': this.destLatLng,\r\n 'origin': this.origin,\r\n 'des': this.des\r\n });\r\n /*\r\n * origin: this.passangerFormGroup.get('originAC')?.value,\r\n des: this.passangerFormGroup.get('destAC')?.value,\r\n originLoc:this.originLatLng,\r\n destLoc: this.destLatLng*/\r\n\r\n }\r\n setOrigin() {\r\n var loc = this.map.getCenter();\r\n this.addOriginMarker(loc);\r\n this.currentStep = OriginDestinationStep.S2_Destination;\r\n this.taxiSerivce.getAddressFromLocation(loc.lat, loc.lng).subscribe(_res => {\r\n this.origin = _res;\r\n });\r\n\r\n }\r\n changeOrigin() {\r\n this.removeOriginMarker();\r\n this.currentStep = OriginDestinationStep.S1_Origin;\r\n this.origin = null;\r\n\r\n\r\n }\r\n\r\n addOriginMarker(loc) {\r\n this.originLatLng = new LatLng(loc.lat, loc.lng);\r\n var cord = [loc.lat, loc.lng]\r\n this.originMarker = this.map.addMarker(this.originLatLng.lat, this.originLatLng.lng, MarkerType.origin);\r\n }\r\n removeOriginMarker() {\r\n this.originLatLng = null;\r\n this.map.removemarker(this.originMarker);\r\n this.originMarker = null;\r\n }\r\n addDestMarker(loc) {\r\n this.destLatLng = new LatLng(loc.lat, loc.lng);\r\n this.destMarker = this.map.addMarker(loc.lat, loc.lng, MarkerType.destination);\r\n }\r\n removeDestMarker() {\r\n this.destLatLng = null;\r\n this.map.removemarker(this.destMarker);\r\n this.destMarker = null;\r\n }\r\n setDest() {\r\n var loc = this.map.getCenter();\r\n this.addDestMarker(loc);\r\n this.currentStep = OriginDestinationStep.S3_Start;\r\n this.taxiSerivce.getAddressFromLocation(loc.lat, loc.lng).subscribe(_res => {\r\n this.des = _res;\r\n });\r\n this.removeLocationMarker();\r\n\r\n }\r\n\r\n changeDest() {\r\n this.removeDestMarker();\r\n this.currentStep = OriginDestinationStep.S2_Destination;\r\n this.des = null;\r\n this.addLocationMarker();\r\n }\r\n setFinish() {\r\n this.returnData();\r\n }\r\n setBack() {\r\n console.log('this.currentStep' + this.currentStep)\r\n if (this.currentStep == OriginDestinationStep.S3_Start) {\r\n this.changeDest();\r\n } else if (this.currentStep == OriginDestinationStep.S2_Destination) {\r\n this.changeOrigin();\r\n }\r\n else {\r\n this.returnData();\r\n }\r\n }\r\n}\r\nenum OriginDestinationStep {\r\n S1_Origin = 1,\r\n S2_Destination = 2,\r\n S3_Start = 3\r\n}\r\n","export default \".example-card {\\n max-width: 400px;\\n}\\n\\n.example-header-image {\\n background-image: url(\\\"https://material.angular.io/assets/img/examples/shiba1.jpg\\\");\\n background-size: cover;\\n}\\n\\n.btnreq {\\n display: block;\\n background: #32cb00;\\n width: 95%;\\n margin-left: auto;\\n margin-right: auto;\\n margin-top: 8px;\\n margin-bottom: 8px;\\n height: 35px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhdGlvbi9ib3R0b21zaGVldGluZm8vYm90dG9tc2hlZXRpbmZvLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQUE7QUFDRjs7QUFFQTtFQUNFLG1GQUFBO0VBQ0Esc0JBQUE7QUFDRjs7QUFFQTtFQUNFLGNBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtBQUNGIiwiZmlsZSI6InNyYy9hcHAvc3RhdGlvbi9ib3R0b21zaGVldGluZm8vYm90dG9tc2hlZXRpbmZvLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtY2FyZCB7XG4gIG1heC13aWR0aDogNDAwcHg7XG59XG5cbi5leGFtcGxlLWhlYWRlci1pbWFnZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2Fzc2V0cy9pbWcvZXhhbXBsZXMvc2hpYmExLmpwZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uYnRucmVxIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICMzMmNiMDA7XG4gIHdpZHRoOiA5NSU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBoZWlnaHQ6IDM1cHg7XG59XG4iXX0= */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatBottomSheetRef, MAT_BOTTOM_SHEET_DATA } from '@angular/material/bottom-sheet';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\n\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { TripsComponent } from '../trips/trips.component';\r\nimport { DriverStatus, IDriverStatusMeta } from '../../lib/enums/driver-status.enum';\r\n\r\nimport { Driver } from '../../model/driver';\r\nimport { Station } from '../../model/station';\r\nimport { StationQueueInfo } from '../../model/stationQueueInfo';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { StationMemberComponent } from '../station-member/station-member.component';\r\nimport { MessageboxComponent } from '../../messagebox/messagebox.component';\r\n\r\n@Component({\r\n selector: 'app-bottomsheetinfo',\r\n templateUrl: './bottomsheetinfo.component.html',\r\n styleUrls: ['./bottomsheetinfo.component.scss']\r\n})\r\nexport class BottomsheetinfoComponent implements OnInit {\r\n currentStation = new Station();\r\n dialogStationMemberRef: MatDialogRef;\r\n dialogStationTripRef: MatDialogRef;\r\n \r\n currentPriority = '---';\r\n driverInfo = new Driver();\r\n InRange = true;\r\n constructor(private sanitizer: DomSanitizer,private stationSerivce: StationserviceService,private dialog: MatDialog,private _bottomSheetRef: MatBottomSheetRef, @Inject(MAT_BOTTOM_SHEET_DATA) public data: any) {\r\n //console.warn(data);\r\n this.currentStation = data.stationInfo;\r\n this.driverInfo = data.driverInfo;\r\n this.InRange = data.InRange;\r\n this.stationSerivce.getStation(this.currentStation.id).subscribe(_res => {\r\n this.currentStation = _res;\r\n });\r\n\r\n\r\n }\r\n openLink(event: MouseEvent): void {\r\n this._bottomSheetRef.dismiss();\r\n event.preventDefault();\r\n }\r\n ngOnInit() {\r\n //console.log('this.driverInfo.currentStation at bottom -> ' + this.driverInfo.currentStation);\r\n }\r\n queuelist: StationQueueInfo[];\r\n showStationMember() {\r\n //console.log('this.currentStation.id');\r\n //console.log(this.currentStation.id);\r\n this.stationSerivce.getStationQueue(this.currentStation.id).subscribe(_res => {\r\n this.queuelist = _res;\r\n this.queuelist.forEach((data) => {\r\n data.safeAvatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + data.avatar);\r\n })\r\n this.dialogStationMemberRef = this.dialog.open(StationMemberComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n stationID: this.currentStation.id,\r\n queue: this.queuelist\r\n\r\n }\r\n });\r\n this.dialogStationMemberRef.afterClosed().subscribe((result : any) => {\r\n if (result == 'removequeue') {\r\n this.removeQueue();\r\n }\r\n });\r\n\r\n\r\n });\r\n\r\n \r\n }\r\n showStationTrip() {\r\n\r\n this.dialogStationTripRef = this.dialog.open(TripsComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n stationID: this.currentStation.id\r\n\r\n }\r\n });\r\n\r\n \r\n }\r\n addToQueue() {\r\n if (this.InRange) {\r\n if (this.driverInfo.currentStation > 0 && this.driverInfo.currentStation != 100 && this.driverInfo.currentStation != this.currentStation.id) {\r\n this.dialogmsgBoxRef = this.dialog.open(MessageboxComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n msgText: 'در صورت پیوستن به این صف نوبت شما در صف قبلی از بین خواهد رفت - آیا مایل به ادامه می باشید؟',\r\n msgTitle: 'خروج از صف'\r\n }\r\n });\r\n this.dialogmsgBoxRef.afterClosed().subscribe((result : any) => {\r\n if (result == 'ok') {\r\n this.addQeueMethod();\r\n }\r\n });\r\n }\r\n else {\r\n this.addQeueMethod();\r\n }\r\n\r\n }\r\n else {\r\n this._bottomSheetRef.dismiss('addToQueue');\r\n }\r\n }\r\n addQeueMethod() {\r\n {\r\n //console.log('addQeueMethod bottomsheet');\r\n //this.stationSerivce.addToQueue(this.currentStation.id, this.driverInfo.guid).subscribe(_res => {\r\n // console.warn('priority :' + _res);\r\n // this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(DriverStatus.WaitingOnStation);\r\n // this.currentPriority = _res;\r\n // this.driverInfo.currentStation = this.currentStation.id;\r\n this._bottomSheetRef.dismiss('addToQueue');\r\n\r\n //});\r\n }\r\n \r\n }\r\n dialogmsgBoxRef: MatDialogRef;\r\n exitQueue() {\r\n this.dialogmsgBoxRef = this.dialog.open(MessageboxComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n msgText: 'درصورت خروج از صف نوبت شما از بین خواهد رفت. آیا مایل به خروج می باشید؟',\r\n msgTitle: 'خروج از صف'\r\n }\r\n });\r\n this.dialogmsgBoxRef.afterClosed().subscribe((result : any) => {\r\n if (result == 'ok') {\r\n this.removeQueue();\r\n }\r\n });\r\n\r\n \r\n \r\n\r\n }\r\n removeQueue() {\r\n //console.log('removeQueue on bottom');\r\n this.stationSerivce.removeFromQueue(this.currentStation.id, this.driverInfo.guid).subscribe(_res => {\r\n this.driverInfo.currentDriverStatus = IDriverStatusMeta.getStatus(DriverStatus.Station100);\r\n this.currentPriority = '---';\r\n this._bottomSheetRef.dismiss('exitQueue');\r\n });\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3N0YXRpb24vc3RhdGlvbi1saXN0L3N0YXRpb24tbGlzdC5jb21wb25lbnQuY3NzIn0= */\";","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { Station } from '../../model/station';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-station-list',\r\n templateUrl: './station-list.component.html',\r\n styleUrls: ['./station-list.component.css']\r\n})\r\nexport class StationListComponent implements OnInit {\r\n lstStation: Station[];\r\n \r\n\r\n constructor(private stationSerivce: StationserviceService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { guidDriver: string, gpsLat: any, gpsLng:any }\r\n\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loadStation();\r\n }\r\n loadStation() {\r\n this.stationSerivce.getStationList(this.data.guidDriver, this.data.gpsLat, this.data.gpsLng).subscribe(_res => {\r\n this.lstStation = _res;\r\n });\r\n }\r\n showStation(station) {\r\n this.dialogRef.close(station);\r\n\r\n }\r\n closeform() {\r\n this.dialogRef.close('');\r\n }\r\n}\r\n","export default \":host {\\n display: flex;\\n flex-direction: column;\\n /*height: 100vh;*/\\n}\\n\\n.stations__list {\\n list-style-type: none;\\n}\\n\\n.mat-list-option {\\n height: auto !important;\\n padding-top: 5px !important;\\n padding-bottom: 5px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhdGlvbi9zdGF0aW9uLW1lbWJlci1zZWxlY3Qvc3RhdGlvbi1tZW1iZXItc2VsZWN0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsaUJBQUE7QUFDRjs7QUFDQTtFQUNFLHFCQUFBO0FBRUY7O0FBQUE7RUFDRSx1QkFBQTtFQUNBLDJCQUFBO0VBQ0EsOEJBQUE7QUFHRiIsImZpbGUiOiJzcmMvYXBwL3N0YXRpb24vc3RhdGlvbi1tZW1iZXItc2VsZWN0L3N0YXRpb24tbWVtYmVyLXNlbGVjdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgLypoZWlnaHQ6IDEwMHZoOyovXHJcbn1cclxuLnN0YXRpb25zX19saXN0IHtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbn1cclxuLm1hdC1saXN0LW9wdGlvbiB7XHJcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDtcclxufVxyXG4iXX0= */\";","import { Component, Inject, OnInit, ViewChild, ElementRef, Output, EventEmitter, Input } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { MessageboxComponent } from '../../messagebox/messagebox.component';\r\nimport { ServiceRequest } from '../../model/ServiceRequest';\r\nimport { StationQueueInfo } from '../../model/stationQueueInfo';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\nimport { MatListOption, MatSelectionList } from '@angular/material/list'\r\nimport { SetpriorityComponent } from '../../manage/setpriority/setpriority.component';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { MatOption } from '@angular/material/core';\r\nimport { Station } from '../../model/station';\r\nimport { StationMemberComponent } from '../station-member/station-member.component';\r\n\r\n@Component({\r\n selector: 'app-station-member-select',\r\n templateUrl: './station-member-select.component.html',\r\n styleUrls: ['./station-member-select.component.scss']\r\n})\r\nexport class StationMemberSelectComponent implements OnInit {\r\n selectedqueueList: StationQueueInfo[];\r\n queueList: StationQueueInfo[];\r\n queueList_Filter: StationQueueInfo[];\r\n searchvalue = '';\r\n @ViewChild(\"driverCodes\", { static: false })\r\n public driverCodes: MatSelectionList;\r\n\r\n @Output() onSelectChange = new EventEmitter();\r\n @Output() onSelectButtonChange = new EventEmitter();\r\n @Input() selectable: boolean = true;\r\n constructor(private stationSerivce: StationserviceService,\r\n private dialog: MatDialog,\r\n private currentServiceService: ServiceserviceService,\r\n\r\n ) {\r\n\r\n //console.warn(this.queueList);\r\n }\r\n\r\n public ontextChange(event): void {\r\n this.search(event.target.value);\r\n }\r\n search(value) {\r\n console.log('value is search is ');\r\n console.log(value);\r\n console.log(this.currentStation);\r\n\r\n this.queueList_Filter = [];\r\n this.queueList.forEach((data) => {\r\n if (\r\n (!this.currentStation || this.currentStation.id <= 0 || data.stationID == this.currentStation.id) &&\r\n (!value || value == '' || data.fName.includes(value) || data.driverCode.includes(value) || data.carName.includes(value) || data.workingMobile.includes(value))\r\n )\r\n this.queueList_Filter.push(data);\r\n else {\r\n console.log('search null');\r\n\r\n }\r\n })\r\n }\r\n ngOnInit() {\r\n this.currentStation = null;\r\n this.refreshData();\r\n this.loadStation();\r\n //this.passangerFormGroup.get('destAC').valueChanges.subscribe((value: string) => {\r\n\r\n //});\r\n }\r\n showStationDetailClick() {\r\n this.showStationMember();\r\n //if (this.passangerFormGroup.get('stationCode')?.value)\r\n // this.showStationDetails();\r\n\r\n }\r\n currentStation:Station;\r\n showStationMember() {\r\n //console.log('this.currentStation.id');\r\n //console.log(this.currentStation.id);\r\n this.stationSerivce.getStationQueue(this.currentStation?.id).subscribe(_res => {\r\n\r\n\r\n let dialogStationMemberRef = this.dialog.open(StationMemberComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n stationID: this.currentStation?.id,\r\n queue: _res\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n loadData(sid: any) {\r\n this.stationSerivce.getStationQueueWithOther(sid).subscribe(_res => {\r\n console.log(_res);\r\n this.queueList = _res;\r\n this.search('');\r\n });\r\n }\r\n showStation(station) {\r\n console.log(station);\r\n }\r\n close() {\r\n }\r\n onGroupsChange(options: MatListOption[]) {\r\n this.selectedqueueList = options.map(o => o.value);\r\n this.onSelectChange.emit(options.map(o => o.value));\r\n }\r\n SetPriority(dCode: any, stationID: any) {\r\n var dialogSetPriority = this.dialog.open(SetpriorityComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n driverCode: dCode,\r\n stationID: stationID\r\n }\r\n });\r\n\r\n }\r\n exitDriver(driverCode: any) {\r\n this.currentServiceService.exitDriver(driverCode).subscribe(_res => {\r\n\r\n });\r\n }\r\n clear() {\r\n\r\n this.selectedqueueList = [];\r\n this.onSelectChange.emit([]);\r\n this.driverCodes.options.forEach((data) => { data._setSelected(false); });\r\n\r\n\r\n }\r\n refreshData() {\r\n this.loadData(-1);\r\n }\r\n select(info: StationQueueInfo) {\r\n if (this.onSelectButtonChange)\r\n this.onSelectButtonChange.emit(info);\r\n }\r\n lstStation: Station[];\r\n loadStation() {\r\n this.stationSerivce.getAllStationList().subscribe(_res => {\r\n console.log('station list');\r\n\r\n this.lstStation = _res;\r\n var st = new Station();\r\n st.id = -1;\r\n st.name = '---';\r\n st.code = '-1';\r\n this.lstStation.unshift(st)\r\n console.log(this.lstStation);\r\n //_res.forEach(station => {\r\n // this.map.addStationMarker(station);\r\n\r\n //});\r\n });\r\n }\r\n stationChanged(e) {\r\n console.log('selectedStation is ' + e.target.value)\r\n this.loadStationList(e.target.value);\r\n this.search(this.searchvalue);\r\n //this.loadStationStatics(e.target.value);\r\n }\r\n loadStationList(stationID: any) {\r\n if (stationID && stationID > 0 ) {\r\n this.stationSerivce.getStation(stationID).subscribe(_res => {\r\n this.currentStation = _res;\r\n });\r\n }\r\n else {\r\n\r\n this.currentStation= null;\r\n }\r\n\r\n }\r\n}\r\n","export default \":host {\\n display: flex;\\n flex-direction: column;\\n height: 100vh;\\n}\\n\\n.driver-information {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.driver-information__details {\\n margin-right: 1rem;\\n}\\n\\n.driver-information__name {\\n font-size: 1rem;\\n}\\n\\n.driver-information__status-label {\\n font-size: 0.875rem;\\n color: #888;\\n}\\n\\n.avatar {\\n position: relative;\\n width: 54px;\\n height: 54px;\\n}\\n\\n.avatar__image {\\n width: 100%;\\n height: 100%;\\n border-radius: 50%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.avatar__status {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: #fff;\\n border: 2px solid #fff;\\n}\\n\\n.car-info {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin-top: 0.5rem;\\n}\\n\\n.car-info__type {\\n margin-right: 0.5rem;\\n margin-left: auto;\\n}\\n\\n.car-info__id {\\n border: 2px solid rgba(0, 0, 0, 0.2);\\n border-radius: 4px;\\n padding: 0.125rem 0.5rem;\\n background-color: #eee;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhdGlvbi9zdGF0aW9uLW1lbWJlci9zdGF0aW9uLW1lbWJlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGFBQUE7QUFDRjs7QUFFQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FBQ0Y7O0FBQ0U7RUFDRSxrQkFBQTtBQUNKOztBQUVFO0VBQ0UsZUFBQTtBQUFKOztBQUdFO0VBQ0UsbUJBQUE7RUFDQSxXQUFBO0FBREo7O0FBS0E7RUFDRSxrQkFBQTtFQUVBLFdBRE87RUFFUCxZQUZPO0FBRFQ7O0FBS0U7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBQUhKOztBQU1FO0VBQ0Usa0JBQUE7RUFDQSxPQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0FBSko7O0FBUUE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FBTEY7O0FBT0U7RUFDRSxvQkFBQTtFQUNBLGlCQUFBO0FBTEo7O0FBUUU7RUFDRSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0Esd0JBQUE7RUFDQSxzQkFBQTtBQU5KIiwiZmlsZSI6InNyYy9hcHAvc3RhdGlvbi9zdGF0aW9uLW1lbWJlci9zdGF0aW9uLW1lbWJlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxufVxyXG4gXHJcbi5kcml2ZXItaW5mb3JtYXRpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAmX19kZXRhaWxzIHtcclxuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICB9XHJcblxyXG4gICZfX25hbWUge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgJl9fc3RhdHVzLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICBjb2xvcjogIzg4ODtcclxuICB9XHJcbn1cclxuXHJcbi5hdmF0YXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAkc2l6ZTogNTRweDtcclxuICB3aWR0aDogJHNpemU7XHJcbiAgaGVpZ2h0OiAkc2l6ZTtcclxuXHJcbiAgJl9faW1hZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICB9XHJcblxyXG4gICZfX3N0YXR1cyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDhweDtcclxuICAgIGhlaWdodDogOHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FyLWluZm8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuXHJcbiAgJl9fdHlwZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgJl9faWQge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgcGFkZGluZzogMC4xMjVyZW0gMC41cmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ== */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { MessageboxComponent } from '../../messagebox/messagebox.component';\r\nimport { ServiceRequest } from '../../model/ServiceRequest';\r\nimport { StationQueueInfo } from '../../model/stationQueueInfo';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { ServiceRequestService } from '../../lib/serviceLib/servicerequestservice.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-station-member',\r\n templateUrl: './station-member.component.html',\r\n styleUrls: ['./station-member.component.scss']\r\n})\r\nexport class StationMemberComponent implements OnInit {\r\n queueList: StationQueueInfo[];\r\n constructor(private dialog: MatDialog,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { stationID: number, queue:StationQueueInfo[]}\r\n ) {\r\n this.queueList = data.queue;\r\n //console.warn(this.queueList);\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n \r\n\r\n \r\n dialogmsgBoxRef: MatDialogRef;\r\n removeqyeye() {\r\n this.dialogmsgBoxRef = this.dialog.open(MessageboxComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n msgText: 'در صورت پیوستن به این صف نوبت شما در صف قبلی از بین خواهد رفت - آیا مایل به ادامه می باشید؟',\r\n msgTitle: 'خروج از صف'\r\n }\r\n });\r\n this.dialogmsgBoxRef.afterClosed().subscribe((result : any) => {\r\n if (result == 'ok') {\r\n this.dialogRef.close('removequeue');\r\n }\r\n });\r\n }\r\n\r\n close() {\r\n this.dialogRef.close('close');\r\n }\r\n}\r\n","export default \":host {\\n display: flex;\\n flex-direction: column;\\n height: 100vh;\\n}\\n\\n.driver-information {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.driver-information__details {\\n margin-right: 1rem;\\n}\\n\\n.driver-information__name {\\n font-size: 1rem;\\n}\\n\\n.driver-information__status-label {\\n font-size: 0.875rem;\\n color: #888;\\n}\\n\\n.avatar {\\n position: relative;\\n width: 54px;\\n height: 54px;\\n}\\n\\n.avatar__image {\\n width: 100%;\\n height: 100%;\\n border-radius: 50%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.avatar__status {\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: #fff;\\n border: 2px solid #fff;\\n}\\n\\n.car-info {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin-top: 0.5rem;\\n}\\n\\n.car-info__type {\\n margin-right: 0.5rem;\\n margin-left: auto;\\n}\\n\\n.car-info__id {\\n border: 2px solid rgba(0, 0, 0, 0.2);\\n border-radius: 4px;\\n padding: 0.125rem 0.5rem;\\n background-color: #eee;\\n}\\n\\n.darEkhtiarRow {\\n background-color: #f7d1c2;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhdGlvbi90cmlwcy90cmlwcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGFBQUE7QUFDRjs7QUFFQTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FBQ0Y7O0FBQ0U7RUFDRSxrQkFBQTtBQUNKOztBQUVFO0VBQ0UsZUFBQTtBQUFKOztBQUdFO0VBQ0UsbUJBQUE7RUFDQSxXQUFBO0FBREo7O0FBS0E7RUFDRSxrQkFBQTtFQUVBLFdBRE87RUFFUCxZQUZPO0FBRFQ7O0FBS0U7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBQUhKOztBQU1FO0VBQ0Usa0JBQUE7RUFDQSxPQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0FBSko7O0FBUUE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FBTEY7O0FBT0U7RUFDRSxvQkFBQTtFQUNBLGlCQUFBO0FBTEo7O0FBUUU7RUFDRSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0Esd0JBQUE7RUFDQSxzQkFBQTtBQU5KOztBQVNBO0VBQ0UseUJBQUE7QUFORiIsImZpbGUiOiJzcmMvYXBwL3N0YXRpb24vdHJpcHMvdHJpcHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcbi5kcml2ZXItaW5mb3JtYXRpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAmX19kZXRhaWxzIHtcclxuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICB9XHJcblxyXG4gICZfX25hbWUge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgJl9fc3RhdHVzLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICBjb2xvcjogIzg4ODtcclxuICB9XHJcbn1cclxuXHJcbi5hdmF0YXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAkc2l6ZTogNTRweDtcclxuICB3aWR0aDogJHNpemU7XHJcbiAgaGVpZ2h0OiAkc2l6ZTtcclxuXHJcbiAgJl9faW1hZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICB9XHJcblxyXG4gICZfX3N0YXR1cyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDhweDtcclxuICAgIGhlaWdodDogOHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FyLWluZm8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuXHJcbiAgJl9fdHlwZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgJl9faWQge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgcGFkZGluZzogMC4xMjVyZW0gMC41cmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICB9XHJcbn1cclxuLmRhckVraHRpYXJSb3cge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2QxYzI7XHJcbn1cclxuIl19 */\";","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ServiceInfo } from '../../model/serviceInfo';\r\nimport { ServiceserviceService } from '../../lib/serviceLib/serviceservice.service';\r\n\r\n@Component({\r\n selector: 'app-trips',\r\n templateUrl: './trips.component.html',\r\n styleUrls: ['./trips.component.scss']\r\n})\r\nexport class TripsComponent implements OnInit {\r\n stationID = 0;\r\n list: ServiceInfo[]=[];\r\n constructor(\r\n private sanitizer: DomSanitizer,\r\n public serviceService: ServiceserviceService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { stationID: number}\r\n ) {\r\n this.stationID = data.stationID;\r\n this.serviceService.reportQueue(this.stationID).subscribe(res => {\r\n \r\n this.list = res;\r\n this.list.forEach((data) => {\r\n data.safeAvatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + data.avatar);\r\n })\r\n\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n closeform() {\r\n this.dialogRef.close('closse');\r\n }\r\n\r\n}\r\n","export default \".example-card {\\n max-width: 400px;\\n}\\n\\n.example-header-image {\\n background-image: url('https://material.angular.io/assets/img/examples/shiba1.jpg');\\n background-size: cover;\\n}\\n\\n.btnreq {\\n display: block;\\n background: #32cb00;\\n width: 95%;\\n margin-left: auto;\\n margin-right: auto;\\n margin-top: 8px;\\n margin-bottom: 8px;\\n height: 35px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhdGlvbi92aWV3c3RhdGlvbi92aWV3c3RhdGlvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsbUZBQW1GO0VBQ25GLHNCQUFzQjtBQUN4Qjs7QUFDQTtFQUNFLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixZQUFZO0FBQ2QiLCJmaWxlIjoic3JjL2FwcC9zdGF0aW9uL3ZpZXdzdGF0aW9uL3ZpZXdzdGF0aW9uLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1jYXJkIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLmV4YW1wbGUtaGVhZGVyLWltYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vYXNzZXRzL2ltZy9leGFtcGxlcy9zaGliYTEuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4uYnRucmVxIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICMzMmNiMDA7XG4gIHdpZHRoOiA5NSU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBoZWlnaHQ6IDM1cHg7XG59XG4iXX0= */\";","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StationQueueInfo } from '../../model/stationQueueInfo';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { WebSocketService } from '../../lib/web-socket.service';\r\nimport { NotificationModel, SocketMessageType } from '../../model/socketmodels';\r\nimport { ProposedRequestComponent } from '../../driver/proposed-request/proposed-request.component';\r\nimport { Station } from '../../model/station';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\nimport { map } from 'rxjs/operators';\r\nimport { TaximapComponent } from '../../taximap/taximap.component';\r\nimport { driverStatusinStation } from '../../model/enumtype';\r\nimport { StationMemberComponent } from '../station-member/station-member.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { StationserviceService } from '../../lib/serviceLib/stationservice.service';\r\n@Component({\r\n selector: 'app-viewstation',\r\n templateUrl: './viewstation.component.html',\r\n styleUrls: ['./viewstation.component.css']\r\n})\r\nexport class ViewstationComponent implements OnInit {\r\n @ViewChild(\"map\", { static: false })\r\n public map: TaximapComponent;\r\n\r\n currentStatus = driverStatusinStation.None;\r\n currentPriority ='---';\r\n constructor(\r\n private socketService: WebSocketService,\r\n private route: ActivatedRoute,\r\n private stationSerivce: StationserviceService,\r\n private dialog: MatDialog,\r\n private router: Router,\r\n private sanitizer: DomSanitizer\r\n ) {\r\n\r\n this.socketService.meesageList$.subscribe(msg => {\r\n if (msg) {\r\n this.processMessage(msg);\r\n }\r\n });\r\n\r\n }\r\n \r\n acceptRequest(guidRequestParam: any) {\r\n this.socketService.sendMessage(guidRequestParam, SocketMessageType.AcceptProposedRequest);\r\n }\r\n\r\n rejectRequest(guidRequestParam: any) {\r\n this.socketService.sendMessage(guidRequestParam, SocketMessageType.RejectProposedRequest);\r\n }\r\n gotoRunService(guidService: any) {\r\n //console.warn('service subbmited by :' + guidService);\r\n this.router.navigate(['service/origin'], { queryParams: { guid: guidService } });\r\n }\r\n dialogProposedServiceRef: MatDialogRef;\r\n dialogStationMemberRef: MatDialogRef;\r\n \r\n processMessage(messageBox: NotificationModel) {\r\n //console.warn(messageBox);\r\n switch (messageBox.msgType) {\r\n case SocketMessageType.GetClientInfo:\r\n this.socketService.sendMessage(this.driverGuid, SocketMessageType.SetDriverInfo);\r\n break;\r\n case SocketMessageType.ProposedRequestServive:\r\n this.showProposedRequest(messageBox.guidCode);\r\n break;\r\n case SocketMessageType.FinishedProposedRequestServive:\r\n this.dialogProposedServiceRef.close('NotAnswered');\r\n break;\r\n case SocketMessageType.RequestServiceCancelByPassanger:\r\n this.dialogProposedServiceRef.close('CancelByUser');\r\n break;\r\n case SocketMessageType.ServiceGetSubmitedSuccessfully:\r\n this.gotoRunService(messageBox.guidCode);\r\n break;\r\n\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n driverGuid: string;\r\n stationID: number;\r\n queuelist: StationQueueInfo[];\r\n currentStation = new Station();\r\n\r\n ngOnInit() {\r\n this.map = new TaximapComponent();\r\n \r\n this.route.queryParams.subscribe(params => {\r\n this.driverGuid = params['guid'];\r\n this.stationID = params['id'];\r\n\r\n this.loadStation(this.stationID);\r\n if (params['showProposed']) {\r\n this.showProposedRequest('231');\r\n }\r\n });\r\n this.socketService.startSocket();\r\n }\r\n getLocation(): void {\r\n //console.warn(\"geolocation started\")\r\n\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n //console.warn(\"getCurrentPosition is run\")\r\n const longitude = position.coords.longitude;\r\n const latitude = position.coords.latitude;\r\n this.map.addMarker(latitude, longitude);\r\n //console.warn(latitude);\r\n //console.warn(longitude);\r\n },\r\n ((err) => {\r\n //console.warn(\"error in get pos\")\r\n //console.warn(err)\r\n\r\n })\r\n );\r\n } else {\r\n //console.warn(\"No support for geolocation\")\r\n }\r\n }\r\n loadStation(stationID: any) {\r\n this.stationSerivce.getStationQueue(this.stationID).subscribe(_res => {\r\n this.queuelist = _res;\r\n this.queuelist.forEach((data) => {\r\n data.safeAvatar = this.sanitizer.bypassSecurityTrustUrl(\"data:Image/*;base64,\" + data.avatar);\r\n })\r\n this.getLocation();\r\n });\r\n this.stationSerivce.getStation(this.stationID).subscribe(_res => {\r\n this.currentStation = _res;\r\n this.map.addStationMarkerWithInfo(this.currentStation);\r\n });\r\n\r\n }\r\n\r\n addToQueue() {\r\n this.stationSerivce.addToQueue(this.stationID, this.driverGuid).subscribe(_res => {\r\n //console.warn('priority :' + _res);\r\n this.currentStatus = driverStatusinStation.InQueue;\r\n this.currentPriority = _res;\r\n });\r\n }\r\n\r\n removeFromQueue() {\r\n this.stationSerivce.removeFromQueue(this.stationID, this.driverGuid).subscribe(_res => {\r\n this.currentStatus = driverStatusinStation.None;\r\n });\r\n }\r\n\r\n showProposedRequest(guidRequestParam: any) {\r\n this.dialogProposedServiceRef = this.dialog.open(ProposedRequestComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n guidRequest: guidRequestParam\r\n }\r\n });\r\n this.dialogProposedServiceRef.afterClosed().subscribe((result : any) => {\r\n if (result == 'Accept') {\r\n this.acceptRequest(guidRequestParam);\r\n } else if (result == 'Reject') {\r\n this.rejectRequest(guidRequestParam);\r\n }\r\n else if (result == 'NULL') {\r\n\r\n this.rejectRequest(guidRequestParam);\r\n }\r\n });\r\n\r\n //this.taxiSerivce.getRequestByPropsedCode(guidRequestParam).subscribe(_res => {\r\n // console.warn(_res);\r\n //});\r\n\r\n }\r\n showStationMember() {\r\n this.dialogStationMemberRef = this.dialog.open(StationMemberComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n stationID: this.currentStation.id,\r\n queue: this.queuelist\r\n \r\n }\r\n });\r\n }\r\n}\r\n","export default \"/* required styles */\\r\\n\\r\\n.leaflet-pane,\\r\\n.leaflet-tile,\\r\\n.leaflet-marker-icon,\\r\\n.leaflet-marker-shadow,\\r\\n.leaflet-tile-container,\\r\\n.leaflet-pane > svg,\\r\\n.leaflet-pane > canvas,\\r\\n.leaflet-zoom-box,\\r\\n.leaflet-image-layer,\\r\\n.leaflet-layer {\\r\\n\\tposition: absolute;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\t}\\r\\n\\r\\n.leaflet-container {\\r\\n\\toverflow: hidden;\\r\\n\\t}\\r\\n\\r\\n.leaflet-tile,\\r\\n.leaflet-marker-icon,\\r\\n.leaflet-marker-shadow {\\r\\n\\t-webkit-user-select: none;\\r\\n\\t -moz-user-select: none;\\r\\n\\t user-select: none;\\r\\n\\t -webkit-user-drag: none;\\r\\n\\t}\\r\\n\\r\\n/* Prevents IE11 from highlighting tiles in blue */\\r\\n\\r\\n.leaflet-tile::-moz-selection {\\r\\n\\tbackground: transparent;\\r\\n}\\r\\n\\r\\n.leaflet-tile::selection {\\r\\n\\tbackground: transparent;\\r\\n}\\r\\n\\r\\n/* Safari renders non-retina tile on retina better with this, but Chrome is worse */\\r\\n\\r\\n.leaflet-safari .leaflet-tile {\\r\\n\\timage-rendering: -webkit-optimize-contrast;\\r\\n\\t}\\r\\n\\r\\n/* hack that prevents hw layers \\\"stretching\\\" when loading new tiles */\\r\\n\\r\\n.leaflet-safari .leaflet-tile-container {\\r\\n\\twidth: 1600px;\\r\\n\\theight: 1600px;\\r\\n\\t-webkit-transform-origin: 0 0;\\r\\n\\t}\\r\\n\\r\\n.leaflet-marker-icon,\\r\\n.leaflet-marker-shadow {\\r\\n\\tdisplay: block;\\r\\n\\t}\\r\\n\\r\\n/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */\\r\\n\\r\\n/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */\\r\\n\\r\\n.leaflet-container .leaflet-overlay-pane svg {\\r\\n\\tmax-width: none !important;\\r\\n\\tmax-height: none !important;\\r\\n\\t}\\r\\n\\r\\n.leaflet-container .leaflet-marker-pane img,\\r\\n.leaflet-container .leaflet-shadow-pane img,\\r\\n.leaflet-container .leaflet-tile-pane img,\\r\\n.leaflet-container img.leaflet-image-layer,\\r\\n.leaflet-container .leaflet-tile {\\r\\n\\tmax-width: none !important;\\r\\n\\tmax-height: none !important;\\r\\n\\twidth: auto;\\r\\n\\tpadding: 0;\\r\\n\\t}\\r\\n\\r\\n.leaflet-container.leaflet-touch-zoom {\\r\\n\\ttouch-action: pan-x pan-y;\\r\\n\\t}\\r\\n\\r\\n.leaflet-container.leaflet-touch-drag {\\r\\n\\t/* Fallback for FF which doesn't support pinch-zoom */\\r\\n\\ttouch-action: none;\\r\\n\\ttouch-action: pinch-zoom;\\r\\n}\\r\\n\\r\\n.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {\\r\\n\\ttouch-action: none;\\r\\n}\\r\\n\\r\\n.leaflet-container {\\r\\n\\t-webkit-tap-highlight-color: transparent;\\r\\n}\\r\\n\\r\\n.leaflet-container a {\\r\\n\\t-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);\\r\\n}\\r\\n\\r\\n.leaflet-tile {\\r\\n\\tfilter: inherit;\\r\\n\\tvisibility: hidden;\\r\\n\\t}\\r\\n\\r\\n.leaflet-tile-loaded {\\r\\n\\tvisibility: inherit;\\r\\n\\t}\\r\\n\\r\\n.leaflet-zoom-box {\\r\\n\\twidth: 0;\\r\\n\\theight: 0;\\r\\n\\tbox-sizing: border-box;\\r\\n\\tz-index: 800;\\r\\n\\t}\\r\\n\\r\\n/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */\\r\\n\\r\\n.leaflet-overlay-pane svg {\\r\\n\\t-moz-user-select: none;\\r\\n\\t}\\r\\n\\r\\n.leaflet-pane { z-index: 400; }\\r\\n\\r\\n.leaflet-tile-pane { z-index: 200; }\\r\\n\\r\\n.leaflet-overlay-pane { z-index: 400; }\\r\\n\\r\\n.leaflet-shadow-pane { z-index: 500; }\\r\\n\\r\\n.leaflet-marker-pane { z-index: 600; }\\r\\n\\r\\n.leaflet-tooltip-pane { z-index: 650; }\\r\\n\\r\\n.leaflet-popup-pane { z-index: 700; }\\r\\n\\r\\n.leaflet-map-pane canvas { z-index: 100; }\\r\\n\\r\\n.leaflet-map-pane svg { z-index: 200; }\\r\\n\\r\\n.leaflet-vml-shape {\\r\\n\\twidth: 1px;\\r\\n\\theight: 1px;\\r\\n\\t}\\r\\n\\r\\n.lvml {\\r\\n\\tbehavior: url(#default#VML);\\r\\n\\tdisplay: inline-block;\\r\\n\\tposition: absolute;\\r\\n\\t}\\r\\n\\r\\n/* control positioning */\\r\\n\\r\\n.leaflet-control {\\r\\n\\tposition: relative;\\r\\n\\tz-index: 800;\\r\\n\\tpointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\\r\\n\\tpointer-events: auto;\\r\\n\\t}\\r\\n\\r\\n.leaflet-top,\\r\\n.leaflet-bottom {\\r\\n\\tposition: absolute;\\r\\n\\tz-index: 1000;\\r\\n\\tpointer-events: none;\\r\\n\\t}\\r\\n\\r\\n.leaflet-top {\\r\\n\\ttop: 0;\\r\\n\\t}\\r\\n\\r\\n.leaflet-right {\\r\\n\\tright: 0;\\r\\n\\t}\\r\\n\\r\\n.leaflet-bottom {\\r\\n\\tbottom: 0;\\r\\n\\t}\\r\\n\\r\\n.leaflet-left {\\r\\n\\tleft: 0;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control {\\r\\n\\tfloat: left;\\r\\n\\tclear: both;\\r\\n\\t}\\r\\n\\r\\n.leaflet-right .leaflet-control {\\r\\n\\tfloat: right;\\r\\n\\t}\\r\\n\\r\\n.leaflet-top .leaflet-control {\\r\\n\\tmargin-top: 10px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-bottom .leaflet-control {\\r\\n\\tmargin-bottom: 10px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-left .leaflet-control {\\r\\n\\tmargin-left: 10px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-right .leaflet-control {\\r\\n\\tmargin-right: 10px;\\r\\n\\t}\\r\\n\\r\\n/* zoom and fade animations */\\r\\n\\r\\n.leaflet-fade-anim .leaflet-popup {\\r\\n\\topacity: 0;\\r\\n\\ttransition: opacity 0.2s linear;\\r\\n\\t}\\r\\n\\r\\n.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {\\r\\n\\topacity: 1;\\r\\n\\t}\\r\\n\\r\\n.leaflet-zoom-animated {\\r\\n\\ttransform-origin: 0 0;\\r\\n\\t}\\r\\n\\r\\nsvg.leaflet-zoom-animated {\\r\\n\\twill-change: transform;\\r\\n}\\r\\n\\r\\n.leaflet-zoom-anim .leaflet-zoom-animated {\\r\\n\\ttransition: transform 0.25s cubic-bezier(0,0,0.25,1);\\r\\n\\t}\\r\\n\\r\\n.leaflet-zoom-anim .leaflet-tile,\\r\\n.leaflet-pan-anim .leaflet-tile {\\r\\n\\ttransition: none;\\r\\n\\t}\\r\\n\\r\\n.leaflet-zoom-anim .leaflet-zoom-hide {\\r\\n\\tvisibility: hidden;\\r\\n\\t}\\r\\n\\r\\n/* cursors */\\r\\n\\r\\n.leaflet-interactive {\\r\\n\\tcursor: pointer;\\r\\n\\t}\\r\\n\\r\\n.leaflet-grab {\\r\\n\\tcursor: grab;\\r\\n\\t}\\r\\n\\r\\n.leaflet-crosshair,\\r\\n.leaflet-crosshair .leaflet-interactive {\\r\\n\\tcursor: crosshair;\\r\\n\\t}\\r\\n\\r\\n.leaflet-popup-pane,\\r\\n.leaflet-control {\\r\\n\\tcursor: auto;\\r\\n\\t}\\r\\n\\r\\n.leaflet-dragging .leaflet-grab,\\r\\n.leaflet-dragging .leaflet-grab .leaflet-interactive,\\r\\n.leaflet-dragging .leaflet-marker-draggable {\\r\\n\\tcursor: move;\\r\\n\\tcursor: grabbing;\\r\\n\\t}\\r\\n\\r\\n/* marker & overlays interactivity */\\r\\n\\r\\n.leaflet-marker-icon,\\r\\n.leaflet-marker-shadow,\\r\\n.leaflet-image-layer,\\r\\n.leaflet-pane > svg path,\\r\\n.leaflet-tile-container {\\r\\n\\tpointer-events: none;\\r\\n\\t}\\r\\n\\r\\n.leaflet-marker-icon.leaflet-interactive,\\r\\n.leaflet-image-layer.leaflet-interactive,\\r\\n.leaflet-pane > svg path.leaflet-interactive,\\r\\nsvg.leaflet-image-layer.leaflet-interactive path {\\r\\n\\tpointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\\r\\n\\tpointer-events: auto;\\r\\n\\t}\\r\\n\\r\\n/* visual tweaks */\\r\\n\\r\\n.leaflet-container {\\r\\n\\tbackground: #ddd;\\r\\n\\toutline-offset: 1px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-container a {\\r\\n\\tcolor: #0078A8;\\r\\n\\t}\\r\\n\\r\\n.leaflet-zoom-box {\\r\\n\\tborder: 2px dotted #38f;\\r\\n\\tbackground: rgba(255,255,255,0.5);\\r\\n\\t}\\r\\n\\r\\n/* general typography */\\r\\n\\r\\n.leaflet-container {\\r\\n\\tfont-family: \\\"Helvetica Neue\\\", Arial, Helvetica, sans-serif;\\r\\n\\tfont-size: 12px;\\r\\n\\tfont-size: 0.75rem;\\r\\n\\tline-height: 1.5;\\r\\n\\t}\\r\\n\\r\\n/* general toolbar styles */\\r\\n\\r\\n.leaflet-bar {\\r\\n\\tbox-shadow: 0 1px 5px rgba(0,0,0,0.65);\\r\\n\\tborder-radius: 4px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-bar a {\\r\\n\\tbackground-color: #fff;\\r\\n\\tborder-bottom: 1px solid #ccc;\\r\\n\\twidth: 26px;\\r\\n\\theight: 26px;\\r\\n\\tline-height: 26px;\\r\\n\\tdisplay: block;\\r\\n\\ttext-align: center;\\r\\n\\ttext-decoration: none;\\r\\n\\tcolor: black;\\r\\n\\t}\\r\\n\\r\\n.leaflet-bar a,\\r\\n.leaflet-control-layers-toggle {\\r\\n\\tbackground-position: 50% 50%;\\r\\n\\tbackground-repeat: no-repeat;\\r\\n\\tdisplay: block;\\r\\n\\t}\\r\\n\\r\\n.leaflet-bar a:hover,\\r\\n.leaflet-bar a:focus {\\r\\n\\tbackground-color: #f4f4f4;\\r\\n\\t}\\r\\n\\r\\n.leaflet-bar a:first-child {\\r\\n\\tborder-top-left-radius: 4px;\\r\\n\\tborder-top-right-radius: 4px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-bar a:last-child {\\r\\n\\tborder-bottom-left-radius: 4px;\\r\\n\\tborder-bottom-right-radius: 4px;\\r\\n\\tborder-bottom: none;\\r\\n\\t}\\r\\n\\r\\n.leaflet-bar a.leaflet-disabled {\\r\\n\\tcursor: default;\\r\\n\\tbackground-color: #f4f4f4;\\r\\n\\tcolor: #bbb;\\r\\n\\t}\\r\\n\\r\\n.leaflet-touch .leaflet-bar a {\\r\\n\\twidth: 30px;\\r\\n\\theight: 30px;\\r\\n\\tline-height: 30px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-touch .leaflet-bar a:first-child {\\r\\n\\tborder-top-left-radius: 2px;\\r\\n\\tborder-top-right-radius: 2px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-touch .leaflet-bar a:last-child {\\r\\n\\tborder-bottom-left-radius: 2px;\\r\\n\\tborder-bottom-right-radius: 2px;\\r\\n\\t}\\r\\n\\r\\n/* zoom control */\\r\\n\\r\\n.leaflet-control-zoom-in,\\r\\n.leaflet-control-zoom-out {\\r\\n\\tfont: bold 18px 'Lucida Console', Monaco, monospace;\\r\\n\\ttext-indent: 1px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {\\r\\n\\tfont-size: 22px;\\r\\n\\t}\\r\\n\\r\\n/* layers control */\\r\\n\\r\\n.leaflet-control-layers {\\r\\n\\tbox-shadow: 0 1px 5px rgba(0,0,0,0.4);\\r\\n\\tbackground: #fff;\\r\\n\\tborder-radius: 5px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-layers-toggle {\\r\\n\\tbackground-image: url('layers.png');\\r\\n\\twidth: 36px;\\r\\n\\theight: 36px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-retina .leaflet-control-layers-toggle {\\r\\n\\tbackground-image: url('layers-2x.png');\\r\\n\\tbackground-size: 26px 26px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-touch .leaflet-control-layers-toggle {\\r\\n\\twidth: 44px;\\r\\n\\theight: 44px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-layers .leaflet-control-layers-list,\\r\\n.leaflet-control-layers-expanded .leaflet-control-layers-toggle {\\r\\n\\tdisplay: none;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-layers-expanded .leaflet-control-layers-list {\\r\\n\\tdisplay: block;\\r\\n\\tposition: relative;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-layers-expanded {\\r\\n\\tpadding: 6px 10px 6px 6px;\\r\\n\\tcolor: #333;\\r\\n\\tbackground: #fff;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-layers-scrollbar {\\r\\n\\toverflow-y: scroll;\\r\\n\\toverflow-x: hidden;\\r\\n\\tpadding-right: 5px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-layers-selector {\\r\\n\\tmargin-top: 2px;\\r\\n\\tposition: relative;\\r\\n\\ttop: 1px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-layers label {\\r\\n\\tdisplay: block;\\r\\n\\tfont-size: 13px;\\r\\n\\tfont-size: 1.08333em;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-layers-separator {\\r\\n\\theight: 0;\\r\\n\\tborder-top: 1px solid #ddd;\\r\\n\\tmargin: 5px -10px 5px -6px;\\r\\n\\t}\\r\\n\\r\\n/* Default icon URLs */\\r\\n\\r\\n.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */\\r\\n\\tbackground-image: url('marker-icon.png');\\r\\n\\t}\\r\\n\\r\\n/* attribution and scale controls */\\r\\n\\r\\n.leaflet-container .leaflet-control-attribution {\\r\\n\\tbackground: #fff;\\r\\n\\tbackground: rgba(255, 255, 255, 0.8);\\r\\n\\tmargin: 0;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-attribution,\\r\\n.leaflet-control-scale-line {\\r\\n\\tpadding: 0 5px;\\r\\n\\tcolor: #333;\\r\\n\\tline-height: 1.4;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-attribution a {\\r\\n\\ttext-decoration: none;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-attribution a:hover,\\r\\n.leaflet-control-attribution a:focus {\\r\\n\\ttext-decoration: underline;\\r\\n\\t}\\r\\n\\r\\n.leaflet-attribution-flag {\\r\\n\\tdisplay: inline !important;\\r\\n\\tvertical-align: baseline !important;\\r\\n\\twidth: 1em;\\r\\n\\theight: 0.6669em;\\r\\n\\t}\\r\\n\\r\\n.leaflet-left .leaflet-control-scale {\\r\\n\\tmargin-left: 5px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-bottom .leaflet-control-scale {\\r\\n\\tmargin-bottom: 5px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-scale-line {\\r\\n\\tborder: 2px solid #777;\\r\\n\\tborder-top: none;\\r\\n\\tline-height: 1.1;\\r\\n\\tpadding: 2px 5px 1px;\\r\\n\\twhite-space: nowrap;\\r\\n\\tbox-sizing: border-box;\\r\\n\\tbackground: rgba(255, 255, 255, 0.8);\\r\\n\\ttext-shadow: 1px 1px #fff;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-scale-line:not(:first-child) {\\r\\n\\tborder-top: 2px solid #777;\\r\\n\\tborder-bottom: none;\\r\\n\\tmargin-top: -2px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-control-scale-line:not(:first-child):not(:last-child) {\\r\\n\\tborder-bottom: 2px solid #777;\\r\\n\\t}\\r\\n\\r\\n.leaflet-touch .leaflet-control-attribution,\\r\\n.leaflet-touch .leaflet-control-layers,\\r\\n.leaflet-touch .leaflet-bar {\\r\\n\\tbox-shadow: none;\\r\\n\\t}\\r\\n\\r\\n.leaflet-touch .leaflet-control-layers,\\r\\n.leaflet-touch .leaflet-bar {\\r\\n\\tborder: 2px solid rgba(0,0,0,0.2);\\r\\n\\tbackground-clip: padding-box;\\r\\n\\t}\\r\\n\\r\\n/* popup */\\r\\n\\r\\n.leaflet-popup {\\r\\n\\tposition: absolute;\\r\\n\\ttext-align: center;\\r\\n\\tmargin-bottom: 20px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-popup-content-wrapper {\\r\\n\\tpadding: 1px;\\r\\n\\ttext-align: left;\\r\\n\\tborder-radius: 12px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-popup-content {\\r\\n\\tmargin: 13px 24px 13px 20px;\\r\\n\\tline-height: 1.3;\\r\\n\\tfont-size: 13px;\\r\\n\\tfont-size: 1.08333em;\\r\\n\\tmin-height: 1px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-popup-content p {\\r\\n\\tmargin: 17px 0;\\r\\n\\tmargin: 1.3em 0;\\r\\n\\t}\\r\\n\\r\\n.leaflet-popup-tip-container {\\r\\n\\twidth: 40px;\\r\\n\\theight: 20px;\\r\\n\\tposition: absolute;\\r\\n\\tleft: 50%;\\r\\n\\tmargin-top: -1px;\\r\\n\\tmargin-left: -20px;\\r\\n\\toverflow: hidden;\\r\\n\\tpointer-events: none;\\r\\n\\t}\\r\\n\\r\\n.leaflet-popup-tip {\\r\\n\\twidth: 17px;\\r\\n\\theight: 17px;\\r\\n\\tpadding: 1px;\\r\\n\\r\\n\\tmargin: -10px auto 0;\\r\\n\\tpointer-events: auto;\\r\\n\\ttransform: rotate(45deg);\\r\\n\\t}\\r\\n\\r\\n.leaflet-popup-content-wrapper,\\r\\n.leaflet-popup-tip {\\r\\n\\tbackground: white;\\r\\n\\tcolor: #333;\\r\\n\\tbox-shadow: 0 3px 14px rgba(0,0,0,0.4);\\r\\n\\t}\\r\\n\\r\\n.leaflet-container a.leaflet-popup-close-button {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n\\tright: 0;\\r\\n\\tborder: none;\\r\\n\\ttext-align: center;\\r\\n\\twidth: 24px;\\r\\n\\theight: 24px;\\r\\n\\tfont: 16px/24px Tahoma, Verdana, sans-serif;\\r\\n\\tcolor: #757575;\\r\\n\\ttext-decoration: none;\\r\\n\\tbackground: transparent;\\r\\n\\t}\\r\\n\\r\\n.leaflet-container a.leaflet-popup-close-button:hover,\\r\\n.leaflet-container a.leaflet-popup-close-button:focus {\\r\\n\\tcolor: #585858;\\r\\n\\t}\\r\\n\\r\\n.leaflet-popup-scrolled {\\r\\n\\toverflow: auto;\\r\\n\\t}\\r\\n\\r\\n.leaflet-oldie .leaflet-popup-content-wrapper {\\r\\n\\t-ms-zoom: 1;\\r\\n\\t}\\r\\n\\r\\n.leaflet-oldie .leaflet-popup-tip {\\r\\n\\twidth: 24px;\\r\\n\\tmargin: 0 auto;\\r\\n\\r\\n\\t-ms-filter: \\\"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)\\\";\\r\\n\\tfilter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);\\r\\n\\t}\\r\\n\\r\\n.leaflet-oldie .leaflet-control-zoom,\\r\\n.leaflet-oldie .leaflet-control-layers,\\r\\n.leaflet-oldie .leaflet-popup-content-wrapper,\\r\\n.leaflet-oldie .leaflet-popup-tip {\\r\\n\\tborder: 1px solid #999;\\r\\n\\t}\\r\\n\\r\\n/* div icon */\\r\\n\\r\\n.leaflet-div-icon {\\r\\n\\tbackground: #fff;\\r\\n\\tborder: 1px solid #666;\\r\\n\\t}\\r\\n\\r\\n/* Tooltip */\\r\\n\\r\\n/* Base styles for the element that has a tooltip */\\r\\n\\r\\n.leaflet-tooltip {\\r\\n\\tposition: absolute;\\r\\n\\tpadding: 6px;\\r\\n\\tbackground-color: #fff;\\r\\n\\tborder: 1px solid #fff;\\r\\n\\tborder-radius: 3px;\\r\\n\\tcolor: #222;\\r\\n\\twhite-space: nowrap;\\r\\n\\t-webkit-user-select: none;\\r\\n\\t-moz-user-select: none;\\r\\n\\tuser-select: none;\\r\\n\\tpointer-events: none;\\r\\n\\tbox-shadow: 0 1px 3px rgba(0,0,0,0.4);\\r\\n\\t}\\r\\n\\r\\n.leaflet-tooltip.leaflet-interactive {\\r\\n\\tcursor: pointer;\\r\\n\\tpointer-events: auto;\\r\\n\\t}\\r\\n\\r\\n.leaflet-tooltip-top:before,\\r\\n.leaflet-tooltip-bottom:before,\\r\\n.leaflet-tooltip-left:before,\\r\\n.leaflet-tooltip-right:before {\\r\\n\\tposition: absolute;\\r\\n\\tpointer-events: none;\\r\\n\\tborder: 6px solid transparent;\\r\\n\\tbackground: transparent;\\r\\n\\tcontent: \\\"\\\";\\r\\n\\t}\\r\\n\\r\\n/* Directions */\\r\\n\\r\\n.leaflet-tooltip-bottom {\\r\\n\\tmargin-top: 6px;\\r\\n}\\r\\n\\r\\n.leaflet-tooltip-top {\\r\\n\\tmargin-top: -6px;\\r\\n}\\r\\n\\r\\n.leaflet-tooltip-bottom:before,\\r\\n.leaflet-tooltip-top:before {\\r\\n\\tleft: 50%;\\r\\n\\tmargin-left: -6px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-tooltip-top:before {\\r\\n\\tbottom: 0;\\r\\n\\tmargin-bottom: -12px;\\r\\n\\tborder-top-color: #fff;\\r\\n\\t}\\r\\n\\r\\n.leaflet-tooltip-bottom:before {\\r\\n\\ttop: 0;\\r\\n\\tmargin-top: -12px;\\r\\n\\tmargin-left: -6px;\\r\\n\\tborder-bottom-color: #fff;\\r\\n\\t}\\r\\n\\r\\n.leaflet-tooltip-left {\\r\\n\\tmargin-left: -6px;\\r\\n}\\r\\n\\r\\n.leaflet-tooltip-right {\\r\\n\\tmargin-left: 6px;\\r\\n}\\r\\n\\r\\n.leaflet-tooltip-left:before,\\r\\n.leaflet-tooltip-right:before {\\r\\n\\ttop: 50%;\\r\\n\\tmargin-top: -6px;\\r\\n\\t}\\r\\n\\r\\n.leaflet-tooltip-left:before {\\r\\n\\tright: 0;\\r\\n\\tmargin-right: -12px;\\r\\n\\tborder-left-color: #fff;\\r\\n\\t}\\r\\n\\r\\n.leaflet-tooltip-right:before {\\r\\n\\tleft: 0;\\r\\n\\tmargin-left: -12px;\\r\\n\\tborder-right-color: #fff;\\r\\n\\t}\\r\\n\\r\\n/* Printing */\\r\\n\\r\\n@media print {\\r\\n\\t/* Prevent printers from removing background-images of controls. */\\r\\n\\t.leaflet-control {\\r\\n\\t\\t-webkit-print-color-adjust: exact;\\r\\n\\t\\tprint-color-adjust: exact;\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n#taxi_map {\\r\\n height: 90%;\\r\\n margin: 0 !important;\\r\\n}\\r\\n\\r\\nhtml,\\r\\nbody {\\r\\n height: 100%;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n.box {\\r\\n display: flex;\\r\\n flex-flow: column;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.box .row {\\r\\n border: 1px dotted grey;\\r\\n}\\r\\n\\r\\n.box .row.header {\\r\\n flex: 0 1 auto;\\r\\n}\\r\\n\\r\\n.box .row.content {\\r\\n flex: 1 1 auto;\\r\\n}\\r\\n\\r\\n.box .row.footer {\\r\\n flex: 0 1 40px;\\r\\n}\\r\\n\\r\\n.my-custom-icon {\\r\\n width: 32px !important;\\r\\n height: 24px !important;\\r\\n margin-left: -12px;\\r\\n margin-top: -12px;\\r\\n border-radius: 18px;\\r\\n text-align: center;\\r\\n color: #fff;\\r\\n background-color: #000;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.my-custom-drivericon {\\r\\n /*width: 64px !important;\\r\\n height: 64px !important;\\r\\n margin-left: -12px;\\r\\n margin-top: -12px;\\r\\n border-radius: 18px;\\r\\n border: 2px solid #3F51B5;\\r\\n text-align: center;\\r\\n color: #3F51B5;\\r\\n background-color: #fff;\\r\\n font-size: 16px;\\r\\n font-weight:bolder;*/\\r\\n width: 84px !important;\\r\\n height: 64px !important;\\r\\n background-color: #eee;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9sZWFmbGV0L2Rpc3QvbGVhZmxldC5jc3MiLCJzcmMvYXBwL3RheGltYXAvdGF4aW1hcC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjs7QUFFcEI7Ozs7Ozs7Ozs7Q0FVQyxrQkFBa0I7Q0FDbEIsT0FBTztDQUNQLE1BQU07Q0FDTjs7QUFDRDtDQUNDLGdCQUFnQjtDQUNoQjs7QUFDRDs7O0NBR0MseUJBQXlCO0lBQ3RCLHNCQUFzQjtTQUNqQixpQkFBaUI7R0FDdkIsdUJBQXVCO0NBQ3pCOztBQUNELGtEQUFrRDs7QUFDbEQ7Q0FDQyx1QkFBdUI7QUFDeEI7O0FBRkE7Q0FDQyx1QkFBdUI7QUFDeEI7O0FBQ0EsbUZBQW1GOztBQUNuRjtDQUNDLDBDQUEwQztDQUMxQzs7QUFDRCxxRUFBcUU7O0FBQ3JFO0NBQ0MsYUFBYTtDQUNiLGNBQWM7Q0FDZCw2QkFBNkI7Q0FDN0I7O0FBQ0Q7O0NBRUMsY0FBYztDQUNkOztBQUNELGdHQUFnRzs7QUFDaEcscUZBQXFGOztBQUNyRjtDQUNDLDBCQUEwQjtDQUMxQiwyQkFBMkI7Q0FDM0I7O0FBQ0Q7Ozs7O0NBS0MsMEJBQTBCO0NBQzFCLDJCQUEyQjtDQUMzQixXQUFXO0NBQ1gsVUFBVTtDQUNWOztBQUVEO0NBRUMseUJBQXlCO0NBQ3pCOztBQUNEO0NBRUMscURBQXFEO0NBQ3JELGtCQUFrQjtDQUNsQix3QkFBd0I7QUFDekI7O0FBQ0E7Q0FFQyxrQkFBa0I7QUFDbkI7O0FBQ0E7Q0FDQyx3Q0FBd0M7QUFDekM7O0FBQ0E7Q0FDQyxvREFBb0Q7QUFDckQ7O0FBQ0E7Q0FDQyxlQUFlO0NBQ2Ysa0JBQWtCO0NBQ2xCOztBQUNEO0NBQ0MsbUJBQW1CO0NBQ25COztBQUNEO0NBQ0MsUUFBUTtDQUNSLFNBQVM7Q0FFSixzQkFBc0I7Q0FDM0IsWUFBWTtDQUNaOztBQUNELHVFQUF1RTs7QUFDdkU7Q0FDQyxzQkFBc0I7Q0FDdEI7O0FBRUQsd0JBQXdCLFlB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ekI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsc0JBQXNCO0VBQ3RCLGVBQWU7QUFDakI7O0FBRUE7RUFDRTs7Ozs7Ozs7OztzQkFVb0I7RUFDcEIsc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixzQkFBc0I7QUFDeEIiLCJmaWxlIjoic3JjL2FwcC90YXhpbWFwL3RheGltYXAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHJlcXVpcmVkIHN0eWxlcyAqL1xyXG5cclxuLmxlYWZsZXQtcGFuZSxcclxuLmxlYWZsZXQtdGlsZSxcclxuLmxlYWZsZXQtbWFya2VyLWljb24sXHJcbi5sZWFmbGV0LW1hcmtlci1zaGFkb3csXHJcbi5sZWFmbGV0LXRpbGUtY29udGFpbmVyLFxyXG4ubGVhZmxldC1wYW5lID4gc3ZnLFxyXG4ubGVhZmxldC1wYW5lID4gY2FudmFzLFxyXG4ubGVhZmxldC16b29tLWJveCxcclxuLmxlYWZsZXQtaW1hZ2UtbGF5ZXIsXHJcbi5sZWFmbGV0LWxheWVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogMDtcclxuXHR0b3A6IDA7XHJcblx0fVxyXG4ubGVhZmxldC1jb250YWluZXIge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG4ubGVhZmxldC10aWxlLFxyXG4ubGVhZmxldC1tYXJrZXItaWNvbixcclxuLmxlYWZsZXQtbWFya2VyLXNoYWRvdyB7XHJcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG5cdCAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0ICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcclxuXHR9XHJcbi8qIFByZXZlbnRzIElFMTEgZnJvbSBoaWdobGlnaHRpbmcgdGlsZXMgaW4gYmx1ZSAqL1xyXG4ubGVhZmxldC10aWxlOjpzZWxlY3Rpb24ge1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi8qIFNhZmFyaSByZW5kZXJzIG5vbi1yZXRpbmEgdGlsZSBvbiByZXRpbmEgYmV0dGVyIHdpdGggdGhpcywgYnV0IENocm9tZSBpcyB3b3JzZSAqL1xyXG4ubGVhZmxldC1zYWZhcmkgLmxlYWZsZXQtdGlsZSB7XHJcblx0aW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xyXG5cdH1cclxuLyogaGFjayB0aGF0IHByZXZlbnRzIGh3IGxheWVycyBcInN0cmV0Y2hpbmdcIiB3aGVuIGxvYWRpbmcgbmV3IHRpbGVzICovXHJcbi5sZWFmbGV0LXNhZmFyaSAubGVhZmxldC10aWxlLWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDE2MDBweDtcclxuXHRoZWlnaHQ6IDE2MDBweDtcclxuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuXHR9XHJcbi5sZWFmbGV0LW1hcmtlci1pY29uLFxyXG4ubGVhZmxldC1tYXJrZXItc2hhZG93IHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbi8qIC5sZWFmbGV0LWNvbnRhaW5lciBzdmc6IHJlc2V0IHN2ZyBtYXgtd2lkdGggZGVjbGVyYXRpb24gc2hpcHBlZCBpbiBKb29tbGEhIChqb29tbGEub3JnKSAzLnggKi9cclxuLyogLmxlYWZsZXQtY29udGFpbmVyIGltZzogbWFwIGlzIGJyb2tlbiBpbiBGRiBpZiB5b3UgaGF2ZSBtYXgtd2lkdGg6IDEwMCUgb24gdGlsZXMgKi9cclxuLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LW92ZXJsYXktcGFuZSBzdmcge1xyXG5cdG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG5cdG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1tYXJrZXItcGFuZSBpbWcsXHJcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1zaGFkb3ctcGFuZSBpbWcsXHJcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC10aWxlLXBhbmUgaW1nLFxyXG4ubGVhZmxldC1jb250YWluZXIgaW1nLmxlYWZsZXQtaW1hZ2UtbGF5ZXIsXHJcbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC10aWxlIHtcclxuXHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuXHRtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XHJcblx0d2lkdGg6IGF1dG87XHJcblx0cGFkZGluZzogMDtcclxuXHR9XHJcblxyXG4ubGVhZmxldC1jb250YWluZXIubGVhZmxldC10b3VjaC16b29tIHtcclxuXHQtbXMtdG91Y2gtYWN0aW9uOiBwYW4teCBwYW4teTtcclxuXHR0b3VjaC1hY3Rpb246IHBhbi14IHBhbi15O1xyXG5cdH1cclxuLmxlYWZsZXQtY29udGFpbmVyLmxlYWZsZXQtdG91Y2gtZHJhZyB7XHJcblx0LW1zLXRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtcclxuXHQvKiBGYWxsYmFjayBmb3IgRkYgd2hpY2ggZG9lc24ndCBzdXBwb3J0IHBpbmNoLXpvb20gKi9cclxuXHR0b3VjaC1hY3Rpb246IG5vbmU7XHJcblx0dG91Y2gtYWN0aW9uOiBwaW5jaC16b29tO1xyXG59XHJcbi5sZWFmbGV0LWNvbnRhaW5lci5sZWFmbGV0LXRvdWNoLWRyYWcubGVhZmxldC10b3VjaC16b29tIHtcclxuXHQtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xyXG5cdHRvdWNoLWFjdGlvbjogbm9uZTtcclxufVxyXG4ubGVhZmxldC1jb250YWluZXIge1xyXG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLmxlYWZsZXQtY29udGFpbmVyIGEge1xyXG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSg1MSwgMTgxLCAyMjksIDAuNCk7XHJcbn1cclxuLmxlYWZsZXQtdGlsZSB7XHJcblx0ZmlsdGVyOiBpbmhlcml0O1xyXG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHR9XHJcbi5sZWFmbGV0LXRpbGUtbG9hZGVkIHtcclxuXHR2aXNpYmlsaXR5OiBpbmhlcml0O1xyXG5cdH1cclxuLmxlYWZsZXQtem9vbS1ib3gge1xyXG5cdHdpZHRoOiAwO1xyXG5cdGhlaWdodDogMDtcclxuXHQtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0ICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdHotaW5kZXg6IDgwMDtcclxuXHR9XHJcbi8qIHdvcmthcm91bmQgZm9yIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTg4ODMxOSAqL1xyXG4ubGVhZmxldC1vdmVybGF5LXBhbmUgc3ZnIHtcclxuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG5cdH1cclxuXHJcbi5sZWFmbGV0LXBhbmUgICAgICAgICB7IHotaW5kZXg6IDQwMDsgfVxyXG5cclxuLmxlYWZsZXQtdGlsZS1wYW5lICAgIHsgei1pbmRleDogMjAwOyB9XHJcbi5sZWFmbGV0LW92ZXJsYXktcGFuZSB7IHotaW5kZXg6IDQwMDsgfVxyXG4ubGVhZmxldC1zaGFkb3ctcGFuZSAgeyB6LWluZGV4OiA1MDA7IH1cclxuLmxlYWZsZXQtbWFya2VyLXBhbmUgIHsgei1pbmRleDogNjAwOyB9XHJcbi5sZWFmbGV0LXRvb2x0aXAtcGFuZSAgIHsgei1pbmRleDogNjUwOyB9XHJcbi5sZWFmbGV0LXBvcHVwLXBhbmUgICB7IHotaW5kZXg6IDcwMDsgfVxyXG5cclxuLmxlYWZsZXQtbWFwLXBhbmUgY2FudmFzIHsgei1pbmRleDogMTAwOyB9XHJcbi5sZWFmbGV0LW1hcC1wYW5lIHN2ZyAgICB7IHotaW5kZXg6IDIwMDsgfVxyXG5cclxuLmxlYWZsZXQtdm1sLXNoYXBlIHtcclxuXHR3aWR0aDogMXB4O1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdH1cclxuLmx2bWwge1xyXG5cdGJlaGF2aW9yOiB1cmwoI2RlZmF1bHQjVk1MKTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdH1cclxuXHJcblxyXG4vKiBjb250cm9sIHBvc2l0aW9uaW5nICovXHJcblxyXG4ubGVhZmxldC1jb250cm9sIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogODAwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlUGFpbnRlZDsgLyogSUUgOS0xMCBkb2Vzbid0IGhhdmUgYXV0byAqL1xyXG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG5cdH1cclxuLmxlYWZsZXQtdG9wLFxyXG4ubGVhZmxldC1ib3R0b20ge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR6LWluZGV4OiAxMDAwO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdH1cclxuLmxlYWZsZXQtdG9wIHtcclxuXHR0b3A6IDA7XHJcblx0fVxyXG4ubGVhZmxldC1yaWdodCB7XHJcblx0cmlnaHQ6IDA7XHJcblx0fVxyXG4ubGVhZmxldC1ib3R0b20ge1xyXG5cdGJvdHRvbTogMDtcclxuXHR9XHJcbi5sZWFmbGV0LWxlZnQge1xyXG5cdGxlZnQ6IDA7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sIHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRjbGVhcjogYm90aDtcclxuXHR9XHJcbi5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWNvbnRyb2wge1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHR9XHJcbi5sZWFmbGV0LXRvcCAubGVhZmxldC1jb250cm9sIHtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdH1cclxuLmxlYWZsZXQtYm90dG9tIC5sZWFmbGV0LWNvbnRyb2wge1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0fVxyXG4ubGVhZmxldC1sZWZ0IC5sZWFmbGV0LWNvbnRyb2wge1xyXG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdH1cclxuLmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtY29udHJvbCB7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdH1cclxuXHJcblxyXG4vKiB6b29tIGFuZCBmYWRlIGFuaW1hdGlvbnMgKi9cclxuXHJcbi5sZWFmbGV0LWZhZGUtYW5pbSAubGVhZmxldC1wb3B1cCB7XHJcblx0b3BhY2l0eTogMDtcclxuXHQtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcblx0ICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xyXG5cdCAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcclxuXHR9XHJcbi5sZWFmbGV0LWZhZGUtYW5pbSAubGVhZmxldC1tYXAtcGFuZSAubGVhZmxldC1wb3B1cCB7XHJcblx0b3BhY2l0eTogMTtcclxuXHR9XHJcbi5sZWFmbGV0LXpvb20tYW5pbWF0ZWQge1xyXG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xyXG5cdCAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xyXG5cdCAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xyXG5cdH1cclxuc3ZnLmxlYWZsZXQtem9vbS1hbmltYXRlZCB7XHJcblx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcclxufVxyXG5cclxuLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXpvb20tYW5pbWF0ZWQge1xyXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwwLjI1LDEpO1xyXG5cdCAgIC1tb3otdHJhbnNpdGlvbjogICAgLW1vei10cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwwLjI1LDEpO1xyXG5cdCAgICAgICAgdHJhbnNpdGlvbjogICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwwLjI1LDEpO1xyXG5cdH1cclxuLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXRpbGUsXHJcbi5sZWFmbGV0LXBhbi1hbmltIC5sZWFmbGV0LXRpbGUge1xyXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcclxuXHQgICAtbW96LXRyYW5zaXRpb246IG5vbmU7XHJcblx0ICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG5cdH1cclxuXHJcbi5sZWFmbGV0LXpvb20tYW5pbSAubGVhZmxldC16b29tLWhpZGUge1xyXG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHR9XHJcblxyXG5cclxuLyogY3Vyc29ycyAqL1xyXG5cclxuLmxlYWZsZXQtaW50ZXJhY3RpdmUge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcbi5sZWFmbGV0LWdyYWIge1xyXG5cdGN1cnNvcjogLXdlYmtpdC1ncmFiO1xyXG5cdGN1cnNvcjogICAgLW1vei1ncmFiO1xyXG5cdGN1cnNvcjogICAgICAgICBncmFiO1xyXG5cdH1cclxuLmxlYWZsZXQtY3Jvc3NoYWlyLFxyXG4ubGVhZmxldC1jcm9zc2hhaXIgLmxlYWZsZXQtaW50ZXJhY3RpdmUge1xyXG5cdGN1cnNvcjogY3Jvc3NoYWlyO1xyXG5cdH1cclxuLmxlYWZsZXQtcG9wdXAtcGFuZSxcclxuLmxlYWZsZXQtY29udHJvbCB7XHJcblx0Y3Vyc29yOiBhdXRvO1xyXG5cdH1cclxuLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtZ3JhYixcclxuLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtZ3JhYiAubGVhZmxldC1pbnRlcmFjdGl2ZSxcclxuLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtbWFya2VyLWRyYWdnYWJsZSB7XHJcblx0Y3Vyc29yOiBtb3ZlO1xyXG5cdGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcclxuXHRjdXJzb3I6ICAgIC1tb3otZ3JhYmJpbmc7XHJcblx0Y3Vyc29yOiAgICAgICAgIGdyYWJiaW5nO1xyXG5cdH1cclxuXHJcbi8qIG1hcmtlciAmIG92ZXJsYXlzIGludGVyYWN0aXZpdHkgKi9cclxuLmxlYWZsZXQtbWFya2VyLWljb24sXHJcbi5sZWFmbGV0LW1hcmtlci1zaGFkb3csXHJcbi5sZWFmbGV0LWltYWdlLWxheWVyLFxyXG4ubGVhZmxldC1wYW5lID4gc3ZnIHBhdGgsXHJcbi5sZWFmbGV0LXRpbGUtY29udGFpbmVyIHtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHR9XHJcblxyXG4ubGVhZmxldC1tYXJrZXItaWNvbi5sZWFmbGV0LWludGVyYWN0aXZlLFxyXG4ubGVhZmxldC1pbWFnZS1sYXllci5sZWFmbGV0LWludGVyYWN0aXZlLFxyXG4ubGVhZmxldC1wYW5lID4gc3ZnIHBhdGgubGVhZmxldC1pbnRlcmFjdGl2ZSxcclxuc3ZnLmxlYWZsZXQtaW1hZ2UtbGF5ZXIubGVhZmxldC1pbnRlcmFjdGl2ZSBwYXRoIHtcclxuXHRwb2ludGVyLWV2ZW50czogdmlzaWJsZVBhaW50ZWQ7IC8qIElFIDktMTAgZG9lc24ndCBoYXZlIGF1dG8gKi9cclxuXHRwb2ludGVyLWV2ZW50czogYXV0bztcclxuXHR9XHJcblxyXG4vKiB2aXN1YWwgdHdlYWtzICovXHJcblxyXG4ubGVhZmxldC1jb250YWluZXIge1xyXG5cdGJhY2tncm91bmQ6ICNkZGQ7XHJcblx0b3V0bGluZS1vZmZzZXQ6IDFweDtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRhaW5lciBhIHtcclxuXHRjb2xvcjogIzAwNzhBODtcclxuXHR9XHJcbi5sZWFmbGV0LXpvb20tYm94IHtcclxuXHRib3JkZXI6IDJweCBkb3R0ZWQgIzM4ZjtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XHJcblx0fVxyXG5cclxuXHJcbi8qIGdlbmVyYWwgdHlwb2dyYXBoeSAqL1xyXG4ubGVhZmxldC1jb250YWluZXIge1xyXG5cdGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG5cdH1cclxuXHJcblxyXG4vKiBnZW5lcmFsIHRvb2xiYXIgc3R5bGVzICovXHJcblxyXG4ubGVhZmxldC1iYXIge1xyXG5cdGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsMCwwLDAuNjUpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHR9XHJcbi5sZWFmbGV0LWJhciBhIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG5cdHdpZHRoOiAyNnB4O1xyXG5cdGhlaWdodDogMjZweDtcclxuXHRsaW5lLWhlaWdodDogMjZweDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdGNvbG9yOiBibGFjaztcclxuXHR9XHJcbi5sZWFmbGV0LWJhciBhLFxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbi5sZWFmbGV0LWJhciBhOmhvdmVyLFxyXG4ubGVhZmxldC1iYXIgYTpmb2N1cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcclxuXHR9XHJcbi5sZWFmbGV0LWJhciBhOmZpcnN0LWNoaWxkIHtcclxuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcclxuXHR9XHJcbi5sZWFmbGV0LWJhciBhOmxhc3QtY2hpbGQge1xyXG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcclxuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xyXG5cdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0fVxyXG4ubGVhZmxldC1iYXIgYS5sZWFmbGV0LWRpc2FibGVkIHtcclxuXHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcclxuXHRjb2xvcjogI2JiYjtcclxuXHR9XHJcblxyXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1iYXIgYSB7XHJcblx0d2lkdGg6IDMwcHg7XHJcblx0aGVpZ2h0OiAzMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG5cdH1cclxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIGE6Zmlyc3QtY2hpbGQge1xyXG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcclxuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xyXG5cdH1cclxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIGE6bGFzdC1jaGlsZCB7XHJcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4O1xyXG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XHJcblx0fVxyXG5cclxuLyogem9vbSBjb250cm9sICovXHJcblxyXG4ubGVhZmxldC1jb250cm9sLXpvb20taW4sXHJcbi5sZWFmbGV0LWNvbnRyb2wtem9vbS1vdXQge1xyXG5cdGZvbnQ6IGJvbGQgMThweCAnTHVjaWRhIENvbnNvbGUnLCBNb25hY28sIG1vbm9zcGFjZTtcclxuXHR0ZXh0LWluZGVudDogMXB4O1xyXG5cdH1cclxuXHJcbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbiwgLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC16b29tLW91dCAge1xyXG5cdGZvbnQtc2l6ZTogMjJweDtcclxuXHR9XHJcblxyXG5cclxuLyogbGF5ZXJzIGNvbnRyb2wgKi9cclxuXHJcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHtcclxuXHRib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLDAsMCwwLjQpO1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2xheWVycy5wbmcpO1xyXG5cdHdpZHRoOiAzNnB4O1xyXG5cdGhlaWdodDogMzZweDtcclxuXHR9XHJcbi5sZWFmbGV0LXJldGluYSAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvbGF5ZXJzLTJ4LnBuZyk7XHJcblx0YmFja2dyb3VuZC1zaXplOiAyNnB4IDI2cHg7XHJcblx0fVxyXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUge1xyXG5cdHdpZHRoOiA0NHB4O1xyXG5cdGhlaWdodDogNDRweDtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3QsXHJcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3Qge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIHtcclxuXHRwYWRkaW5nOiA2cHggMTBweCA2cHggNnB4O1xyXG5cdGNvbG9yOiAjMzMzO1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1zY3JvbGxiYXIge1xyXG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcclxuXHRvdmVyZmxvdy14OiBoaWRkZW47XHJcblx0cGFkZGluZy1yaWdodDogNXB4O1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VsZWN0b3Ige1xyXG5cdG1hcmdpbi10b3A6IDJweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dG9wOiAxcHg7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWxheWVycyBsYWJlbCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdGZvbnQtc2l6ZTogMS4wODMzM2VtO1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VwYXJhdG9yIHtcclxuXHRoZWlnaHQ6IDA7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcblx0bWFyZ2luOiA1cHggLTEwcHggNXB4IC02cHg7XHJcblx0fVxyXG5cclxuLyogRGVmYXVsdCBpY29uIFVSTHMgKi9cclxuLmxlYWZsZXQtZGVmYXVsdC1pY29uLXBhdGggeyAvKiB1c2VkIG9ubHkgaW4gcGF0aC1ndWVzc2luZyBoZXVyaXN0aWMsIHNlZSBMLkljb24uRGVmYXVsdCAqL1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvbWFya2VyLWljb24ucG5nKTtcclxuXHR9XHJcblxyXG5cclxuLyogYXR0cmlidXRpb24gYW5kIHNjYWxlIGNvbnRyb2xzICovXHJcblxyXG4ubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiB7XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XHJcblx0bWFyZ2luOiAwO1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbixcclxuLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lIHtcclxuXHRwYWRkaW5nOiAwIDVweDtcclxuXHRjb2xvcjogIzMzMztcclxuXHRsaW5lLWhlaWdodDogMS40O1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiBhIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIGE6aG92ZXIsXHJcbi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gYTpmb2N1cyB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0fVxyXG4ubGVhZmxldC1hdHRyaWJ1dGlvbi1mbGFnIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcclxuXHR3aWR0aDogMWVtO1xyXG5cdGhlaWdodDogMC42NjY5ZW07XHJcblx0fVxyXG4ubGVhZmxldC1sZWZ0IC5sZWFmbGV0LWNvbnRyb2wtc2NhbGUge1xyXG5cdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0fVxyXG4ubGVhZmxldC1ib3R0b20gLmxlYWZsZXQtY29udHJvbC1zY2FsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdH1cclxuLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lIHtcclxuXHRib3JkZXI6IDJweCBzb2xpZCAjNzc3O1xyXG5cdGJvcmRlci10b3A6IG5vbmU7XHJcblx0bGluZS1oZWlnaHQ6IDEuMTtcclxuXHRwYWRkaW5nOiAycHggNXB4IDFweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHQgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xyXG5cdHRleHQtc2hhZG93OiAxcHggMXB4ICNmZmY7XHJcblx0fVxyXG4ubGVhZmxldC1jb250cm9sLXNjYWxlLWxpbmU6bm90KDpmaXJzdC1jaGlsZCkge1xyXG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCAjNzc3O1xyXG5cdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0bWFyZ2luLXRvcDogLTJweDtcclxuXHR9XHJcbi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZTpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgIzc3NztcclxuXHR9XHJcblxyXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uLFxyXG4ubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLWxheWVycyxcclxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIHtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG5cdH1cclxuLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC1sYXllcnMsXHJcbi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWJhciB7XHJcblx0Ym9yZGVyOiAycHggc29saWQgcmdiYSgwLDAsMCwwLjIpO1xyXG5cdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcblx0fVxyXG5cclxuXHJcbi8qIHBvcHVwICovXHJcblxyXG4ubGVhZmxldC1wb3B1cCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIHtcclxuXHRwYWRkaW5nOiAxcHg7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRib3JkZXItcmFkaXVzOiAxMnB4O1xyXG5cdH1cclxuLmxlYWZsZXQtcG9wdXAtY29udGVudCB7XHJcblx0bWFyZ2luOiAxM3B4IDI0cHggMTNweCAyMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdGZvbnQtc2l6ZTogMS4wODMzM2VtO1xyXG5cdG1pbi1oZWlnaHQ6IDFweDtcclxuXHR9XHJcbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQgcCB7XHJcblx0bWFyZ2luOiAxN3B4IDA7XHJcblx0bWFyZ2luOiAxLjNlbSAwO1xyXG5cdH1cclxuLmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDQwcHg7XHJcblx0aGVpZ2h0OiAyMHB4O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0bWFyZ2luLXRvcDogLTFweDtcclxuXHRtYXJnaW4tbGVmdDogLTIwcHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHR9XHJcbi5sZWFmbGV0LXBvcHVwLXRpcCB7XHJcblx0d2lkdGg6IDE3cHg7XHJcblx0aGVpZ2h0OiAxN3B4O1xyXG5cdHBhZGRpbmc6IDFweDtcclxuXHJcblx0bWFyZ2luOiAtMTBweCBhdXRvIDA7XHJcblx0cG9pbnRlci1ldmVudHM6IGF1dG87XHJcblxyXG5cdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdCAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdCAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdCAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdH1cclxuLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyLFxyXG4ubGVhZmxldC1wb3B1cC10aXAge1xyXG5cdGJhY2tncm91bmQ6IHdoaXRlO1xyXG5cdGNvbG9yOiAjMzMzO1xyXG5cdGJveC1zaGFkb3c6IDAgM3B4IDE0cHggcmdiYSgwLDAsMCwwLjQpO1xyXG5cdH1cclxuLmxlYWZsZXQtY29udGFpbmVyIGEubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24ge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR3aWR0aDogMjRweDtcclxuXHRoZWlnaHQ6IDI0cHg7XHJcblx0Zm9udDogMTZweC8yNHB4IFRhaG9tYSwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcclxuXHRjb2xvcjogIzc1NzU3NTtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0fVxyXG4ubGVhZmxldC1jb250YWluZXIgYS5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbjpob3ZlcixcclxuLmxlYWZsZXQtY29udGFpbmVyIGEubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b246Zm9jdXMge1xyXG5cdGNvbG9yOiAjNTg1ODU4O1xyXG5cdH1cclxuLmxlYWZsZXQtcG9wdXAtc2Nyb2xsZWQge1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG5cdH1cclxuXHJcbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0LW1zLXpvb206IDE7XHJcblx0fVxyXG4ubGVhZmxldC1vbGRpZSAubGVhZmxldC1wb3B1cC10aXAge1xyXG5cdHdpZHRoOiAyNHB4O1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHQtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTAuNzA3MTA2NzgsIE0xMj0wLjcwNzEwNjc4LCBNMjE9LTAuNzA3MTA2NzgsIE0yMj0wLjcwNzEwNjc4KVwiO1xyXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0Lk1hdHJpeChNMTE9MC43MDcxMDY3OCwgTTEyPTAuNzA3MTA2NzgsIE0yMT0tMC43MDcxMDY3OCwgTTIyPTAuNzA3MTA2NzgpO1xyXG5cdH1cclxuXHJcbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LWNvbnRyb2wtem9vbSxcclxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtY29udHJvbC1sYXllcnMsXHJcbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlcixcclxuLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtdGlwIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xyXG5cdH1cclxuXHJcblxyXG4vKiBkaXYgaWNvbiAqL1xyXG5cclxuLmxlYWZsZXQtZGl2LWljb24ge1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzY2NjtcclxuXHR9XHJcblxyXG5cclxuLyogVG9vbHRpcCAqL1xyXG4vKiBCYXNlIHN0eWxlcyBmb3IgdGhlIGVsZW1lbnQgdGhhdCBoYXMgYSB0b29sdGlwICovXHJcbi5sZWFmbGV0LXRvb2x0aXAge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRwYWRkaW5nOiA2cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRjb2xvcjogIzIyMjtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsMC40KTtcclxuXHR9XHJcbi5sZWFmbGV0LXRvb2x0aXAubGVhZmxldC1pbnRlcmFjdGl2ZSB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG5cdH1cclxuLmxlYWZsZXQtdG9vbHRpcC10b3A6YmVmb3JlLFxyXG4ubGVhZmxldC10b29sdGlwLWJvdHRvbTpiZWZvcmUsXHJcbi5sZWFmbGV0LXRvb2x0aXAtbGVmdDpiZWZvcmUsXHJcbi5sZWFmbGV0LXRvb2x0aXAtcmlnaHQ6YmVmb3JlIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0Ym9yZGVyOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHR9XHJcblxyXG4vKiBEaXJlY3Rpb25zICovXHJcblxyXG4ubGVhZmxldC10b29sdGlwLWJvdHRvbSB7XHJcblx0bWFyZ2luLXRvcDogNnB4O1xyXG59XHJcbi5sZWFmbGV0LXRvb2x0aXAtdG9wIHtcclxuXHRtYXJnaW4tdG9wOiAtNnB4O1xyXG59XHJcbi5sZWFmbGV0LXRvb2x0aXAtYm90dG9tOmJlZm9yZSxcclxuLmxlYWZsZXQtdG9vbHRpcC10b3A6YmVmb3JlIHtcclxuXHRsZWZ0OiA1MCU7XHJcblx0bWFyZ2luLWxlZnQ6IC02cHg7XHJcblx0fVxyXG4ubGVhZmxldC10b29sdGlwLXRvcDpiZWZvcmUge1xyXG5cdGJvdHRvbTogMDtcclxuXHRtYXJnaW4tYm90dG9tOiAtMTJweDtcclxuXHRib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xyXG5cdH1cclxuLmxlYWZsZXQtdG9vbHRpcC1ib3R0b206YmVmb3JlIHtcclxuXHR0b3A6IDA7XHJcblx0bWFyZ2luLXRvcDogLTEycHg7XHJcblx0bWFyZ2luLWxlZnQ6IC02cHg7XHJcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcclxuXHR9XHJcbi5sZWFmbGV0LXRvb2x0aXAtbGVmdCB7XHJcblx0bWFyZ2luLWxlZnQ6IC02cHg7XHJcbn1cclxuLmxlYWZsZXQtdG9vbHRpcC1yaWdodCB7XHJcblx0bWFyZ2luLWxlZnQ6IDZweDtcclxufVxyXG4ubGVhZmxldC10b29sdGlwLWxlZnQ6YmVmb3JlLFxyXG4ubGVhZmxldC10b29sdGlwLXJpZ2h0OmJlZm9yZSB7XHJcblx0dG9wOiA1MCU7XHJcblx0bWFyZ2luLXRvcDogLTZweDtcclxuXHR9XHJcbi5sZWFmbGV0LXRvb2x0aXAtbGVmdDpiZWZvcmUge1xyXG5cdHJpZ2h0OiAwO1xyXG5cdG1hcmdpbi1yaWdodDogLTEycHg7XHJcblx0Ym9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XHJcblx0fVxyXG4ubGVhZmxldC10b29sdGlwLXJpZ2h0OmJlZm9yZSB7XHJcblx0bGVmdDogMDtcclxuXHRtYXJnaW4tbGVmdDogLTEycHg7XHJcblx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmO1xyXG5cdH1cclxuXHJcbi8qIFByaW50aW5nICovXHJcblx0XHJcbkBtZWRpYSBwcmludCB7XHJcblx0LyogUHJldmVudCBwcmludGVycyBmcm9tIHJlbW92aW5nIGJhY2tncm91bmQtaW1hZ2VzIG9mIGNvbnRyb2xzLiAqL1xyXG5cdC5sZWFmbGV0LWNvbnRyb2wge1xyXG5cdFx0LXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xyXG5cdFx0cHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcclxuXHRcdH1cclxuXHR9XHJcbiIsIkBpbXBvcnQgJ2xlYWZsZXQvZGlzdC9sZWFmbGV0LmNzcyc7XHJcblxyXG4jdGF4aV9tYXAge1xyXG4gIGhlaWdodDogOTAlO1xyXG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5odG1sLFxyXG5ib2R5IHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uYm94IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuXHJcbi5ib3ggLnJvdyB7XHJcbiAgYm9yZGVyOiAxcHggZG90dGVkIGdyZXk7XHJcbn1cclxuXHJcbi5ib3ggLnJvdy5oZWFkZXIge1xyXG4gIGZsZXg6IDAgMSBhdXRvO1xyXG59XHJcblxyXG4uYm94IC5yb3cuY29udGVudCB7XHJcbiAgZmxleDogMSAxIGF1dG87XHJcbn1cclxuXHJcbi5ib3ggLnJvdy5mb290ZXIge1xyXG4gIGZsZXg6IDAgMSA0MHB4O1xyXG59XHJcblxyXG4ubXktY3VzdG9tLWljb24ge1xyXG4gIHdpZHRoOiAzMnB4ICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xyXG4gIG1hcmdpbi10b3A6IC0xMnB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDE4cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4ubXktY3VzdG9tLWRyaXZlcmljb24ge1xyXG4gIC8qd2lkdGg6IDY0cHggIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IDY0cHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tbGVmdDogLTEycHg7XHJcbiAgbWFyZ2luLXRvcDogLTEycHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMThweDtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjM0Y1MUI1O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogIzNGNTFCNTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBmb250LXdlaWdodDpib2xkZXI7Ki9cclxuICB3aWR0aDogODRweCAhaW1wb3J0YW50O1xyXG4gIGhlaWdodDogNjRweCAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbn1cclxuXHJcblxyXG4iXX0= */\";","import { Component, EventEmitter, Input, OnInit, Output, AfterViewInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { markerHelper, MarkerType } from '../lib/markerHelper';\r\n\r\nimport { Map, map as LeafletMap, tileLayer, CRS, marker, icon, LeafletMouseEvent, Icon, DivIcon, Marker, LatLng, circleMarker, circle, control, Control, DomUtil } from 'leaflet';\r\nimport { Station } from '../model/station';\r\nimport { Observable } from 'rxjs';\r\nimport { DriverPositionHist } from '../model/driver';\r\n\r\n@Component({\r\n selector: 'app-taximap',\r\n templateUrl: './taximap.component.html',\r\n styleUrls: ['./taximap.component.css']\r\n})\r\nexport class TaximapComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild('taximap')\r\n public mapContainer: ElementRef;\r\n\r\n map: Map;\r\n markerLayer: any;\r\n public custom: Control;\r\n @Input() width: string = '100% !important';\r\n top: string;\r\n left: string;\r\n\r\n @Output() mapClick = new EventEmitter();\r\n @Output() moveMap = new EventEmitter<{ location: number[], evt: any }>();\r\n @Output() moveEnd = new EventEmitter<{ location: number[], evt: any }>();\r\n @Output() stationClick = new EventEmitter();\r\n\r\n constructor(\r\n ) {\r\n\r\n }\r\n ngOnInit() {\r\n\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.bindMap();\r\n this.initilizeMapEvent();\r\n\r\n }\r\n\r\n findTop() {\r\n return (document.getElementsByClassName(\"leaflet-control-zoom-out\")[0]?.getBoundingClientRect()?.top + 30 + 4)?.toString() + 'px';\r\n\r\n }\r\n\r\n findLeft() {\r\n return (document.getElementsByClassName(\"leaflet-control-zoom-out\")[0]?.getBoundingClientRect()?.left)?.toString() + 'px';\r\n\r\n }\r\n\r\n getCenter() {\r\n //console.log('getCenter');\r\n return this.map.getCenter();\r\n }\r\n initilizeMapEvent() {\r\n\r\n //console.log('initilizeMapEvent');\r\n this.map.on(\"move\", ((evt: any) => {\r\n //console.log('move fire');\r\n var loc = this.map.getCenter();\r\n var cord = [loc.lat, loc.lng]\r\n this.moveMap.emit({ location: cord, evt: evt })\r\n }));\r\n this.map.on('moveend', ((evt: any) => {\r\n var loc = this.map.getCenter();\r\n var cord = [loc.lat, loc.lng]\r\n this.moveEnd.emit({ location: cord, evt: evt });\r\n\r\n }));\r\n /*\r\n this.map.on('pointermove', ((evt) => {\r\n\r\n this.moveMarkerOnCenter();\r\n }));\r\n\r\n\r\n\r\n this.map.addEventListener('singleclick', (evt) => {\r\n //console.warn('singleclick');\r\n\r\n const latLon = toLonLat(evt.coordinate);\r\n this.markerSource.forEachFeatureAtCoordinateDirect([latLon[0], latLon[1]], arg=> {\r\n //console.warn(arg);\r\n })\r\n\r\n this.mapClick.emit([latLon[1], latLon[0]]);\r\n\r\n\r\n\r\n\r\n });\r\n */\r\n //control.locate().addTo(this.map);\r\n }\r\n gpsLat = 0\r\n gpsLng = 0\r\n gpsCirle: any;\r\n locateobservable(setViewparam = true, typeM: MarkerType = MarkerType.currentGPS): Observable {\r\n return new Observable((observer) => {\r\n this.map.locate({ setView: setViewparam, maxZoom: 12, enableHighAccuracy: true }).on('locationfound', (e: any) => {\r\n\r\n observer.next(e);\r\n });\r\n });\r\n }\r\n moveCurrentGPS(lat: any, lng: any) {\r\n if (this.gpsCirle) {\r\n this.map.removeControl(this.gpsCirle);\r\n }\r\n this.gpsCirle = this.addMarker(lat, lng, MarkerType.taxi);\r\n\r\n }\r\n locateManual(lat: any, lng: any, setViewparam = true, typeM: MarkerType = MarkerType.currentGPS) {\r\n\r\n this.gpsLat = lat;\r\n this.gpsLng = lng;\r\n //console.log(this.gpsLng);\r\n //console.log(this.gpsLat);\r\n if (setViewparam) {\r\n //console.log('inja 7 locate manual');\r\n this.map.setView([lat, lng], 12)\r\n }\r\n if (typeM == MarkerType.currentGPS) {\r\n if (this.gpsCirle) {\r\n this.map.removeControl(this.gpsCirle);\r\n }\r\n this.gpsCirle = this.addMarker(this.gpsLat, this.gpsLng, MarkerType.taxi);\r\n\r\n //this.gpsCirle = circle([this.gps_lat, this.gps_lng], 1, {\r\n // weight: 10,\r\n // color: 'blue',\r\n // fillColor: '#cacaca',\r\n // fillOpacity: 0.9\r\n //}).addTo(this.map);\r\n\r\n //this.map.setZoom(15);\r\n }\r\n else {\r\n this.addMarker(this.gpsLat, this.gpsLng, typeM);\r\n }\r\n }\r\n locate(setViewparam = true, typeM: MarkerType = MarkerType.currentGPS): Observable {\r\n return new Observable((observer) => {\r\n\r\n //console.log('inja 1 locate');\r\n this.map.locate({ setView: setViewparam, enableHighAccuracy: true }).on('locationfound', (e: any) => {\r\n //console.log('locationfound');\r\n //console.log(e);\r\n\r\n this.gpsLat = e.latlng.lat;\r\n this.gpsLng = e.latlng.lng;\r\n //console.log(this.gpsLng);\r\n //console.log(this.gpsLat);\r\n if (setViewparam) {\r\n this.map.setView([e.latlng.lat, e.latlng.lng], 12)\r\n }\r\n if (typeM == MarkerType.currentGPS) {\r\n if (this.gpsCirle) {\r\n this.map.removeControl(this.gpsCirle);\r\n }\r\n this.gpsCirle = this.addMarker(this.gpsLat, this.gpsLng, MarkerType.taxi);\r\n\r\n //this.gpsCirle = circle([this.gps_lat, this.gps_lng], 1, {\r\n // weight: 10,\r\n // color: 'blue',\r\n // fillColor: '#cacaca',\r\n // fillOpacity: 0.9\r\n //}).addTo(this.map);\r\n\r\n //this.map.setZoom(15);\r\n }\r\n else {\r\n this.addMarker(this.gpsLat, this.gpsLng, typeM);\r\n }\r\n observer.next(e);\r\n })\r\n this.map.on('locationerror', this.onLocationError);\r\n observer.next('');\r\n });\r\n }\r\n onLocationError(e: any) {\r\n //console.log('location error');\r\n //console.log(e);\r\n }\r\n gotogps() {\r\n console.log('gotogps');\r\n console.log('this.gpsLat' + this.gpsLat);\r\n console.log('this.gpsLng' + this.gpsLng);\r\n var lat = this.gpsCirle.getLatLng().lat;\r\n var lng = this.gpsCirle.getLatLng().lng;\r\n this.map.setView([lat, lng], 12)\r\n }\r\n bindMap() {\r\n\r\n console.log('bindMap');\r\n if (typeof this.map == 'undefined' || !this.map) {\r\n\r\n this.map = LeafletMap(this.mapContainer.nativeElement, {\r\n attributionControl: false\r\n });\r\n\r\n\r\n \r\ntileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\r\n// tileLayer('https://{s}.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png', {\r\n }).addTo(this.map);\r\n //console.log('inja 3 goto 36 59');\r\n this.map.setView([36.329616, 59.56543], 10);\r\n\r\n //let Custom = Control.extend({\r\n // onAdd(map: Map) {\r\n // return DomUtil.get('custom');\r\n // },\r\n // onRemove(map: Map) { }\r\n //});\r\n //this.custom = new Custom({\r\n // position: 'topleft'\r\n //}).addTo(this.map);\r\n }\r\n\r\n }\r\n setView(lat: any, lng: any, zoomLevel = 12) {\r\n //console.log('inja 4 setView');\r\n this.map.setView([lat, lng], zoomLevel);\r\n }\r\n addMarker(lat: any, lon: any, markerType?: MarkerType, txt?: string, isdragable: boolean = false) {\r\n var cord = new LatLng(lat, lon);\r\n var markerOject = marker(cord, {\r\n icon: markerHelper.getMarker(markerType),\r\n draggable: false,\r\n title: markerHelper.getMarkerText(txt, markerType)\r\n\r\n }).addTo(this.map);\r\n\r\n markerOject.on('click', (e: any) => { });\r\n return markerOject;\r\n }\r\n removemarker(marker: any) {\r\n this.map.removeControl(marker);\r\n }\r\n StationMarkerList: { [stationCode: number]: Marker; } = {};\r\n addStationMarker(station: Station) {\r\n const originLatLng = new LatLng(station.lat, station.lng);\r\n\r\n let htmlMarker = '';\r\n if (station.requestCount > 0) {\r\n //htmlMarker = '
' + station.requestCount + '
' + station.id + '
';\r\n htmlMarker = '
' + station.code + '
';\r\n }\r\n else {\r\n htmlMarker = '
' + station.code + '
';\r\n }\r\n const customIcon = new DivIcon({\r\n className: 'my-custom-icon',\r\n html: htmlMarker,\r\n popupAnchor: [0, 0]\r\n });\r\n\r\n let stationMarker = this.StationMarkerList[station.id];\r\n //if (stationMarker)\r\n // this.removemarker(stationMarker);\r\n if (!stationMarker) {\r\n stationMarker = marker(originLatLng, {\r\n icon: customIcon,\r\n draggable: false,\r\n title: station.name\r\n }).addTo(this.map);\r\n this.StationMarkerList[station.id] = stationMarker;\r\n stationMarker.on('click', (e: any) => { this.onStationClick(e, station); });\r\n }\r\n stationMarker.bindPopup(\r\n '

نام ایستگاه : ' + station.name + '
حاضرین : ' + station.length + ' مسافر : ' + station.requestCount + '

');\r\n stationMarker.getPopup().on('remove', (p: any) => {\r\n if (this.currentCircle) {\r\n //console.warn(this.currentCircle);\r\n this.map.removeLayer(this.currentCircle);\r\n }\r\n });\r\n return stationMarker;\r\n }\r\n updateStationMarker(station: Station) {\r\n let stationMarker = this.StationMarkerList[station.id];\r\n if (stationMarker) {\r\n\r\n this.removemarker(stationMarker);\r\n let htmlMarker = '';\r\n if (station.requestCount > 0) {\r\n //htmlMarker = '
' + station.requestCount + '
' + station.id + '
';\r\n htmlMarker = '
' + station.code + '
';\r\n }\r\n else {\r\n htmlMarker = '
' + station.code + '
';\r\n }\r\n stationMarker = marker(new LatLng(station.lat, station.lng), {\r\n icon: new DivIcon({\r\n className: 'my-custom-icon',\r\n html: htmlMarker,\r\n popupAnchor: [0, 0]\r\n }),\r\n draggable: false,\r\n title: station.name\r\n }).addTo(this.map);\r\n\r\n stationMarker.on('click', (e: any) => { this.onStationClick(e, station); });\r\n\r\n\r\n stationMarker.bindPopup(\r\n '

نام ایستگاه : ' + station.name + '
حاضرین : ' + station.length + ' مسافر : ' + station.requestCount + '

');\r\n stationMarker.getPopup().on('remove', (p: any) => {\r\n if (this.currentCircle) {\r\n this.map.removeLayer(this.currentCircle);\r\n }\r\n });\r\n\r\n this.StationMarkerList[station.id] = stationMarker;\r\n\r\n }\r\n }\r\n\r\n\r\n createPositionMarker(position: DriverPositionHist) {\r\n const positionLatLng = new LatLng(position.lat, position.lng);\r\n let colorName = 'gray';\r\n if (position.currentStatus == 1004 || position.currentStatus == 1005)\r\n colorName = 'gray';\r\n else if (position.currentStatus == 1006)\r\n colorName = 'green';\r\n else if (position.currentStatus == 1007)\r\n colorName = 'yellow';\r\n else if (position.currentStatus == 1008)\r\n colorName = 'red';\r\n else\r\n colorName = 'gray';\r\n\r\n\r\n const customIcon = new DivIcon({\r\n className: 'my-custom-positionicon',\r\n html: '',\r\n popupAnchor: [0, 0]\r\n });\r\n const positionMarker = marker(positionLatLng, {\r\n icon: customIcon,\r\n draggable: false,\r\n });\r\n\r\n positionMarker.on('click', (e: any) => { });\r\n\r\n\r\n return positionMarker;\r\n }\r\n\r\n\r\n\r\n addDriverMarker(lat: any, lng: any, code: any) {\r\n const originLatLng = new LatLng(lat, lng);\r\n const customIcon = new DivIcon({\r\n className: 'my-custom-drivericon',\r\n html: '
' + code + '
',\r\n popupAnchor: [0, 0]\r\n });\r\n const originMarker = marker(originLatLng, {\r\n icon: customIcon,\r\n draggable: false,\r\n title: code\r\n }).addTo(this.map).bindPopup('

نام ایستگاه : ' + code + '
حاضرین : ' + code + '

');\r\n originMarker.getPopup().on('remove', (p: any) => {\r\n //console.warn(p)\r\n //console.warn(this.currentCircle);\r\n if (this.currentCircle) {\r\n //console.warn(this.currentCircle);\r\n this.map.removeLayer(this.currentCircle);\r\n }\r\n });\r\n\r\n originMarker.on('click', (e: any) => { });\r\n //this.map.setView([lat, lng], 13);\r\n return originMarker;\r\n }\r\n\r\n\r\n addStationMarkerWithInfo(station: Station) {\r\n\r\n var originLatLng = new LatLng(station.lat, station.lng);\r\n var customIcon = new DivIcon({\r\n className: 'my-custom-icon',\r\n html: '
' + station.length + '

' + station.name + '
'\r\n });\r\n var originMarker = marker(originLatLng, {\r\n icon: customIcon,\r\n draggable: false,\r\n title: station.name\r\n }).addTo(this.map);\r\n originMarker.on('click', (e: any) => { this.onStationClick(e, station); });\r\n if (station.id != 100) {\r\n //console.log('inja 5 ' + station);\r\n this.map.setView([station.lat, station.lng], 13);\r\n }\r\n }\r\n currentCircle: any;\r\n passangerMarker: any;\r\n onStationClick(e: any, i: any) {\r\n this.stationClick.emit(i);\r\n //console.warn('marker click');\r\n //console.warn(e);\r\n //console.warn(i);\r\n if (this.currentCircle) {\r\n //console.warn(this.currentCircle);\r\n this.map.removeLayer(this.currentCircle);\r\n }\r\n this.currentCircle = circle([i.lat, i.lng], i.radios).addTo(this.map);\r\n\r\n\r\n }\r\n\r\n getDistanceFromLatLonInKm(lat1: any, lon1: any, lat2: any, lon2: any) {\r\n var R = 6371; // Radius of the earth in kilometers\r\n var dLat = this.deg2rad(lat2 - lat1); // deg2rad below\r\n var dLon = this.deg2rad(lon2 - lon1);\r\n var a =\r\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\r\n Math.cos(this.deg2rad(lat1)) * Math.cos(this.deg2rad(lat2)) *\r\n Math.sin(dLon / 2) * Math.sin(dLon / 2);\r\n var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n var d = R * c; // Distance in KM\r\n return d;\r\n }\r\n\r\n deg2rad(deg: any) {\r\n return deg * (Math.PI / 180)\r\n }\r\n\r\n removeMap() {\r\n this.map?.off();\r\n this.map?.remove();\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n\r\n }\r\n openPopup(t) {\r\n this.map.openPopup(t)\r\n }\r\n\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\r\n\r\nimport { GlobalVariable } from './globalVariable';\r\nimport { Driver, getDriverInfo } from './model/driver';\r\nimport { Observable } from 'rxjs';\r\nimport { VerificationOutput } from './model/verificationOutput';\r\nimport { Station } from './model/station';\r\nimport { ServiceRequest } from './model/ServiceRequest';\r\nimport { StationQueueInfo } from './model/stationQueueInfo';\r\nimport { Service } from './model/service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TaxiserviceService {\r\n private DriverBaseServiceURL = GlobalVariable.DriverBaseServiceURL;\r\n private UtilityBaseServiceURL = GlobalVariable.UtilityBaseServiceURL;\r\n private RequestServiceBaseServiceURL = GlobalVariable.RequestServiceBaseServiceURL;\r\n private StationBaseServiceURL = GlobalVariable.StationBaseServiceURL;\r\n private ServiceBaseServiceURL = GlobalVariable.ServiceBaseServiceURL ;\r\n \r\n \r\n constructor(private httpClient: HttpClient) { }\r\n getDriverByNationalCode(nCode: any, mobile: any){ \r\n let params = new HttpParams().set('nCode', nCode).set('mobile', mobile);\r\n \r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetInfo\", params,{ responseType: 'text' as 'json' });\r\n }\r\n public getDriverBySuccessfuGUID(guid: any) {\r\n let body = new HttpParams().set('guid', guid);\r\n \r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetInfoBySuccessfullGUID\", body);\r\n }\r\n public serviceGetLastState(guid: any) {\r\n const params = new HttpParams().set('serviceGUID', guid);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/Service_GetLastState\",params );\r\n }\r\n public getDriverByGUID(guid: any) {\r\n let params = new HttpParams().set('guid', guid);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/GetInfoByGUID\", params );\r\n }\r\n\r\n public sendVerification(guid: any) {\r\n let params = new HttpParams().set('guid', guid);\r\n const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');\r\n\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/SendVerification\", params,{responseType: 'text' as 'json'});\r\n }\r\n public checkVerification(code: any, guidCode: any, guidDriver: any): Observable {\r\n let params = new HttpParams().set('code', code);\r\n params=params.set('guidCode', guidCode);\r\n params=params.set('guidDriver', guidDriver);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/CheckVerification\", params);\r\n }\r\n public setSuccessfullResult(guid: any, result: any): Observable {\r\n let params = new HttpParams().set('guid', guid);\r\n params = params.set('result', result);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/setSuccessfullResult\", params );\r\n }\r\n \r\n public getStationList(guidDriver: any, lat: any, lng: any): Observable {\r\n let params = new HttpParams().set('guidDriver', guidDriver).set('lat', lat).set('lng', lng);\r\n return this.httpClient.post(this.DriverBaseServiceURL + \"/StationList\", params );\r\n \r\n }\r\n public getStation(stationID: any): Observable {\r\n let params = new HttpParams().set('stationID', stationID);\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/getStationInfo\", params );\r\n }\r\n public getAddressFromLocation(lat: any, lng: any) {\r\n let params = new HttpParams().set('lat', lat).set('lng', lng);\r\n return this.httpClient.post(this.UtilityBaseServiceURL + \"/loctoadr\", params,{ responseType: 'text' as 'json'});\r\n }\r\n public saveServiceReuest(req: ServiceRequest) {\r\n\r\n let params = new HttpParams().set('originlat', req.originLat.toString()).set('originlng', req.originLng.toString()).set('destinationLat', req.destinationLat.toString()).set('destinationLng', req.destinationLng.toString()).set('destinationLat2', req.destinationLat2.toString()).set('destinationLng2', req.destinationLng2.toString()).set('passangerID', req.passangerID.toString()).set('destination2Addr', req.destination2Addr.toString()).set('destinationAddr', req.destinationAddr.toString()).set('originAddr', req.originAddr.toString());\r\n\r\n //console.warn('taxi servie receiverd');\r\n //console.warn(req);\r\n //console.warn(params);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/saverequest\", params,{ responseType: 'text' as 'json' }); \r\n \r\n }\r\n public getRequestService(guidRequest: any): Observable {\r\n let params = new HttpParams().set('guidRequest', guidRequest);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/getRequestService\", params);\r\n }\r\n public getRequestByPropsedCode(guidRequest: any): Observable {\r\n let params = new HttpParams().set('guidRequest', guidRequest);\r\n return this.httpClient.post(this.RequestServiceBaseServiceURL + \"/getRequestByPropsedCode\", params,);\r\n }\r\n public addToQueue(stationID: any, guidDriver: any) {\r\n let params = new HttpParams().set('stationID', stationID).set('guidDriver', guidDriver);\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/addToQueue\", params, {responseType: 'text' as 'json' });\r\n }\r\n \r\n public getStationQueue(stationID: any): Observable {\r\n let params = new HttpParams().set('stationID', stationID);\r\n return this.httpClient.post(this.StationBaseServiceURL + \"/getStationQueue\", params,);\r\n //return StationQueueInfo.getStationQueue(stationID, this.httpClient);\r\n }\r\n public getService(guidService: any): Observable {\r\n let params = new HttpParams().set('guidService', guidService);\r\n return this.httpClient.post(this.ServiceBaseServiceURL + \"/getService\", params);\r\n }\r\n public getTest(){\r\n let params = new HttpParams();\r\n return this.httpClient.post(\"https://cidapi.mashhad.ir:7095/Default/getTest\", params,{ responseType: 'text' as 'json' });\r\n }\r\n //https://cidapi.mashhad.ir:7095/CallCenter/LogCall?No=09337926213&LineNo=6574\r\n public testCallCenter(no: any, telNo: any) {\r\n let params = new HttpParams();\r\n params = params.set('No', no);\r\n params = params.set('LineNo', telNo);\r\n return this.httpClient.post(\"https://localhost:44323/CallCenter/LogCall\",params);\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Rlc3QvcHVzaC9wdXNoLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { SwPush } from '@angular/service-worker';\r\nimport { CallCenterService } from '../../lib/serviceLib/callcenterservice.service';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\n\r\n@Component({\r\n selector: 'app-push',\r\n templateUrl: './push.component.html',\r\n styleUrls: ['./push.component.scss']\r\n})\r\nexport class PushComponent implements OnInit {\r\n loginFormGroup: FormGroup;\r\n\r\n constructor(\r\n private swPush: SwPush,\r\n private driverService: DriverserviceService,\r\n private callService: CallCenterService\r\n \r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n this.loginFormGroup = new FormGroup({\r\n title: new FormControl(''),\r\n body: new FormControl(''),\r\n driverID: new FormControl('')\r\n });\r\n\r\n }\r\n readonly VAPID_PUBLIC_KEY = \"BJZtBCC9_bsTqetN7tcSq8HVYjd4qpvSmFgv0RcWfuz-ebeasPnpGphIDhngz-LYpLaeZLrK1WTPP1CGtjEvMfM\";\r\n subscribeToNotifications() {\r\n this.swPush.requestSubscription({\r\n serverPublicKey: this.VAPID_PUBLIC_KEY\r\n }).then(pushSubscription => {\r\n var s = JSON.stringify(pushSubscription);\r\n this.driverService.SaveNotifInfo('','','','')\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n });\r\n }\r\n \r\n Send() {\r\n //console.log('send');\r\n this.callService.sendNotif(this.loginFormGroup.value.title, this.loginFormGroup.value.body, this.loginFormGroup.value.driverID).subscribe(res => { console.log});\r\n }\r\n \r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Rlc3QvcXVldWVzZXQvcXVldWVzZXQuY29tcG9uZW50LmNzcyJ9 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { ProposedRequestComponent } from '../../driver/proposed-request/proposed-request.component';\r\nimport { WebSocketService } from '../../lib/web-socket.service';\r\nimport { NotificationModel, SocketMessageType } from '../../model/socketmodels';\r\nimport { DriverserviceService } from '../../lib/serviceLib/driverservice.service';\r\n\r\n@Component({\r\n selector: 'app-queueset',\r\n templateUrl: './queueset.component.html',\r\n styleUrls: ['./queueset.component.css']\r\n})\r\nexport class QueuesetComponent implements OnInit {\r\n constructor(private socketService: WebSocketService, private taxiSerivce: DriverserviceService, private dialog: MatDialog) {\r\n this.socketService.meesageList$.subscribe(msg => {\r\n if (msg) {\r\n this.processMessage(msg);\r\n }\r\n });\r\n }\r\n\r\n drvguid = '';\r\n setQueue() {\r\n this.socketService.startSocket();\r\n }\r\n ngOnInit() {\r\n\r\n }\r\n processMessage(messageBox: NotificationModel) {\r\n //console.warn(messageBox);\r\n switch (messageBox.msgType) {\r\n case SocketMessageType.GetClientInfo:\r\n this.socketService.sendMessage(this.drvguid, SocketMessageType.SetDriverInfo);\r\n break;\r\n case SocketMessageType.ProposedRequestServive:\r\n this.showProposedRequest(messageBox.guidCode)\r\n break;\r\n case SocketMessageType.FinishedProposedRequestServive:\r\n this.dialogRef.close('NotAnswered');\r\n break;\r\n case SocketMessageType.RequestServiceCancelByPassanger:\r\n this.dialogRef.close('CancelByUser');\r\n break;\r\n \r\n \r\n default:\r\n break;\r\n }\r\n }\r\n acceptRequest(guidRequestParam: any) {\r\n this.socketService.sendMessage(guidRequestParam, SocketMessageType.AcceptProposedRequest);\r\n }\r\n rejectRequest(guidRequestParam: any) {\r\n this.socketService.sendMessage(guidRequestParam, SocketMessageType.RejectProposedRequest);\r\n }\r\n\r\n dialogRef: MatDialogRef;\r\n showProposedRequest(guidRequestParam: any) {\r\n this.dialogRef = this.dialog.open(ProposedRequestComponent, {\r\n height: '400px',\r\n width: '600px',\r\n data: { guidRequest: guidRequestParam }\r\n });\r\n this.dialogRef.afterClosed().subscribe((result : any) => {\r\n if (result=='Accept') {\r\n this.acceptRequest(guidRequestParam);\r\n }\r\n else if (result == 'Reject') {\r\n this.rejectRequest(guidRequestParam);\r\n }\r\n });\r\n \r\n //this.taxiSerivce.getRequestByPropsedCode(guidRequestParam).subscribe(_res => {\r\n // console.warn(_res);\r\n //});\r\n \r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Rlc3QvdGVzdC90ZXN0LmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { StationMemberComponent } from '../../station/station-member/station-member.component';\r\n\r\n@Component({\r\n selector: 'app-test',\r\n templateUrl: './test.component.html',\r\n styleUrls: ['./test.component.scss']\r\n})\r\nexport class TestComponent implements OnInit {\r\n dialogRef: MatDialogRef;\r\n\r\n constructor(private dialog: MatDialog) { }\r\n\r\n ngOnInit() {\r\n }\r\n showdialog() {\r\n //console.warn('cklick');\r\n this.dialogRef = this.dialog.open(StationMemberComponent, {\r\n width: '400px',\r\n hasBackdrop: true,\r\n data: {\r\n id:1\r\n }\r\n });\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Rlc3RhcGkvdGVzdGFwaS5jb21wb25lbnQuY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { DriverserviceService } from '../lib/serviceLib/driverservice.service';\r\nimport { StationserviceService } from '../lib/serviceLib/stationservice.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-testapi',\r\n templateUrl: './testapi.component.html',\r\n styleUrls: ['./testapi.component.css']\r\n})\r\nexport class TestapiComponent implements OnInit {\r\n\r\n constructor(private taxiSerivce: DriverserviceService, private stationService:StationserviceService) { }\r\n\r\n ngOnInit() {\r\n }\r\n verifyCode() {\r\n var code = 'code', guidCode = 'guidCode', guidDriver = 'guidDriver';\r\n this.taxiSerivce.checkVerification(code, guidCode, guidDriver).subscribe(_res => {\r\n //console.warn(_res);\r\n });\r\n }\r\n\r\n stationList() {\r\n var guidDriver = '123123', lat = 36.2545, lng= 51.2454;\r\n this.stationService.getStationList(guidDriver, lat , lng).subscribe(_res => {\r\n //console.warn(_res);\r\n });\r\n }\r\n\r\n}\r\n","export default \".flex-container {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n justify-content: space-between;\\r\\n margin-right: 5px;\\r\\n margin-left: 5px;\\r\\n padding: 5px;\\r\\n font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif\\r\\n}\\r\\n\\r\\n.flex-item {\\r\\n height: 500px;\\r\\n margin: 3px;\\r\\n}\\r\\n\\r\\n.flex-item ul {\\r\\n list-style: none;\\r\\n }\\r\\n\\r\\n.flex-item li {\\r\\n background-color: black;\\r\\n color: white;\\r\\n margin: 3px;\\r\\n padding: 3px;\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGVzdHNvY2tldC90ZXN0c29ja2V0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWjtBQUNGOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFdBQVc7QUFDYjs7QUFFRTtJQUNFLGdCQUFnQjtFQUNsQjs7QUFFQTtJQUNFLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osV0FBVztJQUNYLFlBQVk7RUFDZCIsImZpbGUiOiJzcmMvYXBwL3Rlc3Rzb2NrZXQvdGVzdHNvY2tldC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZsZXgtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIGZvbnQtZmFtaWx5OiAnTHVjaWRhIFNhbnMnLCAnTHVjaWRhIFNhbnMgUmVndWxhcicsICdMdWNpZGEgR3JhbmRlJywgJ0x1Y2lkYSBTYW5zIFVuaWNvZGUnLCBHZW5ldmEsIFZlcmRhbmEsIHNhbnMtc2VyaWZcclxufVxyXG5cclxuLmZsZXgtaXRlbSB7XHJcbiAgaGVpZ2h0OiA1MDBweDtcclxuICBtYXJnaW46IDNweDtcclxufVxyXG5cclxuICAuZmxleC1pdGVtIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAuZmxleC1pdGVtIGxpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgbWFyZ2luOiAzcHg7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgfVxyXG4iXX0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { WebSocketService } from '../lib/web-socket.service';\r\nimport { NotificationModel, SocketMessageType, Square, SquareChangeRequest } from '../model/socketmodels';\r\n\r\n@Component({\r\n selector: 'app-testsocket',\r\n templateUrl: './testsocket.component.html',\r\n styleUrls: ['./testsocket.component.css']\r\n})\r\nexport class TestsocketComponent implements OnInit {\r\n\r\n\r\n constructor(private socketService: WebSocketService) {\r\n this.socketService.meesageList$.subscribe(msg => {\r\n if (msg) {\r\n this.processMessage(msg);\r\n }\r\n });\r\n }\r\n test1() {\r\n\r\n }\r\n test2() {\r\n\r\n }\r\n test3() {\r\n }\r\n test4() {\r\n\r\n }\r\n ngOnInit() {\r\n\r\n this.socketService.startSocket();\r\n //this.schedulJon = setInterval(() => {\r\n // this.schedulingupdatestatus();\r\n //}, 3 * 1000);\r\n }\r\n schedulJon: any;\r\n\r\n sendMessage() {\r\n this.socketService.sendMessage('123123123', 1);\r\n }\r\n msg = ''\r\n processMessage(messageBox: NotificationModel) {\r\n this.msg = JSON.stringify(messageBox);\r\n switch (messageBox.msgType) {\r\n case SocketMessageType.GetClientInfo:\r\n\r\n break;\r\n case SocketMessageType.ServiceRequestAssigned:\r\n\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n schedulingupdatestatus() {\r\n let dateTime = new Date()\r\n }\r\n test5() {\r\n this.sendMessage();\r\n }\r\n \r\n}\r\n","export const environment = {\r\n production: true,\r\n cur_u_name: 'implet_gu',\r\n cur_u_tkn: 'implet_tkn',\r\n cur_fbsToken: 'g_fbs',\r\n old_fbsToken: 'o_fbs',\r\n currentversion: 'current_versionInfo',\r\n cur_url: 'cur_url',\r\n is_created: 'is_created'\r\n\r\n\r\n};\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n cur_u_name: 'implet_gu',\r\n cur_u_tkn: 'implet_tkn',\r\n cur_fbsToken: 'g_fbs',\r\n old_fbsToken: 'o_fbs',\r\n currentversion: 'current_versionInfo',\r\n is_created: 'is_created'\r\n\r\n\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import 'hammerjs';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] as any }\r\n];\r\n\r\nif (environment.production) {\r\n console.log('production is : '+environment.production)\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"]}