Commit 73548631 authored by youjie's avatar youjie

no message

parent ff614fc5
......@@ -83,7 +83,7 @@
align-items: center;
}
.time-box>span{
/* width: 100px; */
width: 95px;
flex-shrink: 0;
font-size: 13px;
color: #181C32;
......@@ -135,6 +135,7 @@
margin-top: 20px;
}
.infor-list li{
position: relative;
width: 25%;
}
.list-centent li {
......@@ -316,6 +317,32 @@
</template>
</div>
</div>
<!-- v-if="msg.OrderType!=1" -->
<div class="time-box time-box2 center" >
<span>选择上车地点:</span>
<div style="display: flex;">
<template v-for="x in PlaceTypes">
<el-tag class="time-box-width" :type="x.checked?'':'info'" style="margin-right: 10px;cursor: pointer;"
@click="msg.OrderId?changeDetailListHandler():changeDetailListHandler(x,2,msg.OrderId)">
<a>{{ x.Address }}</a>
<span>{{ x.Range }}km范围</span>
</el-tag>
</template>
</div>
</div>
<!-- v-if="msg.OrderType!=2" -->
<div class="time-box time-box2 center" >
<span>选择下车地点:</span>
<div style="display: flex;">
<template v-for="x in PlaceTypes2">
<el-tag class="time-box-width" :type="x.checked?'':'info'" style="margin-right: 10px;cursor: pointer;"
@click="msg.OrderId?changeDetailListHandler():changeDetailListHandler(x,4,msg.OrderId)">
<a>{{ x.Address }}</a>
<span>{{ x.Range }}km范围</span>
</el-tag>
</template>
</div>
</div>
<div class="time-box time-box2 center">
<span>选择车型:</span>
<div style="display: flex;">
......@@ -392,12 +419,21 @@
<div class="list-centent active">
<li v-if="msg.OrderType!=1">
<el-form-item label="上车地点" prop="GetonAddress">
<el-input type="textarea" :autosize="{ minRows: 1, maxRows: 4}" v-model="msg.GetonAddress" placeholder="请输入上车地点"/>
<el-input type="textarea" :autosize="{ minRows: 1, maxRows: 4}" v-model="msg.GetonAddress"
placeholder="请输入上车地点">
</el-input>
<i @click="clickMapAddress(1,1,msg.GetonAddress)"
icon="iconfont icon-img_dw" style="z-index: 22;position: absolute;right: 0;top: 15px;"></i>
</el-form-item>
</li>
<li v-if="msg.OrderType!=2">
<el-form-item label="下车地点" prop="GetoffAddress">
<el-input type="textarea" :autosize="{ minRows: 1, maxRows: 4}" v-model="msg.GetoffAddress" placeholder="请输入下车地点"/>
<el-input type="textarea" :autosize="{ minRows: 1, maxRows: 4}" v-model="msg.GetoffAddress"
placeholder="请输入下车地点">
</el-input>
<i @click="clickMapAddress(2,2,msg.GetoffAddress)"
icon="iconfont icon-img_dw" style="z-index: 22;position: absolute;right: 0;top: 15px;"></i>
</el-form-item>
</li>
<li class="bottom">
......@@ -528,18 +564,33 @@
</button>
</div>
</div>
<!-- 选择地址 -->
<el-dialog custom-class="mapList" title="地图选址" center :visible.sync="selectAddress">
<Map @refList="selectAddress = false" v-on:headCallBack="headCall" v-bind:Address="Address"
:type="MapType" :index="index" :GetOff="MapType==1?GetOnTheBusObj:GetOffTheBusIdObj"></Map>
</el-dialog>
<!-- 包车产品详情信息 -->
<el-dialog custom-class="w800" title="包车产品详情" :visible.sync="showDetails" center @close="showDetails=false">
<el-dialog custom-class="w1000" title="包车产品详情" :visible.sync="showDetails" center @close="showDetails=false">
<Details :detailsObj="detailsRow"></Details>
</el-dialog>
</div>
</template>
<script>
import Map from "../../public/Map.vue";
import Details from './components/Details.vue'
export default {
components: { Details },
components: { Details,Map },
data() {
return {
index: 1,
Address: '',
selectAddress: false,
MapType: 1,
GetOnTheBusObj: '',
GetOffTheBusIdObj: '',
PlaceTypes2:[],
PlaceTypes:[],
AirportTypes:[],
isCheck:true,
showDetails: false,
......@@ -650,6 +701,19 @@
};
},
methods: {
clickMapAddress(type, index, Address) {
this.index = index
this.MapType = type
this.Address = Address
this.selectAddress = true
},
headCall(msg, type, index, address_detail) {
if(type==1){
this.msg.GetonAddress = address_detail
}else{
this.msg.GetoffAddress = address_detail
}
},
getTime(){
this.SetOutTime = this.msg.OrderDate
},
......@@ -720,6 +784,30 @@
if(this.AirportTypes.findIndex(x => x.checked) > -1) this.getQuotation()
}
}
if(i==2){
if(!OrderId){
this.PlaceTypes.forEach(x=>{
x.checked = false
})
e.checked = !e.checked
let PlaceTypes = this.PlaceTypes.filter(x => x.checked)
if(PlaceTypes&&PlaceTypes[0]){
this.GetOnTheBusObj = PlaceTypes[0]
}
}
}
if(i==4){
if(!OrderId){
this.PlaceTypes2.forEach(x=>{
x.checked = false
})
e.checked = !e.checked
let PlaceTypes2 = this.PlaceTypes2.filter(x => x.checked)
if(PlaceTypes2&&PlaceTypes2[0]){
this.GetOffTheBusIdObj = PlaceTypes2[0]
}
}
}
if(i==3){
this.types.forEach(x=>{
x.checked = false
......@@ -794,6 +882,14 @@
if(this.AirportTypes.length>0){
this.changeDetailListHandler(this.AirportTypes[0],1,this.msg.OrderId)
}
this.PlaceTypes = JSON.parse(JSON.stringify(res.data.data.PlaceList))
if(this.PlaceTypes.length>0){
this.changeDetailListHandler(this.PlaceTypes[0],2,this.msg.OrderId)
}
this.PlaceTypes2 = JSON.parse(JSON.stringify(res.data.data.PlaceList))
if(this.PlaceTypes2.length>0){
this.changeDetailListHandler(this.PlaceTypes2[0],4,this.msg.OrderId)
}
this.types = res.data.data.CarTypeList
if(this.types&&this.types.length==0){
message.errorMsg(`${t('v102.ticket.nobj')}`)
......
......@@ -115,6 +115,7 @@
ObjMap:{
lng:'',
lat:'',
Range: '',
Address: ''
}
};
......@@ -148,6 +149,7 @@
this.ObjMap = {
lng:this.t.PlaceList[0].Lng,
lat:this.t.PlaceList[0].Lat,
Range:Number(this.t.PlaceList[0].Range),
Address: this.t.PlaceList[0].Address
}
// this.initMap(this.t.PlaceList[0].Lng,this.t.PlaceList[0].Lat,this.t.Name)
......@@ -242,6 +244,7 @@
text-decoration:underline
}
.hotelDetails-ImgMap{
height: 300px;
display: flex;
justify-content: space-between;
}
......@@ -263,7 +266,7 @@
flex-grow: 1;
}
.hotelDetails-Img>div:nth-child(2){
width: 100%;
width: 50%;
margin-left: 10px;
display: flex;
flex-direction: column;
......
......@@ -267,7 +267,7 @@
<el-pagination v-if="total>0" background @current-change="handleCurrentChange" :current-page.sync="msg.currentPage"
:page-size="msg.pageSize" layout="total,prev, pager, next, jumper" :total="total"></el-pagination>
<!-- 包车详情信息 -->
<el-dialog custom-class="w800" title="包车产品详情" :visible.sync="showDetails" center @close="showDetails=false">
<el-dialog custom-class="w1000" title="包车产品详情" :visible.sync="showDetails" center @close="showDetails=false">
<Details :detailsObj="detailsObj"></Details>
</el-dialog>
</div>
......
......@@ -967,7 +967,7 @@
</el-dialog>
<el-dialog custom-class="mapList" title="地图选址" center :visible.sync="selectAddress">
<Map @refList="selectAddress = false" v-on:headCallBack="headCall" v-bind:Address="Address" :id="ID"
<Map @refList="selectAddress = false" v-on:headCallBack="headCall" v-bind:Address="Address"
:type="MapType" :index="index"></Map>
</el-dialog>
......@@ -1007,7 +1007,6 @@ export default {
addimg: false,
imgKeyword: "",
imglistArry: [],
openplatform: "",
totalimg: "",
selecnum: 0,
ID: 0,
......@@ -1019,7 +1018,6 @@ export default {
value2: "false",
defaultImg: 'this.src="' + require("../../../assets/img/bg_z1@2x.png") + '"',
openplatString: "",
OpenPlatformStrings: "",
inputVisible: false,
inputValue: "",
inputVisible2: false,
......@@ -1047,8 +1045,6 @@ export default {
district: [],
inActive: 1, //已选中
notInActive: 0, //未选中
//支付方式
PayList: [],
//上传的文件数组
//ImageList: [],
//删除的图片文件数组
......@@ -1424,13 +1420,6 @@ export default {
null
);
},
init() {
var msg = {};
this.apipost("hotel_post_GetPlatform", msg, res => {
//获取开放平台
this.openplatform = res.data.data;
});
},
initimgList() {
//初始化弹窗图片列表
var keyWord = this.imgKeyword;
......@@ -1782,18 +1771,6 @@ export default {
// console.log('拿到的值', imgItem.Path)
// console.log('拿到的值2', this.addMsg.ImageList)
},
//获取支付方式列表
GetPayList() {
this.apipost(
"dmc_post_Get_GetPayStyleList", {},
res => {
if (res.data.resultCode == 1) {
this.PayList = res.data.data;
}
},
err => { }
);
},
//图片左移右移
ExchangeImg(index, IsMove) {
var imgItem = this.addMsg.ImageList[index];
......@@ -1820,7 +1797,6 @@ export default {
userInfo.RB_Branch_id == 49) {
this.IsHaveAuth = 1;
}
this.GetPayList();
this.querys = this.$route.query
this.ID = this.querys.id;
this.addMsg.Name = this.querys.Name
......
......@@ -8,6 +8,7 @@
<bm-marker :position="{lng: center.lng, lat: center.lat}"
:dragging="true"
animation="BMAP_ANIMATION_BOUNCE">
<bm-label v-if="radius>0" content="选择范围" :position="center" :labelStyle="{color: 'red', fontSize : '16px','border':'0px','margin-top':'20px'}" title="Hover me"/>
</bm-marker>
<bm-control :offset="{width: '10px', height: '10px'}">
<bm-auto-complete v-model="keyword" :sugStyle="{zIndex: 999999}">
......@@ -17,8 +18,13 @@
确定
</button>
</bm-control>
<bm-local-search :keyword="keyword" :auto-viewport="true"
<bm-local-search v-if="radius>0" :keyword="keyword" :nearby="nearby" :auto-viewport="true" :panel="false"
style="width:0px;height:0px;overflow: hidden;"></bm-local-search>
<bm-local-search v-else :keyword="keyword" :auto-viewport="true" :panel="false"
style="width:0px;height:0px;overflow: hidden;"></bm-local-search>
<template v-show="radius>0">
<bm-circle :center="center" :radius="radius" stroke-color="red" :stroke-opacity="0.8" :stroke-weight="0.5"></bm-circle>
</template>
</baidu-map>
</div>
</template>
......@@ -26,26 +32,37 @@
<script>
import {BaiduMap, BmControl,
BmView, BmAutoComplete,
BmLocalSearch, BmMarker} from 'vue-baidu-map'
BmLocalSearch, BmMarker,BmPolygon,BmCircle,BmLabel} from 'vue-baidu-map'
export default {
props: ["Address", "id", "type", "index"],
props: ["Address", "type", "index","GetOff"],
components: {
BaiduMap,
BmControl,
BmView,
BmAutoComplete,
BmLocalSearch,
BmMarker
BmMarker,
BmPolygon,
BmCircle,
BmLabel
},
data() {
return {
radius:0,
keyword: '',
mapStyle: {
width: '100%',
height: '100%'
},
center: {lng: 116.404, lat: 39.915},
zoom: 15,
zoom: 20,
nearby: {
center: {
lng: 116.404,
lat: 39.915
},
radius: 0
}
}
},
watch: {
......@@ -56,9 +73,43 @@
deep:true,
immediate: true
},
GetOff: {
handler(newValue,onldValue) {
if(this.GetOff){
this.center.lng = this.GetOff.Lng
this.center.lat = this.GetOff.Lat
if(this.GetOff.Range){
this.radius = this.GetOff.Range
}
}
this.nearby = {
center: {
lng:this.center.lng,
lat:this.center.lat
},
radius: this.radius
}
},
deep:true,
immediate: true
},
},
mounted() {
if(this.GetOff){
this.center.lng = this.GetOff.Lng
this.center.lat = this.GetOff.Lat
if(this.GetOff.Range){
this.radius = this.GetOff.Range
}
}
this.keyword = this.Address
this.nearby = {
center: {
lng:this.center.lng,
lat:this.center.lat
},
radius: this.radius
}
},
methods: {
getClickInfo (e) {
......@@ -75,6 +126,7 @@
this.center.lat = e.point.lat
},
syncCenterAndZoom (e) {
if(this.GetOff) return
const {lng, lat} = e.target.getCenter()
this.center.lng = lng
this.center.lat = lat
......@@ -88,7 +140,6 @@
}else{
this.Error("请搜索您需要选择的地址");
}
},
}
}
......
......@@ -4,13 +4,27 @@
ak="L5Qw0GlbbCIMwgR4Uug3ogM40Imkd3CV"
:center="center" :zoom="zoom" :scroll-wheel-zoom="true"
@click="getClickInfo" @moving="syncCenterAndZoom" @moveend="syncCenterAndZoom" @zoomend="syncCenterAndZoom">
<bm-view style="width: 100%; height:400px;"></bm-view>
<bm-view style="width: 100%; height:300px;"></bm-view>
<bm-marker :position="{lng: center.lng, lat: center.lat}"
:dragging="true"
animation="BMAP_ANIMATION_BOUNCE">
<bm-label v-if="radius>0" content="接送范围" :position="center" :labelStyle="{color: 'red', fontSize : '16px','border':'0px','margin-top':'20px'}" title="Hover me"/>
</bm-marker>
<bm-local-search :keyword="keyword" :auto-viewport="true"
<!-- <bm-control :offset="{width: '10px', height: '10px'}" style="display: flex;justify-content: space-between;align-items: center;">
<bm-auto-complete v-model="keyword" :sugStyle="{zIndex: 999999}">
<input v-model="keyword" type="text" placeholder="请输入搜索关键字" class="serachinput">
</bm-auto-complete>
<button style="margin-top: 10px;" class="normalBtn" type="primary" @click="determineLngLat">
确定
</button>
</bm-control> -->
<!-- <bm-local-search :keyword="keyword" :auto-viewport="true" :bounds="bounds" :panel="false"
style="width:0px;height:0px;overflow: hidden;"></bm-local-search>
<bm-polygon :path="polygonPath"></bm-polygon> -->
<template v-show="radius>0">
<bm-circle :center="center" :radius="radius" stroke-color="red" :stroke-opacity="0.8" :stroke-weight="0.5"></bm-circle>
</template>
</baidu-map>
</div>
</template>
......@@ -18,7 +32,8 @@
<script>
import {BaiduMap, BmControl,
BmView, BmAutoComplete,
BmLocalSearch, BmMarker} from 'vue-baidu-map'
BmLocalSearch, BmMarker,
BmPolygon,BmCircle,BmLabel} from 'vue-baidu-map'
export default {
props: ["obj"],
components: {
......@@ -27,7 +42,10 @@
BmView,
BmAutoComplete,
BmLocalSearch,
BmMarker
BmMarker,
BmPolygon,
BmCircle,
BmLabel
},
data() {
return {
......@@ -36,8 +54,21 @@
width: '100%',
height: '100%'
},
center: {lng: 116.404, lat: 39.915},
center: {
lng: 116.294625,
lat: 39.961627
// lng: 116.404, lat: 39.915
},
radius: 0,//1000
zoom: 15,
pStart: {
lng: 116.294625,
lat: 39.961627
},
pEnd: {
lng: 116.357474,
lat: 39.988609
}
}
},
watch: {
......@@ -45,8 +76,10 @@
handler(newValue,onldValue) {
this.center.lng = this.obj.lng
this.center.lat = this.obj.lat
if(this.obj.Range){
this.radius = this.obj.Range
}
this.keyword = this.obj.Address
console.log(this.center,'----')
},
deep:true,
immediate: true
......@@ -55,9 +88,26 @@
mounted() {
this.center.lng = this.obj.lng
this.center.lat = this.obj.lat
if(this.obj.Range){
this.radius = this.obj.Range
}
this.keyword = this.obj.Address
},
methods: {
bounds () {
return {
sw: {lng: this.pStart.lng, lat: this.pStart.lat},
ne:{lng: this.pEnd.lng, lat: this.pEnd.lat}
}
},
polygonPath () {
return [
{lng: this.pStart.lng, lat: this.pStart.lat},
{lng: this.pEnd.lng, lat: this.pStart.lat},
{lng: this.pEnd.lng, lat: this.pEnd.lat},
{lng: this.pStart.lng, lat: this.pEnd.lat}
]
},
getClickInfo (e) {
let that= this
var gc = new BMap.Geocoder();
......@@ -72,6 +122,7 @@
this.center.lat = e.point.lat
},
syncCenterAndZoom (e) {
return
const {lng, lat} = e.target.getCenter()
this.center.lng = lng
this.center.lat = lat
......@@ -96,7 +147,7 @@
.serachinput{
margin-left: 10px;
margin-top: 10px;
width: 350px;
width: 200px;
height: 30px;
margin-right: 10px;
}
......
......@@ -250,6 +250,7 @@
text-decoration:underline
}
.hotelDetails-ImgMap{
height: 300px;
display: flex;
justify-content: space-between;
}
......@@ -271,7 +272,7 @@
flex-grow: 1;
}
.hotelDetails-Img>div:nth-child(2){
width: 100%;
width: 50%;
margin-left: 10px;
display: flex;
flex-direction: column;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment