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

1 line
16 KiB
JSON

{"ast":null,"code":"import { getAppointFun } from '@/utils/appointTime';\nimport { serverList } from '@/utils/serverMap';\nimport { leftCopy } from '@/utils/common';\nimport tabBar from \"@/components/tabBar\";\nimport BottomItem from '@/components/bottomItem';\nimport AttentionItem from '@/components/attentionItem';\nimport commonBtn from \"@/components/commonBtn\";\nimport { getLocal, getAddress } from '@/utils/map';\nimport { myMixins } from '@/utils/myMixins.js';\nexport default {\n name: \"Home\",\n mixins: [myMixins],\n data() {\n return {\n map: '',\n location: [],\n locationAddress: '',\n activeTab: 0,\n serverList: serverList,\n radio: '',\n show: false,\n // 预约时间弹框\n form: {\n startLat: '',\n startLng: '',\n startPoiAddress: '',\n endLat: '',\n endLng: '',\n endPoiAddress: '',\n isAppoint: 0,\n appointTime: '',\n positionEnvironment: ''\n },\n columns: []\n };\n },\n components: {\n BottomItem,\n tabBar,\n AttentionItem,\n commonBtn\n },\n created() {\n const orderInfo = this.$store.getters.order.orderInfo;\n console.log('orderInfo', orderInfo);\n if (orderInfo) {\n leftCopy(this.form, orderInfo);\n }\n },\n activated() {},\n async mounted() {\n await this.initMap(); // 初始化地图\n this.columns = getAppointFun(new Date()); // 获取预约时间 picker\n await this.setLocalInfo();\n },\n methods: {\n initMap() {\n // 初始化地图\n this.map = new AMap.Map('mapId', {\n viewMode: '2D',\n // 默认使用 2D 模式\n zoom: 11 //初始化地图层级\n });\n },\n\n async ownClickHandler() {\n // 将事发地,目的地,服务类型,车辆位置,预约时间存入,跳转到救援页\n /*let obj = {\r\n ...this.form,\r\n serviceId: this.serverList[this.activeTab].serverId,\r\n }*/\n let obj = this.form;\n obj.serviceId = this.serverList[this.activeTab].serverId;\n obj.activeTab = this.activeTab;\n await this.$store.dispatch('order/setOrderInfo', obj);\n await this.goPage('rescuePage');\n },\n // 定位地址\n async setLocalInfo() {\n this.location = await getLocal(this.map); // 获取经纬度\n this.map.setCenter(this.location); // 设置地图中心点\n let tempAddress = await getAddress(this.map, this.location); // 设置定位\n this.form.startPoiAddress = tempAddress.regeocode.formattedAddress;\n this.form.startLng = this.location.lng;\n this.form.startLat = this.location.lat;\n // 设置当前服务的城市\n let city = '';\n city = tempAddress.regeocode.addressComponent.province + tempAddress.regeocode.addressComponent.city;\n this.$store.dispatch('order/setServerCity', city);\n // 设置当前定位城市 code\n let localCity = tempAddress.regeocode.addressComponent.adcode;\n this.$store.dispatch('order/setLocalCity', localCity);\n this.$store.dispatch('order/setOrderInfo', this.form);\n },\n changeTabHandler(index) {\n //切换 tab\n this.activeTab = index;\n },\n appointHandler(value, index) {\n // 设置预约时间\n if (value[1] == '尽快到') {\n this.form.appointTime = '';\n this.form.isAppoint = 0;\n } else {\n this.form.appointTime = value[0] + \" \" + value[1];\n this.form.isAppoint = 1;\n }\n console.log(value[1]);\n console.log(index);\n this.show = false;\n this.$toast(`当前值:${value}, 当前索引:${index}`);\n }\n }\n};","map":{"version":3,"names":["getAppointFun","serverList","leftCopy","tabBar","BottomItem","AttentionItem","commonBtn","getLocal","getAddress","myMixins","name","mixins","data","map","location","locationAddress","activeTab","radio","show","form","startLat","startLng","startPoiAddress","endLat","endLng","endPoiAddress","isAppoint","appointTime","positionEnvironment","columns","components","created","orderInfo","$store","getters","order","console","log","activated","mounted","initMap","Date","setLocalInfo","methods","AMap","Map","viewMode","zoom","ownClickHandler","obj","serviceId","serverId","dispatch","goPage","setCenter","tempAddress","regeocode","formattedAddress","lng","lat","city","addressComponent","province","localCity","adcode","changeTabHandler","index","appointHandler","value","$toast"],"sources":["src/views/index/index.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 @changeTab=\"changeTabHandler\" :click-flag=\"true\" :active-tab=\"activeTab\" :server-list=\"serverList\"></tab-bar>\r\n <div class=\"server_main\">\r\n <div class=\"address_item pt15\" @click=\"goPage('addressMap', { source: 'address' })\">\r\n <img class=\"address_icon\" src=\"@/assets/addressPoint.png\" alt=\"\">\r\n <div class=\"address\">{{form.startPoiAddress}}</div>\r\n <img class=\"arrow_icon\" src=\"@/assets/arrow.png\" alt=\"\">\r\n </div>\r\n <div class=\"address_item pb15 border_bottom\" v-if=\"serverList[activeTab].serverId == 1041\" @click=\"goPage('addressMap', { source: 'dest' })\">\r\n <img class=\"address_icon\" src=\"@/assets/destionAddress.png\" alt=\"\">\r\n <div class=\"address\" :class=\"{ 'placeholder': !form.endPoiAddress }\">{{form.endPoiAddress || '您的拖车目的地'}}</div>\r\n <img class=\"arrow_icon\" src=\"@/assets/arrow.png\" alt=\"\">\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 <van-radio-group class=\"flex_right\" v-model=\"form.positionEnvironment\" icon-size=\"16px\" direction=\"horizontal\">\r\n <van-radio name=\"1\">地面</van-radio>\r\n <van-radio name=\"6\">地库</van-radio>\r\n <van-radio name=\"2\">高架</van-radio>\r\n </van-radio-group>\r\n </div>\r\n <!--预约时间-->\r\n <div class=\"form_item border_bottom\" @click=\"show = true\">\r\n <img class=\"appoint_time\" src=\"@/assets/appointTime.png\" alt=\"\">\r\n <div class=\"form_label\">预约时间</div>\r\n <div class=\"form_time\">\r\n <div>{{form.appointTime || '尽快到'}}</div>\r\n <img class=\"arrow_icon\" src=\"@/assets/arrow.png\" alt=\"\">\r\n </div>\r\n </div>\r\n <attention-item color=\"#939393\" :attention=\"serverList[activeTab].attentionTip\"></attention-item>\r\n </div>\r\n <div class=\"btn_wrap\">\r\n <common-btn @ownClick=\"ownClickHandler\"></common-btn>\r\n </div>\r\n </div>\r\n <!-- 底部按钮 -->\r\n <div class=\"bottom_wrap\">\r\n <div class=\"wrap\">\r\n <bottom-item server-name=\"叫服务\" :active=\"true\"></bottom-item>\r\n <bottom-item server-name=\"查订单\" :url=\"require('@/assets/search_btn.png')\" page=\"Search\" @pageClick=\"goPage\"></bottom-item>\r\n </div>\r\n </div>\r\n <van-popup v-model=\"show\" v-if=\"show\" position=\"bottom\">\r\n <van-picker show-toolbar title=\"预约时间\" :columns=\"columns\" @cancel=\"show = false\" @confirm=\"appointHandler\" />\r\n </van-popup>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import { getAppointFun } from '@/utils/appointTime'\r\n import { serverList } from '@/utils/serverMap'\r\n import { leftCopy } from '@/utils/common'\r\n import tabBar from \"@/components/tabBar\";\r\n import BottomItem from '@/components/bottomItem'\r\n import AttentionItem from '@/components/attentionItem'\r\n import commonBtn from \"@/components/commonBtn\";\r\n import { getLocal, getAddress } from '@/utils/map'\r\n import { myMixins } from '@/utils/myMixins.js'\r\n export default {\r\n name: \"Home\",\r\n mixins: [myMixins],\r\n data() {\r\n return {\r\n map: '',\r\n location: [],\r\n locationAddress: '',\r\n activeTab: 0,\r\n serverList: serverList,\r\n radio: '',\r\n show: false, // 预约时间弹框\r\n form: {\r\n startLat: '',\r\n startLng: '',\r\n startPoiAddress: '',\r\n endLat: '',\r\n endLng: '',\r\n endPoiAddress: '',\r\n isAppoint: 0,\r\n appointTime: '',\r\n positionEnvironment: '',\r\n },\r\n columns: [],\r\n }\r\n },\r\n components: {\r\n BottomItem,\r\n tabBar,\r\n AttentionItem,\r\n commonBtn\r\n },\r\n created() {\r\n const orderInfo = this.$store.getters.order.orderInfo\r\n console.log('orderInfo', orderInfo)\r\n if ( orderInfo ) {\r\n leftCopy(this.form, orderInfo)\r\n }\r\n },\r\n activated() {\r\n\r\n },\r\n async mounted() {\r\n await this.initMap() // 初始化地图\r\n this.columns = getAppointFun(new Date()) // 获取预约时间 picker\r\n await this.setLocalInfo()\r\n },\r\n methods: {\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 async ownClickHandler() { // 将事发地,目的地,服务类型,车辆位置,预约时间存入,跳转到救援页\r\n /*let obj = {\r\n ...this.form,\r\n serviceId: this.serverList[this.activeTab].serverId,\r\n }*/\r\n let obj = this.form\r\n obj.serviceId = this.serverList[this.activeTab].serverId\r\n obj.activeTab = this.activeTab\r\n await this.$store.dispatch('order/setOrderInfo', obj)\r\n await this.goPage('rescuePage')\r\n },\r\n // 定位地址\r\n async setLocalInfo() {\r\n this.location = await getLocal(this.map) // 获取经纬度\r\n this.map.setCenter(this.location) // 设置地图中心点\r\n let tempAddress = await getAddress(this.map, this.location) // 设置定位\r\n this.form.startPoiAddress = tempAddress.regeocode.formattedAddress\r\n this.form.startLng = this.location.lng\r\n this.form.startLat = this.location.lat\r\n // 设置当前服务的城市\r\n let city = '';\r\n city = tempAddress.regeocode.addressComponent.province + tempAddress.regeocode.addressComponent.city\r\n this.$store.dispatch('order/setServerCity', city)\r\n // 设置当前定位城市 code\r\n let localCity = tempAddress.regeocode.addressComponent.adcode\r\n this.$store.dispatch('order/setLocalCity', localCity)\r\n this.$store.dispatch('order/setOrderInfo', this.form)\r\n },\r\n changeTabHandler(index) { //切换 tab\r\n this.activeTab = index\r\n },\r\n appointHandler(value, index) { // 设置预约时间\r\n if( value[1] == '尽快到' ) {\r\n this.form.appointTime = ''\r\n this.form.isAppoint = 0\r\n } else {\r\n this.form.appointTime = value[0] + \" \" + value[1]\r\n this.form.isAppoint = 1\r\n }\r\n console.log(value[1])\r\n console.log(index)\r\n this.show = false;\r\n this.$toast(`当前值:${value}, 当前索引:${index}`)\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: 50px;\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 .address_item {\r\n display: flex;\r\n padding: 10px 15px 10px 3px;\r\n align-items: center;\r\n justify-content: space-between;\r\n margin-left: 15px;\r\n .address_icon {\r\n width: 12px;\r\n height: 12px;\r\n margin-right: 10px;\r\n }\r\n .address {\r\n font-size: 15px;\r\n color: rgba( 0, 0, 0, 0.79);\r\n flex: 1;\r\n }\r\n .placeholder {\r\n color: rgba(147, 147, 147, 0.83);\r\n }\r\n }\r\n .arrow_icon {\r\n width: 12px;\r\n height: 11px;\r\n margin-left: 3px;\r\n }\r\n .form_item {\r\n display: flex;\r\n padding: 15px 15px 15px 3px;\r\n align-items: center;\r\n justify-content: space-between;\r\n margin-left: 15px;\r\n .radio {\r\n width: 10px;\r\n height: 11px;\r\n margin-right: 10px;\r\n }\r\n .appoint_time {\r\n width: 11px;\r\n height: 11px;\r\n margin-right: 10px;\r\n }\r\n .form_label {\r\n font-size: 14px;\r\n color: rgba( 0, 0, 0, 0.7 );\r\n }\r\n .flex_right {\r\n flex: 1;\r\n justify-content: flex-end;\r\n }\r\n .form_time {\r\n flex: 1;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n }\r\n }\r\n .pb15 {\r\n padding-bottom: 15px;\r\n }\r\n .pt15 {\r\n padding-top: 15px;\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</style>\r\n<style>\r\n .van-overlay {\r\n z-index: 9999999999 !important;\r\n }\r\n .van-popup--bottom {\r\n z-index: 10000000000 !important;\r\n }\r\n</style>\r\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}