{"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 extraFee: 0,\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 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 await this.$store.dispatch('order/setAddress', {});\n await this.$store.dispatch('order/setDestAddress', {});\n await this.$store.dispatch('order/setOrderInfo', {});\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 console.log('feee', res);\n this.extraFee = res?.extraFee;\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","extraFee","show","protocolShow","marker","destMarker","form","plateNumber","phone","components","mounted","initMap","setTab","setMarker","getFeeFun","methods","ownClickHandler","$toast","test","res","appCode","localStorage","getItem","userPhone","isPresent","ticketId","alert","title","message","then","goPage","params","getParams","userName","$store","dispatch","orderStatus","address","getters","order","destAddress","orderInfo","serviceId","serverId","startLat","startLng","startPoiAddress","endLat","endLng","endPoiAddress","isAppoint","appointTime","positionEnvironment","parseInt","console","log","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":[]}