{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport { myMixins } from '@/utils/myMixins.js';\nimport AttentionItem from '@/components/attentionItem';\nimport operationBtn from \"@/components/operationBtn\";\nimport commonBtn from \"@/components/commonBtn\";\nimport { getCurrentOrder } from '@/api/order';\nimport { orderStatus } from '@/utils/status';\nimport { operatorOrder } from '@/api/order';\nimport { getRoad } from '@/utils/map';\nexport default {\n name: \"orderStatus\",\n mixins: [myMixins],\n data() {\n return {\n map: '',\n marker: '',\n destMarker: '',\n driverMarker: '',\n finishFlag: true,\n ticketId: '',\n orderInfo: null,\n userPhone: '',\n plateNumber: '',\n attentionStr: '',\n statusStr: ''\n };\n },\n components: {\n AttentionItem,\n operationBtn,\n commonBtn\n },\n async mounted() {\n this.ticketId = this.$route.query.ticketId;\n this.userPhone = this.$route.query.userPhone;\n this.plateNumber = this.$route.query.plateNumber;\n await this.initMap();\n await this.getOrderInfo();\n },\n methods: {\n async refreshHandler() {\n await this.initMap();\n await this.getOrderInfo();\n },\n callDriver() {\n window.location.href = 'tel:' + this.orderInfo?.driveinfo?.driverPhone;\n },\n callClient() {\n window.location.href = 'tel:' + localStorage.getItem('client');\n },\n async urgedOrder() {\n await operatorOrder({\n appCode: localStorage.getItem('appCode'),\n ticketId: this.ticketId,\n userPhone: this.userPhone,\n plateNumber: this.plateNumber,\n type: 1,\n content: '服务催促'\n });\n this.$toast('已催促');\n },\n getStatusStr() {\n let res = orderStatus(this.orderInfo.orderStatus, this.orderInfo.appraiseFlag);\n this.statusStr = res.name;\n this.attentionStr = res.tip;\n },\n initMap() {\n this.map = new AMap.Map('mapId', {\n viewMode: '2D',\n // 默认使用 2D 模式\n zoom: 11 //初始化地图层级\n });\n },\n\n markerFn(lng, lat, marker, markerCls) {\n if (marker) {\n this.map.remove(marker);\n }\n let content = `
`;\n marker = new AMap.Marker({\n position: new AMap.LngLat(lng, lat),\n content: content,\n offset: new AMap.Pixel(-13, -30)\n });\n this.map.add(marker);\n },\n async getOrderInfo() {\n this.orderInfo = await getCurrentOrder({\n ticketId: this.ticketId,\n userPhone: this.userPhone,\n plateNumber: this.plateNumber\n });\n this.getStatusStr();\n\n // 目的地 marker\n if (this?.orderInfo?.desLat && this?.orderInfo?.desLng) {\n this.markerFn(this.orderInfo.desLng, this.orderInfo.desLat, this.destMarker, 'dest-position');\n }\n // 事发地 marker\n if (this?.orderInfo?.startLng && this?.orderInfo?.startLat) {\n this.markerFn(this.orderInfo.startLng, this.orderInfo.startLat, this.marker, 'my-position');\n }\n //\n if (this?.orderInfo?.driveinfo?.driverLat && this?.orderInfo?.driveinfo?.driverLng) {\n this.markerFn(this?.orderInfo?.driveinfo?.driverLng, this?.orderInfo?.driveinfo?.driverLat, this.driverMarker, 'driver-position');\n }\n if (this?.orderInfo?.orderStatus == 35) {\n let res = await getRoad(this.map, this?.orderInfo?.driveinfo?.driverLng, this?.orderInfo?.driveinfo?.driverLat, this.orderInfo.startLng, this.orderInfo.startLat);\n this.drawRoute(res.routes[0]);\n }\n },\n drawRoute(route) {\n let path = this.parseRouteToPath(route);\n let routeLine = new AMap.Polyline({\n path: path,\n isOutline: true,\n outlineColor: '#ffeeee',\n borderWeight: 2,\n strokeWeight: 5,\n strokeOpacity: 0.9,\n strokeColor: '#0091ff',\n lineJoin: 'round'\n });\n this.map.add(routeLine);\n this.map.setFitView([this.driverMarker, this.marker, routeLine]);\n },\n parseRouteToPath(route) {\n // 获取第一个路径规划\n let path = [];\n for (let i = 0, l = route.steps.length; i < l; i++) {\n let step = route.steps[i];\n for (let j = 0, n = step.path.length; j < n; j++) {\n path.push(step.path[j]);\n }\n }\n return path;\n }\n }\n};","map":{"version":3,"names":["myMixins","AttentionItem","operationBtn","commonBtn","getCurrentOrder","orderStatus","operatorOrder","getRoad","name","mixins","data","map","marker","destMarker","driverMarker","finishFlag","ticketId","orderInfo","userPhone","plateNumber","attentionStr","statusStr","components","mounted","$route","query","initMap","getOrderInfo","methods","refreshHandler","callDriver","window","location","href","driveinfo","driverPhone","callClient","localStorage","getItem","urgedOrder","appCode","type","content","$toast","getStatusStr","res","appraiseFlag","tip","AMap","Map","viewMode","zoom","markerFn","lng","lat","markerCls","remove","Marker","position","LngLat","offset","Pixel","add","desLat","desLng","startLng","startLat","driverLat","driverLng","drawRoute","routes","route","path","parseRouteToPath","routeLine","Polyline","isOutline","outlineColor","borderWeight","strokeWeight","strokeOpacity","strokeColor","lineJoin","setFitView","i","l","steps","length","step","j","n","push"],"sources":["src/views/index/orderStatus.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}