Commit a54f50cf authored by 黄奎's avatar 黄奎

页面修改

parent af9420dc
<template>
<div v-if="$q.platform.is.mobile" class="rounded-borders bg-white row items-center q-ma-sm q-py-md q-mb-md q-px-md">
<q-input v-model="searchClone.searchKey" class="SearchMain-height" dense reverse-fill-mask ftype="text" standout :label="$t('v103.scheduledTrip.searchinput')" @update:model-value="changeAddrSearchHandler"/>
<div
v-if="$q.platform.is.mobile"
class="rounded-borders bg-white row items-center q-ma-sm q-py-md q-mb-md q-px-md"
>
<q-input
v-model="searchClone.searchKey"
class="SearchMain-height"
dense
reverse-fill-mask
ftype="text"
standout
:label="$t('v103.scheduledTrip.searchinput')"
@update:model-value="changeAddrSearchHandler"
/>
<div class="col"></div>
<q-btn unelevated class="bg-grey-3 hover q-mr-md" :title="$t('morequery')">
<q-badge rounded class="din bg-red-2 text-red-14 text-weight-bold" floating :label="searchCnt"
v-if="searchCnt > 0" />
<svg-icon color="dark" icon="Text/Filter.svg" :tips="$t('morequery')" :size="20"></svg-icon>
<q-tooltip>{{ $t('morequery') }}</q-tooltip>
<q-popup-proxy class="no-shadow" style="box-shadow: 0 0 50px #ddd !important" :offset="[0, 20]"
:model-value="canHide">
<q-badge
rounded
class="din bg-red-2 text-red-14 text-weight-bold"
floating
:label="searchCnt"
v-if="searchCnt > 0"
/>
<svg-icon
color="dark"
icon="Text/Filter.svg"
:tips="$t('morequery')"
:size="20"
></svg-icon>
<q-tooltip>{{ $t("morequery") }}</q-tooltip>
<q-popup-proxy
class="no-shadow"
style="box-shadow: 0 0 50px #ddd !important"
:offset="[0, 20]"
:model-value="canHide"
>
<q-card class="q-pa-md rounded-borders" style="width: 300px">
<div class="q-mb-md text-subtitle2">{{ $t('morequery') }}</div>
<div class="q-mb-md text-subtitle2">{{ $t("morequery") }}</div>
<div class="rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3">
<div class="q-px-sm q-py-xs row justify-between">
<span>{{$t('v103.scheduledTrip.companylocation')}}</span>
<span>{{ $t("v103.scheduledTrip.companylocation") }}</span>
<template v-for="(x, i) in chosenAddress">
<span class="text-primary" v-if="i==0">{{x.Name}}</span>
<span class="text-primary" v-if="i == 0">{{ x.Name }}</span>
</template>
</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy0">
<div class="bg-white q-pb-lg" style="width: 300px;">
<div class="q-px-lg q-py-md fz18">{{$t('v103.scheduledTrip.companylocation')}}</div>
<div class="bg-white q-pb-lg" style="width: 300px">
<div class="q-px-lg q-py-md fz18">
{{ $t("v103.scheduledTrip.companylocation") }}
</div>
<div v-for="(x, i) in sites" :key="i">
<div class="addr">
<div
class="q-mx-md"
>
<div class="q-mx-md">
<template v-for="(y, yi) in x.SubList">
<q-radio
class="addr-list q-px-md q-py-sm row items-center"
:key="yi"
v-if="y.isShow" v-model="companyId" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :val="y.companyId" :label="y.siteName" size="sm" @update:model-value="changeCheckHandler(y, x,0)"/>
v-if="y.isShow"
v-model="companyId"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
:val="y.companyId"
:label="y.siteName"
size="sm"
@update:model-value="changeCheckHandler(y, x, 0)"
/>
</template>
</div>
</div>
......@@ -41,54 +74,86 @@
</div>
<div class="rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3">
<div class="q-px-sm q-py-xs row justify-between">
<span>{{$t('v103.scheduledTrip.line')}}</span>
<span>{{ $t("v103.scheduledTrip.line") }}</span>
<template v-for="(x, i) in chosenAddress">
<span class="text-primary" v-if="x.type==1">
{{x.Name}}
<q-icon class="cursor-pointer text-grey-6" name="close" @click.stop="removeChosen(x,i,1)"/>
<span class="text-primary" v-if="x.type == 1">
{{ x.Name }}
<q-icon
class="cursor-pointer text-grey-6"
name="close"
@click.stop="removeChosen(x, i, 1)"
/>
</span>
</template>
</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy1">
<div class="bg-white q-pb-lg" style="width: 300px;">
<div class="q-px-lg q-py-md fz18">{{$t('v103.scheduledTrip.line')}}</div>
<div class="bg-white q-pb-lg" style="width: 300px">
<div class="q-px-lg q-py-md fz18">
{{ $t("v103.scheduledTrip.line") }}
</div>
<div class="add" v-for="(x, i) in lines" :key="i">
<div class="q-mx-md">
<template v-for="(y, yi) in x.SubList">
<q-radio
class="addr-list q-px-md q-py-sm row items-center"
:key="yi"
v-if="y.isShow" v-model="search.msg.lineId" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :val="y.id" :label="y.name" size="sm" @update:model-value="changeCheckHandler(y, x,1)"/>
v-if="y.isShow"
v-model="search.msg.lineId"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
:val="y.id"
:label="y.name"
size="sm"
@update:model-value="changeCheckHandler(y, x, 1)"
/>
</template>
</div>
</div>
</div>
</q-popup-proxy>
</div>
<div v-if="search.msg.lineId&&xilies.length>0" class="rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3">
<div
v-if="search.msg.lineId && xilies.length > 0"
class="rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div class="q-px-sm q-py-xs row justify-between">
<span class="text-grey-8 col-12 row justify-between">
<span>{{$t('v103.scheduledTrip.commlineteam')}}</span>
<span v-if="!searchClone.lineTeamId">{{$t('v103.scheduledTrip.closelineteam')}}</span>
<span>{{ $t("v103.scheduledTrip.commlineteam") }}</span>
<span v-if="!searchClone.lineTeamId">{{
$t("v103.scheduledTrip.closelineteam")
}}</span>
<template v-for="(x, i) in chosenAddress">
<span class="text-primary" v-if="x.type==2">
{{x.Name}}
<q-icon class="cursor-pointer text-grey-6" name="close" @click.stop="removeChosen(x,i,2)"/>
<span class="text-primary" v-if="x.type == 2">
{{ x.Name }}
<q-icon
class="cursor-pointer text-grey-6"
name="close"
@click.stop="removeChosen(x, i, 2)"
/>
</span>
</template>
</span>
</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy2">
<div class="bg-white q-pb-lg" style="width: 300px;">
<div class="q-px-lg q-py-md fz18">{{$t('v103.scheduledTrip.lineteam')}}</div>
<div class="bg-white q-pb-lg" style="width: 300px">
<div class="q-px-lg q-py-md fz18">
{{ $t("v103.scheduledTrip.lineteam") }}
</div>
<div class="add" v-for="(x, i) in xilies" :key="i">
<div class="q-mx-md">
<template v-for="(y, yi) in x.SubList">
<q-radio
class="addr-list q-px-md q-py-sm row items-center"
:key="yi"
v-if="y.isShow" v-model="searchClone.lineTeamId" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :val="y.id" :label="y.name" size="sm" @update:model-value="changeCheckHandler(y, x,2)"/>
v-if="y.isShow"
v-model="searchClone.lineTeamId"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
:val="y.id"
:label="y.name"
size="sm"
@update:model-value="changeCheckHandler(y, x, 2)"
/>
</template>
</div>
</div>
......@@ -98,27 +163,42 @@
<div class="rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3">
<div class="q-px-sm q-py-xs row justify-between">
<span class="text-grey-8 col-12 row justify-between">
<span>{{$t('v103.scheduledTrip.departurecity')}}</span>
<span v-if="!searchClone.startCityId">{{$t('v103.scheduledTrip.closedeparturecity')}}</span>
<span>{{ $t("v103.scheduledTrip.departurecity") }}</span>
<span v-if="!searchClone.startCityId">{{
$t("v103.scheduledTrip.closedeparturecity")
}}</span>
<template v-for="(x, i) in chosenAddress">
<span class="text-primary" v-if="x.type==3">
{{x.Name}}
<q-icon class="cursor-pointer text-grey-6" name="close" @click.stop="removeChosen(x,i,3)"/>
<span class="text-primary" v-if="x.type == 3">
{{ x.Name }}
<q-icon
class="cursor-pointer text-grey-6"
name="close"
@click.stop="removeChosen(x, i, 3)"
/>
</span>
</template>
</span>
</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy3">
<div class="bg-white q-pb-lg" style="width: 300px;">
<div class="q-px-lg q-py-md fz18">{{$t('v103.scheduledTrip.departurecity')}}</div>
<div class="bg-white q-pb-lg" style="width: 300px">
<div class="q-px-lg q-py-md fz18">
{{ $t("v103.scheduledTrip.departurecity") }}
</div>
<div class="add" v-for="(x, i) in startCitys" :key="i">
<div class="q-mx-md">
<template v-for="(y, yi) in x.SubList">
<q-radio
class="addr-list q-px-md q-py-sm row items-center"
:key="yi"
v-if="y.isShow" v-model="searchClone.startCityId" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :val="y.id" :label="y.startCityName" size="sm" @update:model-value="changeCheckHandler(y, x,3)"/>
v-if="y.isShow"
v-model="searchClone.startCityId"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
:val="y.id"
:label="y.startCityName"
size="sm"
@update:model-value="changeCheckHandler(y, x, 3)"
/>
</template>
</div>
</div>
......@@ -126,30 +206,51 @@
</q-popup-proxy>
</div>
<div>
<div v-if="(searchClone.startDate&&!searchClone.endDate)||(!searchClone.startDate&&!searchClone.endDate)" class="rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3">
<div
v-if="
(searchClone.startDate && !searchClone.endDate) ||
(!searchClone.startDate && !searchClone.endDate)
"
class="rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3"
>
<div class="q-px-sm q-py-xs row justify-between">
<span class="text-grey-8 col-12 row justify-between">
<span>{{$t('v103.scheduledTrip.startdate')}}</span>
<span v-if="!datesId">{{$t('v103.scheduledTrip.closestartdate')}}</span>
<span>{{ $t("v103.scheduledTrip.startdate") }}</span>
<span v-if="!datesId">{{
$t("v103.scheduledTrip.closestartdate")
}}</span>
<template v-for="(x, i) in chosenAddress">
<span class="text-primary" v-if="x.type==5">
{{x.Name}}
<q-icon class="cursor-pointer text-grey-6" name="close" @click.stop="removeChosen(x,i,5)"/>
<span class="text-primary" v-if="x.type == 5">
{{ x.Name }}
<q-icon
class="cursor-pointer text-grey-6"
name="close"
@click.stop="removeChosen(x, i, 5)"
/>
</span>
</template>
</span>
</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy5">
<div class="bg-white q-pb-lg" style="width: 300px;">
<div class="q-px-lg q-py-md fz18">{{$t('v103.scheduledTrip.startdate')}}</div>
<div class="bg-white q-pb-lg" style="width: 300px">
<div class="q-px-lg q-py-md fz18">
{{ $t("v103.scheduledTrip.startdate") }}
</div>
<div class="add" v-for="(x, i) in dates" :key="i">
<div class="q-mx-md">
<template v-for="(y, yi) in x.SubList">
<q-radio class="addr-list q-px-md q-py-sm row items-center"
<q-radio
class="addr-list q-px-md q-py-sm row items-center"
:key="yi"
v-if="y.isShow" v-model="datesId" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :val="y.id" :label="y.Name" size="sm"
@update:model-value="changeCheckHandler(y, x,5)"/>
v-if="y.isShow"
v-model="datesId"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
:val="y.id"
:label="y.Name"
size="sm"
@update:model-value="changeCheckHandler(y, x, 5)"
/>
</template>
</div>
</div>
......@@ -157,7 +258,13 @@
</q-popup-proxy>
</div>
<!-- v-if="(!search.msg.startDate&&!search.msg.endDate)||(search.msg.startDate&&search.msg.endDate)" -->
<div class="q-my-md row no-padding bg-grey-3" v-if="(!searchClone.startDate&&!searchClone.endDate)||(searchClone.startDate&&searchClone.endDate)">
<div
class="q-my-md row no-padding bg-grey-3"
v-if="
(!searchClone.startDate && !searchClone.endDate) ||
(searchClone.startDate && searchClone.endDate)
"
>
<div
class="q-px-md q-py-sm"
style="border-right: 1px solid #eee; border-radius: 0 !important"
......@@ -165,14 +272,19 @@
<q-icon name="event" size="24px" />
</div>
<div class="row items-center justify-center col">
<span class="text-grey-8">{{
<span class="text-grey-8"
>{{
dateRange.from
? `${dateRange.from} - ${dateRange.to}`
: $t('v103.scheduledTrip.screeningdate')
: $t("v103.scheduledTrip.screeningdate")
}}
<template v-for="(x, i) in chosenAddress">
<template v-if="x.type==6">
<q-icon class="cursor-pointer text-grey-6 q-pl-lg" name="close" @click.stop="removeChosen(x,i,6)"/>
<template v-if="x.type == 6">
<q-icon
class="cursor-pointer text-grey-6 q-pl-lg"
name="close"
@click.stop="removeChosen(x, i, 6)"
/>
</template>
</template>
</span>
......@@ -210,36 +322,51 @@
</div> -->
<div class="rounded-borders q-my-md q-px-xs q-py-xs bg-grey-3">
<div class="q-px-sm q-py-xs row justify-between">
<span>{{$t('v103.scheduledTrip.journeytime')}}</span>
<span>{{ $t("v103.scheduledTrip.journeytime") }}</span>
<template v-for="(x, i) in chosenAddress">
<span class="text-primary" v-if="x.type==4">
{{x.Name}}
<q-icon class="cursor-pointer text-grey-6" name="close" @click.stop="removeChosen(x,i,4)"/>
<span class="text-primary" v-if="x.type == 4">
{{ x.Name }}
<q-icon
class="cursor-pointer text-grey-6"
name="close"
@click.stop="removeChosen(x, i, 4)"
/>
</span>
</template>
</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy4">
<div class="bg-white q-pb-lg" style="width: 300px;">
<div class="q-px-lg q-py-md fz18">{{$t('v103.scheduledTrip.journeytime')}}</div>
<div
class="addr-list q-px-md q-py-sm row items-center">
<q-radio class="addr-list q-px-md q-py-sm row items-center"
<div class="bg-white q-pb-lg" style="width: 300px">
<div class="q-px-lg q-py-md fz18">
{{ $t("v103.scheduledTrip.journeytime") }}
</div>
<div class="addr-list q-px-md q-py-sm row items-center">
<q-radio
class="addr-list q-px-md q-py-sm row items-center"
v-for="(y, yi) in dayArray"
:key="yi" v-model="DayId" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :val="y.id" :label="y.text" size="sm" @update:model-value="changeCheckHandler(y,dayArray,4)"/>
:key="yi"
v-model="DayId"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
:val="y.id"
:label="y.text"
size="sm"
@update:model-value="changeCheckHandler(y, dayArray, 4)"
/>
</div>
</div>
</q-popup-proxy>
</div>
</q-card>
</q-popup-proxy>
</q-btn>
<q-btn color="primary" unelevated :label="$t('query')" @click="queryList"/>
<q-btn color="primary" unelevated :label="$t('query')" @click="queryList" />
</div>
<template v-else>
<q-card flat class="rounded-borders q-py-md">
<div class="row justify-between q-mx-md">
<span class="text-subtitle1 text-weight-bold ">{{$t('v103.scheduledTrip.screeningtitle')}}</span>
<span class="text-subtitle1 text-weight-bold">{{
$t("v103.scheduledTrip.screeningtitle")
}}</span>
</div>
<!-- @update:model-value="changeAddrSearchHandler" -->
<q-input
......@@ -256,16 +383,19 @@
class="addr-list q-px-md q-py-sm cursor-pointer row items-center"
v-if="x.isShow"
>
<span class="col" @click="changeExplesdHandler(x)">{{$t('v103.scheduledTrip.companylocation')}}</span>
<span class="col" @click="changeExplesdHandler(x)">{{
$t("v103.scheduledTrip.companylocation")
}}</span>
<div>
<span v-if="chosenAddress.length>0" class="q-mr-md text-primary">{{chosenAddress[0].Name}}</span>
<span v-if="chosenAddress.length > 0" class="q-mr-md text-primary">{{
chosenAddress[0].Name
}}</span>
<q-icon
@click="changeExplesdHandler(x)"
:name="!x.explsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'"
size="20px"
/>
</div>
</div>
<div
class="q-mx-md"
......@@ -278,20 +408,30 @@
<q-radio
class="addr-list q-px-md q-py-sm row items-center"
:key="yi"
v-if="y.isShow" v-model="companyId" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :val="y.companyId" :label="y.siteName" size="sm" @update:model-value="changeCheckHandler(y, x,0)"/>
v-if="y.isShow"
v-model="companyId"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
:val="y.companyId"
:label="y.siteName"
size="sm"
@update:model-value="changeCheckHandler(y, x, 0)"
/>
<!-- <span class="col">{{ y.siteName }}</span> -->
</template>
</div>
</div>
</div>
<template v-if="xilies.length==0||!searchClone.lineId">
<template v-if="xilies.length == 0 || !searchClone.lineId">
<div v-for="(x, i) in lines" :key="i">
<div class="addr">
<div
class="addr-list q-px-md q-py-sm cursor-pointer row items-center"
v-if="x.isShow"
>
<span class="col" @click="changeExplesdHandler(x)">{{$t('v103.scheduledTrip.line')}}</span>
<span class="col" @click="changeExplesdHandler(x)">{{
$t("v103.scheduledTrip.line")
}}</span>
<q-icon
@click="changeExplesdHandler(x)"
:name="!x.explsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'"
......@@ -309,21 +449,30 @@
<q-radio
class="addr-list q-px-md q-py-sm row items-center"
:key="yi"
v-if="y.isShow" v-model="search.msg.lineId" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :val="y.id" :label="y.name" size="sm" @update:model-value="changeCheckHandler(y, x,1)"/>
v-if="y.isShow"
v-model="search.msg.lineId"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
:val="y.id"
:label="y.name"
size="sm"
@update:model-value="changeCheckHandler(y, x, 1)"
/>
</template>
</div>
</div>
</div>
</template>
<template v-if="searchClone.startCityId==0">
<template v-if="searchClone.startCityId == 0">
<div v-for="(x, i) in startCitys" :key="i">
<div class="addr">
<div
class="addr-list q-px-md q-py-sm cursor-pointer row items-center"
v-if="x.isShow"
>
<span class="col" @click="changeExplesdHandler(x)">{{$t('v103.scheduledTrip.departurecity')}}</span>
<span class="col" @click="changeExplesdHandler(x)">{{
$t("v103.scheduledTrip.departurecity")
}}</span>
<q-icon
@click="changeExplesdHandler(x)"
:name="!x.explsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'"
......@@ -338,24 +487,41 @@
"
>
<template v-for="(y, yi) in x.SubList">
<q-radio class="addr-list q-px-md q-py-sm row items-center"
<q-radio
class="addr-list q-px-md q-py-sm row items-center"
:key="yi"
v-if="y.isShow" v-model="search.msg.startCityId" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :val="y.id" :label="y.startCityName" size="sm" @update:model-value="changeCheckHandler(y, x,3)"/>
v-if="y.isShow"
v-model="search.msg.startCityId"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
:val="y.id"
:label="y.startCityName"
size="sm"
@update:model-value="changeCheckHandler(y, x, 3)"
/>
</template>
</div>
</div>
</div>
</template>
</q-card>
<q-card flat class="rounded-borders q-py-md q-mt-lg" v-if="searchClone.lineId>0&&searchClone.lineTeamId==0">
<div class="text-subtitle1 text-weight-bold q-mx-md">{{$t('v103.scheduledTrip.allcommoditytype')}}</div>
<q-card
flat
class="rounded-borders q-py-md q-mt-lg"
v-if="searchClone.lineId > 0 && searchClone.lineTeamId == 0"
>
<div class="text-subtitle1 text-weight-bold q-mx-md">
{{ $t("v103.scheduledTrip.allcommoditytype") }}
</div>
<div class="add q-mt-md" v-for="(x, i) in xilies" :key="i">
<div class="addr">
<div
class="addr-list q-px-md q-py-sm cursor-pointer row items-center"
v-if="x.isShow"
>
<span class="col" @click="changeExplesdHandler(x)">{{$t('v103.scheduledTrip.lineteam')}}</span>
<span class="col" @click="changeExplesdHandler(x)">{{
$t("v103.scheduledTrip.lineteam")
}}</span>
<q-icon
@click="changeExplesdHandler(x)"
:name="!x.explsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'"
......@@ -370,9 +536,18 @@
"
>
<template v-for="(y, yi) in x.SubList">
<q-radio class="addr-list q-px-md q-py-sm row items-center"
<q-radio
class="addr-list q-px-md q-py-sm row items-center"
:key="yi"
v-if="y.isShow" v-model="search.msg.lineTeamId" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :val="y.id" :label="y.name" size="sm" @update:model-value="changeCheckHandler(y, x,2)"/>
v-if="y.isShow"
v-model="search.msg.lineTeamId"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
:val="y.id"
:label="y.name"
size="sm"
@update:model-value="changeCheckHandler(y, x, 2)"
/>
</template>
</div>
</div>
......@@ -380,14 +555,16 @@
</q-card>
<q-card flat class="rounded-borders q-mt-lg column no-padding">
<template v-if="!searchClone.startDate&&!searchClone.endDate">
<template v-if="!searchClone.startDate && !searchClone.endDate">
<div v-for="(x, i) in dates" :key="i">
<div class="addr">
<div
class="addr-list q-px-md q-py-md cursor-pointer row items-center"
v-if="x.isShow"
>
<span class="col" @click="changeExplesdHandler(x)">{{$t('v103.scheduledTrip.startdate')}}</span>
<span class="col" @click="changeExplesdHandler(x)">{{
$t("v103.scheduledTrip.startdate")
}}</span>
<q-icon
@click="changeExplesdHandler(x)"
:name="!x.explsed ? 'keyboard_arrow_down' : 'keyboard_arrow_up'"
......@@ -402,9 +579,18 @@
"
>
<template v-for="(y, yi) in x.SubList">
<q-radio class="addr-list q-px-md q-py-sm row items-center"
<q-radio
class="addr-list q-px-md q-py-sm row items-center"
:key="yi"
v-if="y.isShow" v-model="datesId" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :val="y.id" :label="y.Name" size="sm" @update:model-value="changeCheckHandler(y, x,5)"/>
v-if="y.isShow"
v-model="datesId"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
:val="y.id"
:label="y.Name"
size="sm"
@update:model-value="changeCheckHandler(y, x, 5)"
/>
</template>
</div>
</div>
......@@ -421,7 +607,7 @@
<span class="text-grey-8">{{
dateRange.from
? `${dateRange.from} - ${dateRange.to}`
: $t('v103.scheduledTrip.screeningdate')
: $t("v103.scheduledTrip.screeningdate")
}}</span>
<q-popup-proxy :offset="[0, 0]" ref="qDateProxy">
<div>
......@@ -459,291 +645,320 @@
:label="$t('v103.scheduledTrip.journeytime')"
class="text-subtitle1 text-weight-bold rounded-borders"
>
<q-radio class="addr-list q-px-md q-py-sm row items-center"
<q-radio
class="addr-list q-px-md q-py-sm row items-center"
v-for="(y, yi) in dayArray"
:key="yi" v-model="DayId" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" :val="y.id" :label="y.text" size="sm" @update:model-value="changeCheckHandler(y,dayArray,4)"/>
:key="yi"
v-model="DayId"
checked-icon="task_alt"
unchecked-icon="panorama_fish_eye"
:val="y.id"
:label="y.text"
size="sm"
@update:model-value="changeCheckHandler(y, dayArray, 4)"
/>
</q-expansion-item>
</q-card>
</template>
</template>
</template>
<script lang="ts">
import { useI18n } from 'vue-i18n'
import svgIcon from '../global/svg-icon.vue'
import { computed, inject, provide, reactive, ref, toRefs, defineComponent, onMounted, watch } from 'vue'
import HotelService from '../../api/hotel'
import message from '../../utils/message'
import { ApiResult } from '../../@types/enumHelper'
import { CascaderOption,NCascader,NSelect } from 'naive-ui'
import { date } from 'quasar'
import { HotelRate,HotelArea, useHotel } from '../../utils/hotelRate'
import { useQuasar } from 'quasar'
import useScrollModule from '../../module/scrollbar/scrollModule'
// import { dateDiffer } from '../../utils/tools'
import { DirtionmaryHelper } from '../../config/dictionary'
import scheduledTripService from 'src/api/scheduledTrip'
import { getStoreGetter } from '../../store/utils'
import { UserGetter } from '../../store/modules/user/getters'
export default defineComponent({
<script lang="ts">
import { useI18n } from "vue-i18n";
import svgIcon from "../global/svg-icon.vue";
import {
computed,
inject,
provide,
reactive,
ref,
toRefs,
defineComponent,
onMounted,
watch,
} from "vue";
import HotelService from "../../api/hotel";
import message from "../../utils/message";
import { ApiResult } from "../../@types/enumHelper";
import { CascaderOption, NCascader, NSelect } from "naive-ui";
import { date } from "quasar";
import { HotelRate, HotelArea, useHotel } from "../../utils/hotelRate";
import { useQuasar } from "quasar";
import useScrollModule from "../../module/scrollbar/scrollModule";
// import { dateDiffer } from '../../utils/tools'
import { DirtionmaryHelper } from "../../config/dictionary";
import scheduledTripService from "src/api/scheduledTrip";
import { getStoreGetter } from "../../store/utils";
import { UserGetter } from "../../store/modules/user/getters";
export default defineComponent({
components: { svgIcon, NCascader, NSelect },
setup(props, context) {
const $q = useQuasar()
const qDateProxy = ref(null) as any
const qDateProxy0 = ref(null) as any
const qDateProxy1 = ref(null) as any
const qDateProxy2 = ref(null) as any
const qDateProxy3 = ref(null) as any
const qDateProxy4 = ref(null) as any
const qDateProxy5 = ref(null) as any
const qDateProxy6 = ref(null) as any
const qNameProxy = ref(null) as any
const { locale, t } = useI18n()
const $q = useQuasar();
const qDateProxy = ref(null) as any;
const qDateProxy0 = ref(null) as any;
const qDateProxy1 = ref(null) as any;
const qDateProxy2 = ref(null) as any;
const qDateProxy3 = ref(null) as any;
const qDateProxy4 = ref(null) as any;
const qDateProxy5 = ref(null) as any;
const qDateProxy6 = ref(null) as any;
const qNameProxy = ref(null) as any;
const { locale, t } = useI18n();
const data = reactive({
datesId: 0,//日期
DayId:0,//旅程天数
xilies: [],//系列
lines: [],//线路
startCitys: [],//出发城市表
datesId: 0, //日期
DayId: 0, //旅程天数
xilies: [], //系列
lines: [], //线路
startCitys: [], //出发城市表
searchItem: [],
sites: [],//公司所在城市
city: 0,//公司城市
companyId:0,
dates: [],//开始日期
sites: [], //公司所在城市
city: 0, //公司城市
companyId: 0,
dates: [], //开始日期
areaList: [],
chosenAddress: [],//已选项
chosenAddress: [], //已选项
goodsType: [],
dateRange: null,//起止时间
dateRange: null, //起止时间
searchClone: null,
dayArray: [
{
id: 1,
min: 1,
max: 1,
text: "1"+t('v103.scheduledTrip.day'),
text: "1" + t("v103.scheduledTrip.day"),
},
{
id: 2,
min: 2,
max: 2,
text: "2"+t('v103.scheduledTrip.day'),
text: "2" + t("v103.scheduledTrip.day"),
},
{
id: 3,
min: 3,
max: 3,
text: "3"+t('v103.scheduledTrip.day'),
text: "3" + t("v103.scheduledTrip.day"),
},
{
id: 4,
min: 4,
max: 4,
text: "4"+t('v103.scheduledTrip.day'),
text: "4" + t("v103.scheduledTrip.day"),
},
{
id: 5,
min: 5,
max: 5,
text: "5"+t('v103.scheduledTrip.day'),
text: "5" + t("v103.scheduledTrip.day"),
},
{
id: 6,
min: 6,
max: 6,
text: "6"+t('v103.scheduledTrip.day'),
text: "6" + t("v103.scheduledTrip.day"),
},
{
id: 7,
min: 7,
max: 8,
text: "7-8"+t('v103.scheduledTrip.day'),
text: "7-8" + t("v103.scheduledTrip.day"),
},
{
id: 8,
min: 9,
max: 10,
text: "9-10"+t('v103.scheduledTrip.day'),
text: "9-10" + t("v103.scheduledTrip.day"),
},
{
id: 9,
min: 10,
max: 1000,
text: "10"+t('v103.scheduledTrip.above'),
text: "10" + t("v103.scheduledTrip.above"),
},
],
sortNum: 1,
userInfo: {} as any,
})
const search = inject(DirtionmaryHelper.TICKET_QUERY_PARAM)
const domain =inject(DirtionmaryHelper.DOMAIN_NAME)
data.chosenAddress = JSON.parse(JSON.stringify(search.chosenAddress))
data.searchClone = JSON.parse(JSON.stringify(search.msg))
data.DayId = search.DayId
data.datesId = search.datesId
});
const search = inject(DirtionmaryHelper.TICKET_QUERY_PARAM);
const domain = inject(DirtionmaryHelper.DOMAIN_NAME);
data.chosenAddress = JSON.parse(JSON.stringify(search.chosenAddress));
data.searchClone = JSON.parse(JSON.stringify(search.msg));
data.DayId = search.DayId;
data.datesId = search.datesId;
data.dayArray.forEach((x) => {
x.checked = false;
});
data.dateRange = { from: data.searchClone.startDate, to: data.searchClone.endDate };
data.userInfo = getStoreGetter<UserGetter>('user', 'getUser')
data.userInfo = getStoreGetter<UserGetter>("user", "getUser");
const methods = {
// 删除目的地、商品类别、旅游时间
removeChosen(x,i,type) {
if(type==1||type==2){
if(type==1){
search.msg.lineId = 0
}if(type==2){
search.msg.lineTeamId = 0
removeChosen(x, i, type) {
if (type == 1 || type == 2) {
if (type == 1) {
search.msg.lineId = 0;
}
if (type == 2) {
search.msg.lineTeamId = 0;
}
}else if(type==3){
search.msg.startCityId = 0
}else if(type==4){
search.DayId = 0
search.msg.minTripDay = ""
search.msg.maxTripDay = ""
}else if(type==5){
search.datesId = 0
search.msg.startDate = ''
search.msg.endDate = ''
}else if(type==6){
data.dateRange = null
search.datesId = 0
search.msg.startDate = ''
search.msg.endDate = ''
} else if (type == 3) {
search.msg.startCityId = 0;
} else if (type == 4) {
search.DayId = 0;
search.msg.minTripDay = "";
search.msg.maxTripDay = "";
} else if (type == 5) {
search.datesId = 0;
search.msg.startDate = "";
search.msg.endDate = "";
} else if (type == 6) {
data.dateRange = null;
search.datesId = 0;
search.msg.startDate = "";
search.msg.endDate = "";
}
search.chosenAddress.splice(i,1)
search.chosenAddress.splice(i, 1);
},
// 初始化出发城市
initCityList() {
methods.GetB2BSite()
let d=new Date().getMonth()
for(let i=0;i<3;i++){
d++
d=d>12?d-12:d
methods.GetB2BSite();
let d = new Date().getMonth();
for (let i = 0; i < 3; i++) {
d++;
d = d > 12 ? d - 12 : d;
let obj = {
Name: `${d}${t('v103.scheduledTrip.month')}`,
id: 1+i,
MM: d
}
data.dates.push(obj)
}
let arrList = function(arr){
arr.forEach(item=>{
item.isShow = true
item.explsed = false
})
Name: `${d}${t("v103.scheduledTrip.month")}`,
id: 1 + i,
MM: d,
};
data.dates.push(obj);
}
arrList(data.dates)
let list = []
list.push({SubList: [],explsed: false,isShow:true})
list[0].SubList = data.dates
let arrList = function (arr) {
arr.forEach((item) => {
item.isShow = true;
item.explsed = false;
});
};
arrList(data.dates);
let list = [];
list.push({ SubList: [], explsed: false, isShow: true });
list[0].SubList = data.dates;
data.dates = list;
},
// 获取当前城市
GetB2BSite(){
let state=false;
scheduledTripService.GetB2BSite({}).then(r => {
GetB2BSite() {
let state = false;
scheduledTripService
.GetB2BSite({})
.then((r) => {
if (r.data.resultCode == ApiResult.SUCCESS) {
let arrList = function(arr){
arr.forEach(item=>{
item.isShow = true
item.explsed = false
})
}
arrList(r.data.data)
let list = []
list.push({SubList: [],explsed: false,isShow:true})
if(data.userInfo){
let arrList = function (arr) {
arr.forEach((item) => {
item.isShow = true;
item.explsed = false;
});
};
arrList(r.data.data);
let list = [];
list.push({ SubList: [], explsed: false, isShow: true });
if (data.userInfo) {
let rB_Branch_id = data.userInfo.salesBaseInfo.rB_Branch_id;
search.msg.companyId = data.rB_Branch_id
if(domain == 'id.oytour') {
search.msg.companyId = 1252
list[0].SubList = r.data.data.filter(branch=>branch.companyId==1252)
list[0].SubList[0].siteName = 'Jakarta'
}else{
list[0].SubList = r.data.data
search.msg.companyId = data.rB_Branch_id
search.msg.companyId = data.rB_Branch_id;
if (domain == "id.oytour") {
search.msg.companyId = 1252;
list[0].SubList = r.data.data.filter(
(branch) => branch.companyId == 1252
);
list[0].SubList[0].siteName = "Jakarta";
} else {
list[0].SubList = r.data.data;
search.msg.companyId = data.rB_Branch_id;
}
data.companyId = search.msg.companyId
search.RetrievalState = true
data.companyId = search.msg.companyId;
search.RetrievalState = true;
data.sites = list;
data.sites[0].SubList.forEach(item=>{
if(item.companyId==rB_Branch_id){
data.sites[0].SubList.forEach((item) => {
if (item.companyId == rB_Branch_id) {
state = true;
data.city = item.companyId;
data.searchClone.cityId = item.cityId
data.searchClone.cityId = item.cityId;
// localStorage.setItem('site', data.city)
// localStorage.setItem('cityId', item.cityId)
methods.changeChosenHandler(item)
methods.changeChosenHandler(item);
}
})
if(!state) {
});
if (!state) {
state = true;
data.city = data.sites[0].SubList[0].companyId;
data.searchClone.cityId = data.sites[0].SubList[0].cityId
search.msg.companyId = data.companyId
data.searchClone.cityId = data.sites[0].SubList[0].cityId;
search.msg.companyId = data.companyId;
// localStorage.setItem('site', data.city)
// localStorage.setItem('cityId', data.searchClone.cityId)
methods.changeChosenHandler(data.sites[0].SubList[0],data.sites[0])
methods.changeChosenHandler(data.sites[0].SubList[0], data.sites[0]);
}
search.msg.cityId = data.searchClone.cityId
methods.loadRecoItems()
}else{
message.errorMsg(r.data.message)
search.msg.cityId = data.searchClone.cityId;
methods.loadRecoItems();
} else {
message.errorMsg(r.data.message);
}
}
}).catch(e => {
message.errorMsg(e.message)
})
.catch((e) => {
message.errorMsg(e.message);
});
},
// 系列
loadRecoItems(){
loadRecoItems() {
let param = {
companyId: data.city,
cityId: data.searchClone.cityId,
}
scheduledTripService.GetB2BGroupSearchItem(param).then(r => {
};
scheduledTripService
.GetB2BGroupSearchItem(param)
.then((r) => {
if (r.data.resultCode == ApiResult.SUCCESS) {
let arrList = function(arr){
arr.forEach(item=>{
item.isShow = true
item.explsed = false
})
}
arrList(r.data.data.line)
arrList(r.data.data.startCity)
let list = []
let arrList = function (arr) {
arr.forEach((item) => {
item.isShow = true;
item.explsed = false;
});
};
arrList(r.data.data.line);
arrList(r.data.data.startCity);
let list = [];
let obj = {
SubList: [],explsed: false,isShow:true
}
list.push(JSON.parse(JSON.stringify(obj)))
list[0].SubList = r.data.data.line
data.lines=JSON.parse(JSON.stringify(list))
let list2 = []
list2.push(JSON.parse(JSON.stringify(obj)))
list2[0].SubList = r.data.data.startCity
data.startCitys = list2
data.startCitys.forEach(x=>{
x.SubList.forEach(y=>{
data.chosenAddress.forEach((z,index)=>{
if(y.id!=z.id){
if(z.type==1){
search.chosenAddress.splice(index,1);
SubList: [],
explsed: false,
isShow: true,
};
list.push(JSON.parse(JSON.stringify(obj)));
list[0].SubList = r.data.data.line;
data.lines = JSON.parse(JSON.stringify(list));
let list2 = [];
list2.push(JSON.parse(JSON.stringify(obj)));
list2[0].SubList = r.data.data.startCity;
data.startCitys = list2;
data.startCitys.forEach((x) => {
x.SubList.forEach((y) => {
data.chosenAddress.forEach((z, index) => {
if (y.id != z.id) {
if (z.type == 1) {
search.chosenAddress.splice(index, 1);
}
if(z.type==2){
search.chosenAddress.splice(index,1);
if (z.type == 2) {
search.chosenAddress.splice(index, 1);
}
if(z.type==3){
search.chosenAddress.splice(index,1);
if (z.type == 3) {
search.chosenAddress.splice(index, 1);
}
}
})
})
})
});
});
});
}
}).catch(e => {
message.errorMsg(e.message)
})
.catch((e) => {
message.errorMsg(e.message);
});
},
// 旅游时间
changeExplesdHandler(x) {
......@@ -761,171 +976,173 @@
}
},
// 出发地
changeCheckHandler(x, p = null,type) {
if(!type){
// data.city = x.companyId;
// search.msg.cityId = data.searchClone.cityId
search.msg.companyId = x.companyId
methods.loadRecoItems()
}else if(type==1){
let arrList = function(arr){
arr.forEach(item=>{
item.isShow = true
item.explsed = false
})
}
arrList(x.lineTeam)
let list = []
list.push({SubList: [],explsed: false,isShow:true})
list[0].SubList = x.lineTeam
data.xilies = list
search.msg.lineId = x.id
changeCheckHandler(x, p = null, type) {
if (!type) {
search.msg.companyId = x.companyId;
methods.loadRecoItems();
} else if (type == 1) {
let arrList = function (arr) {
arr.forEach((item) => {
item.isShow = true;
item.explsed = false;
});
};
arrList(x.lineTeam);
let list = [];
list.push({ SubList: [], explsed: false, isShow: true });
list[0].SubList = x.lineTeam;
data.xilies = list;
search.msg.lineId = x.id;
}
setTimeout(()=>{
methods.changeChosenHandler(x,p,type);
},200)
setTimeout(() => {
methods.changeChosenHandler(x, p, type);
}, 200);
},
changeChosenHandler(x,p,type) {
let obj= {}
if(!type){
obj= {
changeChosenHandler(x, p, type) {
let obj = {};
if (!type) {
obj = {
Name: x.siteName,
Id: x.cityId,
checked: x.checked,
cityId : x.cityId,
cityId: x.cityId,
companyId: x.companyId,
companyName: x.companyName,
explsed: x.explsed,
isShow: x.isShow,
province: x.province,
siteName: x.siteName,
type: type
}
search.chosenAddress.splice(0,1);
if($q.platform.is.mobile){
if(qDateProxy0.value) qDateProxy0.value.hide()
type: type,
};
search.chosenAddress.splice(0, 1);
if ($q.platform.is.mobile) {
if (qDateProxy0.value) qDateProxy0.value.hide();
}
setTimeout(()=>{
setTimeout(() => {
search.chosenAddress.unshift(obj);
},200)
}else if(type==1||type==2){
obj= {
}, 200);
} else if (type == 1 || type == 2) {
obj = {
Name: x.name,
Id: x.id,
type: type
}
type: type,
};
// let status = false
p.SubList.forEach(y=>{
search.chosenAddress.forEach((z,index)=>{
if(y.id==z.Id&&type==z.type){
p.SubList.forEach((y) => {
search.chosenAddress.forEach((z, index) => {
if (y.id == z.Id && type == z.type) {
// status = true
search.chosenAddress.splice(index,1);
search.chosenAddress.splice(index, 1);
}
})
})
if(type==1){
search.msg.lineId = x.id
}if(type==2){
search.msg.lineTeamId = x.id
});
});
if (type == 1) {
search.msg.lineId = x.id;
}
if($q.platform.is.mobile){
if(type==1&&qDateProxy1.value) qDateProxy1.value.hide()
if(type==2&&qDateProxy2.value) qDateProxy2.value.hide()
if (type == 2) {
search.msg.lineTeamId = x.id;
}
setTimeout(()=>{
if ($q.platform.is.mobile) {
if (type == 1 && qDateProxy1.value) qDateProxy1.value.hide();
if (type == 2 && qDateProxy2.value) qDateProxy2.value.hide();
}
setTimeout(() => {
search.chosenAddress.push(obj);
},200)
}else if(type==3){
obj= {
}, 200);
} else if (type == 3) {
obj = {
Name: x.startCityName,
Id: x.id,
type: type
}
p.SubList.forEach(y=>{
search.chosenAddress.forEach((z,index)=>{
if(y.id==z.Id&&type==z.type){
search.chosenAddress.splice(index,1);
type: type,
};
p.SubList.forEach((y) => {
search.chosenAddress.forEach((z, index) => {
if (y.id == z.Id && type == z.type) {
search.chosenAddress.splice(index, 1);
}
})
})
search.msg.startCityId = x.id
if($q.platform.is.mobile){
if(qDateProxy3.value) qDateProxy3.value.hide()
});
});
search.msg.startCityId = x.id;
if ($q.platform.is.mobile) {
if (qDateProxy3.value) qDateProxy3.value.hide();
}
setTimeout(()=>{
setTimeout(() => {
search.chosenAddress.push(obj);
},500)
}else if(type==4){
obj= {
}, 500);
} else if (type == 4) {
obj = {
Name: x.text,
Id: x.id,
min: x.min,
max: x.max,
type: type
}
p.forEach(y=>{
search.chosenAddress.forEach((z,index)=>{
if(y.id==z.Id&&type==z.type){
search.chosenAddress.splice(index,1);
type: type,
};
p.forEach((y) => {
search.chosenAddress.forEach((z, index) => {
if (y.id == z.Id && type == z.type) {
search.chosenAddress.splice(index, 1);
}
})
})
search.DayId = data.DayId
search.msg.minTripDay = x.min
search.msg.maxTripDay = x.max
if($q.platform.is.mobile){
if(qDateProxy4.value) qDateProxy4.value.hide()
});
});
search.DayId = data.DayId;
search.msg.minTripDay = x.min;
search.msg.maxTripDay = x.max;
if ($q.platform.is.mobile) {
if (qDateProxy4.value) qDateProxy4.value.hide();
}
setTimeout(()=>{
setTimeout(() => {
search.chosenAddress.push(obj);
methods.changeTripDayHandler()
},200)
}else if(type==5){
obj= {
methods.changeTripDayHandler();
}, 200);
} else if (type == 5) {
obj = {
Name: x.Name,
Id: x.id,
type: type,
min: new Date().getFullYear()+'/'+x.MM+'/01',
max: new Date().getFullYear()+'/'+x.MM+'/'+new Date(new Date().getFullYear(), x.MM, 0).getDate(),
}
p.SubList.forEach(y=>{
search.chosenAddress.forEach((z,index)=>{
if(y.id==z.Id&&type==z.type){
search.chosenAddress.splice(index,1);
min: new Date().getFullYear() + "/" + x.MM + "/01",
max:
new Date().getFullYear() +
"/" +
x.MM +
"/" +
new Date(new Date().getFullYear(), x.MM, 0).getDate(),
};
p.SubList.forEach((y) => {
search.chosenAddress.forEach((z, index) => {
if (y.id == z.Id && type == z.type) {
search.chosenAddress.splice(index, 1);
}
})
})
if($q.platform.is.mobile){
if(qDateProxy5.value) qDateProxy5.value.hide()
});
});
if ($q.platform.is.mobile) {
if (qDateProxy5.value) qDateProxy5.value.hide();
}
search.datesId = x.id
search.msg.startDate = obj.min
search.msg.endDate = obj.max
console.log(search.msg)
search.datesId = x.id;
search.msg.startDate = obj.min;
search.msg.endDate = obj.max;
search.chosenAddress.push(obj);
}else if(type==6){
obj= {
Name: x.startDate+'-'+x.endDate,
} else if (type == 6) {
obj = {
Name: x.startDate + "-" + x.endDate,
startDate: x.startDate,
type: type,
};
search.chosenAddress.forEach((z, index) => {
if (type == z.type) {
search.chosenAddress.splice(index, 1);
}
search.chosenAddress.forEach((z,index)=>{
if(type==z.type){
search.chosenAddress.splice(index,1);
}
})
if($q.platform.is.mobile){
if(qDateProxy6.value) qDateProxy6.value.hide()
});
if ($q.platform.is.mobile) {
if (qDateProxy6.value) qDateProxy6.value.hide();
}
// search.msg.startDate = x.startDate
// search.msg.startDate = x.endDate
setTimeout(()=>{
setTimeout(() => {
search.chosenAddress.push(obj);
},200)
}, 200);
}
search.RetrievalState = true
if(p){
search.RetrievalState = true;
if (p) {
p.explsed = false;
}
},
......@@ -934,7 +1151,7 @@
data.searchClone.minTripDay = "0";
data.searchClone.maxTripDay = "0";
data.dayArray.forEach((x) => {
if (x.id==data.DayId) {
if (x.id == data.DayId) {
data.searchClone.minPrice =
data.searchClone.minPrice > x.min ? x.min : data.searchClone.minPrice;
data.searchClone.maxPrice =
......@@ -953,45 +1170,44 @@
search.msg.priceRange.max = e.max;
search.msg.minPrice = e.min;
search.msg.maxPrice = e.max;
methods.queryList()
methods.queryList();
},
queryList(){
search.RetrievalState=true
queryList() {
search.RetrievalState = true;
},
// 选择时间区间
optionsFn(cd) {
return (
cd >=
date.formatDate(date.addToDate(new Date(), { days: 1 }), "YYYY/MM/DD")
cd >= date.formatDate(date.addToDate(new Date(), { days: 1 }), "YYYY/MM/DD")
);
},
dateRangeHandler(e) {
let startDate = `${e.from.year}/${e.from.month}/${e.from.day}`;
let endDate = `${e.to.year}/${e.to.month}/${e.to.day} `;
if (qDateProxy.value) qDateProxy.value.hide()
let obj= {
if (qDateProxy.value) qDateProxy.value.hide();
let obj = {
startDate: startDate,
endDate: endDate,
}
search.msg.startDate = startDate
search.msg.endDate = endDate
methods.changeChosenHandler(obj,null,6)
};
search.msg.startDate = startDate;
search.msg.endDate = endDate;
methods.changeChosenHandler(obj, null, 6);
},
// 商品类型
initGoods() {
data.goodsType.push({
Id: 1,
Name: t('v103.scheduledTrip.sightseeingitinerary'),
explsed: $q.platform.is.desktop? false:true,
Name: t("v103.scheduledTrip.sightseeingitinerary"),
explsed: $q.platform.is.desktop ? false : true,
SubList: [
{
Id: 2,
Name: t('v103.scheduledTrip.daytrip'),
Name: t("v103.scheduledTrip.daytrip"),
checked: false,
},
{
Id: 3,
Name: t('v103.scheduledTrip.multiday'),
Name: t("v103.scheduledTrip.multiday"),
checked: false,
},
],
......@@ -999,42 +1215,50 @@
},
// 搜寻关键词
changeAddrSearchHandler(v) {
search.RetrievalState = true
search.RetrievalState = true;
},
}
watch(data.searchClone, (n, o) => {
};
watch(
data.searchClone,
(n, o) => {
// search.searchClone = JSON.parse(JSON.stringify(n))
},{deep: true})
watch(search, (n, o) => {
data.searchClone = JSON.parse(JSON.stringify(n.msg))
data.chosenAddress = JSON.parse(JSON.stringify(n.chosenAddress))
if(n.DayId==0){
data.DayId = n.DayId
},
{ deep: true }
);
watch(
search,
(n, o) => {
data.searchClone = JSON.parse(JSON.stringify(n.msg));
data.chosenAddress = JSON.parse(JSON.stringify(n.chosenAddress));
if (n.DayId == 0) {
data.DayId = n.DayId;
}
if(n.datesId==0){
data.datesId = n.datesId
data.searchClone.startDate = ""
if (n.datesId == 0) {
data.datesId = n.datesId;
data.searchClone.startDate = "";
}
data.dateRange = { from: n.msg.startDate, to: n.msg.endDate };
data.searchClone.startDate = n.msg.startDate
data.searchClone.endDate = n.msg.endDate
if(n.deleteChosen){
data.areaList.forEach(x=>{
x.SubList.forEach(y=>{
if(x.Id==n.deleteChosen.Pid&&y.Id==n.deleteChosen.Id){
methods.changeCheckHandler(y,x)
data.searchClone.startDate = n.msg.startDate;
data.searchClone.endDate = n.msg.endDate;
if (n.deleteChosen) {
data.areaList.forEach((x) => {
x.SubList.forEach((y) => {
if (x.Id == n.deleteChosen.Pid && y.Id == n.deleteChosen.Id) {
methods.changeCheckHandler(y, x);
}
})
})
});
});
}
},{deep: true})
},
{ deep: true }
);
const searchCnt = computed(() => {
let setCnt = 2
let setCnt = 2;
if ($q.platform.is.mobile) {
setCnt = setCnt+search.chosenAddress.length-1
setCnt = setCnt + search.chosenAddress.length - 1;
}
return setCnt
})
return setCnt;
});
methods.initCityList();
methods.initGoods();
......@@ -1052,16 +1276,15 @@
qDateProxy5,
qDateProxy6,
qNameProxy,
domain
}
}
})
</script>
domain,
};
},
});
</script>
<style>
.SearchMain .SearchMain-height .q-field__control {
<style>
.SearchMain .SearchMain-height .q-field__control {
height: 40px;
min-height: 40px !important;
}
</style>
\ No newline at end of file
}
</style>
......@@ -161,9 +161,7 @@ export default defineComponent({
x.typeInfo = data.status.find(y => y.StatusId == x.orderState) ?? data.status[1]
})
data.orders = r.data.data.pageData
console.log(r)
data.pages.pageCount = r.data.data.pageCount
// methods.GetWaitDealOrderPageList()
} else {
message.errorMsg(r.data.message)
}
......
......@@ -10,22 +10,36 @@
flat
/>
</div>
<div class="text-grey-6 f12 q-my-md">{{$t('v103.scheduledTripDetails.selectionquantity')}}</div>
<div class="text-grey-6 f12 q-my-md">
{{ $t("v103.scheduledTripDetails.selectionquantity") }}
</div>
<div class="row items-end">
<div class="col" :class="{'column':$q.platform.is.mobile}">
<div class="col" :class="{ column: $q.platform.is.mobile }">
<div>
<span class="text-subtitle2 text-weight-bold">{{$t('v103.scheduledTripDetails.cr')}}</span>
<span class="text-grey-6 f12 q-ml-sm">(12-99{{$t('v103.scheduledTripDetails.age')}})</span>
<span class="text-subtitle2 text-weight-bold">{{
$t("v103.scheduledTripDetails.cr")
}}</span>
<span class="text-grey-6 f12 q-ml-sm"
>(12-99{{ $t("v103.scheduledTripDetails.age") }})</span
>
</div>
<div v-if="$q.platform.is.mobile">
<span class="text-grey-7 product-price" style="font-size: 13px">
{{domain==`id.oytour`?'IDR':'CNY'}} {{ p.originalB2BPrice }} /{{$t('v103.scheduledTripDetails.each')}}
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ p.originalB2BPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
</div>
</div>
<div class="row items-end">
<span v-if="$q.platform.is.desktop" class="text-grey-7 product-price" style="font-size: 13px">
{{domain==`id.oytour`?'IDR':'CNY'}} {{ p.originalB2BPrice }} /{{$t('v103.scheduledTripDetails.each')}}
<span
v-if="$q.platform.is.desktop"
class="text-grey-7 product-price"
style="font-size: 13px"
>
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ p.originalB2BPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
<q-input
style="width: 150px"
......@@ -67,22 +81,36 @@
</div>
<div class="row items-end q-mt-md" v-if="p.isSupportChildren == 1">
<div class="col" :class="{'column':$q.platform.is.mobile}">
<div class="col" :class="{ column: $q.platform.is.mobile }">
<div>
<span class="text-subtitle2 text-weight-bold">{{$t('v103.scheduledTripDetails.et')}}</span>
<span class="text-grey-6 f12 q-ml-sm">(2-11{{$t('v103.scheduledTripDetails.age')}},{{$t('v103.scheduledTripDetails.noroom')}})</span>
<span class="text-subtitle2 text-weight-bold">{{
$t("v103.scheduledTripDetails.et")
}}</span>
<span class="text-grey-6 f12 q-ml-sm"
>(2-11{{ $t("v103.scheduledTripDetails.age") }},{{
$t("v103.scheduledTripDetails.noroom")
}})</span
>
</div>
<div v-if="$q.platform.is.mobile">
<span class="text-grey-7 product-price" style="font-size: 13px">
{{domain==`id.oytour`?'IDR':'CNY'}}
{{ p.originalB2BPrice - p.childNoNeedPrice }} /{{$t('v103.scheduledTripDetails.each')}}
{{ domain == `id.oytour` ? "IDR" : "CNY" }}
{{ p.originalB2BPrice - p.childNoNeedPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
</div>
</div>
<div class="row items-end">
<span v-if="$q.platform.is.desktop" class="text-grey-7 product-price" style="font-size: 13px">
{{domain==`id.oytour`?'IDR':'CNY'}}
{{ p.originalB2BPrice - p.childNoNeedPrice }} /{{$t('v103.scheduledTripDetails.each')}}
<span
v-if="$q.platform.is.desktop"
class="text-grey-7 product-price"
style="font-size: 13px"
>
{{ domain == `id.oytour` ? "IDR" : "CNY" }}
{{ p.originalB2BPrice - p.childNoNeedPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
<q-input
style="width: 150px"
......@@ -126,13 +154,21 @@
<div class="row items-end q-mt-md" v-if="p.isSupportChildren == 1">
<div class="col" :class="{ column: $q.platform.is.mobile }">
<div>
<span class="text-subtitle2 text-weight-bold">{{$t('v103.scheduledTripDetails.et')}}</span>
<span class="text-grey-6 f12 q-ml-sm">(2-11{{$t('v103.scheduledTripDetails.age')}},{{$t('v103.scheduledTripDetails.room')}})</span>
<span class="text-subtitle2 text-weight-bold">{{
$t("v103.scheduledTripDetails.et")
}}</span>
<span class="text-grey-6 f12 q-ml-sm"
>(2-11{{ $t("v103.scheduledTripDetails.age") }},{{
$t("v103.scheduledTripDetails.room")
}})</span
>
</div>
<div v-if="$q.platform.is.mobile">
<span class="text-grey-7 product-price" style="font-size: 13px">
{{domain==`id.oytour`?'IDR':'CNY'}}
{{ p.childNeedPrice + p.originalB2BPrice }} /{{$t('v103.scheduledTripDetails.each')}}
{{ domain == `id.oytour` ? "IDR" : "CNY" }}
{{ p.childNeedPrice + p.originalB2BPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
</div>
</div>
......@@ -142,8 +178,10 @@
class="text-grey-7 product-price"
style="font-size: 13px"
>
{{domain==`id.oytour`?'IDR':'CNY'}}
{{ p.childNeedPrice + p.originalB2BPrice }} /{{$t('v103.scheduledTripDetails.each')}}
{{ domain == `id.oytour` ? "IDR" : "CNY" }}
{{ p.childNeedPrice + p.originalB2BPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
<q-input
style="width: 150px"
......@@ -185,20 +223,37 @@
</div>
<div class="row items-end q-mt-md" v-if="p.isSupportChildren == 1">
<div class="col" :class="{'column':$q.platform.is.mobile}">
<div class="col" :class="{ column: $q.platform.is.mobile }">
<div>
<span class="text-subtitle2 text-weight-bold">{{$t('v103.scheduledTripDetails.ye')}}</span>
<span class="text-grey-6 f12 q-ml-sm">(2{{$t('v103.scheduledTripDetails.age')}}{{$t('v103.scheduledTripDetails.yixia')}})</span>
<span class="text-subtitle2 text-weight-bold">{{
$t("v103.scheduledTripDetails.ye")
}}</span>
<span class="text-grey-6 f12 q-ml-sm"
>(2{{ $t("v103.scheduledTripDetails.age")
}}{{ $t("v103.scheduledTripDetails.yixia") }})</span
>
</div>
<div v-if="$q.platform.is.mobile">
<span v-if="$q.platform.is.desktop" class="text-grey-7 product-price" style="font-size: 13px">
{{domain==`id.oytour`?'IDR':'CNY'}} {{ p.babyPrice }} /{{$t('v103.scheduledTripDetails.each')}}
<span
v-if="$q.platform.is.desktop"
class="text-grey-7 product-price"
style="font-size: 13px"
>
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ p.babyPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
</div>
</div>
<div class="row items-end">
<span v-if="$q.platform.is.desktop" class="text-grey-7 product-price" style="font-size: 13px">
{{domain==`id.oytour`?'IDR':'CNY'}} {{ p.babyPrice }} /{{$t('v103.scheduledTripDetails.each')}}
<span
v-if="$q.platform.is.desktop"
class="text-grey-7 product-price"
style="font-size: 13px"
>
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ p.babyPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
<q-input
style="width: 150px"
......@@ -240,29 +295,41 @@
</div>
<div class="text-grey-6 f12 q-mt-mb" v-if="p.isSupportChildren == 2">
{{$t('v103.scheduledTripDetails.prompt')}}
{{ $t("v103.scheduledTripDetails.prompt") }}
</div>
<div
v-if="p.singleRoomPrice && p.singleRoomPrice > 0"
class="q-pt-md q-mt-md"
style="border-top: 1px dashed #eee"
>
<div class="text-grey-6 f12">{{$t('v103.scheduledTripDetails.service')}}</div>
<div class="text-grey-6 f12">{{ $t("v103.scheduledTripDetails.service") }}</div>
<div class="row items-end">
<div class="col" :class="{'column':$q.platform.is.mobile}">
<div class="col" :class="{ column: $q.platform.is.mobile }">
<div>
<span class="text-subtitle2 text-weight-bold">{{$t('v103.scheduledTripDetails.service')}}</span>
<span class="text-grey-6 f12 q-ml-sm">({{$t('v103.scheduledTripDetails.singleroom')}})</span>
<span class="text-subtitle2 text-weight-bold">{{
$t("v103.scheduledTripDetails.service")
}}</span>
<span class="text-grey-6 f12 q-ml-sm"
>({{ $t("v103.scheduledTripDetails.singleroom") }})</span
>
</div>
<div v-if="$q.platform.is.mobile">
<span class="text-grey-7 product-price" style="font-size: 13px">
{{domain==`id.oytour`?'IDR':'CNY'}} {{ p.singleRoomPrice }} /{{$t('v103.scheduledTripDetails.each')}}
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ p.singleRoomPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
</div>
</div>
<div class="row items-end">
<span v-if="$q.platform.is.desktop" class="text-grey-7 product-price" style="font-size: 13px">
{{domain==`id.oytour`?'IDR':'CNY'}} {{ p.singleRoomPrice }} /{{$t('v103.scheduledTripDetails.each')}}
<span
v-if="$q.platform.is.desktop"
class="text-grey-7 product-price"
style="font-size: 13px"
>
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ p.singleRoomPrice }} /{{
$t("v103.scheduledTripDetails.each")
}}
</span>
<q-input
style="width: 150px"
......@@ -308,85 +375,121 @@
class="q-pt-md q-mt-md row items-center"
style="border-top: 1px dashed #eee"
>
<div class="text-grey-6 f12 col">{{$t('v103.scheduledTripDetails.insurance')}}</div>
<div class="product-money f12">{{domain==`id.oytour`?'IDR':'CNY'}} {{ p.safeMoney }}/{{$t('v103.scheduledTripDetails.each')}}</div>
<div class="text-grey-6 f12 col">
{{ $t("v103.scheduledTripDetails.insurance") }}
</div>
<div class="product-money f12">
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ p.safeMoney }}/{{
$t("v103.scheduledTripDetails.each")
}}
</div>
</div>
</div>
<div class="q-mt-md q-pt-md" style="border-top: 1px dashed #eee">
<div class="row items-center">
<span class="text-subtitle2 text-grey-6 col">{{$t('v103.scheduledTripDetails.total')}}</span>
<span class="text-h6 text-primary product-price">{{domain==`id.oytour`?'IDR':'CNY'}} {{ sumPrice }}</span>
<span class="text-subtitle2 text-grey-6 col">{{
$t("v103.scheduledTripDetails.total")
}}</span>
<span class="text-h6 text-primary product-price"
>{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ sumPrice }}</span
>
</div>
<div class="q-mt-md text-right">
<span class="q-mr-lg f12 text-negative" v-if="!p.startDate" >{{$q.platform.is.mobile?$t('v103.scheduledTripDetails.selectdatetop'):$t('v103.scheduledTripDetails.selectdateleft')}} </span>
<q-btn color="primary" :label="$t('v103.scheduledTripDetails.book')" unelevated class="q-px-lg" :disable="sumPrice==0" @click="goOrderHandler"/>
<span class="q-mr-lg f12 text-negative" v-if="!p.startDate"
>{{
$q.platform.is.mobile
? $t("v103.scheduledTripDetails.selectdatetop")
: $t("v103.scheduledTripDetails.selectdateleft")
}}
</span>
<q-btn
color="primary"
:label="$t('v103.scheduledTripDetails.book')"
unelevated
class="q-px-lg"
:disable="sumPrice == 0"
@click="goOrderHandler"
/>
</div>
</div>
</div>
</template>
<script lang="ts">
import { date,useQuasar } from "quasar";
import { inject, provide, reactive, toRefs, defineComponent,onMounted,ref,watch, getCurrentInstance } from 'vue';
import { useRouter } from 'vue-router'
import { useI18n } from 'vue-i18n'
import { DirtionmaryHelper } from 'src/config/dictionary'
import scheduledTripService from 'src/api/scheduledTrip'
import { ApiResult } from 'src/@types/enumHelper'
import message from 'src/utils/message'
import { moneyFormat } from 'src/utils/tools'
import { date, useQuasar } from "quasar";
import {
inject,
provide,
reactive,
toRefs,
defineComponent,
onMounted,
ref,
watch,
getCurrentInstance,
} from "vue";
import { useRouter } from "vue-router";
import { useI18n } from "vue-i18n";
import { DirtionmaryHelper } from "src/config/dictionary";
import scheduledTripService from "src/api/scheduledTrip";
import { ApiResult } from "src/@types/enumHelper";
import message from "src/utils/message";
import { moneyFormat } from "src/utils/tools";
import md5 from "md5-ts";
export default defineComponent({
components: { },
props: ['msg','price'],
components: {},
props: ["msg", "price"],
setup(props, context) {
const domain =inject(DirtionmaryHelper.DOMAIN_NAME)
const $router = useRouter()
const { t } = useI18n()
const $q = useQuasar()
const qDateProxy = ref(null) as any
let {ctx:that, proxy} = getCurrentInstance()
const data= reactive({
const domain = inject(DirtionmaryHelper.DOMAIN_NAME);
const $router = useRouter();
const { t } = useI18n();
const $q = useQuasar();
const qDateProxy = ref(null) as any;
let { ctx: that, proxy } = getCurrentInstance();
const data = reactive({
p: props.price,
chosenObj: null,
sumPrice:0
})
watch(() => props.price,(n,o) => {
sumPrice: 0,
});
watch(
() => props.price,
(n, o) => {
data.p = n;
data.chosenObj.startDate = n.startDate;
methods.calcMoney()
},{deep: true}
)
methods.calcMoney();
},
{ deep: true }
);
const methods = {
goOrderHandler(){
goOrderHandler() {
let order = {
configId: props.msg.configId,
tcid: data.p.tcid,
startCityId: 0,
orderInfo: data.chosenObj
}
let key = md5(JSON.stringify(order))
let lineTrip = localStorage.getItem('lineTrip')
lineTrip = lineTrip?JSON.parse(lineTrip):[]
orderInfo: data.chosenObj,
};
let key = md5(JSON.stringify(order));
let lineTrip = localStorage.getItem("lineTrip");
lineTrip = lineTrip ? JSON.parse(lineTrip) : [];
lineTrip.push({
key,
order
})
localStorage.setItem("lineTrip",JSON.stringify(lineTrip))
$router.push({ path:`/scheduledTrip/preview/${key}`})
order,
});
localStorage.setItem("lineTrip", JSON.stringify(lineTrip));
$router.push({ path: `/scheduledTrip/preview/${key}` });
},
initModel() {
data.sumPrice=0
data.sumPrice = 0;
data.chosenObj = {
startDate: "",
crCount: 1,
etCount: 0,
yeCount: 0,
lrCount: 0,
etzcCount: 0,
etbzcCount: 0,
crCount: 1, //成人
etCount: 0, //儿童
yeCount: 0, //婴儿
lrCount: 0, //老人
etzcCount: 0, //儿童占床
etbzcCount: 0, //儿童不占床
etzc: 0,
df: 0,
df: 0, //单房数量
dcf: 0,
srf: 0,
isUnico: false,
......@@ -407,7 +510,7 @@ export default defineComponent({
},
resetHandler() {
data.p = {};
methods.initModel()
methods.initModel();
context.emit("reset");
},
changePeople(val) {},
......@@ -419,55 +522,66 @@ export default defineComponent({
data.chosenObj[m] = data.chosenObj[m] < 1 ? 1 : data.chosenObj[m];
}
if (!isDf) {
if (
data.chosenObj.crCount + data.chosenObj.etzcCount >
data.p.remainNum
) {
if (data.chosenObj.crCount + data.chosenObj.etzcCount > data.p.remainNum) {
data.chosenObj[m] = data.chosenObj[m] - 1;
}
} else {
if (
data.chosenObj.crCount + data.chosenObj.etzcCount <
data.chosenObj.df
) {
if (data.chosenObj.crCount + data.chosenObj.etzcCount < data.chosenObj.df) {
data.chosenObj[m] = data.chosenObj[m] - 1;
}
}
methods.calcMoney()
methods.calcMoney();
},
calcMoney() {
if (!data.p || !data.p.originalB2BPrice) return data.sumPrice=0;
data.chosenObj.etCount = data.chosenObj.etbzcCount + data.chosenObj.etzcCount
let money =
data.p.originalB2BPrice * data.chosenObj.crCount;
money +=
(data.p.originalB2BPrice-data.p.childNoNeedPrice+data.p.babyChargePrice) * data.chosenObj.etCount;
money += data.p.babyPrice * data.chosenObj.yeCount;
money += data.p.singleRoomPrice * data.chosenObj.df;
if (!data.p || !data.p.originalB2BPrice) return (data.sumPrice = 0);
data.chosenObj.etCount = data.chosenObj.etbzcCount + data.chosenObj.etzcCount;
//成人价格=成人人数*(成交单价-早鸟优惠)
let crMoney = data.p.originalB2BPrice * data.chosenObj.crCount;
//儿童价格=儿童人数*(单价-早鸟优惠+儿童附加费)
let erMoney =
(data.p.originalB2BPrice - data.p.childNoNeedPrice + data.p.babyChargePrice) *
data.chosenObj.etCount;
//婴儿价格=婴儿人数*婴儿价格
let babyMoney = data.p.babyPrice * data.chosenObj.yeCount;
let singMoney = data.p.singleRoomPrice * data.chosenObj.df;
let sumCount =
data.chosenObj.crCount +
data.chosenObj.etCount +
data.chosenObj.lrCount;
money += data.p.visaPrice * sumCount;
money += data.p.otherPrice * sumCount;
data.chosenObj.lrCount +
data.chosenObj.yeCount;
let visaMoney = data.p.visaPrice * sumCount;
let otherMoney = data.p.otherPrice * sumCount;
// console.log("sumCount", sumCount);
// console.log("crMoney", crMoney);
// console.log("erMoney", erMoney);
// console.log("babyMoney", babyMoney);
// console.log("singMoney", singMoney);
// console.log("visaMoney", visaMoney);
// console.log("otherMoney", otherMoney);
let money = crMoney;
money += erMoney;
money += babyMoney;
money += singMoney;
money += visaMoney;
money += otherMoney;
//console.log("money", money);
data.sumPrice = money;
},
}
};
methods.initModel();
if(data.p.startDate){
if (data.p.startDate) {
data.chosenObj.startDate = data.p.startDate;
methods.calcMoney()
methods.calcMoney();
}
return {
...toRefs(data),
...methods,
domain,
moneyFormat,
}
}
})
};
},
});
</script>
<style></style>
......@@ -277,7 +277,7 @@
</div>
</div>
<div v-if="price.visaPrice > 0 || price.otherPrice > 0">
<hr
<!-- <hr
style="border: none; border-top: 1px dashed #eee !important"
class="bg-transparent q-mb-sm"
/>
......@@ -297,7 +297,7 @@
)
}}
</div>
</div>
</div> -->
<div class="row q-mb-sm" v-if="price.otherPrice > 0">
<div class="col">
{{ $t("v103.scheduledTripDetails.miscellaneous") }} x
......@@ -322,7 +322,8 @@
{{ $t("v103.scheduledTripDetails.surcharge") }} x {{ chosenObj.etCount }}
</div>
<div>
{{ domain == `id.oytour` ? "IDR" : "CNY" }} {{ price.babyChargePrice }}
{{ domain == `id.oytour` ? "IDR" : "CNY" }}
{{ price.babyChargePrice * chosenObj.etCount }}
</div>
</div>
<div class="row q-mb-sm" v-if="chosenObj.df > 0">
......@@ -550,15 +551,19 @@ export default defineComponent({
data.price.discountPrice = data.price.discountPrice
? data.price.discountPrice
: 0;
//成人价格
//成人价格=成人人数*(成交单价-早鸟优惠)
let crMoney = data.price.originalB2BPrice * data.chosenObj.crCount;
//儿童不占床价格
let etbzcMoney =
(data.price.originalB2BPrice - data.price.childNoNeedPrice) *
(data.price.originalB2BPrice -
data.price.childNoNeedPrice +
data.price.babyChargePrice) *
data.chosenObj.etbzcCount;
//儿童占床价格
let etzcMoney =
(data.price.originalB2BPrice + data.price.childNeedPrice) *
(data.price.originalB2BPrice +
data.price.childNeedPrice +
data.price.babyChargePrice) *
data.chosenObj.etzcCount;
//婴儿价格
let babyMoney = data.price.babyPrice * data.chosenObj.yeCount;
......@@ -569,8 +574,9 @@ export default defineComponent({
data.chosenObj.etbzcCount +
data.chosenObj.etzcCount +
data.chosenObj.yeCount;
//签证费
let visaMoney = data.price.visaPrice * sumCount;
//签证费(团费包含了签证费)
let visaMoney = 0;
//visaMoney=data.price.visaPrice * sumCount;
let safeMoney = data.price.safeMoney * sumCount;
let otherMoney = data.price.otherPrice * sumCount;
// console.log("totalPersion", sumCount);
......@@ -678,7 +684,7 @@ export default defineComponent({
PreferPrice: data.sumPrice, //实付价格
DiscountMoney: 0, //优惠价格
CouponAllotIds: "", //优惠券id
YSeatNum: y, //盈收
YSeatNum: y, //
ESeatNum: f,
FSeatNum: c,
Commission: (
......
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