1 line
13 KiB
JSON
1 line
13 KiB
JSON
{"ast":null,"code":"import axios from \"axios\";\nimport { getFeeTitle, feeList } from '@/utils/common';\nimport { getFee } 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 };\n },\n components: {\n tabBar,\n AttentionItem,\n commonBtn\n },\n async mounted() {\n await this.initMap();\n await this.setTab(); // 设置服务\n console.log(this.$store.getters.order.orderInfo);\n await this.getFeeFun();\n },\n methods: {\n async getFeeFun() {\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: 'XCHRSA',\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 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 alert(JSON.stringify(this.feeListArr));\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 }\n};","map":{"version":3,"names":["axios","getFeeTitle","feeList","getFee","serverList","tabBar","AttentionItem","commonBtn","myMixins","name","mixins","data","map","activeTab","checked","feeTitle","feeListArr","show","components","mounted","initMap","setTab","console","log","$store","getters","order","orderInfo","getFeeFun","methods","address","destAddress","params","appCode","serviceId","serverId","startLat","startLng","startPoiAddress","endLat","endLng","endPoiAddress","isAppoint","appointTime","positionEnvironment","parseInt","res","finishedPrice","trailUndergroundFee","finishedLimitedMileage","finishedExcessUnitPrice","unitPrice","alert","JSON","stringify","AMap","Map","viewMode","zoom"],"sources":["src/views/index/rescue.vue"],"sourcesContent":["<template>\r\n <div class=\"main_wrap\">\r\n <div class=\"map_wrap\" id=\"mapId\">\r\n </div>\r\n <!--服务信息-->\r\n <div class=\"server_wrap\">\r\n <tab-bar :click-flag=\"false\" :active-tab=\"activeTab\" :server-list=\"serverList\"></tab-bar>\r\n <div class=\"server_main\">\r\n <!-- 车牌号 -->\r\n <div class=\"form_item border_bottom\">\r\n <img class=\"radio\" src=\"@/assets/radio.png\" alt=\"\">\r\n <div class=\"form_label\">车牌号:</div>\r\n <input type=\"text\" placeholder=\"请输入车牌号\" class=\"input_class\" />\r\n </div>\r\n <!-- 姓名 -->\r\n <div class=\"form_item border_bottom\">\r\n <img class=\"radio\" src=\"@/assets/radio.png\" alt=\"\">\r\n <div class=\"form_label\">姓 名:</div>\r\n <input type=\"text\" placeholder=\"请输入您的姓名\" class=\"input_class\" />\r\n </div>\r\n <!-- 手机号 -->\r\n <div class=\"form_item border_bottom\">\r\n <img class=\"radio\" src=\"@/assets/radio.png\" alt=\"\">\r\n <div class=\"form_label\">手机号:</div>\r\n <input type=\"text\" placeholder=\"请输入您的手机号\" class=\"input_class\" />\r\n </div>\r\n <!-- 手机号 -->\r\n <div class=\"form_item border_bottom\">\r\n <img class=\"radio\" src=\"@/assets/radio.png\" alt=\"\">\r\n <div class=\"form_label\">预计:</div>\r\n <div class=\"incident_text\">\r\n <span class=\"money_count\">0</span>元起\r\n <div class=\"fee_desc\" @click=\"show = true\">费用说明</div>\r\n </div>\r\n </div>\r\n <div class=\"protocol_wrap\">\r\n <van-checkbox v-model=\"checked\" icon-size=\"15px\" shape=\"square\">我已经阅读并同意</van-checkbox>\r\n <span class=\"server_protocol\">《道路救援服务协议》</span>\r\n </div>\r\n <attention-item color=\"#939393\" attention=\"温馨提示:服务申请后,请保持您的手机畅通,我们的工作人员会与您联系并确认救援金额,在线支付完成后会及时安排救援人员前往施救,谢谢。\"></attention-item>\r\n </div>\r\n <div class=\"btn_wrap\">\r\n <common-btn title=\"呼叫救援\"></common-btn>\r\n </div>\r\n </div>\r\n\r\n <van-dialog v-model=\"show\" title=\"费用说明\" show-cancel-button>\r\n <div class=\"protocol_content\">\r\n <div class=\"content\">{{ feeTitle }}</div>\r\n <div>\r\n <div class=\"protocol_title bolder\">\r\n 其他收费规则:\r\n </div>\r\n <div class=\"content\" v-for=\"item in feeListArr[this.activeTab].otherRules\">\r\n {{item}}\r\n </div>\r\n </div>\r\n </div>\r\n </van-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import axios from \"axios\";\r\n import { getFeeTitle, feeList } from '@/utils/common'\r\n import { getFee } from '@/api/order'\r\n import { serverList } from '@/utils/serverMap'\r\n import tabBar from \"@/components/tabBar\";\r\n import AttentionItem from '@/components/attentionItem'\r\n import commonBtn from \"@/components/commonBtn\";\r\n import { myMixins } from '@/utils/myMixins.js'\r\n export default {\r\n name: \"rescuePage\",\r\n mixins: [myMixins],\r\n data() {\r\n return {\r\n map: '',\r\n activeTab: 0,\r\n serverList: serverList,\r\n checked: false,\r\n feeTitle: '',\r\n feeListArr: [],\r\n show: false,\r\n }\r\n },\r\n components: {\r\n tabBar,\r\n AttentionItem,\r\n commonBtn\r\n },\r\n async mounted() {\r\n await this.initMap()\r\n await this.setTab() // 设置服务\r\n console.log(this.$store.getters.order.orderInfo)\r\n await this.getFeeFun();\r\n },\r\n methods: {\r\n async getFeeFun() {\r\n const address = this.$store.getters.order.address\r\n const destAddress = this.$store.getters.order.destAddress\r\n const orderInfo = this.$store.getters.order.orderInfo\r\n let params = {\r\n appCode: 'XCHRSA',\r\n serviceId: this.serverList[this.activeTab].serverId,\r\n startLat: address.startLat,\r\n startLng: address.startLng,\r\n startPoiAddress: address.startPoiAddress,\r\n endLat: destAddress?.endLat || '',\r\n endLng: destAddress.endLng || '',\r\n endPoiAddress: destAddress.endPoiAddress || '',\r\n isAppoint: orderInfo.isAppoint,\r\n appointTime: orderInfo.appointTime ? orderInfo.appointTime + ':00' : '',\r\n positionEnvironment: parseInt(orderInfo.positionEnvironment),\r\n }\r\n let res = await getFee(params)\r\n this.feeTitle = await getFeeTitle(this.serverList[this.activeTab].serverId, res.finishedPrice, res.trailUndergroundFee, res.finishedLimitedMileage, res.finishedExcessUnitPrice)\r\n let unitPrice = res?.finishedExcessUnitPrice || 0;\r\n this.feeListArr = await feeList(unitPrice)\r\n alert(JSON.stringify(this.feeListArr))\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 setTab() {\r\n this.activeTab = this.$store.getters.order.orderInfo.activeTab\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n .main_wrap {\r\n .map_wrap {\r\n width: 100%;\r\n height: 80vh;\r\n }\r\n .server_wrap {\r\n padding-bottom: 10px;\r\n position: fixed;\r\n width: 100%;\r\n bottom: 0;\r\n left: 0;\r\n background: #fff;\r\n z-index: 10000000 !important;\r\n .btn_wrap {\r\n width: 74%;\r\n margin: 5px auto 10px;\r\n }\r\n .server_main {\r\n .form_item {\r\n width: calc(100% - 20px);\r\n box-sizing: border-box;\r\n height: 50px;\r\n line-height: 50px;\r\n display: flex;\r\n font-size: 14px;\r\n margin-left: 10px;\r\n align-items: center;\r\n .radio {\r\n width: 10px;\r\n height: 11px;\r\n margin-right: 10px;\r\n }\r\n .form_label {\r\n width: 60px;\r\n text-align: right;\r\n }\r\n .input_class {\r\n flex: 1;\r\n height: 50px;\r\n line-height: 50px;\r\n border: 0;\r\n background: none;\r\n }\r\n .incident_text {\r\n color: #252525;\r\n font-size: 13px;\r\n margin-left: 5px;\r\n flex: 1;\r\n display: flex;\r\n .money_count {\r\n font-size: 22px;\r\n color: #2C2A53;\r\n font-weight: bolder;\r\n }\r\n .fee_desc {\r\n margin-left: 5px;\r\n color: #FF9876;\r\n }\r\n }\r\n }\r\n .protocol_wrap {\r\n padding: 15px 10px 0;\r\n display: flex;\r\n .server_protocol {\r\n color: #3364B7;\r\n }\r\n }\r\n .border_bottom {\r\n border-bottom: 1px solid #F1F2F5;\r\n }\r\n }\r\n }\r\n /*底部按钮*/\r\n .bottom_wrap {\r\n position: fixed;\r\n width: 100%;\r\n bottom: 0;\r\n background: #FFFFFF;\r\n box-shadow: 0px -2px 8px 0px rgba(74,74,74,0.08);\r\n z-index: 1000000000 !important;\r\n .wrap {\r\n width: 100%;\r\n display: flex;\r\n }\r\n }\r\n }\r\n\r\n .van-popup--bottom {\r\n z-index: 10000000000 !important;\r\n }\r\n\r\n .protocol_content {\r\n color: #252525;\r\n width: 100%;\r\n text-align: left;\r\n margin-bottom: 5px;\r\n box-sizing: border-box;\r\n padding: 0 10px;\r\n .content {\r\n font-size: 12px;\r\n color: #252525;\r\n margin-bottom: 5px;\r\n box-sizing: border-box;\r\n }\r\n .protocol_title {\r\n font-size: 14px;\r\n text-align: left;\r\n margin-bottom: 5px;\r\n box-sizing: border-box;\r\n }\r\n .bolder {\r\n font-weight: bold;\r\n }\r\n }\r\n</style>\r\n"],"mappings":"AA+DA,OAAAA,KAAA;AACA,SAAAC,WAAA,EAAAC,OAAA;AACA,SAAAC,MAAA;AACA,SAAAC,UAAA;AACA,OAAAC,MAAA;AACA,OAAAC,aAAA;AACA,OAAAC,SAAA;AACA,SAAAC,QAAA;AACA;EACAC,IAAA;EACAC,MAAA,GAAAF,QAAA;EACAG,KAAA;IACA;MACAC,GAAA;MACAC,SAAA;MACAT,UAAA,EAAAA,UAAA;MACAU,OAAA;MACAC,QAAA;MACAC,UAAA;MACAC,IAAA;IACA;EACA;EACAC,UAAA;IACAb,MAAA;IACAC,aAAA;IACAC;EACA;EACA,MAAAY,QAAA;IACA,WAAAC,OAAA;IACA,WAAAC,MAAA;IACAC,OAAA,CAAAC,GAAA,MAAAC,MAAA,CAAAC,OAAA,CAAAC,KAAA,CAAAC,SAAA;IACA,WAAAC,SAAA;EACA;EACAC,OAAA;IACA,MAAAD,UAAA;MACA,MAAAE,OAAA,QAAAN,MAAA,CAAAC,OAAA,CAAAC,KAAA,CAAAI,OAAA;MACA,MAAAC,WAAA,QAAAP,MAAA,CAAAC,OAAA,CAAAC,KAAA,CAAAK,WAAA;MACA,MAAAJ,SAAA,QAAAH,MAAA,CAAAC,OAAA,CAAAC,KAAA,CAAAC,SAAA;MACA,IAAAK,MAAA;QACAC,OAAA;QACAC,SAAA,OAAA9B,UAAA,MAAAS,SAAA,EAAAsB,QAAA;QACAC,QAAA,EAAAN,OAAA,CAAAM,QAAA;QACAC,QAAA,EAAAP,OAAA,CAAAO,QAAA;QACAC,eAAA,EAAAR,OAAA,CAAAQ,eAAA;QACAC,MAAA,EAAAR,WAAA,EAAAQ,MAAA;QACAC,MAAA,EAAAT,WAAA,CAAAS,MAAA;QACAC,aAAA,EAAAV,WAAA,CAAAU,aAAA;QACAC,SAAA,EAAAf,SAAA,CAAAe,SAAA;QACAC,WAAA,EAAAhB,SAAA,CAAAgB,WAAA,GAAAhB,SAAA,CAAAgB,WAAA;QACAC,mBAAA,EAAAC,QAAA,CAAAlB,SAAA,CAAAiB,mBAAA;MACA;MACA,IAAAE,GAAA,SAAA3C,MAAA,CAAA6B,MAAA;MACA,KAAAjB,QAAA,SAAAd,WAAA,MAAAG,UAAA,MAAAS,SAAA,EAAAsB,QAAA,EAAAW,GAAA,CAAAC,aAAA,EAAAD,GAAA,CAAAE,mBAAA,EAAAF,GAAA,CAAAG,sBAAA,EAAAH,GAAA,CAAAI,uBAAA;MACA,IAAAC,SAAA,GAAAL,GAAA,EAAAI,uBAAA;MACA,KAAAlC,UAAA,SAAAd,OAAA,CAAAiD,SAAA;MACAC,KAAA,CAAAC,IAAA,CAAAC,SAAA,MAAAtC,UAAA;IACA;IACAI,QAAA;MACA,KAAAR,GAAA,OAAA2C,IAAA,CAAAC,GAAA;QACAC,QAAA;QAAA;QACAC,IAAA;MACA;IACA;;IACArC,OAAA;MACA,KAAAR,SAAA,QAAAW,MAAA,CAAAC,OAAA,CAAAC,KAAA,CAAAC,SAAA,CAAAd,SAAA;IACA;EACA;AACA"},"metadata":{},"sourceType":"module","externalDependencies":[]} |