UPDATE

parent 4515b843
...@@ -534,6 +534,8 @@ export type ListBooking = { ...@@ -534,6 +534,8 @@ export type ListBooking = {
fee: string; fee: string;
bookingRandomCode: string; bookingRandomCode: string;
expectFee: string expectFee: string
customerName: string
createTime: string
}; };
export type ListArrayArtist = { export type ListArrayArtist = {
......
...@@ -48,6 +48,12 @@ ...@@ -48,6 +48,12 @@
<div>{{ item.row.artistBooking.artistName }}</div> <div>{{ item.row.artistBooking.artistName }}</div>
</td> </td>
</template> </template>
<template v-slot:body-cell-bookingRandomCode="item">
<td style="text-align: center">
<div>{{ item.row.artistBooking.bookingRandomCode }}</div>
</td>
</template>
<template v-slot:body-cell-customerName="item"> <template v-slot:body-cell-customerName="item">
<td style="text-align: center"> <td style="text-align: center">
<div>{{ item.row.artistBooking.customerName }}</div> <div>{{ item.row.artistBooking.customerName }}</div>
...@@ -159,17 +165,16 @@ export default defineComponent({ ...@@ -159,17 +165,16 @@ export default defineComponent({
align: 'center', align: 'center',
sortable: false, sortable: false,
}, },
{
{ name: 'bookingRandomCode',
name: 'artistName', field: 'bookingRandomCode',
field: 'artistName',
required: true, required: true,
label: 'Tên nghệ sĩ', label: 'Mã booking',
headerStyle: 'text-align: center !important; width: 9%', headerStyle: 'text-align: center !important; width: 9%',
align: 'left', align: 'left',
sortable: false, sortable: false,
}, },
{ {
name: 'customerName', name: 'customerName',
field: 'customerName', field: 'customerName',
required: true, required: true,
...@@ -179,6 +184,15 @@ export default defineComponent({ ...@@ -179,6 +184,15 @@ export default defineComponent({
sortable: false, sortable: false,
}, },
{
name: 'artistName',
field: 'artistName',
required: true,
label: 'Tên nghệ sĩ',
headerStyle: 'text-align: center !important; width: 9%',
align: 'left',
sortable: false,
},
{ {
name: 'fee', name: 'fee',
field: 'fee', field: 'fee',
...@@ -192,7 +206,7 @@ export default defineComponent({ ...@@ -192,7 +206,7 @@ export default defineComponent({
name: 'reason', name: 'reason',
field: 'reason', field: 'reason',
required: true, required: true,
label: 'Nội dung', label: 'Lý do phạt',
headerStyle: 'text-align: center !important; width: 13%', headerStyle: 'text-align: center !important; width: 13%',
align: 'left', align: 'left',
sortable: false, sortable: false,
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
persistent persistent
:model-value="showDialog" :model-value="showDialog"
@update:model-value="$emit('update:showDialog', $event)" @update:model-value="$emit('update:showDialog', $event)"
> >
<q-card style="min-width: 60rem" bordered> <q-card style="min-width: 60rem" bordered>
<q-form greedy> <q-form greedy>
...@@ -13,8 +12,8 @@ ...@@ -13,8 +12,8 @@
<q-item-label <q-item-label
class="text-h6 text-weight-regular" class="text-h6 text-weight-regular"
style="text-align: center" style="text-align: center"
>{{ $t('listBooking.dialogLabel.title') }} </q-item-label >{{ $t('listBooking.dialogLabel.title') }}
> </q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
</q-card-section> </q-card-section>
...@@ -23,118 +22,124 @@ ...@@ -23,118 +22,124 @@
<q-card-section> <q-card-section>
<div class="col-12 q-px-xl"> <div class="col-12 q-px-xl">
<div class="row q-col-gutter-sm"> <div class="row q-col-gutter-sm">
<div class="col-4 fs-14 color"> <div class="col-6">
{{ $t('listBooking.titleColumnsTable.bookingCode') }}: <div class="row q-col-gutter-sm">
</div> <div class="col-5 fs-14 color">Mã booking:</div>
<div class="col-8 fs-14"> <div class="col-7 fs-14">
{{ detailInfoBooking.bookingRandomCode }} {{ detailInfoBooking.bookingRandomCode }}
</div> </div>
<div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.artistName') }}: <div class="col-5 fs-14 color">
</div> {{ $t('listBooking.titleColumnsTable.artistName') }}:
<div class="col-8 fs-14"> </div>
{{ detailInfoBooking.artistName }} <div class="col-7 fs-14">
</div> {{ detailInfoBooking.artistName }}
</div>
<div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.userName') }}:
</div> <div class="col-5 fs-14 color">
<div class="col-8 fs-14">{{ detailInfoBooking.userName }}</div> {{ $t('listBooking.titleColumnsTable.userName') }}:
</div>
<div class="col-4 fs-14 color"> <div class="col-7 fs-14">
{{ $t('listBooking.titleColumnsTable.address') }}: {{ detailInfoBooking.customerName }}
</div> </div>
<div class="col-8 fs-14">{{ detailInfoBooking.address }}</div>
<div class="col-5 fs-14 color">
<div class="col-4 fs-14 color"> {{ $t('listBooking.titleColumnsTable.content') }}:
{{ $t('listBooking.titleColumnsTable.fromTime') }}: </div>
</div> <div class="col-7 fs-14">{{ detailInfoBooking.content }}</div>
<div class="col-8 fs-14">{{ detailInfoBooking.fromTime }}</div>
<div class="col-5 fs-14 color">
<div class="col-4 fs-14 color"> {{ $t('listBooking.titleColumnsTable.address') }}:
{{ $t('listBooking.titleColumnsTable.toTime') }}: </div>
</div> <div class="col-7 fs-14">{{ detailInfoBooking.address }}</div>
<div class="col-8 fs-14">{{ detailInfoBooking.toTime }}</div> </div>
</div>
<div class="col-4 fs-14 color"> <div class="col-6">
{{ $t('listBooking.titleColumnsTable.fee') }}: <div class="row q-col-gutter-sm">
</div> <div class="col-6 fs-14 color">
<div class="col-8 fs-14">{{ isformatMoney(detailInfoBooking.expectFee) }}</div> {{ 'Thời gian đặt booking' }}:
</div>
<div class="col-4 fs-14 color"> <div class="col-6 fs-14">
{{ $t('listBooking.titleColumnsTable.favoriteScore') }}: {{ detailInfoBooking.createTime }}
</div> </div>
<div class="col-8 fs-14">
{{ detailInfoBooking.favoriteScore }} <div class="col-6 fs-14 color">
</div> {{ $t('listBooking.titleColumnsTable.fromTime') }}:
</div>
<div class="col-4 fs-14 color"> <div class="col-6 fs-14">
{{ $t('listBooking.titleColumnsTable.status') }}: {{ detailInfoBooking.fromTime }}
</div> </div>
<div class="col-8 fs-14">
<q-chip <div class="col-6 fs-14 color">
size="sm" {{ $t('listBooking.titleColumnsTable.toTime') }}:
color="secondary" </div>
v-if="detailInfoBooking.status === 0" <div class="col-6 fs-14">{{ detailInfoBooking.toTime }}</div>
>Chưa hoàn thành</q-chip
> <div class="col-6 fs-14 color">
<q-chip {{ $t('listBooking.titleColumnsTable.fee') }}:
size="sm" </div>
color="info" <div class="col-6 fs-14">
v-else-if="detailInfoBooking.status === 1" {{ isformatMoney(detailInfoBooking.expectFee) }}
>Đã hoàn thành</q-chip </div>
>
<q-chip <div class="col-6 fs-14 color">
size="sm" {{ $t('listBooking.titleColumnsTable.status') }}:
color="warning" </div>
v-else-if="detailInfoBooking.status === 2" <div class="col-6 fs-14">
>Đã hủy</q-chip <q-chip
> size="sm"
<q-chip color="secondary"
size="sm" v-if="detailInfoBooking.status === 0"
color="warning" >Chưa hoàn thành</q-chip
v-else-if="detailInfoBooking.status === 3" >
>Hết hạn</q-chip <q-chip
> size="sm"
<q-chip color="info"
size="sm" v-else-if="detailInfoBooking.status === 1"
color="warning" >Đã hoàn thành</q-chip
v-else-if="detailInfoBooking.status === 4" >
>Chờ hủy</q-chip <q-chip
> size="sm"
color="warning"
</div> v-else-if="detailInfoBooking.status === 2"
>Đã hủy</q-chip
>
<q-chip
size="sm"
color="warning"
v-else-if="detailInfoBooking.status === 3"
>Hết hạn</q-chip
<div class="col-4 fs-14 color"> >
{{ $t('listBooking.titleColumnsTable.performStatus') }}: <q-chip
</div> size="sm"
<div class="col-8 fs-14"> color="warning"
<q-chip v-else-if="detailInfoBooking.status === 4"
size="sm" >Chờ hủy</q-chip
color="secondary" >
v-if="detailInfoBooking.performStatus === 0" </div>
>Chưa xác nhận</q-chip
> <div class="col-6 fs-14 color">
<q-chip {{ $t('listBooking.titleColumnsTable.performStatus') }}:
size="sm" </div>
color="info" <div class="col-6 fs-14">
v-else-if="detailInfoBooking.performStatus === 1" <q-chip
>Đã xác nhận</q-chip size="sm"
> color="secondary"
<q-chip size="sm" color="warning" v-else>Từ chối</q-chip> v-if="detailInfoBooking.performStatus === 0"
</div> >Chưa xác nhận</q-chip
>
<div class="col-4 fs-14 color"> <q-chip
{{ $t('listBooking.titleColumnsTable.content') }}: size="sm"
color="info"
v-else-if="detailInfoBooking.performStatus === 1"
>Đã xác nhận</q-chip
>
<q-chip size="sm" color="warning" v-else>Từ chối</q-chip>
</div>
</div>
</div> </div>
<div class="col-8 fs-14">{{ detailInfoBooking.content }}</div>
</div> </div>
</div> </div>
...@@ -187,12 +192,12 @@ export default defineComponent({ ...@@ -187,12 +192,12 @@ export default defineComponent({
} }
); );
const isformatMoney = (value: string) => { const isformatMoney = (value: string) => {
return formatMoney({ amount: value }); return formatMoney({ amount: value });
}; };
return { return {
isformatMoney, isformatMoney,
}; };
}, },
emits: ['update:showDialog', 'click:CloseBtn'], emits: ['update:showDialog', 'click:CloseBtn'],
......
...@@ -170,6 +170,14 @@ ...@@ -170,6 +170,14 @@
</q-btn> </q-btn>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-bookingRandomCode="item">
<q-td :item="item" style="text-align: center">
<div style="cursor: pointer;" @click="detail(item.row.id)">
{{ item.row.bookingRandomCode }}
</div>
</q-td>
</template>
<template v-slot:body-cell-stt="item"> <template v-slot:body-cell-stt="item">
<q-td :item="item" style="text-align: center"> <q-td :item="item" style="text-align: center">
{{ 1 + item.rowIndex + pageSize * (pageIndex - 1) }} {{ 1 + item.rowIndex + pageSize * (pageIndex - 1) }}
...@@ -190,6 +198,20 @@ ...@@ -190,6 +198,20 @@
</template> </template>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-time="item">
<td align="center">
<div>{{ item.row.fromTime }} - {{ item.row.toTime }}</div>
</td>
</template>
<template v-slot:body-cell-info="item">
<td align="center">
<div>
{{ item.row.customerDto.fullName }}
<span v-if="item.row.customerDto.phone">- {{ item.row.customerDto.phone }}</span>
</div>
</td>
</template>
<template v-slot:body-cell-performStatus="item"> <template v-slot:body-cell-performStatus="item">
<q-td align="center"> <q-td align="center">
...@@ -231,7 +253,10 @@ ...@@ -231,7 +253,10 @@
<template v-slot:body-cell-finedAmount="item"> <template v-slot:body-cell-finedAmount="item">
<q-td style="cursor: pointer" align="center"> <q-td style="cursor: pointer" align="center">
<div style="color: blue; text-decoration:underline;" @click="openDialogfinedAmount(item.row)"> <div
style="color: blue; text-decoration: underline"
@click="openDialogfinedAmount(item.row)"
>
{{ isformatMoney(item.row.finedAmount) }} {{ isformatMoney(item.row.finedAmount) }}
</div> </div>
</q-td> </q-td>
...@@ -316,7 +341,7 @@ export default defineComponent({ ...@@ -316,7 +341,7 @@ export default defineComponent({
sortable: false, sortable: false,
}, },
{ {
name: 'bookingCode', name: 'bookingRandomCode',
field: 'bookingRandomCode', field: 'bookingRandomCode',
required: true, required: true,
label: i18n.global.t('listBooking.titleColumnsTable.bookingCode'), label: i18n.global.t('listBooking.titleColumnsTable.bookingCode'),
...@@ -334,8 +359,8 @@ export default defineComponent({ ...@@ -334,8 +359,8 @@ export default defineComponent({
sortable: false, sortable: false,
}, },
{ {
name: 'customerName', name: 'info',
field: 'customerName', field: 'info',
required: true, required: true,
label: i18n.global.t('listBooking.titleColumnsTable.userName'), label: i18n.global.t('listBooking.titleColumnsTable.userName'),
headerStyle: 'text-align: center !important; width: 9%', headerStyle: 'text-align: center !important; width: 9%',
...@@ -348,7 +373,7 @@ export default defineComponent({ ...@@ -348,7 +373,7 @@ export default defineComponent({
required: true, required: true,
label: i18n.global.t('listBooking.titleColumnsTable.address'), label: i18n.global.t('listBooking.titleColumnsTable.address'),
headerStyle: 'text-align: center !important; width: 13%', headerStyle: 'text-align: center !important; width: 13%',
align: 'left', align: 'center',
sortable: false, sortable: false,
}, },
// { // {
...@@ -360,24 +385,35 @@ export default defineComponent({ ...@@ -360,24 +385,35 @@ export default defineComponent({
// align: 'left', // align: 'left',
// sortable: false, // sortable: false,
// }, // },
// {
// name: 'fromTime',
// field: 'fromTime',
// required: true,
// label: i18n.global.t('listBooking.titleColumnsTable.fromTime'),
// headerStyle: 'text-align: center !important; width: 9%',
// align: 'left',
// sortable: false,
// },
// {
// name: 'toTime',
// field: 'toTime',
// required: true,
// label: i18n.global.t('listBooking.titleColumnsTable.toTime'),
// headerStyle: 'text-align: center !important; width: 9%',
// align: 'left',
// sortable: false,
// },
{ {
name: 'fromTime', name: 'time',
field: 'fromTime', field: 'time',
required: true,
label: i18n.global.t('listBooking.titleColumnsTable.fromTime'),
headerStyle: 'text-align: center !important; width: 9%',
align: 'left',
sortable: false,
},
{
name: 'toTime',
field: 'toTime',
required: true, required: true,
label: i18n.global.t('listBooking.titleColumnsTable.toTime'), label: 'Bắt đầu - Kết thúc',
headerStyle: 'text-align: center !important; width: 9%', headerStyle: 'text-align: center !important; width: 9%',
align: 'left', align: 'left',
sortable: false, sortable: false,
}, },
// { // {
// name: 'fee', // name: 'fee',
// field: 'fee', // field: 'fee',
......
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