Files
supplier-dispatch-h5/node_modules/.cache/babel-loader/0d0ea66d599091f8081fc9c03e61ae2e35bf1845e42c29f54e7ffef4ed9a8d68.json
2023-08-11 10:45:20 +08:00

1 line
16 KiB
JSON

{"ast":null,"code":"import { 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';\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 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 = `<div class=\"${markerCls}\"></div>`;\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 // 司机 marker\n addDriverMarker(lng, lat) {\n if (this.driverMarker) {\n this.map.remove(this.driverMarker);\n }\n let content = '<div class=\"driver-position\"></div>';\n this.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(this.driverMarker);\n },\n async getOrderInfo() {\n this.orderInfo = await getCurrentOrder({\n ticketId: this.ticketId,\n userPhone: this.userPhone,\n plateNumber: this.plateNumber\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 // 目的地 marker\n if (this.orderInfo.desLat && this.orderInfo.desLng) {\n this.markerFn(this.orderInfo.desLng, this.orderInfo.desLat, this.destMarker, 'dest-position');\n }\n if (this.orderInfo) {}\n this.getStatusStr();\n }\n }\n};","map":{"version":3,"names":["myMixins","AttentionItem","operationBtn","commonBtn","getCurrentOrder","orderStatus","operatorOrder","name","mixins","data","map","marker","destMarker","driverMarker","finishFlag","ticketId","orderInfo","userPhone","plateNumber","attentionStr","statusStr","components","mounted","$route","query","initMap","getOrderInfo","methods","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","addDriverMarker","startLng","startLat","desLat","desLng"],"sources":["src/views/index/orderStatus.vue"],"sourcesContent":["<template>\r\n <div class=\"order_wrap\">\r\n <div class=\"map_wrap\" id=\"mapId\">\r\n </div>\r\n <div class=\"info_wrap\">\r\n <div class=\"top_wrap\">\r\n <div class=\"top_line\"></div>\r\n <attention-item :attention=\"attentionStr\"></attention-item>\r\n </div>\r\n <div class=\"order_info\">\r\n <div class=\"order_status_wrap\">\r\n <img v-if=\"orderInfo?.orderStatus == 55 && orderInfo?.appraiseFlag != 1\" class=\"finish_img\" src=\"@/assets/serverSuccess.png\" alt=\"\">\r\n <img v-else class=\"doing_img\" src=\"@/assets/point.png\" alt=\"\">\r\n <div class=\"order_status_info\">\r\n <div class=\"status_str\">{{ statusStr }}</div>\r\n <div class=\"driver_info\" v-if=\"[35,41].includes(orderInfo?.orderStatus) && ( orderInfo?.driveinfo?.driverName || orderInfo?.driveinfo?.driverPhone )\">\r\n {{orderInfo?.driveinfo?.driverName}} {{ (orderInfo?.driveinfo?.driverName && orderInfo?.driveinfo?.driverPhone) ? '-' : '' }} {{orderInfo?.driveinfo?.driverPhone}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--评价-->\r\n <div class=\"judge_wrap\" v-if=\"orderInfo?.orderStatus == 55 && orderInfo?.appraiseFlag != 1\">\r\n <div class=\"judge_title\">\r\n <img src=\"@/assets/radio.png\" alt=\"\">\r\n <span>请您对本次服务进行评价</span>\r\n </div>\r\n <div class=\"judge_level\">\r\n <div class=\"judge_item\">\r\n <img src=\"@/assets/satisfiedUncheck.png\" alt=\"\">\r\n<!-- <img src=\"@/assets/satisfiedCheck.png\" alt=\"\">-->\r\n <div>满意</div>\r\n </div>\r\n <div class=\"judge_item\">\r\n <img src=\"@/assets/generalUncheck.png\" alt=\"\">\r\n<!-- <img src=\"@/assets/generalCheck.png\" alt=\"\">-->\r\n <div>一般</div>\r\n </div>\r\n <div class=\"judge_item\">\r\n <img src=\"@/assets/disconentUncheck.png\" alt=\"\">\r\n<!-- <img src=\"@/assets/disconentCheck.png\" alt=\"\">-->\r\n <div>不满意</div>\r\n </div>\r\n </div>\r\n <textarea class=\"judge_content\" placeholder=\"请输入评价内容\" name=\"\" id=\"\" cols=\"30\" rows=\"10\"></textarea>\r\n <div class=\"btn_wrap\">\r\n <common-btn title=\"提交评价\"></common-btn>\r\n </div>\r\n </div>\r\n\r\n <!--操作按钮-->\r\n <div>\r\n <operation-btn v-if=\"[31, 35, 41, 50, 51].includes(orderInfo?.orderStatus)\" title=\"联系客服\" :url=\"require('@/assets/callPhone.png')\" :has-distance=\"true\" @ownClick=\"callClient\"></operation-btn>\r\n <operation-btn v-if=\"[35].includes(orderInfo?.orderStatus) && orderInfo?.driveinfo?.driverPhone\" title=\"联系司机\" :url=\"require('@/assets/connectDriver.png')\" :has-distance=\"true\" @ownClick=\"callDriver\"></operation-btn>\r\n <operation-btn v-if=\"[31].includes(orderInfo?.orderStatus)\" title=\"催单\" :url=\"require('@/assets/bell.png')\" :has-distance=\"true\" @ownClick=\"urgedOrder\"></operation-btn>\r\n <operation-btn v-if=\"[35].includes(orderInfo?.orderStatus)\" title=\"服务催促\" :url=\"require('@/assets/bell.png')\" :has-distance=\"true\" @ownClick=\"urgedOrder\"></operation-btn>\r\n <operation-btn v-if=\"[31, 35].includes(orderInfo?.orderStatus)\" title=\"取消订单\" :url=\"require('@/assets/cancel.png')\" :has-distance=\"true\" @ownClick=\"goPage('CancelPage', { ticketId: ticketId })\"></operation-btn>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import { myMixins } from '@/utils/myMixins.js'\r\n import AttentionItem from '@/components/attentionItem'\r\n import operationBtn from \"@/components/operationBtn\";\r\n import commonBtn from \"@/components/commonBtn\";\r\n import { getCurrentOrder } from '@/api/order'\r\n import { orderStatus } from '@/utils/status'\r\n import { operatorOrder } from '@/api/order'\r\n export default {\r\n name: \"orderStatus\",\r\n mixins: [ myMixins ],\r\n data() {\r\n return {\r\n map: '',\r\n marker: '',\r\n destMarker: '',\r\n driverMarker: '',\r\n finishFlag: true,\r\n ticketId: '',\r\n orderInfo: null,\r\n userPhone: '',\r\n plateNumber: '',\r\n attentionStr: '',\r\n statusStr: '',\r\n }\r\n },\r\n components: {\r\n AttentionItem,\r\n operationBtn,\r\n commonBtn\r\n },\r\n async mounted() {\r\n this.ticketId = this.$route.query.ticketId\r\n this.userPhone = this.$route.query.userPhone\r\n this.plateNumber = this.$route.query.plateNumber\r\n await this.initMap()\r\n await this.getOrderInfo()\r\n },\r\n methods: {\r\n callDriver() {\r\n window.location.href = 'tel:' + this.orderInfo?.driveinfo?.driverPhone\r\n },\r\n callClient() {\r\n window.location.href = 'tel:' + localStorage.getItem('client');\r\n },\r\n async urgedOrder() {\r\n await operatorOrder({\r\n appCode: localStorage.getItem('appCode'),\r\n ticketId: this.ticketId,\r\n userPhone: this.userPhone,\r\n plateNumber: this.plateNumber,\r\n type: 1,\r\n content: '服务催促'\r\n })\r\n this.$toast('已催促')\r\n },\r\n getStatusStr() {\r\n let res = orderStatus(this.orderInfo.orderStatus, this.orderInfo.appraiseFlag)\r\n this.statusStr = res.name;\r\n this.attentionStr = res.tip\r\n },\r\n initMap() {\r\n this.map = new AMap.Map('mapId', {\r\n viewMode: '2D', // 默认使用 2D 模式\r\n zoom:11, //初始化地图层级\r\n })\r\n },\r\n markerFn(lng, lat, marker , markerCls) {\r\n if(marker) {\r\n this.map.remove(marker)\r\n }\r\n let content = `<div class=\"${markerCls}\"></div>`;\r\n marker = new AMap.Marker({\r\n position: new AMap.LngLat( lng, lat ),\r\n content: content,\r\n offset: new AMap.Pixel(-13, -30)\r\n });\r\n this.map.add(marker)\r\n },\r\n // 司机 marker\r\n addDriverMarker(lng, lat) {\r\n if( this.driverMarker ) {\r\n this.map.remove(this.driverMarker)\r\n }\r\n let content = '<div class=\"driver-position\"></div>';\r\n this.marker = new AMap.Marker({\r\n position: new AMap.LngLat( lng, lat ),\r\n content: content,\r\n offset: new AMap.Pixel(-13, -30)\r\n });\r\n this.map.add(this.driverMarker)\r\n },\r\n async getOrderInfo() {\r\n this.orderInfo = await getCurrentOrder({\r\n ticketId: this.ticketId,\r\n userPhone: this.userPhone,\r\n plateNumber: this.plateNumber\r\n })\r\n // 事发地 marker\r\n if( this.orderInfo.startLng && this.orderInfo.startLat ) {\r\n this.markerFn(this.orderInfo.startLng, this.orderInfo.startLat, this.marker, 'my-position')\r\n }\r\n // 目的地 marker\r\n if( this.orderInfo.desLat && this.orderInfo.desLng ) {\r\n this.markerFn(this.orderInfo.desLng, this.orderInfo.desLat, this.destMarker, 'dest-position')\r\n }\r\n if( this.orderInfo ) {\r\n\r\n }\r\n this.getStatusStr()\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n.order_wrap {\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n box-sizing: border-box;\r\n .map_wrap {\r\n flex: 1;\r\n }\r\n .info_wrap {\r\n background: #fff;\r\n padding-bottom: 25px;\r\n .top_wrap {\r\n padding-top: 10px;\r\n background: #fafafa;\r\n .top_line {\r\n width: 34px;\r\n height: 3px;\r\n background: #9FA5B4;\r\n border-radius: 3px;\r\n opacity: 0.19;\r\n margin: 0 auto;\r\n }\r\n }\r\n .order_info {\r\n padding: 25px 20px 0;\r\n .order_status_wrap {\r\n text-align: left;\r\n padding: 0 0 25px;\r\n display: flex;\r\n .doing_img {\r\n width: 11px;\r\n height: 11px;\r\n margin-right: 8px;\r\n margin-top: 8px;\r\n }\r\n .finish_img {\r\n width: 30px;\r\n height: 30px;\r\n margin-right:8px;\r\n }\r\n .order_status_info {\r\n flex: 1;\r\n .status_str {\r\n font-size: 18px;\r\n font-weight: 500;\r\n color: #33495E;\r\n }\r\n .driver_info {\r\n font-size: 13px;\r\n color: #33495E;\r\n margin-top: 2px;\r\n }\r\n }\r\n }\r\n .btn_wrap {\r\n width: 80%;\r\n margin: 15px auto 25px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n /*评价*/\r\n .judge_wrap {\r\n .judge_title {\r\n width: 100%;\r\n padding: 0 20px;\r\n text-align: left;\r\n font-size: 14px;\r\n color: rgba(0,0,0,0.7);\r\n img {\r\n width: 10px;\r\n height: 11px;\r\n margin-right: 10px;\r\n }\r\n }\r\n .judge_level {\r\n display: flex;\r\n justify-content: space-evenly;\r\n margin-top: 30px;\r\n .judge_item {\r\n width: 50px;\r\n color: rgba(0,0,0,0.3);\r\n font-size: 12px;\r\n text-align: center;\r\n img {\r\n width: 40px;\r\n height: 40px;\r\n }\r\n }\r\n }\r\n .judge_content {\r\n width: calc(100% - 20px);\r\n text-align: left;\r\n margin: 10px;\r\n border: 1px solid #ccc;\r\n padding: 5px;\r\n box-sizing: border-box;\r\n border-radius: 5px;\r\n height: 60px;\r\n font-size: 12px;\r\n }\r\n .btn_wrap {\r\n width: 74%;\r\n margin: 15px auto;\r\n }\r\n }\r\n</style>\r\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}