{"ast":null,"code":"import { Dialog } from 'vant';\nimport protocolContent from \"@/components/protocolContent\";\nimport feeComponent from \"@/components/feeComponent\";\nimport { getFeeTitle, feeList } from '@/utils/common';\nimport { getFee, getCurrentOrder, createOrder } from '@/api/order';\nimport { serverList } from '@/utils/serverMap';\nimport tabBar from \"@/components/tabBar\";\nimport AttentionItem from '@/components/attentionItem';\nimport commonBtn from \"@/components/commonBtn\";\nimport { myMixins } from '@/utils/myMixins.js';\nexport default {\n name: \"rescuePage\",\n mixins: [myMixins],\n data() {\n return {\n map: '',\n activeTab: 0,\n serverList: serverList,\n checked: false,\n feeTitle: '',\n feeListArr: [],\n show: false,\n protocolShow: false,\n marker: null,\n destMarker: null,\n form: {\n plateNumber: '',\n name: '',\n phone: ''\n }\n };\n },\n components: {\n tabBar,\n AttentionItem,\n commonBtn,\n feeComponent,\n protocolContent\n },\n async mounted() {\n await this.initMap();\n await this.setTab(); // 设置服务\n await this.setMarker();\n await this.getFeeFun();\n },\n async beforeDestroy() {\n await this.saveAddress();\n await this.saveDestAddress();\n await this.setOrder();\n },\n methods: {\n async ownClickHandler() {\n if (!this.form.plateNumber) {\n this.$toast('请输入车牌号');\n return;\n }\n if (!this.form.name) {\n this.$toast('请输入您的姓名');\n return;\n }\n if (!this.form.phone) {\n this.$toast('请输入您的手机号');\n return;\n }\n if (!/^1[3456789]\\d{9}$/.test(this.form.phone)) {\n this.$toast('请输入正确的手机号');\n return;\n }\n if (!this.checked) {\n this.$toast('请先同意协议');\n return;\n }\n let res = await getCurrentOrder({\n appCode: localStorage.getItem('appCode'),\n userPhone: this.form.phone,\n isPresent: 1\n });\n if (res?.ticketId) {\n // 已存在订单\n Dialog.alert({\n title: '提示',\n message: '您当前已有订单,不能重复下单'\n }).then(() => {\n this.goPage('orderStatus', {\n ticketId: res.ticketId\n });\n });\n } else {\n // 不存在订单,创建订单\n let params = this.getParams();\n let res = await createOrder({\n ...params,\n userPhone: this.form.phone,\n userName: this.form.name,\n plateNumber: this.form.plateNumber\n });\n if (res.orderStatus == 17) {\n // 代付款页\n this.goPage('payPage', {\n ticketId: res.ticketId\n });\n } else {\n // 订单状态页\n this.goPage('orderStatus', {\n ticketId: res.ticketId\n });\n }\n }\n },\n getParams() {\n const address = this.$store.getters.order.address;\n const destAddress = this.$store.getters.order.destAddress;\n const orderInfo = this.$store.getters.order.orderInfo;\n let params = {\n appCode: localStorage.getItem('appCode'),\n serviceId: this.serverList[this.activeTab].serverId,\n startLat: address?.startLat,\n startLng: address?.startLng,\n startPoiAddress: address?.startPoiAddress,\n endLat: destAddress?.endLat || '',\n endLng: destAddress?.endLng || '',\n endPoiAddress: destAddress?.endPoiAddress || '',\n isAppoint: orderInfo?.isAppoint,\n appointTime: orderInfo?.appointTime ? orderInfo?.appointTime + ':00' : '',\n positionEnvironment: parseInt(orderInfo?.positionEnvironment)\n };\n return params;\n },\n async getFeeFun() {\n // 获取费用说明\n let params = this.getParams();\n let res = await getFee(params);\n this.feeTitle = await getFeeTitle(this.serverList[this.activeTab].serverId, res.finishedPrice, res.trailUndergroundFee, res.finishedLimitedMileage, res.finishedExcessUnitPrice);\n let unitPrice = res?.finishedExcessUnitPrice || 0;\n this.feeListArr = await feeList(unitPrice);\n },\n initMap() {\n this.map = new AMap.Map('mapId', {\n viewMode: '2D',\n // 默认使用 2D 模式\n zoom: 11 //初始化地图层级\n });\n },\n\n setTab() {\n this.activeTab = this.$store.getters.order.orderInfo.activeTab;\n },\n setMarker() {\n this.addMarker();\n if (this.serverList[this.activeTab].serverId == 1041) {\n this.addDestMarker();\n }\n },\n // 事发地 marker\n addMarker() {\n const address = this.$store.getters.order.address;\n if (this.marker) {\n this.map.remove(this.marker);\n }\n let content = '
';\n this.marker = new AMap.Marker({\n position: new AMap.LngLat(address.startLng, address.startLat),\n content: content,\n offset: new AMap.Pixel(-13, -30)\n });\n this.map.add(this.marker);\n },\n // 目的地 marker\n addDestMarker() {\n const destAddress = this.$store.getters.order.destAddress;\n if (this.destMarker) {\n this.map.remove(this.destMarker);\n }\n let content = '
';\n this.destMarker = new AMap.Marker({\n position: new AMap.LngLat(destAddress?.endLng, destAddress?.endLat),\n content: content,\n offset: new AMap.Pixel(-13, -30)\n });\n this.map.add(this.destMarker);\n }\n }\n};","map":{"version":3,"names":["Dialog","protocolContent","feeComponent","getFeeTitle","feeList","getFee","getCurrentOrder","createOrder","serverList","tabBar","AttentionItem","commonBtn","myMixins","name","mixins","data","map","activeTab","checked","feeTitle","feeListArr","show","protocolShow","marker","destMarker","form","plateNumber","phone","components","mounted","initMap","setTab","setMarker","getFeeFun","beforeDestroy","saveAddress","saveDestAddress","setOrder","methods","ownClickHandler","$toast","test","res","appCode","localStorage","getItem","userPhone","isPresent","ticketId","alert","title","message","then","goPage","params","getParams","userName","orderStatus","address","$store","getters","order","destAddress","orderInfo","serviceId","serverId","startLat","startLng","startPoiAddress","endLat","endLng","endPoiAddress","isAppoint","appointTime","positionEnvironment","parseInt","finishedPrice","trailUndergroundFee","finishedLimitedMileage","finishedExcessUnitPrice","unitPrice","AMap","Map","viewMode","zoom","addMarker","addDestMarker","remove","content","Marker","position","LngLat","offset","Pixel","add"],"sources":["src/views/index/rescue.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n\r\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}