f638433a by 华明祺

no message

1 parent 9f337e69
......@@ -362,6 +362,14 @@ export function getMealOrderInfo(data) {
})
}
export function getScenicOrderInfo(data) {
return request({
url: `/ota/orderScenic/getScenicOrderInfo`,
method: 'get',
params: data
})
}
export function getMealOrderInfoByLogex(data) {
return request({
......@@ -371,6 +379,14 @@ export function getMealOrderInfoByLogex(data) {
})
}
export function getLogexScenicVoById(data) {
return request({
url: `/ota/activityScenic/getLogexScenicVoById`,
method: 'get',
params: data
})
}
export function getShootList(data) {
return request({
url: `/ota/activityShoot/getShootList`,
......
......@@ -166,49 +166,16 @@
<div v-if="type == 'travel'">
<div class="leftboderTT">{{ language == 0 ? '购票信息' : 'Ticket Information' }}</div>
<div class="border-info mt20">
<h3>{{ matchForm.name }}</h3>
<h3>{{ formInfo.name }}</h3>
<el-row>
<el-col>
{{ language == 0 ? '地址' : 'Address' }}
{{ matchForm.address }}
{{ formInfo.address }}
</el-col>
<el-col>
{{
form?.extJson?.ticketType?.name
}}:{{ form?.extJson?.num }}{{ language == 0 ? '张' : 'Tickets' }}
{{ language == 0 ? '开园时间' : 'Address' }}
{{ formInfo. startTime }} ~ {{ formInfo.workTime }}
</el-col>
<el-col>
{{
language == 0 ? '时间' : 'Time'
}}{{
dayjs(form?.extJson?.ticketDate?.ticketStart).format('YYYY-MM-DD')
}}{{
form.extJson?.ticketDate?.ticketType == 1 ? '~' + dayjs(form?.extJson?.ticketDate?.ticketEnd).format('YYYY-MM-DD') : ''
}}
</el-col>
<el-col v-if="form?.extJson?.ticketDate?.isCountSale==1">
{{
language == 0 ? `满${form?.extJson?.ticketDate.counts}人优惠` : `Discount for up to ${form?.extJson?.ticketDate.counts} people`
}}<span v-if="language == 0">{{ form?.extJson?.ticketDate.discount }}</span>
<span v-else>{{ (10 - form?.extJson?.ticketDate.discount) * 10 + '%' }}off</span>
</el-col>
<!-- <el-col>-->
<!-- {{-->
<!-- language == 0 ? '原价票' : 'Cost Ticket'-->
<!-- }}{{-->
<!-- language == 0 ? form?.extJson?.ticketDate?.price : form?.extJson?.ticketDate?.priceEn-->
<!-- }}{{ language == 0 ? '元' : 'Euro' }} x 1-->
<!-- {{ language == 0 ? '张' : 'Tickets' }}-->
<!-- </el-col>-->
<!-- <el-col>-->
<!-- {{-->
<!-- language == 0 ? '优惠票' : 'Concession Ticket'-->
<!-- }}{{-->
<!-- language == 0 ? form?.extJson?.ticketDate?.rebatePrice : form?.extJson?.ticketDate?.rebatePriceEn-->
<!-- }}{{ language == 0 ? '元' : 'Euro' }} x 1-->
<!-- {{ language == 0 ? '张' : 'Tickets' }}-->
<!-- </el-col>-->
</el-row>
</div>
</div>
......@@ -378,33 +345,17 @@
</el-row>
<el-row v-if="type == 'travel'" style="width: 100%">
<el-row v-for="v in form.extJson?.message" style="width: 100%">
<el-row v-for="(v,i) in form.personArr" :key="i" style="width: 100%">
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div>{{ v.name }}
</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<!-- <div>{{-->
<!-- !v.discount ? language == 0 ? '原价票' : 'Cost Ticket' : language == 0 ? '优惠票' : 'Concession Ticket'-->
<!-- }}-->
<!-- </div>-->
<div>{{ v.idCard }}
</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div v-if="language == 0 ">
{{ language == 0 ? '¥' : '€' }}
{{
!v.discount ? form.extJson?.ticketDate?.price : form.extJson?.ticketDate?.rebatePrice
}}
/{{ language == 0 ? '张' : 'Tickets' }}
</div>
<div v-else>
{{ language == 0 ? '¥' : '€' }}
{{
!v.discount ? form.extJson?.ticketDate?.priceEn : form.extJson?.ticketDate?.rebatePriceEn
}}
/{{ language == 0 ? '张' : 'Tickets' }}
<div>{{ v.gateName }}
</div>
</el-col>
</el-row>
......@@ -412,7 +363,7 @@
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div>{{
language == 0 ? '购票数量' : 'Number of tickets purchased'
}}{{ form.num }}{{ language == 0 ? '张' : 'Tickets' }}
}}{{ form.personArr?.length }}{{ language == 0 ? '张' : 'Tickets' }}
</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">{{
......@@ -647,38 +598,30 @@
</template>
<script setup>
import { Search } from '@element-plus/icons-vue'
import { getCurrentInstance, ref } from 'vue'
import { onMounted } from '@vue/runtime-core'
import { useRoute, useRouter } from 'vue-router'
import * as booking from '@/apiPc/booking'
import Dialog from '@/viewsPc/booking/component/dailog.vue'
import MatchInfoRow from '@/viewsPc/match/components/matchInfo-row'
const { proxy } = getCurrentInstance()
const route = useRoute()
const router = useRouter()
const matchInfo = ref({})
const approved = ref(true)
const tableData = ref([])
const payType = ref('2')
const orderId = ref(route.query.orderId)
const matchId = ref()
const groupId = ref()
import useUserStore from '@/store/modules/user'
import FileUpload from '@/components/FileUpload'
import { useStorage } from '@vueuse/core/index'
import { ElMessage, ElMessageBox } from 'element-plus'
import {
cancelOrder,
cancelOrder2, getBaseInfoByActiveId,
getCarBilldetailbyId,
getFoodBilldetailbyId,
getMealOrderInfoByLogex, getPhotoOrderInfo, getPhotoOrderInfoByLogex, getTicketInfoByActivityId, getTicketOrderInfo
cancelOrder2,
getBaseInfoByActiveId,
getTicketInfoByActivityId,
getTicketOrderInfo
} from '@/apiPc/booking'
import dayjs from 'dayjs'
import { delPerson } from '@/api/exam/person'
const isLogin = ref(false)
const language = useStorage('language', 0)
......@@ -695,7 +638,6 @@ const loading = ref(false)
const lpName = ref('')
const matchForm = ref({})
const user = useUserStore().user
if (useUserStore().user) {
isLogin.value = true
}
......@@ -728,6 +670,9 @@ onMounted(() => {
case '5':
type.value = 'ticket'
break
case '6':
type.value = 'travel'
break
}
}
if (route.query.matchId) {
......@@ -796,11 +741,20 @@ function getData() {
if (type.value == 'travel') {
getTravelOrderInfo()
}
console.log(payType.value)
}
//旅游订单详情
// 旅游订单详情
const getTravelOrderInfo = () => {
return booking.getScenicOrderInfo({ orderId: orderId.value }).then(res => {
form.value = res.data
totalFee.value = language.value == 0 ? form.value.total : form.value.totalEn
matchId.value = form.value.activeId
form.value.personArr = JSON.parse(form.value.message)
ScenicInfo()
console.log(res)
}).catch(err => {
console.log(err)
errorBox.value = true
})
}
// 票务订单详情
async function getTicketOrderInfoFN() {
......@@ -932,6 +886,16 @@ function MakeUpIno() {
})
}
function ScenicInfo() {
booking.getLogexScenicVoById({ id: form.value.asId }).then(res => {
formInfo.value = res.data
console.log(res)
}).catch((e) => {
console.log(e)
errorBox.value = true
})
}
function photographyOrder() {
return booking.getPhotoOrderInfo({ orderId: orderId.value }).then(res => {
......
......@@ -59,11 +59,11 @@
</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'
import { ref, onMounted } from 'vue'
const router = useRouter()
const route = useRoute()
......@@ -73,7 +73,6 @@ const language = useStorage('language', 0)
const query = ref({
name: ''
})
const cptId = ref('')
const list = ref([])
const loading = ref(false)
onMounted(() => {
......
......@@ -139,23 +139,18 @@
<script setup>
import { useRouter } from 'vue-router'
import { ref, reactive, onMounted, getCurrentInstance, computed } from 'vue'
import { ref, onMounted, computed } from 'vue'
import { useRoute } from 'vue-router'
import { dayjs } from 'element-plus'
import { getHotelById, getHotelRooms, checkRoomPayByUserId, getScenicById, checkOrderPay } from '@/apiPc/booking'
import { getScenicById, checkOrderPay } from '@/apiPc/booking'
import { getBaseInfoByActiveId } from '@/apiPc/booking'
const { proxy } = getCurrentInstance()
import { useStorage } from '@vueuse/core/index'
import useUserStore from '@/store/modules/user'
import { ElMessageBox } from 'element-plus'
const currentDate = ref(new Date())
const currentDate1 = ref(new Date())
const calendarRange = ref([dayjs(currentDate.value).toDate(), (dayjs(currentDate.value).toDate())])
const user = useUserStore().user
const useStore = useUserStore
const language = useStorage('language', 0)
const router = useRouter()
const route = useRoute()
......@@ -166,12 +161,8 @@ const query = ref({
const hotTime = ref([])
const showAll = ref(false)
const loading = ref(false)
const roomList = ref([])
const map = ref(null)
const formTime = ref({})
let baseHotTime
onMounted(() => {
getBaseInfoByActiveId(route.params.cptId).then(res => {
formTime.value = res.data || null
......@@ -180,29 +171,10 @@ onMounted(() => {
formTime.value = null
}).finally(() => {
console.log(formTime.value)
getDateTime()
getData()
})
})
function initTime() {
if (!hotTime.value[0]) {
hotTime.value = baseHotTime
getRoomList()
}
}
function getDateTime() {
if (formTime.value) {
if (dayjs().isBefore(dayjs(formTime.value.scenicStart))) {
baseHotTime = [dayjs(formTime.value.scenicStart).format('YYYY-MM-DD'), dayjs(formTime.value.scenicStart).add(1, 'day').format('YYYY-MM-DD')]
} else {
baseHotTime = [dayjs().format('YYYY-MM-DD'), dayjs().add(1, 'day').format('YYYY-MM-DD')]
}
}
}
function getData() {
loading.value = true
getScenicById(route.params.scenicId).then(res => {
......@@ -237,60 +209,7 @@ const btnDisable = computed(() => {
})
function initMap() {
// const TMap = (window as any).TMap
var center = new TMap.LatLng(form.value.latitude, form.value.longitude)// 设置中心点坐标'
var map = new TMap.Map('map', {
center: center, // 设置地图中心点坐标
zoom: 17 // 设置地图缩放级别
})
var infoWindowLocation = new TMap.LatLng(form.value.latitude, form.value.longitude)// 创建一个坐标
// 创建InfoWindow实例,并进行初始化
var infowindow = new TMap.InfoWindow({
content: form.value.address, // 信息窗口内容
position: infoWindowLocation, // 显示信息窗口的坐标
map: map,
offset: { x: 0, y: -32 }
})
infowindow.close()
var marker = new TMap.MultiMarker({
map: map,
// 样式定义
styles: {
'myStyle': new TMap.MarkerStyle({
'anchor': { x: 16, y: 32 }
})
},
// 点标记数据数组
geometries: [{
'id': '1', // 点标记唯一标识,后续如果有删除、修改位置等操作,都需要此id
// "styleId": 'myStyle', //指定样式id
'position': new TMap.LatLng(form.value.latitude, form.value.longitude), // 点标记坐标位置
'properties': { // 自定义属性
'title': form.value.name
}
}
]
})
marker.on('click', function(evt) {
// 设置infoWindow
infowindow.open() // 打开信息窗
infowindow.setPosition(evt.geometry.position)// 设置信息窗位置
})
}
function goOrder(room) {
// if (!hotTime.value) {
// proxy.$modal.msgError(language.value == 0 ? '请先选择出发日期' : 'Please choose the date of check-in first')
// return
// }
// if (room.useCount <= 0) {
// ElMessageBox.confirm(language.value == 0 ? `您当前选择的日期是${hotTime.value[0]}至 ${hotTime.value[1]},该时间段暂无可预订房间,请选择其他日期`
// : `You currently select the check-in date of ${hotTime.value[0]} to ${hotTime.value[1]}, there is no room available for booking at this time period, please choose another date`, { type: 'warning' }).then({
//
// })
// return
// }
ElMessageBox.confirm(language.value == 0 ? `你当前选择的出行日期为${dayjs(currentDate.value).format('YYYY-MM-DD')}是否确定?` : `Your current check-in time is ${dayjs(currentDate.value).format('YYYY-MM-DD')} Are you sure?`, { type: 'warning' }).then({}).then(() => {
checkOrderPay(6).then(res => {
if (res.data == -100) {
......@@ -327,19 +246,6 @@ function goNext() {
})
}
function getDaysBetween() {
if (hotTime.value && hotTime.value.length == 2) {
const d1 = dayjs(hotTime.value[0]).format('YYYY-MM-DD')
const d2 = dayjs(hotTime.value[1]).format('YYYY-MM-DD')
if (d1 == d2) {
getDateTime()
return proxy.$modal.msgError(language.value == 0 ? '入住时间跨度需要大于一天' : 'The duration of the stay must be more than one day.')
} else {
getRoomList()
}
}
}
function disabledDateRZ(date) {
// 判读今天大与form.value.hqStart
if (formTime.value.scenicStart) {
......@@ -350,16 +256,6 @@ function disabledDateRZ(date) {
return !((date.getTime() >= dayjs(formTime.value.scenicStart).valueOf()) && (date.getTime() <= dayjs(formTime.value.scenicEnd).valueOf()))
}
}
// return true
}
function goMap() {
return
// var tencentMapUrl = "https://map.qq.com/";
// window.location.href = tencentMapUrl;
var url = `https://map.qq.com/?type=gcj02&lat=${form.value.latitude}&lng=${form.value.longitude}`
var mapUrl_tx = 'http://apis.map.qq.com/uri/v1/marker?marker=coord:' + form.value.latitude + ',' + form.value.longitude + '&referer=yellowpage'
window.open(url, '_blank')
}
</script>
......
......@@ -16,7 +16,7 @@
<el-col :span="language == 0?16:24">
<h3 class="esp flex">{{ scenicItem?.name }}
<el-tag effect="dark" class="ml20">{{scenicItem?.rank||0}}A</el-tag>
<el-tag effect="dark" class="ml20">{{ scenicItem?.rank||0 }}A</el-tag>
</h3>
<div class="info">
<el-icon>
......@@ -82,7 +82,7 @@
<el-icon @click="delPerson(n,j)"><Remove /></el-icon>
{{ n.name }}{{ j+1 }}
</label>
<div class="mation" v-if="p.name">
<div v-if="p.name" class="mation">
<div>{{ p.name }}</div>
身份证:{{ p.idCard }}
</div>
......@@ -106,7 +106,7 @@
<div v-for="(c, index) in gateList" v-show="c.count>0" :key="index" class="ccitem">
{{c.name}}
{{ c.name }}
<span v-if="language==0">{{ c.count }}*{{ '¥' }}{{ c.price }}</span>
<span v-else>{{ c.count }}*{{ '€' }}{{ c.priceEn }}</span>
</div>
......@@ -159,16 +159,9 @@ const user = useUserStore().user
const language = useStorage('language', 0)
const router = useRouter()
const route = useRoute()
const room = ref({})
const loading = ref(false)
const canOrderNum = ref(0)
const needPersonNum = ref(0)
const hasPersonNum = ref(0)
const person = ref({
name: '',
idcCode: ''
})
const show = ref(false)
const lform = ref({})
const scenicItem = ref({})
const form = ref({
......@@ -179,13 +172,11 @@ const form = ref({
const rzRange = ref('')
const gateList = ref([])
const money = ref(0)
const choseRooms = ref([])
const choosePersonRef = ref([])
const rules = ref({
phone: { required: true, message: language.value == 0 ? '请输入联系电话' : 'Please enter a contact number', trigger: 'blur' }
})
const usedays = 0
onMounted(() => {
money.value = 0
rzRange.value = route.params.start
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!