{"version":3,"sources":["./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/acc/add-debit/add-debit.component.html","./src/app/acc/manage-acc/manage-acc.component.html","./src/app/acc/master-acc/master-acc.component.html","./src/app/admin/abonmanview/abonmanview.component.html","./src/app/admin/bulkabonman/bulkabonman.component.html","./src/app/admin/setting/setting.component.html","./src/app/app.component.html","./src/app/call-center/baseinfo/baseinfo.component.html","./src/app/call-center/callmanager/callmanager.component.html","./src/app/call-center/cc/new-cc/new-cc.component.html","./src/app/call-center/cc/newuicc/newuicc.component.html","./src/app/call-center/driver-profile/driver-profile.component.html","./src/app/call-center/inp-date-time/inp-date-time.component.html","./src/app/call-center/logcall/logcall.component.html","./src/app/call-center/login/login.component.html","./src/app/call-center/master-cc-web/master-cc-web.component.html","./src/app/call-center/master-cc/master-cc.component.html","./src/app/call-center/new-call/complaints.component.html","./src/app/call-center/new-call/dashboard.component.html","./src/app/call-center/new-call/driver-monitor.component.html","./src/app/call-center/new-call/forms-list.component.html","./src/app/call-center/new-call/founded-objects.component.html","./src/app/call-center/new-call/logs.component.html","./src/app/call-center/new-call/new-call-simple.component.html","./src/app/call-center/new-call/new-call-van.component.html","./src/app/call-center/new-call/new-call-web.component.html","./src/app/call-center/new-call/new-call.component.html","./src/app/call-center/new-call/passangers.component.html","./src/app/call-center/new-call/register-complaint.component.html","./src/app/call-center/new-call/register-founded-object.component.html","./src/app/call-center/new-call/register-passanger.component.html","./src/app/call-center/new-call/register-station.component.html","./src/app/call-center/new-call/search-forms.component.html","./src/app/call-center/new-call/stations.component.html","./src/app/call-center/new-call/traffic-monitor.component.html","./src/app/call-center/operators/operators.component.html","./src/app/call-center/save-driver-info/save-driver-info.component.html","./src/app/call-center/setmanualdriver/setmanualdriver.component.html","./src/app/call-center/stationdetail/stationdetail.component.html","./src/app/driver/call-info/call-info.component.html","./src/app/driver/cancelbydriver/cancelbydriver.component.html","./src/app/driver/confirm-info/confirm-info.component.html","./src/app/driver/driver-log/driver-log.component.html","./src/app/driver/driver-menu/driver-menu.component.html","./src/app/driver/drivermismmatch/drivermismmatch.component.html","./src/app/driver/exitalarm/exitalarm.component.html","./src/app/driver/finishservice/finishservice.component.html","./src/app/driver/freeservice/freeservice.component.html","./src/app/driver/goorigin/goorigin.component.html","./src/app/driver/login-app-new/login-app-new.component.html","./src/app/driver/login-shahreman/login-shahreman.component.html","./src/app/driver/logout/logout.component.html","./src/app/driver/master-driver/master-driver.component.html","./src/app/driver/menu-driver/menu-driver.component.html","./src/app/driver/messgaenotif/messgaenotif.component.html","./src/app/driver/mytrips/mytrips.component.html","./src/app/driver/new/new.component.html","./src/app/driver/peygirialert/peygirialert.component.html","./src/app/driver/playfile/playfile.component.html","./src/app/driver/profile/profile.component.html","./src/app/driver/proposed-request/proposed-request.component.html","./src/app/driver/propsoed-list/propsoed-list.component.html","./src/app/driver/showcreatedservice/showcreatedservice.component.html","./src/app/driver/showfreeservicelist/showfreeservicelist.component.html","./src/app/driver/snackbarexitdriver/snackbarexitdriver.component.html","./src/app/driver/station/station.component.html","./src/app/driver/summaryinfo/summaryinfo.component.html","./src/app/driver/test-map/test-map.component.html","./src/app/driver/test-socket/test-socket.component.html","./src/app/driver/testview/testview.component.html","./src/app/driver/unlocknotification/unlocknotification.component.html","./src/app/driver/verifysms/verifysms.component.html","./src/app/driver/waitforconfirm/waitforconfirm.component.html","./src/app/drv/drv-master/drv-master.component.html","./src/app/manage/changestation/changestation.component.html","./src/app/manage/manage-debit/manage-debit.component.html","./src/app/manage/manage-driver/manage-driver.component.html","./src/app/manage/myshift/myshift.component.html","./src/app/manage/setpriority/setpriority.component.html","./src/app/manage/shift-scheduler/shift-scheduler.component.html","./src/app/manage/shiftlisting/shiftlisting.component.html","./src/app/manage/tripmanage/tripmanage.component.html","./src/app/messagebox/messagebox.component.html","./src/app/newrequest/newrequest.component.html","./src/app/newui/new-footer/new-footer.component.html","./src/app/newui/new-menu/new-menu.component.html","./src/app/newui/new-navbar/new-navbar.component.html","./src/app/newui/new-userinfo/new-userinfo.component.html","./src/app/newui/newtest/newtest.component.html","./src/app/passanger/drivernotfound/drivernotfound.component.html","./src/app/passanger/serviceruning/serviceruning.component.html","./src/app/passanger/waitfor-request/waitfor-request.component.html","./src/app/report/monthbymonth/monthbymonth.component.html","./src/app/report/report-bydriver/report-bydriver.component.html","./src/app/report/report-byoperator/report-byoperator.component.html","./src/app/report/report-commission/report-commission.component.html","./src/app/report/report-karkard/report-karkard.component.html","./src/app/report/report-trip/report-trip.component.html","./src/app/shared/actlanuncher/actlanuncher.component.html","./src/app/shared/confirm-dialog/confirm-dialog.component.html","./src/app/shared/confirmmessage/confirmmessage.component.html","./src/app/shared/driver-card/driver-card.component.html","./src/app/shared/driver-queue/driver-queue.component.html","./src/app/shared/inputselectItem/inputselectItem.component.html","./src/app/shared/inputtext/inputtext.component.html","./src/app/shared/materials/data-table.component.html","./src/app/shared/materials/pelaque.component.html","./src/app/shared/okmessage/okmessage.component.html","./src/app/shared/searchplace/searchplace.component.html","./src/app/shared/setorigindes/setorigindes.component.html","./src/app/station/bottomsheetinfo/bottomsheetinfo.component.html","./src/app/station/station-list/station-list.component.html","./src/app/station/station-member-select/station-member-select.component.html","./src/app/station/station-member/station-member.component.html","./src/app/station/trips/trips.component.html","./src/app/station/viewstation/viewstation.component.html","./src/app/taximap/taximap.component.html","./src/app/test/push/push.component.html","./src/app/test/queueset/queueset.component.html","./src/app/test/test/test.component.html","./src/app/testapi/testapi.component.html","./src/app/testsocket/testsocket.component.html","./src/$_lazy_route_resource lazy namespace object","./src/app/acc/add-debit/add-debit.component.css","./src/app/acc/add-debit/add-debit.component.ts","./src/app/acc/manage-acc/manage-acc.component.css","./src/app/acc/manage-acc/manage-acc.component.ts","./src/app/acc/master-acc/master-acc.component.css","./src/app/acc/master-acc/master-acc.component.ts","./src/app/admin/abonmanview/abonmanview.component.css","./src/app/admin/abonmanview/abonmanview.component.ts","./src/app/admin/bulkabonman/bulkabonman.component.css","./src/app/admin/bulkabonman/bulkabonman.component.ts","./src/app/admin/setting/setting.component.css","./src/app/admin/setting/setting.component.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/call-center/baseinfo/baseinfo.component.scss","./src/app/call-center/baseinfo/baseinfo.component.ts","./src/app/call-center/callmanager/callmanager.component.scss","./src/app/call-center/callmanager/callmanager.component.ts","./src/app/call-center/cc/new-cc/new-cc.component.css","./src/app/call-center/cc/new-cc/new-cc.component.ts","./src/app/call-center/cc/newuicc/newuicc.component.css","./src/app/call-center/cc/newuicc/newuicc.component.ts","./src/app/call-center/driver-profile/driver-profile.component.scss","./src/app/call-center/driver-profile/driver-profile.component.ts","./src/app/call-center/inp-date-time/inp-date-time.component.scss","./src/app/call-center/inp-date-time/inp-date-time.component.ts","./src/app/call-center/logcall/logcall.component.scss","./src/app/call-center/logcall/logcall.component.ts","./src/app/call-center/login/login.component.scss","./src/app/call-center/login/login.component.ts","./src/app/call-center/master-cc-web/master-cc-web.component.scss","./src/app/call-center/master-cc-web/master-cc-web.component.ts","./src/app/call-center/master-cc/master-cc.component.ts","./src/app/call-center/new-call/complaints.component.ts","./src/app/call-center/new-call/dashboard.component.ts","./src/app/call-center/new-call/driver-monitor.component.scss","./src/app/call-center/new-call/driver-monitor.component.ts","./src/app/call-center/new-call/forms-list.component.ts","./src/app/call-center/new-call/founded-objects.component.ts","./src/app/call-center/new-call/logs.component.ts","./src/app/call-center/new-call/new-call-simple.component.scss","./src/app/call-center/new-call/new-call-simple.component.ts","./src/app/call-center/new-call/new-call-van.component.scss","./src/app/call-center/new-call/new-call-van.component.ts","./src/app/call-center/new-call/new-call-web.component.scss","./src/app/call-center/new-call/new-call-web.component.ts","./src/app/call-center/new-call/new-call.component.scss","./src/app/call-center/new-call/new-call.component.ts","./src/app/call-center/new-call/passangers.component.ts","./src/app/call-center/new-call/register-complaint.component.ts","./src/app/call-center/new-call/register-founded-object.component.ts","./src/app/call-center/new-call/register-passanger.component.ts","./src/app/call-center/new-call/register-station.component.ts","./src/app/call-center/new-call/search-forms.component.ts","./src/app/call-center/new-call/stations.component.scss","./src/app/call-center/new-call/stations.component.ts","./src/app/call-center/new-call/traffic-monitor.component.scss","./src/app/call-center/new-call/traffic-monitor.component.ts","./src/app/call-center/operators/operators.component.scss","./src/app/call-center/operators/operators.component.ts","./src/app/call-center/save-driver-info/save-driver-info.component.scss","./src/app/call-center/save-driver-info/save-driver-info.component.ts","./src/app/call-center/setmanualdriver/setmanualdriver.component.scss","./src/app/call-center/setmanualdriver/setmanualdriver.component.ts","./src/app/call-center/stationdetail/stationdetail.component.scss","./src/app/call-center/stationdetail/stationdetail.component.ts","./src/app/driver-guard.guard.ts","./src/app/driver/call-info/call-info.component.scss","./src/app/driver/call-info/call-info.component.ts","./src/app/driver/cancelbydriver/cancelbydriver.component.scss","./src/app/driver/cancelbydriver/cancelbydriver.component.ts","./src/app/driver/confirm-info/confirm-info.component.css","./src/app/driver/confirm-info/confirm-info.component.ts","./src/app/driver/driver-log/driver-log.component.scss","./src/app/driver/driver-log/driver-log.component.ts","./src/app/driver/driver-menu/driver-menu.component.css","./src/app/driver/driver-menu/driver-menu.component.ts","./src/app/driver/drivermismmatch/drivermismmatch.component.scss","./src/app/driver/drivermismmatch/drivermismmatch.component.ts","./src/app/driver/exitalarm/exitalarm.component.scss","./src/app/driver/exitalarm/exitalarm.component.ts","./src/app/driver/finishservice/finishservice.component.scss","./src/app/driver/finishservice/finishservice.component.ts","./src/app/driver/freeservice/freeservice.component.scss","./src/app/driver/freeservice/freeservice.component.ts","./src/app/driver/goorigin/goorigin.component.scss","./src/app/driver/goorigin/goorigin.component.ts","./src/app/driver/login-app-new/login-app-new.component.scss","./src/app/driver/login-app-new/login-app-new.component.ts","./src/app/driver/login-shahreman/login-shahreman.component.scss","./src/app/driver/login-shahreman/login-shahreman.component.ts","./src/app/driver/logout/logout.component.scss","./src/app/driver/logout/logout.component.ts","./src/app/driver/master-driver/master-driver.component.scss","./src/app/driver/master-driver/master-driver.component.ts","./src/app/driver/menu-driver/menu-driver.component.scss","./src/app/driver/menu-driver/menu-driver.component.ts","./src/app/driver/messgaenotif/messgaenotif.component.scss","./src/app/driver/messgaenotif/messgaenotif.component.ts","./src/app/driver/mytrips/mytrips.component.scss","./src/app/driver/mytrips/mytrips.component.ts","./src/app/driver/new/new.component.css","./src/app/driver/new/new.component.ts","./src/app/driver/peygirialert/peygirialert.component.scss","./src/app/driver/peygirialert/peygirialert.component.ts","./src/app/driver/playfile/playfile.component.scss","./src/app/driver/playfile/playfile.component.ts","./src/app/driver/profile/profile.component.scss","./src/app/driver/profile/profile.component.ts","./src/app/driver/proposed-request/proposed-request.component.css","./src/app/driver/proposed-request/proposed-request.component.ts","./src/app/driver/propsoed-list/propsoed-list.component.scss","./src/app/driver/propsoed-list/propsoed-list.component.ts","./src/app/driver/showcreatedservice/showcreatedservice.component.scss","./src/app/driver/showcreatedservice/showcreatedservice.component.ts","./src/app/driver/showfreeservicelist/showfreeservicelist.component.scss","./src/app/driver/showfreeservicelist/showfreeservicelist.component.ts","./src/app/driver/snackbarexitdriver/snackbarexitdriver.component.scss","./src/app/driver/snackbarexitdriver/snackbarexitdriver.component.ts","./src/app/driver/station/station.component.scss","./src/app/driver/station/station.component.ts","./src/app/driver/summaryinfo/summaryinfo.component.css","./src/app/driver/summaryinfo/summaryinfo.component.ts","./src/app/driver/test-map/test-map.component.scss","./src/app/driver/test-map/test-map.component.ts","./src/app/driver/test-socket/test-socket.component.scss","./src/app/driver/test-socket/test-socket.component.ts","./src/app/driver/testview/testview.component.scss","./src/app/driver/testview/testview.component.ts","./src/app/driver/unlocknotification/unlocknotification.component.scss","./src/app/driver/unlocknotification/unlocknotification.component.ts","./src/app/driver/verifysms/verifysms.component.css","./src/app/driver/verifysms/verifysms.component.ts","./src/app/driver/waitforconfirm/waitforconfirm.component.scss","./src/app/driver/waitforconfirm/waitforconfirm.component.ts","./src/app/drv/drv-master/drv-master.component.css","./src/app/drv/drv-master/drv-master.component.ts","./src/app/globalVariable.ts","./src/app/lib/enums/driver-status.enum.ts","./src/app/lib/enums/form-mode.enum.ts","./src/app/lib/markerHelper.ts","./src/app/lib/serviceLib/accService.service.ts","./src/app/lib/serviceLib/audio.service.ts","./src/app/lib/serviceLib/baseinfo.service.ts","./src/app/lib/serviceLib/callcenterservice.service.ts","./src/app/lib/serviceLib/complaintservice.service.ts","./src/app/lib/serviceLib/dashboardservice.service.ts","./src/app/lib/serviceLib/driverservice.service.ts","./src/app/lib/serviceLib/error.interceptor.ts","./src/app/lib/serviceLib/foundedObjectservice.service.ts","./src/app/lib/serviceLib/logservice.service.ts","./src/app/lib/serviceLib/operatorservice.service.ts","./src/app/lib/serviceLib/passangerservice.service.ts","./src/app/lib/serviceLib/profileservice.service.ts","./src/app/lib/serviceLib/report.service.ts","./src/app/lib/serviceLib/savedplace.service.ts","./src/app/lib/serviceLib/servicerequestservice.service.ts","./src/app/lib/serviceLib/serviceservice.service.ts","./src/app/lib/serviceLib/stationdetailservice.service.ts","./src/app/lib/serviceLib/stationservice.service.ts","./src/app/lib/serviceLib/taxiservice.service.ts","./src/app/lib/web-socket.service.ts","./src/app/manage/changestation/changestation.component.scss","./src/app/manage/changestation/changestation.component.ts","./src/app/manage/manage-debit/manage-debit.component.scss","./src/app/manage/manage-debit/manage-debit.component.ts","./src/app/manage/manage-driver/manage-driver.component.scss","./src/app/manage/manage-driver/manage-driver.component.ts","./src/app/manage/myshift/myshift.component.ts","./src/app/manage/setpriority/setpriority.component.scss","./src/app/manage/setpriority/setpriority.component.ts","./src/app/manage/shift-scheduler/shift-scheduler.component.css","./src/app/manage/shift-scheduler/shift-scheduler.component.ts","./src/app/manage/shiftlisting/shiftlisting.component.css","./src/app/manage/shiftlisting/shiftlisting.component.ts","./src/app/manage/tripmanage/tripmanage.component.scss","./src/app/manage/tripmanage/tripmanage.component.ts","./src/app/messagebox/messagebox.component.scss","./src/app/messagebox/messagebox.component.ts","./src/app/model/ServiceRequest.ts","./src/app/model/callLog.ts","./src/app/model/car.ts","./src/app/model/dashboard.ts","./src/app/model/driver.ts","./src/app/model/enumtype.ts","./src/app/model/lastCallInfo.ts","./src/app/model/operatorTable.ts","./src/app/model/passanger.ts","./src/app/model/profile.ts","./src/app/model/routingInfo.ts","./src/app/model/saveserviceresult.ts","./src/app/model/service.ts","./src/app/model/serviceInfo.ts","./src/app/model/shiftTable.ts","./src/app/model/socketmodels.ts","./src/app/model/station.ts","./src/app/model/stationQueueInfo.ts","./src/app/newrequest/newrequest.component.css","./src/app/newrequest/newrequest.component.ts","./src/app/newui/new-footer/new-footer.component.css","./src/app/newui/new-footer/new-footer.component.ts","./src/app/newui/new-menu/new-menu.component.css","./src/app/newui/new-menu/new-menu.component.ts","./src/app/newui/new-navbar/new-navbar.component.css","./src/app/newui/new-navbar/new-navbar.component.ts","./src/app/newui/new-userinfo/new-userinfo.component.css","./src/app/newui/new-userinfo/new-userinfo.component.ts","./src/app/newui/newtest/newtest.component.css","./src/app/newui/newtest/newtest.component.ts","./src/app/passanger/drivernotfound/drivernotfound.component.css","./src/app/passanger/drivernotfound/drivernotfound.component.ts","./src/app/passanger/serviceruning/serviceruning.component.css","./src/app/passanger/serviceruning/serviceruning.component.ts","./src/app/passanger/waitfor-request/waitfor-request.component.css","./src/app/passanger/waitfor-request/waitfor-request.component.ts","./src/app/report/monthbymonth/monthbymonth.component.css","./src/app/report/monthbymonth/monthbymonth.component.ts","./src/app/report/report-bydriver/report-bydriver.component.css","./src/app/report/report-bydriver/report-bydriver.component.ts","./src/app/report/report-byoperator/report-byoperator.component.css","./src/app/report/report-byoperator/report-byoperator.component.ts","./src/app/report/report-commission/report-commission.component.css","./src/app/report/report-commission/report-commission.component.ts","./src/app/report/report-karkard/report-karkard.component.css","./src/app/report/report-karkard/report-karkard.component.ts","./src/app/report/report-trip/report-trip.component.css","./src/app/report/report-trip/report-trip.component.ts","./src/app/shared/actlanuncher/actlanuncher.component.scss","./src/app/shared/actlanuncher/actlanuncher.component.ts","./src/app/shared/confirm-dialog/confirm-dialog.component.scss","./src/app/shared/confirm-dialog/confirm-dialog.component.ts","./src/app/shared/confirmmessage/confirmmessage.component.scss","./src/app/shared/confirmmessage/confirmmessage.component.ts","./src/app/shared/driver-card/driver-card.component.scss","./src/app/shared/driver-card/driver-card.component.ts","./src/app/shared/driver-queue/driver-queue.component.css","./src/app/shared/driver-queue/driver-queue.component.ts","./src/app/shared/inputselectItem/inputselectItem.component.css","./src/app/shared/inputselectItem/inputselectItem.component.ts","./src/app/shared/inputtext/inputtext.component.css","./src/app/shared/inputtext/inputtext.component.ts","./src/app/shared/materials/button.component.ts","./src/app/shared/materials/checkbox.component.ts","./src/app/shared/materials/data-table.component.ts","./src/app/shared/materials/date-picker.component.ts","./src/app/shared/materials/dropdown.component.ts","./src/app/shared/materials/plaque.component.ts","./src/app/shared/materials/text-area.component.ts","./src/app/shared/materials/text-field.component.ts","./src/app/shared/materials/time-picker.component.ts","./src/app/shared/materials/ui-loader.component.ts","./src/app/shared/notifalertservice.service.ts","./src/app/shared/okmessage/okmessage.component.scss","./src/app/shared/okmessage/okmessage.component.ts","./src/app/shared/persiandateadapter.service.ts","./src/app/shared/searchplace/searchplace.component.css","./src/app/shared/searchplace/searchplace.component.ts","./src/app/shared/setorigindes/setorigindes.component.css","./src/app/shared/setorigindes/setorigindes.component.ts","./src/app/station/bottomsheetinfo/bottomsheetinfo.component.scss","./src/app/station/bottomsheetinfo/bottomsheetinfo.component.ts","./src/app/station/station-list/station-list.component.css","./src/app/station/station-list/station-list.component.ts","./src/app/station/station-member-select/station-member-select.component.scss","./src/app/station/station-member-select/station-member-select.component.ts","./src/app/station/station-member/station-member.component.scss","./src/app/station/station-member/station-member.component.ts","./src/app/station/trips/trips.component.scss","./src/app/station/trips/trips.component.ts","./src/app/station/viewstation/viewstation.component.css","./src/app/station/viewstation/viewstation.component.ts","./src/app/taximap/taximap.component.css","./src/app/taximap/taximap.component.ts","./src/app/taxiservice.service.ts","./src/app/test/push/push.component.scss","./src/app/test/push/push.component.ts","./src/app/test/queueset/queueset.component.css","./src/app/test/queueset/queueset.component.ts","./src/app/test/test/test.component.scss","./src/app/test/test/test.component.ts","./src/app/testapi/testapi.component.css","./src/app/testapi/testapi.component.ts","./src/app/testsocket/testsocket.component.css","./src/app/testsocket/testsocket.component.ts","./src/environments/environment.prod.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;;ACnSA;AAAe,6JAA8F,wDAAwD,GAAG,WAAW,sEAAsE,q1BAAq1B,E;;;;;;;;;;;;ACA9kC;AAAe,ipCAAklC,qBAAqB,2NAA2N,uBAAuB,w2BAAw2B,wDAAwD,GAAG,WAAW,kFAAkF,i9BAAi9B,E;;;;;;;;;;;;ACAzzG;AAAe,4HAA6D,E;;;;;;;;;;;;ACA5E;AAAe,43EAA6zE,aAAa,aAAa,gyBAAgyB,qRAAqR,OAAO,mCAAmC,gBAAgB,mCAAmC,qBAAqB,mCAAmC,mBAAmB,mCAAmC,wBAAwB,shDAAshD,E;;;;;;;;;;;;ACAppK;AAAe,uuBAAwqB,E;;;;;;;;;;;;ACAvrB;AAAe,0PAA2L,0FAA0F,gWAAgW,m6BAAm6B,68OAA68O,E;;;;;;;;;;;;ACAp/R;AAAe,iHAAkD,6BAA6B,wBAAwB,oHAAoH,eAAe,E;;;;;;;;;;;;ACAzP;AAAe,kvBAAmrB,6BAA6B,w8BAAw8B,mDAAmD,OAAO,0DAA0D,aAAa,mCAAmC,eAAe,mCAAmC,kBAAkB,+xCAA+xC,wDAAwD,GAAG,6BAA6B,yHAAyH,syBAAsyB,E;;;;;;;;;;;;ACArqI;AAAe,uxCAAwtC,aAAa,aAAa,0HAA0H,yKAAyK,+MAA+M,8YAA8Y,sFAAsF,8HAA8H,mBAAmB,KAAK,GAAG,mBAAmB,6KAA6K,8IAA8I,uBAAuB,+KAA+K,+EAA+E,yBAAyB,0KAA0K,wEAAwE,oBAAoB,mLAAmL,wEAAwE,yBAAyB,uLAAuL,2EAA2E,qBAAqB,6KAA6K,2EAA2E,mBAAmB,qLAAqL,wfAAwf,sgBAAsgB,+hBAA+hB,sgBAAsgB,uxBAAuxB,ifAAif,ghBAAghB,igBAAigB,4fAA4f,wlBAAwlB,iHAAiH,oBAAoB,qLAAqL,+EAA+E,sBAAsB,4KAA4K,gJAAgJ,sBAAsB,gLAAgL,yEAAyE,0BAA0B,4KAA4K,+EAA+E,sBAAsB,+KAA+K,+EAA+E,qBAAqB,4KAA4K,mEAAmE,gBAAgB,sJAAsJ,sEAAsE,kBAAkB,wJAAwJ,wEAAwE,oBAAoB,4LAA4L,yEAAyE,4BAA4B,sJAAsJ,kEAAkE,cAAc,w8BAAw8B,kEAAkE,2BAA2B,uNAAuN,E;;;;;;;;;;;;ACAznb;AAAe,wtLAAypL,8DAA8D,+DAA+D,49NAA49N,g1EAAg1E,ymEAAymE,g0EAAg0E,2hFAA2hF,k0EAAk0E,q5KAAq5K,E;;;;;;;;;;;;ACA5u7B;AAAe,0FAA2B,E;;;;;;;;;;;;ACA1C;AAAe,0pCAA2lC,0BAA0B,sJAAsJ,eAAe,8CAA8C,aAAa,6IAA6I,E;;;;;;;;;;;;ACAj/C;AAAe,yeAA0a,WAAW,0NAA0N,WAAW,2UAA2U,E;;;;;;;;;;;;ACAp/B;AAAe,kEAAG,QAAQ,KAAK,E;;;;;;;;;;;;ACA/B;AAAe,gUAAiQ,0iEAA0iE,8FAA8F,WAAW,6gCAA6gC,oBAAoB,2lBAA2lB,4GAA4G,kFAAkF,WAAW,iJAAiJ,cAAc,0HAA0H,cAAc,qBAAqB,E;;;;;;;;;;;;ACApiJ;AAAe,ysBAA0oB,2BAA2B,wDAAwD,uBAAuB,+FAA+F,qHAAqH,gCAAgC,uLAAuL,uBAAuB,8VAA8V,2SAA2S,wCAAwC,uEAAuE,sCAAsC,uEAAuE,0CAA0C,0EAA0E,wCAAwC,4EAA4E,2CAA2C,yEAAyE,yCAAyC,wEAAwE,sCAAsC,6EAA6E,oCAAoC,0EAA0E,yCAAyC,2EAA2E,qCAAqC,oHAAoH,4CAA4C,oHAAoH,6CAA6C,sNAAsN,E;;;;;;;;;;;;ACAx4G;AAAe,ujCAAw/B,8+LAA8+L,cAAc,6HAA6H,usBAAusB,2BAA2B,8DAA8D,uBAAuB,sGAAsG,yGAAyG,gCAAgC,+JAA+J,uBAAuB,qUAAqU,aAAa,aAAa,YAAY,mKAAmK,cAAc,cAAc,aAAa,uSAAuS,wBAAwB,cAAc,2BAA2B,yBAAyB,qBAAqB,kGAAkG,4DAA4D,4DAA4D,yeAAye,wCAAwC,mEAAmE,sCAAsC,mEAAmE,0CAA0C,yEAAyE,wCAAwC,+EAA+E,2CAA2C,4EAA4E,yCAAyC,yEAAyE,yCAAyC,2EAA2E,uCAAuC,gFAAgF,2CAA2C,6EAA6E,yCAAyC,8GAA8G,yCAAyC,kHAAkH,uCAAuC,8IAA8I,oCAAoC,8IAA8I,yCAAyC,qJAAqJ,qCAAqC,sJAAsJ,4CAA4C,4JAA4J,6CAA6C,4JAA4J,4CAA4C,4JAA4J,6CAA6C,2JAA2J,mCAAmC,8GAA8G,uBAAuB,8GAA8G,E;;;;;;;;;;;;ACA/ja;AAAe,m+FAAo6F,0BAA0B,yDAAyD,sBAAsB,+GAA+G,2BAA2B,mDAAmD,2BAA2B,mHAAmH,uBAAuB,KAAK,qBAAqB,0DAA0D,sBAAsB,KAAK,oBAAoB,2DAA2D,uBAAuB,mKAAmK,cAAc,qBAAqB,E;;;;;;;;;;;;ACAzxH;AAAe,saAAuW,sBAAsB,01BAA01B,sBAAsB,u2CAAu2C,sBAAsB,iLAAiL,0SAA0S,sBAAsB,yVAAyV,cAAc,yFAAyF,E;;;;;;;;;;;;ACA1iH;AAAe,iPAAkL,qPAAqP,qNAAqN,kNAAkN,uLAAuL,gKAAgK,0RAA0R,mMAAmM,8YAA8Y,mBAAmB,6MAA6M,iBAAiB,mNAAmN,uBAAuB,qMAAqM,gBAAgB,iHAAiH,+BAA+B,UAAU,gMAAgM,yBAAyB,iBAAiB,kBAAkB,2DAA2D,gjBAAgjB,E;;;;;;;;;;;;ACAhtH;AAAe,q9CAAs5C,2BAA2B,6DAA6D,wBAAwB,kHAAkH,uBAAuB,mDAAmD,6BAA6B,mDAAmD,6BAA6B,iIAAiI,+OAA+O,8OAA8O,oNAAoN,E;;;;;;;;;;;;ACAhnF;AAAe,8+FAA+6F,8BAA8B,yDAAyD,0BAA0B,+GAA+G,+BAA+B,mDAAmD,+BAA+B,mHAAmH,2BAA2B,KAAK,yBAAyB,yDAAyD,0BAA0B,KAAK,wBAAwB,0DAA0D,2BAA2B,mKAAmK,cAAc,iBAAiB,E;;;;;;;;;;;;ACAl0H;AAAe,+GAAgD,yBAAyB,cAAc,gBAAgB,yCAAyC,kDAAkD,yBAAyB,4BAA4B,oFAAoF,aAAa,+BAA+B,kEAAkE,s+CAAs+C,yBAAyB,4BAA4B,2GAA2G,iFAAiF,oBAAoB,8eAA8e,oBAAoB,gsBAAgsB,8WAA8W,yLAAyL,oBAAoB,uKAAuK,oBAAoB,sMAAsM,aAAa,oBAAoB,kBAAkB,mKAAmK,aAAa,oBAAoB,kBAAkB,2LAA2L,YAAY,aAAa,kBAAkB,uIAAuI,YAAY,aAAa,kBAAkB,yUAAyU,cAAc,mOAAmO,cAAc,8NAA8N,YAAY,qOAAqO,cAAc,40CAA40C,4DAA4D,8DAA8D,4FAA4F,wIAAwI,2DAA2D,KAAK,OAAO,sDAAsD,aAAa,iBAAiB,kBAAkB,kBAAkB,KAAK,aAAa,sDAAsD,aAAa,iBAAiB,MAAM,cAAc,sDAAsD,aAAa,iBAAiB,MAAM,iBAAiB,wDAAwD,YAAY,MAAM,aAAa,qDAAqD,eAAe,YAAY,MAAM,yCAAyC,gBAAgB,+CAA+C,yWAAyW,E;;;;;;;;;;;;ACAnsR;AAAe,2PAA4L,0FAA0F,2WAA2W,wYAAwY,OAAO,KAAK,SAAS,okCAAokC,wfAAwf,0BAA0B,QAAQ,mkEAAmkE,SAAS,onDAAonD,E;;;;;;;;;;;;ACA30M;AAAe,yUAA0Q,iOAAiO,8XAA8X,8IAA8I,0BAA0B,QAAQ,kJAAkJ,gXAAgX,sJAAsJ,0BAA0B,QAAQ,uIAAuI,gYAAgY,iBAAiB,o7DAAo7D,SAAS,miBAAmiB,iBAAiB,i+CAAi+C,E;;;;;;;;;;;;ACA5sM;AAAe,mSAAoO,8TAA8T,4bAA4b,mRAAmR,+vBAA+vB,+QAA+Q,uPAAuP,uBAAuB,wPAAwP,+CAA+C,YAAY,0KAA0K,kCAAkC,sKAAsK,0CAA0C,ihBAAihB,0BAA0B,QAAQ,iHAAiH,WAAW,4QAA4Q,WAAW,8XAA8X,YAAY,oXAAoX,mQAAmQ,sCAAsC,2PAA2P,KAAK,QAAQ,4IAA4I,6MAA6M,uNAAuN,kNAAkN,6MAA6M,+MAA+M,iNAAiN,sMAAsM,oBAAoB,mFAAmF,qEAAqE,YAAY,sUAAsU,qHAAqH,8BAA8B,iCAAiC,8BAA8B,kLAAkL,uBAAuB,UAAU,gWAAgW,uBAAuB,UAAU,yUAAyU,yHAAyH,uBAAuB,UAAU,4RAA4R,2BAA2B,mBAAmB,0SAA0S,2BAA2B,mBAAmB,qQAAqQ,gCAAgC,mBAAmB,oWAAoW,sGAAsG,YAAY,iBAAiB,glBAAglB,wBAAwB,gMAAgM,8BAA8B,+MAA+M,0BAA0B,iJAAiJ,qJAAqJ,qSAAqS,YAAY,wWAAwW,YAAY,2WAA2W,6QAA6Q,iQAAiQ,w2BAAw2B,iRAAiR,qJAAqJ,8EAA8E,cAAc,0CAA0C,YAAY,uBAAuB,aAAa,8KAA8K,0EAA0E,0BAA0B,6DAA6D,mBAAmB,8ZAA8Z,sWAAsW,80BAA80B,yEAAyE,qCAAqC,2DAA2D,iBAAiB,mCAAmC,cAAc,mCAAmC,gBAAgB,2CAA2C,eAAe,mCAAmC,gBAAgB,mCAAmC,qBAAqB,mCAAmC,sBAAsB,mCAAmC,gBAAgB,mCAAmC,WAAW,mCAAmC,kBAAkB,GAAG,kBAAkB,sIAAsI,wLAAwL,uKAAuK,2MAA2M,uGAAuG,oRAAoR,E;;;;;;;;;;;;ACA1pkB;AAAe,waAAyW,2BAA2B,uBAAuB,4eAA4e,OAAO,KAAK,SAAS,+nCAA+nC,0BAA0B,QAAQ,+hEAA+hE,ssBAAssB,0rCAA0rC,oDAAoD,iBAAiB,wBAAwB,yEAAyE,oDAAoD,iBAAiB,8BAA8B,yEAAyE,oDAAoD,WAAW,0BAA0B,keAAke,SAAS,w5BAAw5B,iBAAiB,+dAA+d,SAAS,ggCAAggC,42IAA42I,+JAA+J,+sDAA+sD,E;;;;;;;;;;;;ACA5+e;AAAe,k2EAAmyE,iBAAiB,uDAAuD,iBAAiB,yGAAyG,kBAAkB,mDAAmD,wBAAwB,8MAA8M,2DAA2D,oOAAoO,0DAA0D,sUAAsU,iBAAiB,yDAAyD,iBAAiB,kEAAkE,kBAAkB,qDAAqD,wBAAwB,2IAA2I,2DAA2D,sQAAsQ,0DAA0D,sMAAsM,E;;;;;;;;;;;;ACAt4I;AAAe,icAAkY,gBAAgB,+DAA+D,YAAY,gIAAgI,iBAAiB,wDAAwD,iBAAiB,4hBAA4hB,gjBAAgjB,cAAc,iBAAiB,E;;;;;;;;;;;;ACAjzD;AAAe,gcAAiY,gBAAgB,+DAA+D,YAAY,gIAAgI,iBAAiB,wDAAwD,iBAAiB,+hBAA+hB,iiBAAiiB,cAAc,iBAAiB,E;;;;;;;;;;;;ACApyD;AAAe,6yDAA8uD,8cAA8c,E;;;;;;;;;;;;ACA3sE;AAAe,yNAA0J,kCAAkC,01DAA01D,8cAA8c,E;;;;;;;;;;;;ACAn/E;AAAe,uaAAwW,+2GAA+2G,wFAAwF,2zEAA2zE,sDAAsD,6BAA6B,0NAA0N,sDAAsD,wBAAwB,MAAM,wBAAwB,yNAAyN,8BAA8B,4EAA4E,mBAAmB,oEAAoE,wBAAwB,yJAAyJ,2BAA2B,qFAAqF,6BAA6B,uFAAuF,8BAA8B,mKAAmK,uBAAuB,yEAAyE,0BAA0B,2KAA2K,yBAAyB,KAAK,uBAAuB,oEAAoE,yBAAyB,uNAAuN,sEAAsE,8QAA8Q,wEAAwE,iRAAiR,iFAAiF,8LAA8L,wEAAwE,sLAAsL,0EAA0E,gRAAgR,wEAAwE,4cAA4c,cAAc,uGAAuG,E;;;;;;;;;;;;ACA7yU;AAAe,+NAAgK,yBAAyB,qEAAqE,yBAAyB,6TAA6T,yBAAyB,oBAAoB,wHAAwH,eAAe,sBAAsB,oBAAoB,oJAAoJ,cAAc,+IAA+I,cAAc,mGAAmG,gBAAgB,iGAAiG,kBAAkB,+UAA+U,E;;;;;;;;;;;;ACArrD;AAAe,mJAAoF,u0GAAu0G,8WAA8W,2lBAA2lB,WAAW,+QAA+Q,WAAW,4LAA4L,yBAAyB,yDAAyD,yQAAyQ,E;;;;;;;;;;;;ACA/qK;AAAe,s/CAAu7C,mDAAmD,OAAO,0DAA0D,aAAa,uCAAuC,iBAAiB,mCAAmC,uBAAuB,mCAAmC,mBAAmB,mCAAmC,iBAAiB,4yCAA4yC,wDAAwD,6IAA6I,k/DAAk/D,E;;;;;;;;;;;;ACAtwK;AAAe,mJAAoF,ucAAuc,oWAAoW,6BAA6B,+JAA+J,KAAK,qpBAAqpB,E;;;;;;;;;;;;ACApuD;AAAe,mTAAoP,2BAA2B,6JAA6J,gCAAgC,+SAA+S,YAAY,0KAA0K,gBAAgB,0KAA0K,E;;;;;;;;;;;;ACA1nC;AAAe,glBAAihB,yCAAyC,OAAO,6BAA6B,eAAe,6BAA6B,SAAS,6BAA6B,UAAU,gNAAgN,E;;;;;;;;;;;;ACAz5B;AAAe,wcAAyY,aAAa,oVAAoV,E;;;;;;;;;;;;ACAzvB;AAAe,ybAA0X,aAAa,kWAAkW,E;;;;;;;;;;;;ACAxvB;AAAe,kRAAmN,+HAA+H,kBAAkB,iFAAiF,mBAAmB,yFAAyF,yBAAyB,sFAAsF,uBAAuB,wJAAwJ,iBAAiB,iGAAiG,mBAAmB,6FAA6F,iBAAiB,okBAAokB,E;;;;;;;;;;;;ACAroD;AAAe,qPAAsL,kFAAkF,0HAA0H,mBAAmB,KAAK,sGAAsG,kFAAkF,2HAA2H,mBAAmB,qBAAqB,oGAAoG,kFAAkF,yHAAyH,mBAAmB,mBAAmB,sGAAsG,kFAAkF,yHAAyH,mBAAmB,qBAAqB,qGAAqG,kFAAkF,yHAAyH,mBAAmB,oBAAoB,oGAAoG,8DAA8D,2BAA2B,6KAA6K,E;;;;;;;;;;;;ACAnnE;AAAe,8FAA+B,6HAA6H,yBAAyB,2DAA2D,qBAAqB,2BAA2B,4FAA4F,aAAa,kGAAkG,mIAAmI,YAAY,yKAAyK,YAAY,yJAAyJ,YAAY,sCAAsC,kMAAkM,YAAY,qCAAqC,2HAA2H,YAAY,iCAAiC,oHAAoH,YAAY,kCAAkC,sHAAsH,YAAY,mCAAmC,+HAA+H,YAAY,2CAA2C,0HAA0H,YAAY,kCAAkC,wHAAwH,YAAY,kCAAkC,sIAAsI,YAAY,sCAAsC,4HAA4H,YAAY,wFAAwF,E;;;;;;;;;;;;ACAvoF;AAAe,6iBAA8e,E;;;;;;;;;;;;ACA7f;AAAe,8ZAA+V,aAAa,8ZAA8Z,E;;;;;;;;;;;;ACAzxB;AAAe,sgBAAuc,iBAAiB,kYAAkY,iBAAiB,48BAA48B,E;;;;;;;;;;;;ACAt0D;AAAe,yGAA0C,KAAK,sIAAsI,sKAAsK,qBAAqB,OAAO,sBAAsB,6FAA6F,kBAAkB,qOAAqO,cAAc,6JAA6J,mBAAmB,iQAAiQ,qGAAqG,E;;;;;;;;;;;;ACApxC;AAAe,oVAAqR,4BAA4B,sHAAsH,4BAA4B,qDAAqD,4BAA4B,GAAG,8BAA8B,otBAAotB,2JAA2J,wSAAwS,2BAA2B,6NAA6N,gCAAgC,gMAAgM,kCAAkC,6IAA6I,2BAA2B,2BAA2B,MAAM,MAAM,oHAAoH,2BAA2B,8LAA8L,+BAA+B,KAAK,gCAAgC,mFAAmF,4BAA4B,oFAAoF,sCAAsC,iMAAiM,iCAAiC,4HAA4H,+BAA+B,2MAA2M,qJAAqJ,sBAAsB,4FAA4F,6DAA6D,YAAY,6FAA6F,sBAAsB,yLAAyL,uJAAuJ,sBAAsB,4FAA4F,6DAA6D,YAAY,6FAA6F,sBAAsB,+LAA+L,mJAAmJ,sBAAsB,0PAA0P,E;;;;;;;;;;;;ACAzwK;AAAe,qRAAsN,kBAAkB,uFAAuF,mBAAmB,iGAAiG,yBAAyB,8FAA8F,uBAAuB,kKAAkK,iBAAiB,yGAAyG,mBAAmB,qGAAqG,iBAAiB,wKAAwK,KAAK,iIAAiI,cAAc,uJAAuJ,eAAe,iBAAiB,oBAAoB,yBAAyB,2DAA2D,eAAe,qBAAqB,cAAc,qPAAqP,cAAc,yIAAyI,cAAc,+GAA+G,cAAc,uBAAuB,E;;;;;;;;;;;;ACAhrE;AAAe,0LAA2H,oLAAoL,4DAA4D,wCAAwC,E;;;;;;;;;;;;ACAla;AAAe,yFAA0B,E;;;;;;;;;;;;ACAzC;AAAe,2RAA4N,WAAW,aAAa,8QAA8Q,kBAAkB,qDAAqD,iBAAiB,GAAG,mBAAmB,oDAAoD,uBAAuB,qDAAqD,iBAAiB,8bAA8b,uVAAuV,eAAe,oRAAoR,cAAc,yDAAyD,gBAAgB,gEAAgE,oBAAoB,sJAAsJ,+DAA+D,qBAAqB,oHAAoH,mBAAmB,wDAAwD,0CAA0C,2EAA2E,oBAAoB,qFAAqF,iBAAiB,gLAAgL,E;;;;;;;;;;;;ACA3zF;AAAe,8FAA+B,yOAAyO,YAAY,+YAA+Y,2NAA2N,E;;;;;;;;;;;;ACA74B;AAAe,mIAAoE,OAAO,yDAAyD,KAAK,+EAA+E,yGAAyG,aAAa,gDAAgD,E;;;;;;;;;;;;ACA7Y;AAAe,qMAAsI,uUAAuU,mBAAmB,+kBAA+kB,uBAAuB,gCAAgC,oBAAoB,wZAAwZ,aAAa,KAAK,eAAe,4VAA4V,mBAAmB,uSAAuS,QAAQ,+OAA+O,kBAAkB,yXAAyX,aAAa,KAAK,eAAe,wFAAwF,cAAc,sEAAsE,mBAAmB,sEAAsE,SAAS,4EAA4E,kBAAkB,8NAA8N,6FAA6F,E;;;;;;;;;;;;ACAliH;AAAe,ygCAA08B,oFAAoF,WAAW,yKAAyK,kHAAkH,E;;;;;;;;;;;;ACAn1C;AAAe,gKAAiG,QAAQ,0BAA0B,aAAa,iHAAiH,E;;;;;;;;;;;;ACAhR;AAAe,oKAAqG,mkBAAmkB,E;;;;;;;;;;;;ACAvrB;AAAe,8FAA+B,cAAc,mBAAmB,wDAAwD,yBAAyB,6GAA6G,oBAAoB,0JAA0J,mCAAmC,qLAAqL,qBAAqB,qBAAqB,oDAAoD,WAAW,aAAa,2UAA2U,kBAAkB,qEAAqE,iBAAiB,GAAG,mBAAmB,+EAA+E,uBAAuB,oTAAoT,saAAsa,wCAAwC,8BAA8B,yWAAyW,wCAAwC,yYAAyY,6CAA6C,2VAA2V,wCAAwC,gQAAgQ,iEAAiE,yBAAyB,0WAA0W,wCAAwC,8BAA8B,yWAAyW,uCAAuC,6YAA6Y,4CAA4C,2VAA2V,6CAA6C,4PAA4P,uaAAua,wCAAwC,8BAA8B,yWAAyW,uCAAuC,4YAA4Y,4CAA4C,2VAA2V,6CAA6C,6YAA6Y,sCAAsC,qWAAqW,qCAAqC,ozBAAozB,0BAA0B,2DAA2D,sBAAsB,qHAAqH,2BAA2B,qDAAqD,2BAA2B,yHAAyH,uBAAuB,KAAK,qBAAqB,4DAA4D,sBAAsB,KAAK,oBAAoB,+DAA+D,uBAAuB,yKAAyK,cAAc,qBAAqB,E;;;;;;;;;;;;ACAzqT;AAAe,iKAAkG,+BAA+B,qEAAqE,2BAA2B,4EAA4E,2BAA2B,mDAAmD,mCAAmC,kFAAkF,YAAY,sPAAsP,+BAA+B,0JAA0J,2BAA2B,uKAAuK,gCAAgC,4MAA4M,iCAAiC,mKAAmK,sCAAsC,2JAA2J,kCAAkC,yHAAyH,wKAAwK,kKAAkK,ygBAAygB,E;;;;;;;;;;;;ACA3tF;AAAe,qPAAsL,kFAAkF,0HAA0H,mBAAmB,KAAK,qGAAqG,kFAAkF,+HAA+H,mBAAmB,oBAAoB,mGAAmG,kFAAkF,wHAAwH,mBAAmB,kBAAkB,mGAAmG,kFAAkF,yHAAyH,mBAAmB,kBAAkB,sGAAsG,kFAAkF,6HAA6H,mBAAmB,qBAAqB,qGAAqG,kFAAkF,2HAA2H,mBAAmB,oBAAoB,4FAA4F,8DAA8D,2BAA2B,6KAA6K,E;;;;;;;;;;;;ACAn8E;AAAe,kdAAmZ,wBAAwB,mFAAmF,qBAAqB,IAAI,sBAAsB,uEAAuE,wBAAwB,gNAAgN,6FAA6F,E;;;;;;;;;;;;ACAx8B;AAAe,8FAA+B,8HAA8H,sKAAsK,qBAAqB,8FAA8F,kBAAkB,2RAA2R,cAAc,iNAAiN,mBAAmB,+LAA+L,oBAAoB,8LAA8L,E;;;;;;;;;;;;ACAr3C;AAAe,sIAAuE,SAAS,8JAA8J,yPAAyP,2IAA2I,E;;;;;;;;;;;;ACAjoB;AAAe,ilBAAkhB,WAAW,aAAa,6SAA6S,kBAAkB,+DAA+D,iBAAiB,GAAG,mBAAmB,0DAA0D,uBAAuB,uHAAuH,cAAc,iEAAiE,oBAAoB,mQAAmQ,gBAAgB,+BAA+B,qBAAqB,sHAAsH,mBAAmB,oDAAoD,0CAA0C,+EAA+E,sBAAsB,2FAA2F,iBAAiB,u1BAAu1B,+DAA+D,oMAAoM,KAAK,mBAAmB,2CAA2C,yGAAyG,YAAY,6MAA6M,wKAAwK,KAAK,wBAAwB,2CAA2C,yGAAyG,YAAY,6LAA6L,uBAAuB,sDAAsD,6DAA6D,4DAA4D,uBAAuB,yNAAyN,6DAA6D,4DAA4D,uBAAuB,0PAA0P,4DAA4D,uBAAuB,sRAAsR,WAAW,yKAAyK,oBAAoB,cAAc,aAAa,eAAe,wBAAwB,kBAAkB,iEAAiE,4BAA4B,wBAAwB,iBAAiB,oBAAoB,8JAA8J,cAAc,8HAA8H,cAAc,uKAAuK,kHAAkH,2KAA2K,2EAA2E,YAAY,0JAA0J,YAAY,iNAAiN,YAAY,yIAAyI,YAAY,4JAA4J,YAAY,yJAAyJ,YAAY,gCAAgC,kIAAkI,YAAY,sJAAsJ,YAAY,oKAAoK,YAAY,2BAA2B,gPAAgP,8GAA8G,+JAA+J,eAAe,wBAAwB,kBAAkB,cAAc,0FAA0F,aAAa,oDAAoD,cAAc,iJAAiJ,mBAAmB,8DAA8D,cAAc,+HAA+H,sBAAsB,mDAAmD,gBAAgB,2ZAA2Z,E;;;;;;;;;;;;ACA34S;AAAe,maAAoW,wBAAwB,gOAAgO,mBAAmB,wOAAwO,oCAAoC,2OAA2O,uCAAuC,qOAAqO,4CAA4C,qOAAqO,8CAA8C,qOAAqO,sCAAsC,oOAAoO,kCAAkC,uWAAuW,kDAAkD,mOAAmO,gDAAgD,oNAAoN,oDAAoD,kNAAkN,kDAAkD,0GAA0G,E;;;;;;;;;;;;ACAn/G;AAAe,uIAAwE,E;;;;;;;;;;;;ACAvF;AAAe,8FAA+B,E;;;;;;;;;;;;ACA9C;AAAe,ykBAA0gB,WAAW,aAAa,6SAA6S,kBAAkB,kEAAkE,uBAAuB,2MAA2M,eAAe,kaAAka,qBAAqB,oTAAoT,gBAAgB,+BAA+B,qBAAqB,sHAAsH,mBAAmB,oDAAoD,0CAA0C,+EAA+E,sBAAsB,2FAA2F,iBAAiB,ymBAAymB,mDAAmD,wBAAwB,mcAAmc,mHAAmH,8DAA8D,2DAA2D,4DAA4D,aAAa,WAAW,yNAAyN,gEAAgE,+DAA+D,aAAa,WAAW,uKAAuK,6tBAA6tB,0BAA0B,kBAAkB,2KAA2K,WAAW,6IAA6I,oBAAoB,cAAc,aAAa,eAAe,aAAa,iBAAiB,iEAAiE,4BAA4B,wBAAwB,iBAAiB,oBAAoB,0KAA0K,oBAAoB,cAAc,aAAa,cAAc,wBAAwB,kBAAkB,iEAAiE,4BAA4B,wBAAwB,iBAAiB,oBAAoB,8JAA8J,cAAc,8HAA8H,cAAc,iBAAiB,E;;;;;;;;;;;;ACA94M;AAAe,iEAAE,E;;;;;;;;;;;;ACAjB;AAAe,w+BAAy6B,KAAK,cAAc,gnBAAgnB,cAAc,iBAAiB,E;;;;;;;;;;;;ACA1lD;AAAe,0rBAA2nB,E;;;;;;;;;;;;ACA1oB;AAAe,2QAA4M,E;;;;;;;;;;;;ACA3N;AAAe,+OAAgL,wBAAwB,iJAAiJ,6BAA6B,+HAA+H,uBAAuB,4HAA4H,2BAA2B,KAAK,6BAA6B,oHAAoH,yBAAyB,yJAAyJ,uDAAuD,YAAY,eAAe,SAAS,4FAA4F,4BAA4B,gBAAgB,YAAY,2BAA2B,+CAA+C,YAAY,yEAAyE,E;;;;;;;;;;;;ACAx4C;AAAe,i7EAAk3E,aAAa,aAAa,+FAA+F,61BAA61B,mDAAmD,OAAO,mCAAmC,gBAAgB,mCAAmC,qBAAqB,mCAAmC,eAAe,mCAAmC,kBAAkB,mCAAmC,uBAAuB,mCAAmC,gBAAgB,mCAAmC,iBAAiB,uHAAuH,gBAAgB,0mEAA0mE,0BAA0B,8IAA8I,2BAA2B,oMAAoM,qBAAqB,mWAAmW,wDAAwD,0BAA0B,oDAAoD,wHAAwH,6tCAA6tC,mCAAmC,KAAK,8BAA8B,8FAA8F,4yBAA4yB,WAAW,kSAAkS,WAAW,+nBAA+nB,E;;;;;;;;;;;;ACAtlU;AAAe,6qFAA8mF,aAAa,aAAa,mGAAmG,kmCAAkmC,qRAAqR,OAAO,mCAAmC,gBAAgB,mCAAmC,qBAAqB,mCAAmC,mBAAmB,mCAAmC,wBAAwB,mCAAmC,iBAAiB,mCAAmC,qBAAqB,mCAAmC,kBAAkB,0HAA0H,6KAA6K,oBAAoB,i6JAAi6J,wDAAwD,qGAAqG,i/DAAi/D,2CAA2C,0aAA0a,4CAA4C,wMAAwM,0SAA0S,sSAAsS,sSAAsS,+9CAA+9C,mCAAmC,KAAK,8BAA8B,8FAA8F,4yBAA4yB,WAAW,kSAAkS,WAAW,+nBAA+nB,E;;;;;;;;;;;;ACApwhB;AAAe,sZAAuV,cAAc,wDAAwD,gmBAAgmB,wCAAwC,KAAK,2BAA2B,eAAe,2BAA2B,eAAe,4jBAA4jB,E;;;;;;;;;;;;ACAzsD;AAAe,6GAA8C,+KAA+K,oLAAoL,8RAA8R,E;;;;;;;;;;;;ACA9rB;AAAe,4oEAA6kE,2HAA2H,6JAA6J,wDAAwD,2RAA2R,iBAAiB,0EAA0E,mBAAmB,qBAAqB,kBAAkB,GAAG,qBAAqB,gEAAgE,mBAAmB,qBAAqB,kBAAkB,GAAG,qBAAqB,gEAAgE,iBAAiB,kTAAkT,kGAAkG,QAAQ,uTAAuT,kBAAkB,kEAAkE,E;;;;;;;;;;;;ACA93H;AAAe,0RAA2N,mkBAAmkB,yCAAyC,eAAe,6CAA6C,eAAe,oOAAoO,eAAe,wQAAwQ,eAAe,6OAA6O,0HAA0H,E;;;;;;;;;;;;ACAlxD;AAAe,y7CAA03C,aAAa,aAAa,mOAAmO,oFAAoF,4HAA4H,mBAAmB,KAAK,uKAAuK,4IAA4I,uBAAuB,yKAAyK,6EAA6E,yBAAyB,oKAAoK,sEAAsE,oBAAoB,6KAA6K,sEAAsE,yBAAyB,iLAAiL,yEAAyE,qBAAqB,uKAAuK,yEAAyE,mBAAmB,+KAA+K,seAAse,gfAAgf,2ZAA2Z,4YAA4Y,qfAAqf,8fAA8f,+eAA+e,0eAA0e,skBAAskB,+GAA+G,oBAAoB,+KAA+K,6EAA6E,sBAAsB,sKAAsK,8IAA8I,sBAAsB,0KAA0K,uEAAuE,0BAA0B,sKAAsK,6EAA6E,sBAAsB,yKAAyK,6EAA6E,qBAAqB,4KAA4K,uEAAuE,gBAAgB,kKAAkK,0EAA0E,kBAAkB,oKAAoK,4EAA4E,oBAAoB,wMAAwM,6EAA6E,4BAA4B,kKAAkK,sEAAsE,cAAc,ghCAAghC,gEAAgE,2BAA2B,uMAAuM,E;;;;;;;;;;;;ACA7/X;AAAe,uFAAwB,OAAO,4CAA4C,aAAa,yLAAyL,E;;;;;;;;;;;;ACAhS;AAAe,6RAA8N,wBAAwB,2GAA2G,6BAA6B,qHAAqH,gBAAgB,oBAAoB,E;;;;;;;;;;;;ACAtiB;AAAe,wQAAyM,E;;;;;;;;;;;;ACAxN;AAAe,ghIAAi9H,E;;;;;;;;;;;;ACAh+H;AAAe,63OAA8zO,2BAA2B,0tBAA0tB,E;;;;;;;;;;;;ACAlkQ;AAAe,sqBAAumB,E;;;;;;;;;;;;ACAtnB;AAAe,wtLAAypL,8DAA8D,+DAA+D,49NAA49N,g1EAAg1E,ymEAAymE,g0EAAg0E,2hFAA2hF,k0EAAk0E,q5KAAq5K,E;;;;;;;;;;;;ACA5u7B;AAAe,kLAAmH,qBAAqB,eAAe,qBAAqB,yBAAyB,2CAA2C,aAAa,cAAc,qBAAqB,YAAY,oBAAoB,WAAW,qJAAqJ,wFAAwF,yGAAyG,mEAAmE,E;;;;;;;;;;;;ACAnvB;AAAe,mGAAoC,8BAA8B,gBAAgB,4BAA4B,YAAY,0BAA0B,YAAY,8BAA8B,YAAY,yBAAyB,YAAY,yBAAyB,YAAY,+BAA+B,YAAY,+BAA+B,YAAY,gCAAgC,YAAY,4BAA4B,YAAY,4BAA4B,YAAY,6BAA6B,WAAW,E;;;;;;;;;;;;ACA7hB;AAAe,kLAAmH,uMAAuM,yFAAyF,wEAAwE,E;;;;;;;;;;;;ACA1e;AAAe,2pBAA4lB,QAAQ,2WAA2W,wBAAwB,yPAAyP,wCAAwC,qBAAqB,kCAAkC,qBAAqB,+CAA+C,qBAAqB,0CAA0C,qBAAqB,uCAAuC,yCAAyC,gHAAgH,qCAAqC,qIAAqI,ogBAAogB,qCAAqC,KAAK,qBAAqB,gBAAgB,qBAAqB,+BAA+B,qBAAqB,6BAA6B,qBAAqB,uBAAuB,qBAAqB,oCAAoC,qBAAqB,iCAAiC,qBAAqB,+BAA+B,qBAAqB,8BAA8B,qBAAqB,gCAAgC,qBAAqB,6BAA6B,qBAAqB,qCAAqC,qBAAqB,6BAA6B,yCAAyC,qGAAqG,0BAA0B,kDAAkD,8BAA8B,oGAAoG,OAAO,+EAA+E,4BAA4B,8EAA8E,iCAAiC,gEAAgE,8BAA8B,+DAA+D,uCAAuC,8DAA8D,4BAA4B,8DAA8D,E;;;;;;;;;;;;ACAv3H;AAAe,0oBAA2kB,mxDAAmxD,QAAQ,4sCAA4sC,E;;;;;;;;;;;;ACAjkH;AAAe,2oBAA4kB,ozDAAozD,QAAQ,4uBAA4uB,E;;;;;;;;;;;;ACAnoG;AAAe,47BAA63B,sCAAsC,KAAK,qBAAqB,WAAW,qBAAqB,gBAAgB,qBAAqB,6BAA6B,qBAAqB,uBAAuB,qBAAqB,oCAAoC,qBAAqB,+BAA+B,qBAAqB,4BAA4B,yCAAyC,sGAAsG,0BAA0B,iIAAiI,OAAO,oFAAoF,4BAA4B,iEAAiE,iCAAiC,iEAAiE,gCAAgC,mEAAmE,iCAAiC,6DAA6D,E;;;;;;;;;;;;ACA7/D;AAAe,ivCAAkrC,QAAQ,6pBAA6pB,+6BAA+6B,gHAAgH,KAAK,sCAAsC,mBAAmB,iKAAiK,gBAAgB,mNAAmN,qBAAqB,8FAA8F,0BAA0B,uCAAuC,6BAA6B,oCAAoC,UAAU,uLAAuL,uBAAuB,0NAA0N,yBAAyB,oOAAoO,oBAAoB,oNAAoN,wBAAwB,sFAAsF,qCAAqC,qCAAqC,6BAA6B,iCAAiC,8BAA8B,+GAA+G,0BAA0B,qKAAqK,OAAO,2FAA2F,4BAA4B,wJAAwJ,gCAAgC,+EAA+E,iCAAiC,wFAAwF,uBAAuB,4MAA4M,E;;;;;;;;;;;;ACAtvL;AAAe,8xBAA+tB,sIAAsI,KAAK,0BAA0B,mBAAmB,wBAAwB,gBAAgB,qBAAqB,gBAAgB,yIAAyI,qBAAqB,mYAAmY,iCAAiC,2BAA2B,6BAA6B,wBAAwB,gBAAgB,qBAAqB,gBAAgB,8BAA8B,iBAAiB,gCAAgC,kBAAkB,gCAAgC,iBAAiB,gCAAgC,aAAa,kJAAkJ,uBAAuB,8JAA8J,yBAAyB,wKAAwK,oBAAoB,0JAA0J,wBAAwB,kDAAkD,qCAAqC,yBAAyB,6BAA6B,qBAAqB,8BAA8B,2HAA2H,0BAA0B,4GAA4G,OAAO,+EAA+E,4BAA4B,gFAAgF,gCAAgC,mEAAmE,iCAAiC,+DAA+D,iCAAiC,0DAA0D,E;;;;;;;;;;;;ACAx+G;AAAe,+FAAgC,E;;;;;;;;;;;;ACA/C;AAAe,wNAAyJ,SAAS,uJAAuJ,iCAAiC,sHAAsH,kBAAkB,uHAAuH,iBAAiB,+DAA+D,E;;;;;;;;;;;;ACAxrB;AAAe,uFAAwB,YAAY,4CAA4C,kBAAkB,uXAAuX,E;;;;;;;;;;;;ACAxe;AAAe,iOAAkK,qCAAqC,uLAAuL,eAAe,qFAAqF,E;;;;;;;;;;;;ACAjf;AAAe,2JAA4F,E;;;;;;;;;;;;ACA3G;AAAe,uFAAwB,YAAY,oDAAoD,UAAU,yDAAyD,gBAAgB,sMAAsM,SAAS,8RAA8R,E;;;;;;;;;;;;ACAvqB;AAAe,uFAAwB,YAAY,4CAA4C,UAAU,+CAA+C,gBAAgB,6SAA6S,E;;;;;;;;;;;;ACArd;AAAe,gTAAiP,gCAAgC,6GAA6G,sFAAsF,aAAa,4EAA4E,uBAAuB,8TAA8T,4DAA4D,kOAAkO,iBAAiB,4LAA4L,kBAAkB,sCAAsC,E;;;;;;;;;;;;ACAp7C;AAAe,kbAAmX,kaAAka,+XAA+X,E;;;;;;;;;;;;ACAnqC;AAAe,kJAAmF,kBAAkB,ycAAyc,E;;;;;;;;;;;;ACA7jB;AAAe,sSAAuO,0nDAA0nD,cAAc,MAAM,cAAc,qlCAAqlC,iBAAiB,uXAAuX,aAAa,0XAA0X,gBAAgB,wPAAwP,aAAa,8MAA8M,gBAAgB,0EAA0E,E;;;;;;;;;;;;ACAnzI;AAAe,4HAA6D,YAAY,8JAA8J,WAAW,yCAAyC,yCAAyC,2BAA2B,uBAAuB,gBAAgB,qBAAqB,gMAAgM,wKAAwK,KAAK,mBAAmB,2CAA2C,+EAA+E,YAAY,kNAAkN,cAAc,kNAAkN,cAAc,gOAAgO,cAAc,yNAAyN,eAAe,+BAA+B,8BAA8B,qBAAqB,0CAA0C,WAAW,oBAAoB,6CAA6C,QAAQ,yEAAyE,6DAA6D,wGAAwG,eAAe,+BAA+B,8BAA8B,qBAAqB,0CAA0C,WAAW,oBAAoB,6CAA6C,KAAK,yEAAyE,iCAAiC,wGAAwG,eAAe,yBAAyB,kCAAkC,+BAA+B,8BAA8B,6CAA6C,qBAAqB,2CAA2C,WAAW,oBAAoB,2MAA2M,kIAAkI,KAAK,+FAA+F,E;;;;;;;;;;;;ACAt3G;AAAe,8MAA+I,sPAAsP,iBAAiB,4DAA4D,uPAAuP,2BAA2B,wEAAwE,kBAAkB,oBAAoB,oBAAoB,yBAAyB,oBAAoB,qBAAqB,KAAK,uBAAuB,2PAA2P,kBAAkB,oBAAoB,oBAAoB,yBAAyB,oBAAoB,qBAAqB,KAAK,uBAAuB,mJAAmJ,uBAAuB,+IAA+I,E;;;;;;;;;;;;ACA/pD;AAAe,wNAAyJ,aAAa,4DAA4D,cAAc,mJAAmJ,mBAAmB,gEAAgE,cAAc,qIAAqI,sBAAsB,qDAAqD,gBAAgB,gOAAgO,qGAAqG,E;;;;;;;;;;;;ACAxhC;AAAe,gJAAiF,mGAAmG,okBAAokB,2PAA2P,OAAO,KAAK,SAAS,o0DAAo0D,YAAY,iFAAiF,+aAA+a,gGAAgG,E;;;;;;;;;;;;ACAv8G;AAAe,2jBAA4f,+BAA+B,kJAAkJ,yBAAyB,8EAA8E,KAAK,uFAAuF,mMAAmM,kHAAkH,6FAA6F,E;;;;;;;;;;;;ACAjxC;AAAe,qjBAAsf,cAAc,KAAK,cAAc,wFAAwF,eAAe,GAAG,aAAa,4fAA4f,uFAAuF,E;;;;;;;;;;;;ACAhvC;AAAe,iHAAkD,qBAAqB,+DAA+D,2BAA2B,aAAa,mBAAmB,0EAA0E,6HAA6H,qBAAqB,+BAA+B,kBAAkB,oBAAoB,oBAAoB,yBAAyB,oBAAoB,qBAAqB,KAAK,uBAAuB,gJAAgJ,qBAAqB,0PAA0P,sBAAsB,iBAAiB,kHAAkH,gBAAgB,uBAAuB,wDAAwD,E;;;;;;;;;;;;ACA1vC;AAAe,8PAA+L,wBAAwB,YAAY,aAAa,gBAAgB,gBAAgB,uBAAuB,eAAe,2CAA2C,iBAAiB,E;;;;;;;;;;;;ACAjY;AAAe,2nBAA4jB,E;;;;;;;;;;;;ACA3kB;AAAe,sOAAuK,E;;;;;;;;;;;;ACAtL;AAAe,8MAA+I,E;;;;;;;;;;;;ACA9J;AAAe,8QAA+M,E;;;;;;;;;;;;ACA9N;AAAe,qPAAsL,OAAO,gGAAgG,MAAM,oHAAoH,eAAe,WAAW,YAAY,WAAW,sDAAsD,WAAW,4HAA4H,SAAS,iDAAiD,KAAK,6gBAA6gB,E;;;;;;;;;;;ACAhuC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;ACZA;AAAe,6GAA8C,2JAA2J,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAtK;AAEQ;AACU;IAQvD,iBAAiB,SAAjB,iBAAiB;IAI5B;QACA,cAAS,GAAG,OAAO,CAAC;IADJ,CAAC;IAHjB,IAAI,QAAQ;QACV,OAAO,kEAAQ,CAAC;IAClB,CAAC;IAOD,QAAQ;QACR,IAAI,CAAC,iBAAiB,GAAG,IAAI,wDAAS,CAAC;YACnC,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACnD,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;SAEpD,CAAC,CAAC;IAEL,CAAC;CAIF;;AArBY,iBAAiB;IAL7B,+DAAS,CAAC;QACT,QAAQ,EAAE,eAAe;QACzB,6LAAyC;;KAE1C,CAAC;;GACW,iBAAiB,CAqB7B;AArB6B;;;;;;;;;;;;;ACX9B;AAAe,6GAA8C,2JAA2J,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACArH;AACvB;AAEF;AACP;AACT;AACA;AACU;AAC0B;IAMjF,kBAAkB,SAAlB,kBAAkB;IA8C7B,YACU,UAA6B,EAC7B,SAAoB,EACpB,WAAwB,EACxB,MAAiB;QAHjB,eAAU,GAAV,UAAU,CAAmB;QAC7B,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAW;QA7C3B,cAAS,GAAG,OAAO,CAAC;QAKpB,YAAO,GAAG,EAAE,CAAC;QACb,YAAO,GAAiB;YACtB,YAAY,EAAE,SAAS;YACvB,GAAG,EAAE,IAAI;YAET,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,aAAa;YAC/B,aAAa,EAAE;gBACb,KAAK,EAAE;oBACL,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;wBAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;oBACtC,CAAC;iBACF;gBACD,IAAI,EAAE;oBACJ,CAAC,oEAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;wBACnC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,CAAC;iBACF;aACF;YACD,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,oBAAoB,EAAE,IAAI;YAC1B,YAAY,EAAE,GAAG;YACjB,gBAAgB,EAAE,IAAI;YACtB,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,EAAE;YAChB,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO;SAClD;IAQG,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,GAAG;YACX;gBACE,EAAE,EAAE,CAAC;gBACL,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,KAAK;gBAElB,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;aACX;SACF;QACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC7C,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACnB,CAAC,CAAC;QAEF,IAAI,CAAC,iBAAiB,GAAG,IAAI,wDAAS,CAAC;YACrC,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACnD,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;SAEpD,CAAC,CAAC;IAEL,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,kEAAQ,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM;QAC3B,oBAAoB;QACpB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAE9B,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,kBAAkB,CAAC,kEAAQ,CAAC,GAAG,CAAC;SACtC;aACI;YACH,IAAI,CAAC,kBAAkB,CAAC,kEAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;SAE1D;QAED,sBAAsB;IACxB,CAAC;IACD,kBAAkB,CAAC,KAAe,EAAE,KAAwB;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,KAAK,KAAK,kEAAQ,CAAC,IAAI,IAAI,KAAK,EAAE;YAEpC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC3E,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;IACL,CAAC;IACD,MAAM;QACJ,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;YAChC,MAAM,UAAU,GAAqB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAElE,IAAI,IAAI,CAAC,eAAe,KAAK,kEAAQ,CAAC,GAAG,EAAE;gBACzC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;gBACjD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;oBACjD,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC;oBACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/E,CAAC,CAAC,CAAC;aAEJ;iBAAM,IAAI,IAAI,CAAC,eAAe,KAAK,kEAAQ,CAAC,IAAI,EAAE;gBAEjD,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAGrC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;oBACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,6BAA6B,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjF,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;SAChC;IACH,CAAC;IACD,MAAM,CAAC,IAAI;QACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,kBAAkB,CAAC,kEAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IACnD,CAAC;IACD,MAAM,CAAC,IAAI;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sGAAsB,EAAE;YAC7D,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE;gBACJ,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,YAAY;gBACnE,UAAU,EAAE;oBACV,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,KAAK;iBACd;aACF;SACF,CAAC,CAAC;QAEH,UAAU,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;YAC9C,mBAAmB;YACnB,0DAA0D;YAC1D,6EAA6E;YAC7E,uBAAuB;YACvB,wCAAwC;YACxC,OAAO;YACP,iGAAiG;YACjG,OAAO;YACP,GAAG;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CAkBF;;YAvMQ,oFAAiB;YAGjB,kEAAS;YACT,uEAAW;YADX,kEAAS;;;wCAYf,uDAAS,SAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;AAFnC,kBAAkB;IAL9B,+DAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;QAC1B,gMAA0C;;KAE3C,CAAC;qCAgDsB,oFAAiB;QAClB,kEAAS;QACP,uEAAW;QAChB,kEAAS;GAlDhB,kBAAkB,CA0L9B;AA1L8B;;;;;;;;;;;;;ACd/B;AAAe,6GAA8C,2JAA2J,E;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAtK;IAOrC,kBAAkB,SAAlB,kBAAkB;IAE7B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;CAEF;;AAPY,kBAAkB;IAL9B,+DAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;QAC1B,gMAA0C;;KAE3C,CAAC;;GACW,kBAAkB,CAO9B;AAP8B;;;;;;;;;;;;;ACP/B;AAAe,6GAA8C,mKAAmK,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9K;AACgC;IAQrE,oBAAoB,SAApB,oBAAoB;IAG/B,YAAoB,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;QAKrD,SAAI,GAAG,MAAM,CAAC;QACd,UAAK,GAAG,EAAE,CAAC;IAN+C,CAAC;IAE3D,QAAQ;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAKD,MAAM;QACJ,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACnE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,SAAS,EAAE,CAAC;QAEnB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,SAAS,KAAK,CAAC;CAEhB;;YA/BQ,0FAAoB;;AAQhB,oBAAoB;IALhC,+DAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,qMAA2C;;KAE5C,CAAC;qCAIiC,0FAAoB;GAH1C,oBAAoB,CAuBhC;AAvBgC;;;;;;;;;;;;;ACTjC;AAAe,6GAA8C,mKAAmK,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA3J;AACI;AACf;IAQ7C,oBAAoB,SAApB,oBAAoB;IAI/B,YACU,WAAwB,EAEzB,SAAgD,EACvB,IAO/B;QAVO,gBAAW,GAAX,WAAW,CAAa;QAEzB,cAAS,GAAT,SAAS,CAAuC;QACvB,SAAI,GAAJ,IAAI,CAOnC;IAAK,CAAC;IAZT,QAAQ,KAAK,CAAC;IAed,SAAS;QACP,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,UAAU;QACR,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;YAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEtE,OAAO;aAER;;gBAEC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAEzC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;CAIF;;YA9CQ,uEAAW;YADX,qEAAY;4CAiBhB,oDAAM,SAAC,wEAAe;;AARd,oBAAoB;IALhC,+DAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,qMAA2C;;KAE5C,CAAC;qCAMuB,uEAAW;QAEd,qEAAY;GAPrB,oBAAoB,CAsChC;AAtCgC;;;;;;;;;;;;;ACVjC;AAAe,6GAA8C,uJAAuJ,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAlK;AACL;AACiC;AACpB;IAM7C,gBAAgB,SAAhB,gBAAgB;IAE3B,YACU,WAA+B,EAC/B,WAAwB;QADxB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,gBAAW,GAAX,WAAW,CAAa;QAElC,kBAAa,GAAY,KAAK,CAAC;QAC/B,sBAAiB,GAAG,IAAI,0DAAW,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,eAAU,GAAG,IAAI,0DAAW,EAAE,CAAC;QAC/B,sBAAiB,GAAG,IAAI,0DAAW,EAAE,CAAC;QACtC,gCAA2B,GAAG,IAAI,0DAAW,EAAE,CAAC;QAChD,+BAA0B,GAAG,IAAI,0DAAW,EAAE,CAAC;QAC/C,6BAAwB,GAAG,IAAI,0DAAW,EAAE,CAAC;QAC7C,wBAAmB,GAAG,IAAI,0DAAW,EAAE,CAAC;QACxC,iBAAY,GAAG,IAAI,0DAAW,EAAE,CAAC;QACjC,sBAAiB,GAAG,IAAI,0DAAW,EAAE,CAAC;QACtC,uBAAkB,GAAG,IAAI,0DAAW,EAAE,CAAC;QACvC,gCAA2B,GAAG,IAAI,0DAAW,EAAE,CAAC;QAChD,qBAAgB,GAAG,IAAI,0DAAW,EAAE,CAAC;QACrC,6BAAwB,GAAG,IAAI,0DAAW,EAAE,CAAC;QAC7C,mBAAc,GAAG,IAAI,0DAAW,EAAE,CAAC;IAf/B,CAAC;IAgBL,QAAQ;QACN,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,QAAQ;QACN,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9F,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;SAEnG;aACI;YACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAC5E,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;SACzE;QAED,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACrG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,6BAA6B,EAAE,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3H,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,4BAA4B,EAAE,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACzH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACjG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,0BAA0B,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACrH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3G,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7F,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACvG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACzG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,6BAA6B,EAAE,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3H,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACrG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,0BAA0B,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAErH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAIpE,CAAC;IACD,aAAa;QACX,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACjB,IAAI,IAAI,CAAC,KAAK,IAAI,iBAAiB,EAAE;oBACnC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;wBAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;;wBAE1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;iBAE9B;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,cAAc,EAAE;oBACrC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAG7C;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,iBAAiB,EAAE;oBACxC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC7C;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,4BAA4B,EAAE;oBACnD,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACtD;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,6BAA6B,EAAE;oBACpD,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACvD;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,gBAAgB,EAAE;oBACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC1C;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,0BAA0B,EAAE;oBACjD,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpD;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,qBAAqB,EAAE;oBAC5C,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC/C;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,cAAc,EAAE;oBACrC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACxC;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,6BAA6B,EAAE;oBACpD,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACvD;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,oBAAoB,EAAE;oBAC3C,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC9C;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,mBAAmB,EAAE;oBAC1C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC7C;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,kBAAkB,EAAE;oBACzC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC5C;qBACI,IAAI,IAAI,CAAC,KAAK,IAAI,0BAA0B,EAAE;oBACjD,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACpD;YAKH,CAAC,CACA;QACH,CAAC,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IACD,SAAS;IAET,CAAC;CAEF;;YA9HQ,sFAAkB;YAClB,uEAAW;;AAMP,gBAAgB;IAL5B,+DAAS,CAAC;QACT,QAAQ,EAAE,aAAa;QACvB,yLAAuC;;KAExC,CAAC;qCAIuB,sFAAkB;QAClB,uEAAW;GAJvB,gBAAgB,CAuH5B;AAvH4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTqB;AACK;AACsB;AAC1B;IAiBtC,YAAY,SAAZ,YAAY;IACvB,YACU,MAAc,EACd,GAAqB,EACrB,QAAkB;QAFlB,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAkB;QACrB,aAAQ,GAAR,QAAQ,CAAU;IAGxB,CAAC;IAEL,QAAQ;QAEN,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI;gBAEF,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;aACjD;YACD,OAAO,CAAC,EAAE;gBACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;aAEnB;QACH,CAAC,CACA,CAAC;IACJ,CAAC;CAEF;;YAnDQ,sDAAM;YACN,yFAAgB;YAChB,gEAAQ;;AAiBJ,YAAY;IAfxB,+DAAS,CAAC;QACT,QAAQ,EAAE,UAAU;QACpB,mKAAmC;KAYpC,CAAC;qCAGkB,sDAAM;QACT,yFAAgB;QACX,gEAAQ;GAJjB,YAAY,CAgCxB;AAhCwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBiC;AACjB;AACM;AACmB;AACS;AAC5B;AACA;AAMV;AAC0C;AACpB;AACgB;AACD;AACG;AACP;AAEI;AACI;AACnB;AACJ;AACI;AACE;AACJ;AACe;AACF;AACA;AACT;AACJ;AACF;AACgB;AACP;AACH;AACA;AACJ;AACF;AACE;AACF;AACF;AACsB;AACL;AACJ;AAER;AACC;AACF;AACM;AACI;AAEiB;AACR;AACb;AAES;AACT;AACS;AACD;AACyB;AAC1B;AACa;AAC5B;AACA;AAGoC;AACK;AACF;AACA;AACrB;AACzE,2FAA2F;AACH;AACnC;AACwB;AACO;AAEM;AAEN;AACO;AACe;AACT;AACf;AACZ;AAE2B;AACf;AACW;AACf;AACW;AACE;AACtB;AACY;AACS;AACK;AACjC;AACJ;AACiC;AACA;AACoB;AACpD;AACoC;AAC9B;AACK;AAEiC;AAC/B;AACC;AACE;AAChB;AACQ;AACe;AACW;AACU;AACvB;AACW;AACV;AACT;AACa;AACM;AACA;AACS;AACT;AACJ;AACD;AACO;AACM;AACZ;AACN;AACyB;AAClD;AACxD,8DAA8D;AACuB;AACkB;AACA;AAC3B;AACS;AACN;AACJ;AACO;AACK;AACH;AACR;AACY;AAEV;AACS;AACV;AACF;AACM;AACI;AACL;AACV;AACS;AACA;AACT;AAClB;AACF;AACF;AACQ;AACJ;AACF;AACU;AAChB;AACI;AACF;AACU;AACZ;AAEwB;AACC;AACQ;AACN;AACM;AACM;AACT;AACI;AACO;AACH;AACP;AACG;AACG;AACY;AACH;AAES;AACA;AAE1B;AACQ;AACI;AACJ;AACG;AACR;AACkB;AACzB;AACY;AACA;AACI;AACH;AACP;AACd;AACX;AACsB;AACG;AACU;AACf;AACsB;AAK5F,MAAM,UAAU,GAAqB;IACnC,UAAU,EAAE,KAAK;CAClB,CAAC;IA8eW,SAAS,SAAT,SAAS;CACrB;AADY,SAAS;IA3erB,8DAAQ,CAAC;QACR,YAAY,EAAE;YACZ,2DAAY;YACZ,wFAAiB;YACjB,uEAAY;YACZ,iGAAoB;YACpB,yFAAkB;YAClB,4EAAgB;YAChB,qFAAmB;YACnB,4EAAgB;YAChB,qFAAmB;YACnB,oFAAiB;YACjB,6GAAwB;YACxB,gGAAoB;YACpB,mFAAgB;YAChB,gGAAoB;YACpB,wGAAsB;YACtB,6GAAuB;YACvB,2GAAuB;YACvB,2GAAwB;YACxB,sFAAiB;YACjB,qGAAsB;YACtB,0FAAgB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","file":"main-es2015.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"],"sourceRoot":"webpack:///"}