Commit 92629165 authored by 吴春's avatar 吴春

解决冲突

parents 8c59bc51 0574c6fd
......@@ -22,12 +22,14 @@
"qrcode.vue": "^1.7.0",
"qrcodejs2": "^0.0.2",
"quasar": "^1.22.5",
"swiper": "3.0.4",
"v-viewer": "^1.6.4",
"vue-awesome-swiper": "^3.0.4",
"vue-concise-slider": "^4.2.5",
"vue-core-video-player": "^0.2.0",
"vue-core-video-players": "0.0.5",
"vue-i18n": "^8.0.0"
"vue-i18n": "^8.0.0",
"vuelidate": "^0.7.7"
},
"devDependencies": {
"@quasar/app": "^1.0.0"
......@@ -40,4 +42,4 @@
"browserslist": [
"last 1 version, not dead, ie >= 11"
]
}
\ No newline at end of file
}
import { Notify, QSpinnerIos } from 'quasar'
const message = {
warn: (msg) => {
Notify.create({
message: msg,
color: 'warning',
textColor: 'dark',
position: 'top',
icon: 'announcement'
})
},
error: (msg) => {
Notify.create({
message: msg,
type: 'negative',
position: 'top'
})
},
success: (msg) => {
Notify.create({
message: msg,
color: 'positive',
position: 'top',
textColor: 'white',
icon: 'check'
})
}
}
export default message
\ No newline at end of file
......@@ -18,7 +18,7 @@ const user = {
if (u) {
localStorage.setItem('b2bUser', JSON.stringify(u))
} else {
localStorage.setItem('b2bUser', JSON.stringify(u))
//localStorage.removeItem('b2bUser')
}
},
loginOut() {
......
......@@ -2,17 +2,17 @@ import Vue from 'vue'
import axios from 'axios'
import md5 from 'js-md5'
// import {eventBus} from './eventBus'
// import VueCoreVideoPlayer from 'vue-core-video-players'
import VueCoreVideoPlayer from 'vue-core-video-players'
import 'viewerjs/dist/viewer.css'
import Vuelidate from 'vuelidate'
import user from './user'
import message from './message'
import VueViewer from 'v-viewer'
// import VueCoreVideoPlayer from 'vue-core-video-player'
Vue.prototype.$EventBus = new Vue()
// Vue.use(VueCoreVideoPlayer)
Vue.use(VueCoreVideoPlayer)
Vue.use(VueViewer)
Vue.prototype.$md5 = md5;
Vue.use(Vuelidate)
Vue.prototype.$message = message
//域名管理对象
Vue.prototype.domainManager = function() {
let domainUrl = '';
......
......@@ -13,44 +13,32 @@
<template v-if="dataList.CarType!=3">
<div class="text-grey-6 f12 q-my-md">選擇機場</div>
<div class="row wrap">
<q-btn @click="handleSelect(item,1)"
:color="selectedAirportObj&&item.Id === selectedAirportObj.Id?'primary':'grey-5'"
unelevated
class="car-tag mr"
v-for="item in AirportList"
:key="item.Id"
>
{{ item.AirportName }}
</q-btn>
<div v-for="(x,i) in AirportList" :key="i">
<q-chip size="14px" clickable @click="handleSelect(x,1)"
:text-color="selectedAirportObj&&selectedAirportObj.Id==x.Id?'white':'dark'"
:color="selectedAirportObj&&selectedAirportObj.Id==x.Id?'primary':'grey-3'" square>{{ x.AirportName }}</q-chip>
</div>
</div>
</template>
<div class="row">
<div v-if="dataList.CarType!=1">
<div class="row no-wrap">
<div v-if="dataList.CarType!=1" :class="{'col':PlaceList.length>2}">
<div class="text-grey-6 f12 q-my-md">選擇上車範圍</div>
<div class="row wrap">
<q-btn @click="handleSelect(item,3)"
:color="onCarObj&&item.Id === onCarObj.Id?'primary':'grey-5'"
unelevated
class="car-tag mr"
v-for="item in PlaceList"
:key="item.Id"
>
{{ item.Name }}({{ item.Range }}m)
</q-btn>
</div>
<div v-for="(x,i) in PlaceList" :key="i">
<q-chip size="14px" clickable @click="handleSelect(x,3)"
:text-color="onCarObj&&onCarObj.Id==x.Id?'white':'dark'"
:color="onCarObj&&onCarObj.Id==x.Id?'primary':'grey-3'" square>{{ x.Name }}({{ x.Range }}m)</q-chip>
</div>
</div>
<div v-if="dataList.CarType!=2">
</div>
<div v-if="dataList.CarType!=2" class="q-ml-md" :class="{'col':PlaceList.length>2}">
<div class="text-grey-6 f12 q-my-md">選擇下車範圍</div>
<div class="row wrap">
<q-btn @click="handleSelect(item,4)"
:color="unCarObj&&item.Id === unCarObj.Id?'primary':'grey-5'"
unelevated
class="car-tag mr"
v-for="item in PlaceList"
:key="item.Id"
>
{{ item.Name }}({{ item.Range }}m)
</q-btn>
<div v-for="(x,i) in PlaceList" :key="i">
<q-chip size="14px" clickable @click="handleSelect(x,4)"
:text-color="unCarObj&&unCarObj.Id==x.Id?'white':'dark'"
:color="unCarObj&&unCarObj.Id==x.Id?'primary':'grey-3'" square>{{ x.Name }}({{ x.Range }}m)</q-chip>
</div>
</div>
</div>
</div>
......@@ -58,15 +46,11 @@
<div class="text-grey-6 f12 q-my-md">選擇車類型</div>
<div class="row wrap">
<q-btn @click="handleSelect(item,2)"
:color="selectedCarObj&&item.Id === selectedCarObj.Id?'primary':'grey-5'"
unelevated
class="car-tag mr"
v-for="item in CarTypeList"
:key="item.Id"
>
{{ item.CarName }}({{ item.PeopleNum }}人)
</q-btn>
<div v-for="(x,i) in CarTypeList" :key="i">
<q-chip size="14px" clickable @click="handleSelect(x,2)"
:text-color="selectedCarObj&&selectedCarObj.Id==x.Id?'white':'dark'"
:color="selectedCarObj&&selectedCarObj.Id==x.Id?'primary':'grey-3'" square>{{ x.CarName }}({{ x.PeopleNum }}人)</q-chip>
</div>
</div>
<div class="text-grey-6 f12 q-my-md">選擇數量</div>
<div class="row items-end">
......@@ -201,44 +185,24 @@ export default {
methods: {
goOrderHandler(){
let order = {
key: null,
CarObj: this.selectedCarObj,
AirportObj: {
Address: this.selectedAirportObj?this.selectedAirportObj.Address:'',
AirportId: this.selectedAirportObj?this.selectedAirportObj.AirportId:'',
AirportName: this.selectedAirportObj?this.selectedAirportObj.AirportName:'',
Id: this.selectedAirportObj?this.selectedAirportObj.Id:'',
Name: this.selectedAirportObj?this.selectedAirportObj.Name:''
},
calculationAmount: this.p,
calculationNum: this.chosenObj,
CarId: this.selectedCarObj.Id,
AirportId: this.selectedAirportObj?this.selectedAirportObj.Id:'',
startDate: this.p.startDate,
originalB2CPrice: this.p.originalB2CPrice,
orderInfo: this.chosenObj,
sumPrice: this.sumPrice,
details: {
Name: this.dataList.Name,
Description: this.dataList.Description,
videoStr: this.dataList.videoStr,
imgCover: this.dataList.imgCover,
CarType: this.dataList.CarType,
Id: this.dataList.Id,
},
onCarObj: {
Address: this.onCarObj?this.onCarObj.Address:'',
Name: this.onCarObj?this.onCarObj.Name:'',
Lat: this.onCarObj?this.onCarObj.Lat:'',
Lng: this.onCarObj?this.onCarObj.Lng:'',
Range: this.onCarObj?this.onCarObj.Range:'',
},
unCarObj: {
Address: this.unCarObj?this.unCarObj.Address:'',
Name: this.unCarObj?this.unCarObj.Name:'',
Lat: this.unCarObj?this.unCarObj.Lat:'',
Lng: this.unCarObj?this.unCarObj.Lng:'',
Range: this.unCarObj?this.unCarObj.Range:''
},
Id: this.dataList.Id,
onCarId: this.onCarObj?this.onCarObj.Id:'',
unCarId: this.unCarObj?this.unCarObj.Id:'',
}
let key = this.$md5(JSON.stringify(order))
order.key = key
localStorage.setItem("pickuporderCars",JSON.stringify(order))
let pickuporderCars = localStorage.getItem('pickuporderCars')
pickuporderCars = pickuporderCars?JSON.parse(pickuporderCars):[]
pickuporderCars.push({
key,
order
})
localStorage.setItem("pickuporderCars",JSON.stringify(pickuporderCars))
this.CommonJump('/PickuporderForm/'+key, {});
},
// 获取车的详情
......
......@@ -248,7 +248,7 @@
</p>
</div>
</div>
<div style="display: flex; justify-content: center">
<div class="row justify-end">
<q-pagination
v-if="PageCount > 1"
v-model="msg.pageIndex"
......@@ -644,7 +644,7 @@ export default {
var companyId = -1;
if (localStorage.groupinfo) {
var groupinfo = JSON.parse(localStorage.groupinfo);
companyId = groupinfo.siteList[0].companyId;
companyId = groupinfo.siteList[0]&&groupinfo.siteList[0].companyId?groupinfo.siteList[0].companyId:-1;
}
if (localStorage.b2bUser) {
var b2bUser = JSON.parse(window.localStorage.getItem("b2bUser"));
......@@ -661,7 +661,7 @@ export default {
this.$q.loading.hide();
if (res.data.resultCode == 1) {
this.PageCount = res.data.data.pageData.pageCount;
this.PageCount = res.data.data.pageCount;
this.TotalCount = res.data.data.pageData.count;
var tempArray = res.data.data.pageData.list;
console.log('getSearch data', tempArray)
......
......@@ -12,7 +12,8 @@
<p class="day"><span v-if='item.dayNum<10'>0</span>{{item.dayNum}}</p>
<!-- <p>{{item.dateTime}}</p> -->
</div>
<div class="desc" v-html="item.title"></div>
<div class="desc" v-html="item.title!='null'?item.title:''"></div>
</div>
<oneday v-if="item.details && item.details.length==1" :day='item' :isDirect="isDirect"></oneday>
<twoday v-if="item.details && item.details.length==2" :day='item' :isDirect="isDirect"></twoday>
......
......@@ -53,43 +53,41 @@
></q-img>
</template>
</div>
<div class="row items-end" style="border: 1px solid #ccc; left: 0">
<div class="q-pb-lg">
<div class="down q-pa-lg" :class="{ col: index == 0 }">
<div
v-if="item.title != ''"
class="text-h6 text-bold q-pb-sm"
v-html="item.title"
@click.stop="goUrl(item.url)"
style="
cursor: pointer;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
"
></div>
<div
class="playInfo"
<div class="row items-end col" style="border: 1px solid #ccc; left: 0">
<div class="down q-pa-lg q-mb-lg" :class="{ col: index == 0 }">
<div
v-if="item.title != ''"
class="text-h6 text-bold q-pb-sm"
v-html="item.title"
@click.stop="goUrl(item.url)"
style="
cursor: pointer;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
"
></div>
<div
class="playInfo"
v-if="item.playTimeHour || item.playTimeMinutes"
>
<span class="playInfo-item" v-if="item.ticketName != ''">
</span>
<span
class="playInfo-item"
v-if="item.playTimeHour || item.playTimeMinutes"
>
<span class="playInfo-item" v-if="item.ticketName != ''">
<i class="iconfont icon-shijian1"></i>
<span v-if="item.playTimeHour"
>{{ item.playTimeHour }}小时
</span>
<span
class="playInfo-item"
v-if="item.playTimeHour || item.playTimeMinutes"
>
<i class="iconfont icon-shijian1"></i>
<span v-if="item.playTimeHour"
>{{ item.playTimeHour }}小时
</span>
<span v-if="item.playTimeMinutes"
>{{ item.playTimeMinutes }}分钟
</span>
<span v-if="item.playTimeMinutes"
>{{ item.playTimeMinutes }}分钟
</span>
</div>
<span v-html="item.content"></span>
</span>
</div>
<span v-html="item.content"></span>
</div>
</div>
</div>
......
......@@ -381,7 +381,7 @@ export default {
if (this.p.startDate) {
this.chosenObj.startDate = this.p.startDate;
this.calcMoney();
if(this.p.unionCityList && this.p.unionCityList.length>0){
if(this.p.unionCityList && this.p.unionCityList.length>0 && this.p.originalB2CPrice==this.p.RealPrice){
this.currentUnionCity = this.p.unionCityList[0]
}
}
......
This diff is collapsed.
......@@ -23,7 +23,7 @@
class="col product-price text-subtitle1 text-weight-bold"
style="text-align: left"
>
<span v-if="dataList&&dataList.MinPrice">CNY {{ moneyFormat(dataList.MinPrice, 0) }}</span>
<span v-if="dataList&&dataList.MinPrice">{{dataList.CurrencyCode}} {{ moneyFormat(dataList.MinPrice, 0) }}</span>
<span class="q-ml-sm f12 text-grey-7"></span>
</span>
<q-btn
......@@ -173,7 +173,7 @@
>
<div class="product-price text-h6" v-if="dataList.MinPrice > 0">
<!-- CNY:{{ dataList. }} -->
CNY{{ moneyFormat(dataList.MinPrice, 0) }}
{{dataList.CurrencyCode}}{{ moneyFormat(dataList.MinPrice, 0) }}
<span class="f12 text-grey-6"></span>
</div>
<div v-else class="text-subtitle1 text-grey-6">暫無報價</div>
......@@ -327,7 +327,7 @@
<div class="" v-if="$q.platform.is.desktop">
<div class="row items-center">
<span class="product-price text-h6 q-mr-md"
>CNY
>{{dataList.CurrencyCode}}
{{
moneyFormat(priceList[0].originalB2CPrice, 0)
}}</span
......@@ -350,7 +350,7 @@
style="border-top: 1px solid #eee"
v-if="showOrderPreview"
>
<div class="q-pa-md bg-grey-2 row items-center rounded-borders">
<div v-if="dataList.FreeCancelDay>0||dataList.TravelHours>0" class="q-pa-md bg-grey-2 row items-center rounded-borders">
<div class="text-subtitle2 text-weight-bold q-mr-xl">
關於此方案
</div>
......@@ -361,6 +361,8 @@
icon="iconfont iconcancel"
:label="`${dataList.FreeCancelDay}天前可免费取消`"
/>
<q-chip v-if="dataList.TravelHours>0" class="transparent q-mr-xl no-padding"
icon="iconfont icontime" :label="`行程時間:${dataList.TravelHours}小時`" />
</div>
<div class="q-mt-lg row" v-if="$q.platform.is.desktop">
<div class="col">
......
This diff is collapsed.
<template>
<div class="content-page order-preview">
<q-stepper
v-model="step"
ref="stepper"
color="primary"
inactive-color="grey-5 "
done-color="primary"
class="bg-transparent"
flat
animated
>
<q-step
:name="1"
title="確認訂單"
icon="settings"
:done="step > 1"
></q-step>
<q-step
:name="2"
title="付款"
icon="iconfont iconPayment-1"
:done="step > 2"
></q-step>
<q-step
:name="3"
title="訂購完成"
icon="iconfont iconicon_finish_R"
:done="step == 3"
></q-step>
</q-stepper>
</div>
</template>
<script>
export default {
data() {
return {
step:2
}
},
}
</script>
<style>
</style>
\ No newline at end of file
......@@ -326,9 +326,6 @@ export default {
console.log('this.$refs[item]', this, item, this.$refs[item])
this.$refs[item].validate();
});
// this.$refs.Surname.validate();
// this.$refs.Name.validate();
// this.$refs.BirthDate.validate();
verifyArr.forEach((item) => {
console.log('item', item)
if (this.$refs[item].hasError) {
......
This diff is collapsed.
......@@ -51,91 +51,91 @@ const routes = [{
},
{
path: '/account', //用户信息
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/account.vue')
},
{
path: '/demandlist', //需求单列表
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/demandlist.vue')
},
{
path: '/demandinfo/:id', //需求单详情
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/demandinfo.vue')
},
{
path: '/orderlist', //订单列表
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/orderlist.vue')
},
{
path: '/orderinfo/:id', //订单详情
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/orderinfo.vue')
},
{
path: '/passengerList/:id', //旅客名单
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/passengerList.vue')
},
{
path: '/register', //用户注册
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/register.vue')
},
{
path: '/loginInfo', //账户设置
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/loginInfo.vue')
},
{
path: '/setAddress', //地址管理
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/setAddress.vue')
},
{
path: '/setInfo', //账户设置
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/setInfo.vue')
},
{
path: '/setUserInfo', //用户信息
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/setUserInfo.vue')
},
{
path: '/coupon', //优惠券
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/coupon.vue')
},
{
path: '/order', //用户订单
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/order.vue')
},
{
path: '/setUsersList', //用户订单
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/setUsersList.vue')
},
{
path: '/payInfo', //支付管理
meta: {isUserCenter: true},
meta: { isUserCenter: true },
component: () =>
import ('pages/usercenter/payInfo.vue')
},
......@@ -154,6 +154,11 @@ const routes = [{
component: () =>
import ('pages/line/orderPreview.vue')
},
{
path: '/pay/:id?', //自定义页面
component: () =>
import ('pages/line/pay.vue')
},
]
},
......
......@@ -8916,6 +8916,11 @@ svgo@^1.0.0:
unquote "~1.1.1"
util.promisify "~1.0.0"
swiper@3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/swiper/-/swiper-3.0.4.tgz#6a9810d33431bb05dbfa4276a8338e20968e3e12"
integrity sha512-t/EPKnUHHtH1A3Owj904EO8kWy6QVLeuVT2p1/P/TAzuvY5AI/37265o8f2OrVCK/qoafJ8mT52ymOGb6M0BbA==
swiper@^4.0.7:
version "4.5.1"
resolved "https://registry.yarnpkg.com/swiper/-/swiper-4.5.1.tgz#ed43998e780ceb478610079c8d23fd425eca636f"
......@@ -9622,6 +9627,11 @@ vue@^2.6.10:
"@vue/compiler-sfc" "2.7.14"
csstype "^3.1.0"
vuelidate@^0.7.7:
version "0.7.7"
resolved "https://registry.yarnpkg.com/vuelidate/-/vuelidate-0.7.7.tgz#5df3930a63ddecf56fde7bdacea9dbaf0c9bf899"
integrity sha512-pT/U2lDI67wkIqI4tum7cMSIfGcAMfB+Phtqh2ttdXURwvHRBJEAQ0tVbUsW9Upg83Q5QH59bnCoXI7A9JDGnA==
vuex@3.4.0:
version "3.4.0"
resolved "https://registry.npmmirror.com/vuex/-/vuex-3.4.0.tgz"
......
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