Commit 12e9dbf5 authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/viitto/million

# Conflicts:
#	src/components/trip/orderPreview.vue
#	src/layouts/HomeLayout.vue
parents 5b6d0781 035d558d
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -7,7 +7,9 @@ ...@@ -7,7 +7,9 @@
border-radius: 8px;} border-radius: 8px;}
</style> </style>
<template> <template>
<div>
<div class="card" :id="`baidu-map_${center.Id}`"></div> <div class="card" :id="`baidu-map_${center.Id}`"></div>
</div>
</template> </template>
<script> <script>
export default { export default {
...@@ -17,7 +19,8 @@ ...@@ -17,7 +19,8 @@
center:{ center:{
Lng: 116.294625, Lng: 116.294625,
Lat: 39.961627 Lat: 39.961627
} },
keywords: ''
} }
}, },
watch: { watch: {
...@@ -27,6 +30,11 @@ ...@@ -27,6 +30,11 @@
}, },
deep:true, deep:true,
immediate:true immediate:true
},
keywords:{
handler(newValue,onldValue) {
this.getLocalSearch()
},
} }
}, },
mounted() { mounted() {
...@@ -74,7 +82,7 @@ ...@@ -74,7 +82,7 @@
offset: new BMapGL.Size(10, -60), // 设置标注的偏移量 offset: new BMapGL.Size(10, -60), // 设置标注的偏移量
}); });
this.map.addOverlay(label); // 将标注添加到地图中 this.map.addOverlay(label); // 将标注添加到地图中
label.addEventListener("click", function () { label.addEventListener("click", function (e) {
// alert("您点击了标注"); // alert("您点击了标注");
}); });
label.setStyle({ label.setStyle({
...@@ -90,7 +98,12 @@ ...@@ -90,7 +98,12 @@
var mPoint = new BMapGL.Point(this.center.Lng, this.center.Lat); var mPoint = new BMapGL.Point(this.center.Lng, this.center.Lat);
var circle = new BMapGL.Circle(mPoint,this.center.Range,{fillColor:"blue", strokeWeight: 1 ,fillOpacity: 0.3, strokeOpacity: 0.3}); var circle = new BMapGL.Circle(mPoint,this.center.Range,{fillColor:"blue", strokeWeight: 1 ,fillOpacity: 0.3, strokeOpacity: 0.3});
this.map.addOverlay(circle); this.map.addOverlay(circle);
} },
getLocalSearch(){
var mPoint = new BMapGL.Point(this.center.Lng, this.center.Lat);
var local = new BMapGL.LocalSearch(this.map, {renderOptions: {map: this.map, autoViewport: false}});
local.searchNearby(this.keywords,mPoint,this.center.Range);
},
}, },
} }
</script> </script>
This diff is collapsed.
...@@ -127,4 +127,7 @@ ...@@ -127,4 +127,7 @@
} }
.primary { .primary {
color: $primary; color: $primary;
}
.white {
color: #fff;
} }
\ No newline at end of file
...@@ -30,11 +30,11 @@ ...@@ -30,11 +30,11 @@
<hor-big-one :base-data="baseinfo" :dataList="dataList" ref="webhead"></hor-big-one> <hor-big-one :base-data="baseinfo" :dataList="dataList" ref="webhead"></hor-big-one>
<!-- <hor-big-two v-if="headType==2" :base-data="baseinfo" ref="webhead"></hor-big-two> --> <!-- <hor-big-two v-if="headType==2" :base-data="baseinfo" ref="webhead"></hor-big-two> -->
<q-page-container> <q-page-container>
<!-- <div class="flex" v-if="showUserInfo" style="width: 1200px; margin: 0 auto"> <div class="flex justify-between" v-if="showUserInfo" style="width: 1200px; margin: 0 auto">
<navs></navs> <navs></navs>
<router-view /> <router-view />
</div> --> </div>
<router-view/> <router-view v-else />
</q-page-container> </q-page-container>
<div class="goBackTop bg-primary" :class="{'showGoback':isShowTop}" @click="hangleGoUp"> <div class="goBackTop bg-primary" :class="{'showGoback':isShowTop}" @click="hangleGoUp">
<i class="iconfont iconarrow-top"></i> <i class="iconfont iconarrow-top"></i>
...@@ -62,7 +62,7 @@ import Navs from 'src/pages/usercenter/components/navs.vue'; ...@@ -62,7 +62,7 @@ import Navs from 'src/pages/usercenter/components/navs.vue';
}, },
data() { data() {
return { return {
showUserInfo: true, showUserInfo: false,
leftDrawerOpen: false, leftDrawerOpen: false,
baseinfo: { baseinfo: {
logo: "", logo: "",
...@@ -83,7 +83,13 @@ import Navs from 'src/pages/usercenter/components/navs.vue'; ...@@ -83,7 +83,13 @@ import Navs from 'src/pages/usercenter/components/navs.vue';
isShowTop: false isShowTop: false
}; };
}, },
watch: {
'$route': function() {
this.showUserInfo = Boolean(this.$route.meta.isUserCenter)
}
},
created() { created() {
this.showUserInfo = Boolean(this.$route.meta.isUserCenter)
var nowDay = this.formatDate2(new Date()); var nowDay = this.formatDate2(new Date());
this.ToDay = nowDay.CYear + "-" + nowDay.CMonth + "-" + nowDay.CDay; this.ToDay = nowDay.CYear + "-" + nowDay.CMonth + "-" + nowDay.CDay;
this.$root.$on('change-head-style', param => { this.$root.$on('change-head-style', param => {
......
This diff is collapsed.
...@@ -180,6 +180,7 @@ ...@@ -180,6 +180,7 @@
color="primary" color="primary"
label="選擇方案" label="選擇方案"
unelevated unelevated
:disable="priceList.length>0?false:true"
@click="goScrollHandler('#scheme')" @click="goScrollHandler('#scheme')"
:class="{ 'q-mt-md full-width': $q.platform.is.desktop }" :class="{ 'q-mt-md full-width': $q.platform.is.desktop }"
/> />
...@@ -280,6 +281,7 @@ ...@@ -280,6 +281,7 @@
:dataList="dataList" :dataList="dataList"
:configId="msg.configId" :configId="msg.configId"
:Month="currentYM.str" :Month="currentYM.str"
:PlaceList="dataList.PlaceList"
:CarTypeList="dataList.CarTypeList" :CarTypeList="dataList.CarTypeList"
:AirportList="dataList.AirportList" :AirportList="dataList.AirportList"
:price="currentPrice" :price="currentPrice"
...@@ -372,6 +374,7 @@ ...@@ -372,6 +374,7 @@
:dataList="dataList" :dataList="dataList"
:configId="msg.configId" :configId="msg.configId"
:Month="currentYM.str" :Month="currentYM.str"
:PlaceList="dataList.PlaceList"
:CarTypeList="dataList.CarTypeList" :CarTypeList="dataList.CarTypeList"
:AirportList="dataList.AirportList" :AirportList="dataList.AirportList"
:price="currentPrice" :price="currentPrice"
......
...@@ -190,6 +190,7 @@ ...@@ -190,6 +190,7 @@
color="primary" color="primary"
label="選擇方案" label="選擇方案"
unelevated unelevated
:disable="dataList.priceList.length>0?false:true"
@click="goScrollHandler(priceListHeight)" @click="goScrollHandler(priceListHeight)"
:class="{ 'q-mt-md full-width': $q.platform.is.desktop }" :class="{ 'q-mt-md full-width': $q.platform.is.desktop }"
/> />
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<img class="avatar" v-if="LoginUser.photo" :src="LoginUser.photo" /> <img class="avatar" v-if="LoginUser.photo" :src="LoginUser.photo" />
<img class="avatar" v-else src="../../../assets/img/avatar.png" /> <img class="avatar" v-else src="../../../assets/img/avatar.png" />
</div> </div>
<div class="text-primary text-center q-mt-sm">个人信息</div> <div class="text-primary text-center q-mt-sm cursor-pointer" @click="navigateTo('/setUserInfo')">个人信息</div>
<div class="q-mt-xl q-pb-lg"> <div class="q-mt-xl q-pb-lg">
<div <div
class="nav-item flex justify-between items-center cursor-pointer" class="nav-item flex justify-between items-center cursor-pointer"
...@@ -106,7 +106,7 @@ export default { ...@@ -106,7 +106,7 @@ export default {
}, },
{ {
icon: "", icon: "",
key: "/setUserInfo", key: "/setInfo",
label: "账户设置", label: "账户设置",
number: "", number: "",
}, },
......
...@@ -15,84 +15,97 @@ ...@@ -15,84 +15,97 @@
padding: 0 35px; padding: 0 35px;
line-height: 42px; line-height: 42px;
} }
::v-deep .q-field__control { .bg-blue {
height: 40px; background: #70b1fa;
border-radius: 8px 8px 0 0;
.use {
color: #67cac2;
}
}
.bg-red {
background: #ee727d;
border-radius: 8px 8px 0 0;
.use {
color: #6F242B;
}
}
.bg-yellow {
background: #f2c16b;
border-radius: 8px 8px 0 0;
.use {
color: #8A5D10;
}
}
.bg-green {
background: #67cac2;
border-radius: 8px 8px 0 0;
.use {
color: #195954 ;
}
}
.card {
margin: 10px;
width: 201px;
height: 310px;
background: #f9f9f9;
border-radius: 8px;
}
.nav-item {
width: 100px;
margin: 0 10px;
text-align: center;
}
.border-bottom {
width: 20px;
height: 4px;
border-radius: 2px;
background-color: $primary;
margin: -8px auto 0 auto;
} }
.title { .img {
margin-top: 20px; width: 201px;
margin-bottom: 10px; margin-bottom: -6px;
} }
</style> </style>
<template> <template>
<div class="content q-ma-lg bg-white"> <div class="content q-ma-lg bg-white">
<div class="q-ma-lg"> <div class="q-ma-lg">
<div class="tips">密碼管理</div> <div class="tips flex">
<div> <div
<div> @click="changeCouponType(item)"
<div class="q-mt-lg q-mb-sm"> class="nav-item cursor-pointer"
设置密码(8 - 20个字符,须至少包含1个数字、1个字母及1个特殊符号) v-for="item in ['可使用', '已使用', '已过期']"
</div> :key="item"
<div class="text-grey-6">高强度密码能提高账号安全性</div> >
<q-input {{ item }}
class="form-item" <div :class="selectedKey === item ? 'border-bottom' : ''"></div>
v-model="form.firstName"
outlined
placeholder="姓"
ref="firstName"
:rules="[(val) => val !== '' || '请输入姓氏']"
></q-input>
<q-input
class="form-item"
v-model="form.firstName"
outlined
placeholder="姓"
ref="firstName"
:rules="[(val) => val !== '' || '请输入姓氏']"
></q-input>
<div>
<q-btn color="primary" unelevated label="确认" @click="submit" />
</div>
</div> </div>
</div> </div>
</div> <div class="flex flex-wrap">
<div class="card" v-for="item in 10" :key="item">
<div class="q-ma-lg"> <div class="bg-blue">
<div class="tips">通知偏好設置</div> <div class="white text-center f16 q-pt-sm">CYN</div>
<div> <div class="white text-center f26">10</div>
<div> <div class="white text-center">
<div class="q-mt-lg q-mb-sm">優惠及更新信息</div> <span>限用品類:</span><span>滿2000可用</span>
<div class="text-grey-6"> </div>
抢先获取印象最新优惠活动、优惠码、折扣信息及最新动向 <div class="use text-center q-pb-sm">
<span>限用品類:</span><span>滿2000可用</span>
</div>
<img class="img" src="../../assets/img/coupon.png">
</div> </div>
<q-checkbox>电子邮件</q-checkbox> <div class="q-pa-sm">
<q-checkbox>短信</q-checkbox> <div class="q-my-sm">
</div> <span class="text-grey-6">限用品類:</span><span>滿2000可用</span>
<div> </div>
<div>消息提醒</div> <div class="q-my-sm">
<div class="text-grey-6"> <span class="text-grey-6">限用品類:</span><span>滿2000可用</span>
获取购物车内活动及支付状态、评价提醒、推荐好友获取优惠等信息 </div>
<div class="flex flex-center q-mt-xl">
<q-btn color="primary" unelevated outline label="立即使用"></q-btn>
</div>
</div> </div>
<q-checkbox>电子邮件</q-checkbox>
<q-checkbox>短信</q-checkbox>
</div> </div>
<div>
<div>賬戶通知</div>
<div class="text-grey-6">
接收重要通知,如订单摘要、凭证及活动取消
</div>
<q-checkbox>电子邮件</q-checkbox>
<q-checkbox>短信</q-checkbox>
</div>
<div>
<q-btn
color="primary"
unelevated
label="更改偏好設置"
@click="submit"
/>
</div>
<div class="tips q-mt-lg">註銷賬戶</div>
<div class="q-mt-sm">删除您的Klook客路帐户及个人数据</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -101,6 +114,7 @@ ...@@ -101,6 +114,7 @@
export default { export default {
data() { data() {
return { return {
selectedKey: "可使用",
form: { form: {
lastName: "", lastName: "",
firstName: "", firstName: "",
...@@ -111,6 +125,9 @@ export default { ...@@ -111,6 +125,9 @@ export default {
}; };
}, },
methods: { methods: {
changeCouponType(item) {
this.selectedKey = item;
},
submit() { submit() {
const verifyArr = ["fastName", "lastName"]; const verifyArr = ["fastName", "lastName"];
verifyArr.forEach((item) => { verifyArr.forEach((item) => {
......
...@@ -7,8 +7,25 @@ ...@@ -7,8 +7,25 @@
.content { .content {
width: 900px; width: 900px;
} }
.title {
margin-top: 20px;
margin-bottom: 10px;
}
.card {
margin: 10px;
background: #FFFFFF;
border: 1px solid #EEEEEE;
border-radius: 8px;
}
.card-title {
height: 37px;
height: 37px;
padding: 0 20px;
line-height: 37px;
background: #f5f5f5;
border-radius: 8px 8px 0px 0px;
}
.tips { .tips {
width: 100%;
height: 42px; height: 42px;
background: #f5f5f5; background: #f5f5f5;
border-radius: 8px; border-radius: 8px;
...@@ -18,81 +35,115 @@ ...@@ -18,81 +35,115 @@
::v-deep .q-field__control { ::v-deep .q-field__control {
height: 40px; height: 40px;
} }
::v-deep .q-field--auto-height .q-field__control {
min-height: 40px;
}
::v-deep .q-field__marginal {
height: 40px;
}
.title { .title {
margin-top: 20px; margin-top: 20px;
margin-bottom: 10px; margin-bottom: 10px;
} }
.phone {
margin-left: 100px;
}
.name {
width: 300px;
}
.user-name {
width: 120px;
}
.pay-info {
width: 120px;
}
.order-info {
width: 120px;
}
.order-action {
width: 120px;
}
.nav-item {
width: 100px;
margin: 0 10px;
text-align: center;
}
.border-bottom {
width: 20px;
height: 4px;
border-radius: 2px;
background-color: $primary;
margin: -8px auto 0 auto;
}
</style> </style>
<template> <template>
<div class="content q-ma-lg bg-white"> <div class="content q-ma-lg bg-white">
<div class="q-ma-lg"> <div class="flex justify-between">
<div class="tips">密碼管理</div>
<div> <div>
<div> <q-input
<div class="q-mt-lg q-mb-sm"> ref="lastName"
设置密码(8 - 20个字符,须至少包含1个数字、1个字母及1个特殊符号) class="form-item"
</div> placeholder="名字(需與旅遊證件一致)"
<div class="text-grey-6">高强度密码能提高账号安全性</div> v-model="form.lastName"
<q-input outlined
class="form-item" :rules="[(val) => val !== '' || '请输入名字']"
v-model="form.firstName" ></q-input>
outlined
placeholder="姓"
ref="firstName"
:rules="[(val) => val !== '' || '请输入姓氏']"
></q-input>
<q-input
class="form-item"
v-model="form.firstName"
outlined
placeholder="姓"
ref="firstName"
:rules="[(val) => val !== '' || '请输入姓氏']"
></q-input>
<div>
<q-btn color="primary" unelevated label="确认" @click="submit" />
</div>
</div>
</div> </div>
</div>
<div class="q-ma-lg">
<div class="tips">通知偏好設置</div>
<div> <div>
<div> <q-select
<div class="q-mt-lg q-mb-sm">優惠及更新信息</div> square
<div class="text-grey-6"> outlined
抢先获取印象最新优惠活动、优惠码、折扣信息及最新动向 class="form-item"
</div> v-model="model"
<q-checkbox>电子邮件</q-checkbox> :options="options"
<q-checkbox>短信</q-checkbox> placeholder="Filled"
></q-select>
</div>
</div>
<div class="tips flex">
<div
@click="changeCouponType(item)"
class="nav-item cursor-pointer"
v-for="item in ['全部', '待付款', '待出行', '已完成', '已取消']"
:key="item"
>
{{ item }}
<div :class="selectedKey === item ? 'border-bottom' : ''"></div>
</div> </div>
<div> </div>
<div>消息提醒</div> <div>
<div class="text-grey-6"> <div class="card">
获取购物车内活动及支付状态、评价提醒、推荐好友获取优惠等信息 <div class="flex card-title justify-between">
<div class="flex">
<span>订单号</span>
<span class="phone">联系客服</span>
</div> </div>
<q-checkbox>电子邮件</q-checkbox> <span>2023-02-23 14:31:52</span>
<q-checkbox>短信</q-checkbox>
</div> </div>
<div> <div class="flex q-py-sm">
<div>賬戶通知</div> <img src="../../assets/img/avatar.png" />
<div class="text-grey-6"> <div class="name">
接收重要通知,如订单摘要、凭证及活动取消 <div>
【限量300张·售完即止】2023客路春季踏青
卡(春季特惠不约可退+广东省内周边9大路
</div>
<div>xl</div>
</div>
<div class="user-name">王然</div>
<div class="pay-info">
<div>CNY1188.00</div>
<div>在線支付</div>
</div>
<div class="order-info">
<div>等待收貨</div>
<div>订单详情</div>
</div>
<div class="order-action">
<div>确认收货</div>
<div>取消订单</div>
<div>查看發票</div>
</div> </div>
<q-checkbox>电子邮件</q-checkbox>
<q-checkbox>短信</q-checkbox>
</div>
<div>
<q-btn
color="primary"
unelevated
label="更改偏好設置"
@click="submit"
/>
</div> </div>
<div class="tips q-mt-lg">註銷賬戶</div>
<div class="q-mt-sm">删除您的Klook客路帐户及个人数据</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -101,6 +152,7 @@ ...@@ -101,6 +152,7 @@
export default { export default {
data() { data() {
return { return {
selectedKey: "全部",
form: { form: {
lastName: "", lastName: "",
firstName: "", firstName: "",
...@@ -111,6 +163,9 @@ export default { ...@@ -111,6 +163,9 @@ export default {
}; };
}, },
methods: { methods: {
changeCouponType(item) {
this.selectedKey = item;
},
submit() { submit() {
const verifyArr = ["fastName", "lastName"]; const verifyArr = ["fastName", "lastName"];
verifyArr.forEach((item) => { verifyArr.forEach((item) => {
......
This diff is collapsed.
...@@ -25,8 +25,8 @@ ...@@ -25,8 +25,8 @@
<template> <template>
<div class="content q-ma-lg bg-white q-pa-lg"> <div class="content q-ma-lg bg-white q-pa-lg">
<div class="tips"> <div class="tips">
個人信息<span class="text-grey-6" 出行人<span class="text-grey-6"
>(以下信息仅用于帮助你在支付时自动填写你的个人资料,你的信息将会安全地被印象保存且不会公开)</span >共計 3人,最多新增20人(含本人)</span
> >
</div> </div>
<div> <div>
......
...@@ -51,74 +51,94 @@ const routes = [{ ...@@ -51,74 +51,94 @@ const routes = [{
}, },
{ {
path: '/account', //用户信息 path: '/account', //用户信息
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/account.vue') import ('pages/usercenter/account.vue')
}, },
{ {
path: '/demandlist', //需求单列表 path: '/demandlist', //需求单列表
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/demandlist.vue') import ('pages/usercenter/demandlist.vue')
}, },
{ {
path: '/demandinfo/:id', //需求单详情 path: '/demandinfo/:id', //需求单详情
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/demandinfo.vue') import ('pages/usercenter/demandinfo.vue')
}, },
{ {
path: '/orderlist', //订单列表 path: '/orderlist', //订单列表
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/orderlist.vue') import ('pages/usercenter/orderlist.vue')
}, },
{ {
path: '/orderinfo/:id', //订单详情 path: '/orderinfo/:id', //订单详情
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/orderinfo.vue') import ('pages/usercenter/orderinfo.vue')
}, },
{ {
path: '/passengerList/:id', //旅客名单 path: '/passengerList/:id', //旅客名单
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/passengerList.vue') import ('pages/usercenter/passengerList.vue')
}, },
{ {
path: '/register', //用户注册 path: '/register', //用户注册
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/register.vue') import ('pages/usercenter/register.vue')
}, },
{ {
path: '/loginInfo', //账户设置 path: '/loginInfo', //账户设置
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/loginInfo.vue') import ('pages/usercenter/loginInfo.vue')
}, },
{ {
path: '/setAddress', //地址管理 path: '/setAddress', //地址管理
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/setAddress.vue') import ('pages/usercenter/setAddress.vue')
}, },
{ {
path: '/setInfo', //账户设置 path: '/setInfo', //账户设置
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/setInfo.vue') import ('pages/usercenter/setInfo.vue')
}, },
{ {
path: '/setUserInfo', //用户信息 path: '/setUserInfo', //用户信息
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/setUserInfo.vue') import ('pages/usercenter/setUserInfo.vue')
}, },
{ {
path: '/coupon', //优惠券 path: '/coupon', //优惠券
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/coupon.vue') import ('pages/usercenter/coupon.vue')
}, },
{ {
path: '/order', //用户订单 path: '/order', //用户订单
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/order.vue') import ('pages/usercenter/order.vue')
}, },
{ {
path: '/setUsersList', //用户订单 path: '/setUsersList', //用户订单
meta: {isUserCenter: true},
component: () => component: () =>
import ('pages/usercenter/setUsersList.vue') import ('pages/usercenter/setUsersList.vue')
}, },
{
path: '/payInfo', //支付管理
meta: {isUserCenter: true},
component: () =>
import ('pages/usercenter/payInfo.vue')
},
{ {
path: '/customer/:id', //自定义页面 path: '/customer/:id', //自定义页面
component: () => component: () =>
......
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