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

1 line
17 KiB
JSON

{"ast":null,"code":"import 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 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 console.log(this.$store.getters.order.orderInfo);\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) {// 没有订单\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 }\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 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 }\n};","map":{"version":3,"names":["protocolContent","feeComponent","getFeeTitle","feeList","getFee","getCurrentOrder","createOrder","serverList","tabBar","AttentionItem","commonBtn","myMixins","name","mixins","data","map","activeTab","checked","feeTitle","feeListArr","show","protocolShow","form","plateNumber","phone","components","mounted","initMap","setTab","console","log","$store","getters","order","orderInfo","getFeeFun","methods","ownClickHandler","$toast","test","res","appCode","localStorage","getItem","userPhone","isPresent","params","getParams","userName","address","destAddress","serviceId","serverId","startLat","startLng","startPoiAddress","endLat","endLng","endPoiAddress","isAppoint","appointTime","positionEnvironment","parseInt","finishedPrice","trailUndergroundFee","finishedLimitedMileage","finishedExcessUnitPrice","unitPrice","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\" v-model=\"form.plateNumber\" 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\" v-model=\"form.name\" 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=\"number\" v-model=\"form.phone\" 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\" @click=\"protocolShow = true\">《道路救援服务协议》</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=\"呼叫救援\" @ownClick=\"ownClickHandler\"></common-btn>\r\n </div>\r\n </div>\r\n\r\n <van-dialog v-model=\"show\" title=\"费用说明\" show-cancel-button v-if=\"show\">\r\n <fee-component :fee-title=\"feeTitle\" :fee-list-arr=\"feeListArr\" :active-tab=\"activeTab\"></fee-component>\r\n </van-dialog>\r\n <van-dialog v-model=\"protocolShow\" title=\"中道救援服务协议\" show-cancel-button>\r\n <protocol-content />\r\n </van-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import protocolContent from \"@/components/protocolContent\";\r\n import feeComponent from \"@/components/feeComponent\";\r\n import { getFeeTitle, feeList } from '@/utils/common'\r\n import { getFee, getCurrentOrder, createOrder } 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 protocolShow: false,\r\n form: {\r\n plateNumber: '',\r\n name: '',\r\n phone: '',\r\n }\r\n }\r\n },\r\n components: {\r\n tabBar,\r\n AttentionItem,\r\n commonBtn,\r\n feeComponent,\r\n protocolContent\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 ownClickHandler() {\r\n if( !this.form.plateNumber ) {\r\n this.$toast('请输入车牌号')\r\n return\r\n }\r\n if( !this.form.name ) {\r\n this.$toast('请输入您的姓名')\r\n return\r\n }\r\n if( !this.form.phone ) {\r\n this.$toast('请输入您的手机号')\r\n return\r\n }\r\n if( !(/^1[3456789]\\d{9}$/.test(this.form.phone)) ) {\r\n this.$toast('请输入正确的手机号')\r\n return\r\n }\r\n if( !this.checked ) {\r\n this.$toast('请先同意协议')\r\n return\r\n }\r\n let res = await getCurrentOrder({\r\n appCode: localStorage.getItem('appCode'),\r\n userPhone: this.form.phone,\r\n isPresent: 1\r\n })\r\n if( !res ) { // 没有订单\r\n\r\n } else { // 有订单\r\n let params = this.getParams()\r\n let res = await createOrder({\r\n ...params,\r\n userPhone: this.form.phone,\r\n userName: this.form.name,\r\n plateNumber: this.form.plateNumber\r\n })\r\n }\r\n },\r\n getParams() {\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: localStorage.getItem('appCode'),\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 return params\r\n },\r\n async getFeeFun() {\r\n let params = this.getParams()\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 },\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 .van-dialog {\r\n z-index: 100000000001 !important;\r\n }\r\n</style>\r\n<style>\r\n .van-dialog__content {\r\n max-height: 70vh;\r\n overflow-y: auto;\r\n }\r\n .van-toast--html, .van-toast--text {\r\n z-index: 100000000002 !important;\r\n }\r\n</style>\r\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}