Commit b4e74a9d authored by youjie's avatar youjie

no message

parent 7ed63a3c
<template>
<q-card flat class="q-pa-md" style="background:#080655;width:30vw;min-width: 375px;">
<div class="row items-end">
<img src="../assets/images/green_pic.jpg" style="width:100px;" />
<div class="q-ml-md f12 text-grey-4 col text-right">水口支店 店番593</div>
</div>
<div class="q-mt-md">
<div class="f12 text-grey-1" style="opacity:.3">帳戶名:</div>
<div class="pf text-grey-4 text-weight-bolder text-subtitle1">株式会社ピースインターナショナル</div>
</div>
<div class="q-mt-md">
<div class="f12 text-grey-1" style="opacity:.3">口座番號:</div>
<div class="pf text-grey-4 text-weight-bolder text-subtitle1">
593-1070078
<span class="f12 text-grey-1 text-weight-400" style="opacity:.5">(レギュラー口座)</span>
</div>
</div>
<div class="q-mt-md">
<div class="f12 text-grey-1" style="opacity:.3">銀行住所</div>
<div class="pf text-grey-1 text-weight-bolder f12" style="opacity:.5">滋賀県甲賀市水口町本綾野5-21 (0748-65-1011)</div>
</div>
<div class="q-mt-md text-right">
<q-btn color="white" outline class="q-px-lg" style="opacity:.6" dense :label="$t('hotelorder.copy')"
@click="setCopyHandler(null, '行名:京都銀行\n支店名:水口支店 店番593\n口座種別:レギュラー口座\n口座番号: 593-1070078\n账户名:株式会社ピースインターナショナル\n银行住所:滋賀県甲賀市水口町本綾野5-21\n银行邮变:〒528-0037\n電話番号:0748-65-1011\n')" />
</div>
</q-card>
</template>
<script lang="ts">
import { defineComponent, reactive,toRefs, PropType, computed, ref, toRef, Ref } from 'vue'
import { copyToClipboard, useQuasar } from 'quasar'
import { useI18n } from 'vue-i18n'
export default defineComponent({
name: '',
props: {
},
setup(props,context) {
const { t } = useI18n()
const data = reactive({
copyId:0
})
const methods = {
setCopyHandler(order: any, ctx?: string) {
if (ctx) {
data.copyId = -1
copyToClipboard(ctx)
} else {
data.copyId = order.OrderId
copyToClipboard(order.OrderNo)
}
setTimeout(() => {
data.copyId = 0
}, 2000)
context.emit('change')
},
}
return {
...toRefs(data),
...methods, }
}
})
</script>
...@@ -149,7 +149,7 @@ export default defineComponent({ ...@@ -149,7 +149,7 @@ export default defineComponent({
if (search.StartTime.length > 0) setCnt++ if (search.StartTime.length > 0) setCnt++
if (search.OrderNo > 0) setCnt++ if (search.OrderNo > 0) setCnt++
} }
if (search.OrderId.length > 0) setCnt++ if (search.OrderId > 0) setCnt++
if (search.OrderSTime.length > 0) setCnt++ if (search.OrderSTime.length > 0) setCnt++
if (search.MailingState > 0) setCnt++ if (search.MailingState > 0) setCnt++
if (search.Name) setCnt++ if (search.Name) setCnt++
......
...@@ -203,30 +203,7 @@ ...@@ -203,30 +203,7 @@
<div class="q-mt-md f12 text-grey-6">{{ $t('noneData') }}</div> <div class="q-mt-md f12 text-grey-6">{{ $t('noneData') }}</div>
</div> </div>
<q-dialog v-model="showBankAccount"> <q-dialog v-model="showBankAccount">
<q-card flat class="q-pa-md" style="background: #080655; width: 30vw; min-width: 375px"> <BankAccount @change="showBankAccount=false"></BankAccount>
<div class="row items-end">
<img src="../../../assets/images/green_pic.jpg" style="width: 100px" />
<div class="q-ml-md f12 text-grey-4 col text-right">水口支店 店番593</div>
</div>
<div class="q-mt-md">
<div class="f12 text-grey-1" style="opacity: 0.3">帳戶名:</div>
<div class="pf text-grey-4 text-weight-bolder text-subtitle1">株式会社ピースインターナショナル</div>
</div>
<div class="q-mt-md">
<div class="f12 text-grey-1" style="opacity: 0.3">口座番號:</div>
<div class="pf text-grey-4 text-weight-bolder text-subtitle1">
593-1070078
<span class="f12 text-grey-1 text-weight-400" style="opacity: 0.5">(レギュラー口座)</span>
</div>
</div>
<div class="q-mt-md">
<div class="f12 text-grey-1" style="opacity: 0.3">銀行住所</div>
<div class="pf text-grey-1 text-weight-bolder f12" style="opacity: 0.5">滋賀県甲賀市水口町本綾野5-21 (0748-65-1011)</div>
</div>
<div class="q-mt-md text-right">
<q-btn color="white" outline class="q-px-lg" style="opacity: 0.6" dense :label="$t('hotelorder.copy')" @click="setCopyHandler(null, '行名:京都銀行\n支店名:水口支店 店番593\n口座種別:レギュラー口座\n口座番号: 593-1070078\n账户名:株式会社ピースインターナショナル\n银行住所:滋賀県甲賀市水口町本綾野5-21\n银行邮变:〒528-0037\n電話番号:0748-65-1011\n')" />
</div>
</q-card>
</q-dialog> </q-dialog>
</template> </template>
...@@ -242,8 +219,9 @@ import svgIcon from '../../global/svg-icon.vue' ...@@ -242,8 +219,9 @@ import svgIcon from '../../global/svg-icon.vue'
import { copyToClipboard, useQuasar } from 'quasar' import { copyToClipboard, useQuasar } from 'quasar'
import { getHotelOrderStatus, getSendType, moneyFormat } from '../../../utils/tools' import { getHotelOrderStatus, getSendType, moneyFormat } from '../../../utils/tools'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import BankAccount from '../../BankAccount.vue'
export default defineComponent({ export default defineComponent({
components: { svgIcon }, components: { svgIcon,BankAccount },
props:['OrderType'], props:['OrderType'],
setup(props) { setup(props) {
const $router = useRouter() const $router = useRouter()
......
...@@ -268,31 +268,7 @@ ...@@ -268,31 +268,7 @@
</div> </div>
</q-dialog> --> </q-dialog> -->
<q-dialog v-model="showBankAccount"> <q-dialog v-model="showBankAccount">
<q-card flat class="q-pa-md" style="background:#080655;width:30vw;min-width: 375px;"> <BankAccount></BankAccount>
<div class="row items-end">
<img src="../../../../assets/images/green_pic.jpg" style="width:100px;" />
<div class="q-ml-md f12 text-grey-4 col text-right">水口支店 店番593</div>
</div>
<div class="q-mt-md">
<div class="f12 text-grey-1" style="opacity:.3">帳戶名:</div>
<div class="pf text-grey-4 text-weight-bolder text-subtitle1">株式会社ピースインターナショナル</div>
</div>
<div class="q-mt-md">
<div class="f12 text-grey-1" style="opacity:.3">口座番號:</div>
<div class="pf text-grey-4 text-weight-bolder text-subtitle1">
593-1070078
<span class="f12 text-grey-1 text-weight-400" style="opacity:.5">(レギュラー口座)</span>
</div>
</div>
<div class="q-mt-md">
<div class="f12 text-grey-1" style="opacity:.3">銀行住所</div>
<div class="pf text-grey-1 text-weight-bolder f12" style="opacity:.5">滋賀県甲賀市水口町本綾野5-21 (0748-65-1011)</div>
</div>
<div class="q-mt-md text-right">
<q-btn color="white" outline class="q-px-lg" style="opacity:.6" dense :label="$t('hotelorder.copy')"
@click="setCopyHandler(null, '行名:京都銀行\n支店名:水口支店 店番593\n口座種別:レギュラー口座\n口座番号: 593-1070078\n账户名:株式会社ピースインターナショナル\n银行住所:滋賀県甲賀市水口町本綾野5-21\n银行邮变:〒528-0037\n電話番号:0748-65-1011\n')" />
</div>
</q-card>
</q-dialog> </q-dialog>
</template> </template>
...@@ -310,9 +286,10 @@ import { copyToClipboard, useQuasar } from 'quasar' ...@@ -310,9 +286,10 @@ import { copyToClipboard, useQuasar } from 'quasar'
import { currentRouter } from '../../../../router' import { currentRouter } from '../../../../router'
import { UploadFileInfo, NTag, NUpload } from 'naive-ui' import { UploadFileInfo, NTag, NUpload } from 'naive-ui'
import { slice } from 'lodash' import { slice } from 'lodash'
import BankAccount from '../../../BankAccount.vue'
export default defineComponent({ export default defineComponent({
components: { svgIcon, NTag, NUpload }, components: { svgIcon, NTag, NUpload, BankAccount },
setup(props) { setup(props) {
const search = inject(DirtionmaryHelper.HOTEL_ORDER_SEARCH) as any const search = inject(DirtionmaryHelper.HOTEL_ORDER_SEARCH) as any
const { t } = useI18n() const { t } = useI18n()
......
...@@ -131,7 +131,7 @@ export default defineComponent({ ...@@ -131,7 +131,7 @@ export default defineComponent({
if (search.StartTime.length > 0) setCnt++ if (search.StartTime.length > 0) setCnt++
if (search.OrderNo > 0) setCnt++ if (search.OrderNo > 0) setCnt++
} }
if (search.OrderId.length > 0) setCnt++ if (search.OrderId) setCnt++
if (search.RoomType > 0) setCnt++ if (search.RoomType > 0) setCnt++
if (search.OrderType > 0) setCnt++ if (search.OrderType > 0) setCnt++
if (search.OrderType == 1 && search.ContactName.length > 0) setCnt++ if (search.OrderType == 1 && search.ContactName.length > 0) setCnt++
......
...@@ -159,7 +159,7 @@ export default defineComponent({ ...@@ -159,7 +159,7 @@ export default defineComponent({
if (search.StartTime.length > 0) setCnt++ if (search.StartTime.length > 0) setCnt++
if (search.OrderNo > 0) setCnt++ if (search.OrderNo > 0) setCnt++
} }
if (search.OrderId.length > 0) setCnt++ if (search.OrderId) setCnt++
if (search.UseSTime.length > 0) setCnt++ if (search.UseSTime.length > 0) setCnt++
if (search.MailingState > 0) setCnt++ if (search.MailingState > 0) setCnt++
if (search.Name) setCnt++ if (search.Name) setCnt++
......
...@@ -154,30 +154,7 @@ ...@@ -154,30 +154,7 @@
<div class="q-mt-md f12 text-grey-6">{{ $t('noneData') }}</div> <div class="q-mt-md f12 text-grey-6">{{ $t('noneData') }}</div>
</div> </div>
<q-dialog v-model="showBankAccount"> <q-dialog v-model="showBankAccount">
<q-card flat class="q-pa-md" style="background: #080655; width: 30vw; min-width: 375px"> <BankAccount @change="showBankAccount=false"></BankAccount>
<div class="row items-end">
<img src="../../../assets/images/green_pic.jpg" style="width: 100px" />
<div class="q-ml-md f12 text-grey-4 col text-right">水口支店 店番593</div>
</div>
<div class="q-mt-md">
<div class="f12 text-grey-1" style="opacity: 0.3">帳戶名:</div>
<div class="pf text-grey-4 text-weight-bolder text-subtitle1">株式会社ピースインターナショナル</div>
</div>
<div class="q-mt-md">
<div class="f12 text-grey-1" style="opacity: 0.3">口座番號:</div>
<div class="pf text-grey-4 text-weight-bolder text-subtitle1">
593-1070078
<span class="f12 text-grey-1 text-weight-400" style="opacity: 0.5">(レギュラー口座)</span>
</div>
</div>
<div class="q-mt-md">
<div class="f12 text-grey-1" style="opacity: 0.3">銀行住所</div>
<div class="pf text-grey-1 text-weight-bolder f12" style="opacity: 0.5">滋賀県甲賀市水口町本綾野5-21 (0748-65-1011)</div>
</div>
<div class="q-mt-md text-right">
<q-btn color="white" outline class="q-px-lg" style="opacity: 0.6" dense :label="$t('hotelorder.copy')" @click="setCopyHandler(null, '行名:京都銀行\n支店名:水口支店 店番593\n口座種別:レギュラー口座\n口座番号: 593-1070078\n账户名:株式会社ピースインターナショナル\n银行住所:滋賀県甲賀市水口町本綾野5-21\n银行邮变:〒528-0037\n電話番号:0748-65-1011\n')" />
</div>
</q-card>
</q-dialog> </q-dialog>
<q-dialog v-model="showModify" persistent> <q-dialog v-model="showModify" persistent>
<modify-order-address :order="modifyOrder" @close="showModify=false" @success="showModify=false,initOrders()"></modify-order-address> <modify-order-address :order="modifyOrder" @close="showModify=false" @success="showModify=false,initOrders()"></modify-order-address>
...@@ -196,8 +173,9 @@ import svgIcon from '../../global/svg-icon.vue' ...@@ -196,8 +173,9 @@ import svgIcon from '../../global/svg-icon.vue'
import { copyToClipboard, useQuasar } from 'quasar' import { copyToClipboard, useQuasar } from 'quasar'
import { getHotelOrderStatus, getSendType, moneyFormat } from '../../../utils/tools' import { getHotelOrderStatus, getSendType, moneyFormat } from '../../../utils/tools'
import ModifyOrderAddress from './ModifyOrderAddress.vue' import ModifyOrderAddress from './ModifyOrderAddress.vue'
import BankAccount from '../../BankAccount.vue'
export default defineComponent({ export default defineComponent({
components: { svgIcon, ModifyOrderAddress }, components: { svgIcon, ModifyOrderAddress,BankAccount },
setup(props) { setup(props) {
const search = inject(DirtionmaryHelper.TICKET_ORDER_SEARCH) as any const search = inject(DirtionmaryHelper.TICKET_ORDER_SEARCH) as any
const { t } = useI18n() const { t } = useI18n()
......
<template> <template>
<div class="rounded-borders bg-white row items-center q-pa-md q-my-md"> <div class="rounded-borders bg-white row items-center q-pa-md q-my-md">
<q-input v-if="$q.platform.is.desktop" v-model="searchClone.UseCompName" class="col-2 q-mr-md" reverse-fill-mask dense type="text" standout :label="$t('v102.vehicle.list.s1')" /> <q-input v-if="$q.platform.is.desktop" v-model="searchClone.UseCompName" class="col-2 q-mr-md" reverse-fill-mask dense type="text" standout :label="$t('v102.vehicle.list.s1')" />
<q-input v-if="$q.platform.is.desktop" v-model="searchClone.TeamName" class="col-2 q-mr-md" reverse-fill-mask dense type="text" standout :label="$t('v102.vehicle.list.s3')" /> <q-input v-if="$q.platform.is.desktop" v-model="searchClone.TeamName" class="col-2 q-mr-md" reverse-fill-mask dense type="text" standout :label="$t('v102.vehicle.list.s3')" />
<q-field v-if="$q.platform.is.desktop" stack-label :label="$t('daterange')" standout class="q-ml-lg col-2" style="min-width: 190px" dense> <q-field v-if="$q.platform.is.desktop" stack-label :label="$t('daterange')" standout class="col-2" style="min-width: 190px" dense>
<div class="self-center full-width no-outline" tabindex="0">{{ dateRangeFormat }}</div> <div class="self-center full-width no-outline" tabindex="0">{{ dateRangeFormat }}</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy"> <q-popup-proxy :offset="[0, 10]" ref="qDateProxy">
<q-date v-model="dateRange" :options="optionsFn" range mask="YYYY/MM/DD" landscape @range-end="dateRangeHandler"></q-date> <q-date v-model="dateRange" :options="optionsFn" range mask="YYYY/MM/DD" landscape @range-end="dateRangeHandler"></q-date>
...@@ -16,14 +17,17 @@ ...@@ -16,14 +17,17 @@
<q-popup-proxy class="no-shadow" style="box-shadow: 0 0 50px #ddd !important" :offset="[0, 20]" :model-value="canHide"> <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"> <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="q-my-md">
<q-input type="number" v-model="searchClone.OrderId" dense standout :label="$t('hotelorder.search.orderNum')" />
</div>
<div class="q-my-md" v-if="$q.platform.is.mobile"> <div class="q-my-md" v-if="$q.platform.is.mobile">
<q-input v-model="searchClone.UseCompName" class="col-2 q-mr-md" reverse-fill-mask dense type="text" standout :label="$t('v102.vehicle.list.s1')" /> <q-input v-model="searchClone.UseCompName" class="col-2" reverse-fill-mask dense type="text" standout :label="$t('v102.vehicle.list.s1')" />
</div> </div>
<div class="q-my-md"> <div class="q-my-md">
<q-input v-model="searchClone.UseName" class="col-2 q-mr-md" reverse-fill-mask dense type="text" standout :label="$t('v102.vehicle.list.s2')" /> <q-input v-model="searchClone.UseName" class="col-2" reverse-fill-mask dense type="text" standout :label="$t('v102.vehicle.list.s2')" />
</div> </div>
<div class="q-my-md" v-if="$q.platform.is.mobile"> <div class="q-my-md" v-if="$q.platform.is.mobile">
<q-input v-model="searchClone.TeamName" class="col-2 q-mr-md" reverse-fill-mask dense type="text" standout :label="$t('v102.vehicle.list.s3')" /> <q-input v-model="searchClone.TeamName" class="col-2" reverse-fill-mask dense type="text" standout :label="$t('v102.vehicle.list.s3')" />
</div> </div>
<div class="q-my-md" v-if="$q.platform.is.mobile"> <div class="q-my-md" v-if="$q.platform.is.mobile">
...@@ -140,6 +144,7 @@ export default { ...@@ -140,6 +144,7 @@ export default {
if (data.dateRangeFormat.length>0) setCnt++ if (data.dateRangeFormat.length>0) setCnt++
} }
if (data.searchClone.UseName>0) setCnt++ if (data.searchClone.UseName>0) setCnt++
if (data.searchClone.OrderId>0) setCnt++
return setCnt return setCnt
}) })
......
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
<q-btn color="cyan" icon="check" outline size="sm" :label="$t('hotelorder.copyed')" v-else></q-btn> <q-btn color="cyan" icon="check" outline size="sm" :label="$t('hotelorder.copyed')" v-else></q-btn>
</div> </div>
<div class="col text-center f12 text-grey-6"> <div class="col text-center f12 text-grey-6">
<span>{{ $t('v102.ticket.sj') }}{{ x.CustomerName }}/{{ <span>{{ $t('v102.ticket.sj') }}{{ x.UseCompName }}/{{
x.ContactNumber x.UseName
}}</span> }}</span>
</div> </div>
<div class="f12 text-grey-6">{{ $t('hotelorder.createTime') }}{{ x.CreateDate }}</div> <div class="f12 text-grey-6">{{ $t('hotelorder.createTime') }}{{ x.CreateDate }}</div>
...@@ -42,13 +42,14 @@ ...@@ -42,13 +42,14 @@
</div> </div>
</div> </div>
<div class="f12 text-grey-6"> <div class="f12 text-grey-6">
<span v-if="x.MailingState">{{ $t('hotelorder.search.contactInfo') }}{{ x.Name }}({{ x.EName }})/{{ x.ContactPhone }}</span> <span ></span>
</div> </div>
<div class="f12 text-grey-6">{{ $t('hotelorder.createTime') }}{{ x.CreateTime }}</div> <div class="f12 text-grey-6">{{ $t('hotelorder.createTime') }}{{ x.CreateTime }}</div>
</div> </div>
</div> </div>
<div class="q-mt-md row"> <div class="q-mt-md row">
<!-- sticky-rightrowspan-column-table -->
<q-table separator="cell" :hide-bottom="!x.CreateRemark" :pagination="{ rowsPerPage: 100 }" :rows="[x]" bordered :columns="cols" class="sticky-rightrowspan-column-table light-border col no-shadow"> <q-table separator="cell" :hide-bottom="!x.CreateRemark" :pagination="{ rowsPerPage: 100 }" :rows="[x]" bordered :columns="cols" class="sticky-rightrowspan-column-table light-border col no-shadow">
<template v-slot:body-cell-UseCompName="props"> <template v-slot:body-cell-UseCompName="props">
<q-th :props="props"> <q-th :props="props">
...@@ -68,6 +69,35 @@ ...@@ -68,6 +69,35 @@
</div> </div>
</q-th> </q-th>
</template> </template>
<template v-slot:body-cell-UseDayNum="props">
<q-td :props="props">
<div class="room-item f12 text-grey-6" v-for="x in props.row.DetailList">
<span class="q-mr-md">
<!-- {{ $t('v102.vehicle.tatle.th1') }}: -->
{{ x.UseDate }}</span>
<span class="q-mr-md"> {{ $t('v102.vehicle.di') }}{{x.DayNum}}{{ $t('v102.vehicle.tian') }} </span>
<span class="q-mr-md">
<!-- {{ $t('v102.vehicle.tatle.th3') }}: -->
{{ x.UseTypeName }} </span>
<span class="q-mr-md">{{ $t('v102.vehicle.tatle.th4') }}: {{x.TripInfo}}</span>
<span class="q-mr-md" v-if="x.UnitPrice>0">{{ $t('v102.vehicle.list2.s21') }} {{x.UnitPrice}}</span>
<span class="q-mr-md" v-if="x.StopBusPrice>0">{{ $t('v102.vehicle.list2.s22') }} {{x.StopBusPrice}}</span>
<span class="q-mr-md" v-if="x.RoomPrice>0">{{ $t('v102.vehicle.list2.s23') }} {{x.RoomPrice}}</span>
<span class="q-mr-md"> {{ $t('hotelorder.xj') }}: {{ x.Money ?? 1 }} </span>
</div>
</q-td>
</template>
<!-- <template v-slot:body-cell-RoomNo="props">
<q-td :props="props">
<n-tag :bordered="false" size="small" type="error" v-if="!props.row.OrderNo">
{{ $t('hotelorder.check.un') }}
</n-tag>
<n-tag :bordered="false" size="small" type="success" v-else>
{{ props.row.OrderNo }}
</n-tag>
</q-td>
</template> -->
<template v-slot:bottom> <template v-slot:bottom>
<div class="msl text-negative">{{ $t('v101.hotelRemark') }}{{ x.CreateRemark }}</div> <div class="msl text-negative">{{ $t('v101.hotelRemark') }}{{ x.CreateRemark }}</div>
</template> </template>
...@@ -78,6 +108,22 @@ ...@@ -78,6 +108,22 @@
<div class="pay row text-grey rounded-borders" :class="{ 'bg-grey-2 q-mt-md': $q.platform.is.mobile, col: $q.platform.is.desktop }"> <div class="pay row text-grey rounded-borders" :class="{ 'bg-grey-2 q-mt-md': $q.platform.is.mobile, col: $q.platform.is.desktop }">
</div> </div>
<div class="col desktop-only"></div> <div class="col desktop-only"></div>
<div class="rounded-borders bg-grey-2 q-pa-md"
:class="{ 'q-mx-md': $q.platform.is.desktop, 'q-mt-md': $q.platform.is.mobile }">
<div class="row items-center justify-between q-mb-sm q-pb-sm" style="border-bottom: 1px dashed #ddd">
<div class="f12 text-grey">{{ $t('hotelorder.orderMoney') }}</div>
<div class="dark q-ml-xl">
<span class="din text-subtitle1">{{ moneyFormat(x.totalMoney) }}</span>
<span class="f12">
<!-- {{ $t('unit.jp') }} -->
{{x.CurrencyName}}
</span>
</div>
</div>
<div class="text-right">
<q-btn dense outline color="accent" size="sm" class="q-mt-sm" :label="$t('hotelorder.payinfo')" @click="ViewPayment"></q-btn>
</div>
</div>
<div class="rounded-borders q-pa-sm justify-between" :class="{ column: $q.platform.is.desktop, 'row items-center': $q.platform.is.mobile, 'bg-green-1': x.OfferState != 1, 'bg-grey-2': x.OfferState == 1 }"> <div class="rounded-borders q-pa-sm justify-between" :class="{ column: $q.platform.is.desktop, 'row items-center': $q.platform.is.mobile, 'bg-green-1': x.OfferState != 1, 'bg-grey-2': x.OfferState == 1 }">
<q-list dense :class="{ 'row items-center justify-between full-width': $q.platform.is.mobile }"> <q-list dense :class="{ 'row items-center justify-between full-width': $q.platform.is.mobile }">
<q-item v-if="x.OfferState == 2" class="text-negative" clickable v-close-popup @click="cancel(x.Id)"> <q-item v-if="x.OfferState == 2" class="text-negative" clickable v-close-popup @click="cancel(x.Id)">
...@@ -90,9 +136,10 @@ ...@@ -90,9 +136,10 @@
<q-item-label>{{ $t('hotelorder.opera.edit') }}</q-item-label> <q-item-label>{{ $t('hotelorder.opera.edit') }}</q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
<q-item v-if="x.OfferState == 3" class="text-positive" clickable v-close-popup @click="details(x.Id)"> <!-- v-if="x.OfferState == 3" -->
<q-item class="text-positive" clickable v-close-popup @click="details(x.Id)">
<q-item-section> <q-item-section>
<q-item-label>{{ $t('v101.Listofquotation.baojiadan') }}</q-item-label> <q-item-label>{{$t('v102.vehicle.list.s9')}}</q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
</q-list> </q-list>
...@@ -122,6 +169,9 @@ ...@@ -122,6 +169,9 @@
<vehicle-details @close="close" :Id='Id' @refresh="refresh"> <vehicle-details @close="close" :Id='Id' @refresh="refresh">
</vehicle-details> </vehicle-details>
</q-dialog> </q-dialog>
<q-dialog v-model="showBankAccount">
<BankAccount @change="showBankAccount=false"></BankAccount>
</q-dialog>
</template> </template>
<script lang="ts"> <script lang="ts">
...@@ -137,14 +187,16 @@ import { defineComponent, inject, reactive, toRefs, watch } from 'vue' ...@@ -137,14 +187,16 @@ import { defineComponent, inject, reactive, toRefs, watch } from 'vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
import { getStrokeStatus,getSendType,moneyFormat } from '../../../utils/tools' import { getStrokeStatus,getSendType,moneyFormat } from '../../../utils/tools'
import BankAccount from '../../BankAccount.vue'
export default defineComponent({ export default defineComponent({
components: { vehicleDetails }, components: { vehicleDetails,BankAccount },
setup(props) { setup(props) {
const { t } = useI18n() const { t } = useI18n()
const $q = useQuasar() const $q = useQuasar()
const $router = useRouter() const $router = useRouter()
const data = reactive({ const data = reactive({
showBankAccount: false,
copyId: 0, copyId: 0,
showdetails: false, showdetails: false,
CancelRemark: '', CancelRemark: '',
...@@ -162,19 +214,23 @@ export default defineComponent({ ...@@ -162,19 +214,23 @@ export default defineComponent({
ProductId: {} as any, ProductId: {} as any,
showDetails: false, showDetails: false,
cols: [ cols: [
{ name: 'UseCompName', label: t('v102.vehicle.title1'), field: (row: any) => row, align: 'left' }, { name: 'StartDate', label: t('v102.vehicle.title7'), field: (row: any) => row.StartDate, align: 'left' },
// { name: 'UseCompName', label: t('v102.vehicle.title1'), field: (row: any) => row, align: 'left' },
{ name: 'PickUpInfo', label: t('v102.vehicle.title3'), field: (row: any) => row, align: 'left' }, { name: 'PickUpInfo', label: t('v102.vehicle.title3'), field: (row: any) => row, align: 'left' },
{ name: 'PeopleNum', label: t('v102.vehicle.title6'), field: (row: any) => row.PeopleNum, align: 'left' }, { name: 'PeopleNum', label: t('v102.vehicle.title6'), field: (row: any) => row.PeopleNum, align: 'left' },
{ name: 'StartDate', label: t('v102.vehicle.title7'), field: (row: any) => row.StartDate, align: 'left' },
{ name: 'UseDayNum', label: t('v102.vehicle.title8'), field: (row: any) => row.UseDayNum, align: 'left' }, { name: 'UseDayNum', label: t('v102.vehicle.tatle.th4'), field: (row: any) => row.UseDayNum, align: 'left' },
// { name: 'RoomNo', label: t('hotelorder.col.n'), align: 'left' },
{ name: 'BusTypeName', label: t('v102.vehicle.title9'), field: (row: any) => row.BusTypeName, align: 'left' }, { name: 'BusTypeName', label: t('v102.vehicle.title9'), field: (row: any) => row.BusTypeName, align: 'left' },
{ name: 'UseName', label: t('v102.vehicle.title10'), field: (row: any) => row.GuideInfo, align: 'left' }, { name: 'UseName', label: t('v102.vehicle.title10'), field: (row: any) => row.GuideInfo, align: 'left' },
{ name: 'TeamName', label: t('v102.vehicle.title11'), field: (row: any) => row.TeamName, align: 'left' }, { name: 'TeamName', label: t('v102.vehicle.title11'), field: (row: any) => row.TeamName, align: 'left' },
{ name: 'Money', label: t('hotelorder.col.m'), field: (row: any) => row.Money.toFixed(2), align: 'left' },
] as any, ] as any,
}) })
const search = inject(DirtionmaryHelper.TICKET_QUERY_PARAM) as any const search = inject(DirtionmaryHelper.TICKET_QUERY_PARAM) as any
watch(search, (n, o) => { watch(search, (n, o) => {
if (data.loading) return if (data.loading) return
data.pages.pageIndex = 1 data.pages.pageIndex = 1
...@@ -182,6 +238,9 @@ export default defineComponent({ ...@@ -182,6 +238,9 @@ export default defineComponent({
}) })
const methods = { const methods = {
ViewPayment() {
data.showBankAccount = true
},
init() { init() {
data.status = getStrokeStatus() data.status = getStrokeStatus()
data.sends = getSendType() data.sends = getSendType()
...@@ -250,13 +309,19 @@ export default defineComponent({ ...@@ -250,13 +309,19 @@ export default defineComponent({
$router.push({ path: `/vehicle/addEditVehicle${data.Id ? '/' + data.Id : ''}` }) $router.push({ path: `/vehicle/addEditVehicle${data.Id ? '/' + data.Id : ''}` })
}, },
getList() { getList() {
console.log(search.msg,'===---')
let param = Object.assign(data.pages, search.msg) let param = Object.assign(data.pages, search.msg)
HotelService.vehicleList(param) HotelService.vehicleList(param)
.then(r => { .then(r => {
if (r.data.resultCode == ApiResult.SUCCESS) { if (r.data.resultCode == ApiResult.SUCCESS) {
r.data.data.pageData.forEach((x: any) => { r.data.data.pageData.forEach((x: any) => {
x.typeInfo = data.status.find(y => y.StatusId == x.OfferState) ?? data.status[1] x.typeInfo = data.status.find(y => y.StatusId == x.OfferState) ?? data.status[1]
x.Money = 0
x.totalMoney = 0
x.DetailList.forEach((y:any)=>{
y.Money = y.UnitPrice+y.StopBusPrice+y.RoomPrice
x.Money +=y.Money
})
x.totalMoney += x.Money
}) })
data.orders = r.data.data.pageData data.orders = r.data.data.pageData
data.pages.pageCount = r.data.data.pageCount data.pages.pageCount = r.data.data.pageCount
...@@ -300,4 +365,13 @@ export default defineComponent({ ...@@ -300,4 +365,13 @@ export default defineComponent({
}) })
</script> </script>
<style></style> <style scoped>
.room-item {
height: 28px;
line-height: 28px;
border-bottom: 1px solid #eee;
}
.room-item:last-child{
border-bottom: 0;
}
</style>
...@@ -15,17 +15,14 @@ import { DirtionmaryHelper } from 'src/config/dictionary' ...@@ -15,17 +15,14 @@ import { DirtionmaryHelper } from 'src/config/dictionary'
import CharteredBusOrderList from '../../components/CharteredBus/order/CharteredBusOrderList.vue' import CharteredBusOrderList from '../../components/CharteredBus/order/CharteredBusOrderList.vue'
export default defineComponent({ export default defineComponent({
props:['type'], props:['type','OrderId'],
components: {CharteredBusOrderHeader, CharteredBusOrderList}, components: {CharteredBusOrderHeader, CharteredBusOrderList},
setup(props) { setup(props) {
let { setTitle } = useMetaModule() let { setTitle } = useMetaModule()
const { t } = useI18n() const { t } = useI18n()
// const pageTitle = inject(DirtionmaryHelper.PAGE_TITLE_KEY) as any
// pageTitle.value = t('v102.CharteredBus.pageTitle2')
// setTitle(pageTitle.value)
const search = reactive({ const search = reactive({
OrderType: props.type, OrderType: props.type,
OrderId: '', OrderId: props.OrderId,
OrderNo: '', OrderNo: '',
SurName: '', SurName: '',
Name: '', Name: '',
...@@ -37,7 +34,6 @@ export default defineComponent({ ...@@ -37,7 +34,6 @@ export default defineComponent({
ProductName: '', ProductName: '',
Mobile: '',//电话 Mobile: '',//电话
}) })
// search.OrderId = currentRouter.currentRoute.value.params.orderId
provide(DirtionmaryHelper.TICKET_ORDER_SEARCH, search) provide(DirtionmaryHelper.TICKET_ORDER_SEARCH, search)
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
import ListTable from 'src/components/vehicle/list/ListTable.vue'; import ListTable from 'src/components/vehicle/list/ListTable.vue';
export default defineComponent({ export default defineComponent({
components: { ListHeader, ListTable }, components: { ListHeader, ListTable },
props: ['OrderId'],
setup(props) { setup(props) {
let { setTitle } = useMetaModule() let { setTitle } = useMetaModule()
const { t } = useI18n() const { t } = useI18n()
...@@ -27,6 +28,7 @@ ...@@ -27,6 +28,7 @@
TeamName: '', TeamName: '',
StartTime: "", StartTime: "",
EndTime: '', EndTime: '',
OrderId: props.OrderId
} }
}) })
provide(DirtionmaryHelper.TICKET_QUERY_PARAM, search) provide(DirtionmaryHelper.TICKET_QUERY_PARAM, search)
......
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
<q-tab :name="2" :label="$t('v102.vehicle.tabtitle2')"></q-tab> <q-tab :name="2" :label="$t('v102.vehicle.tabtitle2')"></q-tab>
<q-tab :name="3" :label="$t('v102.vehicle.tabtitle3')"></q-tab> <q-tab :name="3" :label="$t('v102.vehicle.tabtitle3')"></q-tab>
</q-tabs> </q-tabs>
<teamOrder v-if="tab==0"></teamOrder> <teamOrder v-if="tab==0" :OrderId="OrderId"></teamOrder>
<CharteredBusOrder :type="tab" v-if="tab!=0"></CharteredBusOrder> <CharteredBusOrder :type="tab" :OrderId="OrderId" v-if="tab!=0"></CharteredBusOrder>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
...@@ -34,10 +34,18 @@ export default defineComponent({ ...@@ -34,10 +34,18 @@ export default defineComponent({
setTitle(pageTitle.value) setTitle(pageTitle.value)
const data = reactive({ const data = reactive({
tab: 0, tab: 0,
OrderId: null as any,
}) })
if(currentRouter.currentRoute&&currentRouter.currentRoute.value.params.pages){ if(currentRouter.currentRoute){
if(currentRouter.currentRoute.value.params.OrderId){
data.OrderId = currentRouter.currentRoute.value.params.OrderId
data.tab = currentRouter.currentRoute.value.params.Type
}else{
if(currentRouter.currentRoute.value.params.pages){
data.tab = currentRouter.currentRoute.value.params.pages data.tab = currentRouter.currentRoute.value.params.pages
} }
}
}
const menu = inject(DirtionmaryHelper.MENU_KEYS) as any const menu = inject(DirtionmaryHelper.MENU_KEYS) as any
menu.value = 6 menu.value = 6
const methods = { const methods = {
......
...@@ -30,7 +30,7 @@ const routes: RouteRecordRaw[] = [ ...@@ -30,7 +30,7 @@ const routes: RouteRecordRaw[] = [
{ path: '/vehicle/index', component: () => import('pages/CharteredBus/CharteredBusList.vue') },//车辆 { path: '/vehicle/index', component: () => import('pages/CharteredBus/CharteredBusList.vue') },//车辆
{ path: '/vehicle/Preview/:ProductId/:Time/:orderId?', component: () => import('pages/CharteredBus/CharteredBusPreview.vue') }, { path: '/vehicle/Preview/:ProductId/:Time/:orderId?', component: () => import('pages/CharteredBus/CharteredBusPreview.vue') },
{ path: '/vehicle/addEditVehicle/:Id?', component: () => import('pages/vehicle/addEditVehicle.vue') }, { path: '/vehicle/addEditVehicle/:Id?', component: () => import('pages/vehicle/addEditVehicle.vue') },
{ path: '/vehicle/order/:pages?', component: () => import('pages/vehicle/vehicleOrder.vue') }, { path: '/vehicle/order/:OrderId?/:pages?', component: () => import('pages/vehicle/vehicleOrder.vue') },
{ path: '/scheduledTrip/index', component: () => import('pages/scheduledTrip/scheduledTripList.vue') },//预定行程 { path: '/scheduledTrip/index', component: () => import('pages/scheduledTrip/scheduledTripList.vue') },//预定行程
{ path: '/scheduledTrip/details/:id/:tcid', component: () => import('pages/scheduledTrip/detailsNew.vue') }, { path: '/scheduledTrip/details/:id/:tcid', component: () => import('pages/scheduledTrip/detailsNew.vue') },
......
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