d2bdf28e by 华明祺

no message

1 parent 231f1f81
......@@ -8,6 +8,14 @@ export function getHotelList(params) {
})
}
export function getScenicList(params) {
return request({
url: `/ota/activityScenic/getScenicList`,
method: 'get',
params: params
})
}
export function getStudioList(params) {
return request({
url: `/ota/studio/list`,
......@@ -23,6 +31,16 @@ export function getHotelById(id) {
})
}
export function getScenicById(id) {
return request({
url: `/ota/scenic/getScenicInfo`,
method: 'get',
params: {
id
}
})
}
export function getStudioById(id) {
return request({
url: `/ota/studio/${id}`,
......@@ -221,6 +239,18 @@ export function checkRoomPayByUserId(id) {
})
}
export function checkOrderPay(orderType) {
return request({
url: `/ota/norder/checkNonPayment`,
method: 'get',
params: {
orderType
}
})
}
export function submitInvoice(form) {
return request({
url: `/ota/invoice`,
......@@ -471,7 +501,7 @@ export function checkNonPayment() {
return request({
url: `/ota/norder/checkNonPayment`,
method: 'get',
params: {orderType: 5}
params: { orderType: 5 }
})
}
......@@ -507,7 +537,7 @@ export function aadCustomer(data) {
export function delCustomer(id) {
return request({
url: `/ota/customer/${id}`,
method: 'delete',
method: 'delete'
})
}
......@@ -537,3 +567,11 @@ export function getTicketOrderInfo(params) {
params
})
}
export function getGateListByLasId(params) {
return request({
url: `/ota/scenicConfig/getGateListByLasId`,
method: 'get',
params
})
}
......
<template>
<div>
<div class="banner">
<h2>{{ language==0?'旅游服务':'Travel Service' }}</h2>
</div>
<div class="box">
<div class="searchBar">
<el-input :placeholder="language==0?'请输入关键字搜索':'Search'" v-model="query.name" class="no-border">
</el-input>
<el-button size="large" type="primary" class="btn-lineG" icon="search" @click="getList">
{{ language==0?'搜索':'Search' }}</el-button>
<div>
<div class="banner">
<h2>{{ language==0?'旅游服务':'Travel Service' }}</h2>
</div>
<div class="box">
<div class="searchBar">
<el-input v-model="query.name" :placeholder="language==0?'请输入关键字搜索':'Search'" class="no-border" />
<el-button size="large" type="primary" class="btn-lineG" icon="search" @click="getList">
{{ language==0?'搜索':'Search' }}</el-button>
</div>
</div>
</div>
<div class="box" v-loading="loading">
<el-row :gutter="20">
<el-col :lg="24" :md="24" :sm="24" :xs="24" :xl="24" v-for="(h,index) in list" class="mb20">
<el-card @click="goDetail(h)">
<!-- 酒店列表-->
<el-row class="hotel" align="middle" :gutter="20">
<el-col :span="6">
<div class="imgbox">
<img class="w100" :src="fillImgUrl(h.photos?.split(',')[0])"/>
</div>
</el-col>
<el-col :span="12">
<h3 class="esp">{{h.name}}</h3>
<div class="starBox">
<img v-for="i in Number(h.starLevel||0)" src="@/assets/booking/star.png">
</div>
<div class="tagbox esp">
<span v-for="(t,index) in h.label?.split(',')" v-show="index<4">{{t}}</span>
<a v-show="h.label?.split(',').length>4">{{ language==0?'更多':'MORE' }} ></a>
</div>
<p class="esp addr mt20">
<el-icon size="16" style="position: relative;top: 2px" color="#929AA0"><LocationFilled /></el-icon>
{{h.address}}
</p>
</el-col>
<el-col :span="4" class="text-right">
<div class="price">{{ language==0?'¥':'€' }}<span>{{ h.price }}</span>
<i v-if="language==0"></i>
</div>
<el-button class="btn-lineG w200px" round type="primary" >{{ language==0?'立即预订':'Select' }}</el-button>
</el-col>
</el-row>
</el-card>
</el-col>
</el-row>
<el-empty v-show="!loading&&list.length==0" :image="`/img/order_no.png`" :image-size="228" description="" />
<div style="height: 50px"></div>
<div v-loading="loading" class="box">
<el-row :gutter="20">
<el-col
v-for="(h,index) in list" :lg="24" :md="24" :sm="24" :xs="24"
:xl="24" class="mb20"
>
<el-card>
<!-- 酒店列表-->
<el-row class="hotel" align="middle" :gutter="20">
<el-col :span="6">
<div class="imgbox">
<img class="w100" :src="fillImgUrl(h.photos?.split(',')[0])">
</div>
</el-col>
<el-col :span="12">
<h3 class="esp">{{ h.name }}</h3>
<div class="starBox">
<img v-for="i in Number(h.rank||0)" src="@/assets/booking/star.png">
</div>
<p class="esp addr mt20">
<el-icon size="16" style="position: relative;top: 2px" color="#929AA0">
<Clock />
</el-icon>
<span class="ml5">{{ language == 0 ? '开园时间' : 'Opening Time' }}{{ h.startTime }}{{ h.workTime }}</span>
</p>
<p class="esp addr mt20">
<el-icon size="16" style="position: relative;top: 2px" color="#929AA0"><LocationFilled /></el-icon>
{{ h.address }}
</p>
</el-col>
<el-col :span="4" class="text-right">
<div class="price">{{ language==0?'¥':'€' }}<span>{{ h.price }}</span>
<i v-if="language==0"></i>
</div>
<el-button class="btn-lineG w200px" round type="primary" @click="goDetail(h)">{{ language==0?'立即预订':'Select' }}</el-button>
</el-col>
</el-row>
</el-card>
</el-col>
</el-row>
<el-empty v-show="!loading&&list.length==0" :image="`/img/order_no.png`" :image-size="228" description="" />
<div style="height: 50px" />
</div>
</div>
</div>
</template>
<script setup>
import {onMounted} from "@vue/runtime-core"
import * as booking from "@/apiPc/booking"
import {useRouter,useRoute} from "vue-router";
import {useStorage} from "@vueuse/core/index";
import useUserStore from "@/store/modules/user";
const router = useRouter()
const route = useRoute()
const user = useUserStore().user
const useStore = useUserStore
const language= useStorage('language',0)
const query = ref({
name:''
})
const cptId = ref('')
const list = ref([])
const loading = ref(false)
onMounted(()=>{
query.value.activityId = route.params.cptId
getList()
})
import { onMounted } from '@vue/runtime-core'
import * as booking from '@/apiPc/booking'
import { useRouter, useRoute } from 'vue-router'
import { useStorage } from '@vueuse/core/index'
import useUserStore from '@/store/modules/user'
function getList() {
loading.value = true
booking.getHotelList(query.value).then(res=>{
list.value = res.rows
loading.value = false
console.log(list.value)
const router = useRouter()
const route = useRoute()
const user = useUserStore().user
const useStore = useUserStore
const language = useStorage('language', 0)
const query = ref({
name: ''
})
const cptId = ref('')
const list = ref([])
const loading = ref(false)
onMounted(() => {
query.value.activityId = route.params.cptId
getList()
})
}).catch(e=>{
loading.value = false
})
function getList() {
loading.value = true
booking.getScenicList(query.value).then(res => {
list.value = res.rows
loading.value = false
console.log(list.value)
}).catch(e => {
loading.value = false
})
}
function goDetail(item) {
if (!user) {
useStore().setVisitor()
return
}
function goDetail(item) {
if(!user){
useStore().setVisitor()
return
router.push({
name: 'travelDetail',
params: {
scenicId: item.scenicId
},
query: {
lasId: item.id
}
router.push({
name:'travelDetail',
params:{
hotelId:item.hotelId,
},
query:{
id:item.id
}
})
}
})
}
</script>
<style scoped lang="scss">
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!