Commit 68a80dbf authored by Tình Trương's avatar Tình Trương

update

parent 0c261995
...@@ -80,4 +80,6 @@ export enum API_PATHS { ...@@ -80,4 +80,6 @@ export enum API_PATHS {
deleteCategoryPost = 'postCategory/delete', deleteCategoryPost = 'postCategory/delete',
detailCategoryPost = 'postCategory/detail', detailCategoryPost = 'postCategory/detail',
updateCategoryPost = 'postCategory/update', updateCategoryPost = 'postCategory/update',
getListBooking = 'booking',
getBookingDetail = 'booking/detail',
} }
...@@ -37,9 +37,10 @@ export enum BannerStatus { ...@@ -37,9 +37,10 @@ export enum BannerStatus {
export enum BookingStatus { export enum BookingStatus {
active = 1, active = 1,
inactive = 2, inactive = 2,
waitBooking = 0,
} }
export enum ActiveStatus { export enum ActiveStatus {
active = 1, active = 1,
inactive = 1, inactive = 0,
} }
...@@ -398,3 +398,17 @@ export type MenuType = { ...@@ -398,3 +398,17 @@ export type MenuType = {
updateBy: string | null; updateBy: string | null;
updateTime: string | null; updateTime: string | null;
}; };
export type ListBooking = {
id: number;
bookingCode: number;
artistName: string;
userName: string;
content: string;
address: string;
fromTime: string;
toTime: string;
status: number;
activeStatus: number;
fee: string;
};
import { defineComponent, Ref, ref, watch } from 'vue'; import { defineComponent, Ref, ref, watch } from 'vue';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
// import { isEmail } from '../../../boot/functions';
// import { isMobilePhone } from '../../../boot/functions';
import UploadImage from '../../upload-image/index.vue'; import UploadImage from '../../upload-image/index.vue';
export default defineComponent({ export default defineComponent({
...@@ -18,6 +16,7 @@ export default defineComponent({ ...@@ -18,6 +16,7 @@ export default defineComponent({
setup(props, context) { setup(props, context) {
const file: Ref<File | string> = ref(''); const file: Ref<File | string> = ref('');
const name: Ref<string> = ref('');
const code: Ref<string> = ref(''); const code: Ref<string> = ref('');
const embeddedUrl: Ref<string> = ref(''); const embeddedUrl: Ref<string> = ref('');
const urlFileLocal: Ref<string> = ref(''); const urlFileLocal: Ref<string> = ref('');
...@@ -37,6 +36,7 @@ export default defineComponent({ ...@@ -37,6 +36,7 @@ export default defineComponent({
const ResetData = () => { const ResetData = () => {
file.value = ''; file.value = '';
code.value = ''; code.value = '';
name.value = '';
embeddedUrl.value = ''; embeddedUrl.value = '';
urlFileLocal.value = ''; urlFileLocal.value = '';
status.value = 2; status.value = 2;
...@@ -45,12 +45,22 @@ export default defineComponent({ ...@@ -45,12 +45,22 @@ export default defineComponent({
context.emit('click:CloseBtnAddHotProduct'); context.emit('click:CloseBtnAddHotProduct');
context.emit('insertData', { context.emit('insertData', {
file: file.value, file: file.value,
name: name.value,
code: code.value, code: code.value,
status: status.value, status: status.value,
embeddedUrl: embeddedUrl.value, embeddedUrl: embeddedUrl.value,
imageUrl: urlFileLocal.value, imageUrl: urlFileLocal.value,
}); });
}; };
const product_name = [
(val?: string) =>
(val && val.trim().length) ||
i18n.global.t(
'artist.artistInformation.validateMessages.requireProducName'
),
];
const product_code = [ const product_code = [
(val?: string) => (val?: string) =>
(val && val.trim().length) || (val && val.trim().length) ||
...@@ -71,10 +81,12 @@ export default defineComponent({ ...@@ -71,10 +81,12 @@ export default defineComponent({
SubmitData, SubmitData,
urlFileLocal, urlFileLocal,
file, file,
name,
code, code,
embeddedUrl, embeddedUrl,
status, status,
ResetData, ResetData,
product_name,
product_code, product_code,
url_embed, url_embed,
}; };
......
...@@ -31,6 +31,18 @@ ...@@ -31,6 +31,18 @@
:isBtn="true" :isBtn="true"
@selectedFile="uploadAvatar" @selectedFile="uploadAvatar"
></UploadImage> ></UploadImage>
<q-input
v-model="name"
label="
Tên sản phẩm
"
:rules="product_name"
type="text"
class="q-my-sm"
outlined
hide-bottom-space
clearable
></q-input>
<q-input <q-input
v-model="code" v-model="code"
label=" label="
......
...@@ -34,6 +34,18 @@ ...@@ -34,6 +34,18 @@
:isBtn="true" :isBtn="true"
@selectedFile="uploadAvatar" @selectedFile="uploadAvatar"
></UploadImage> ></UploadImage>
<q-input
v-model="name"
label="
Tên sản phẩm
"
:rules="product_name"
type="text"
class="q-my-sm"
outlined
hide-bottom-space
clearable
></q-input>
<q-input <q-input
v-model="code" v-model="code"
label=" label="
......
...@@ -24,6 +24,7 @@ export default defineComponent({ ...@@ -24,6 +24,7 @@ export default defineComponent({
setup(props, context) { setup(props, context) {
const configImg = config; const configImg = config;
const file: Ref<File | string> = ref(''); const file: Ref<File | string> = ref('');
const name: Ref<string> = ref('');
const code: Ref<string> = ref(''); const code: Ref<string> = ref('');
const embeddedUrl: Ref<string> = ref(''); const embeddedUrl: Ref<string> = ref('');
const urlFileLocal: Ref<string> = ref(''); const urlFileLocal: Ref<string> = ref('');
...@@ -41,6 +42,7 @@ export default defineComponent({ ...@@ -41,6 +42,7 @@ export default defineComponent({
(value) => { (value) => {
if (value) { if (value) {
id.value = props.dataUpdate?.id as number; id.value = props.dataUpdate?.id as number;
name.value = props.dataUpdate?.name as string;
code.value = props.dataUpdate?.code as string; code.value = props.dataUpdate?.code as string;
embeddedUrl.value = props.dataUpdate?.embeddedUrl as string; embeddedUrl.value = props.dataUpdate?.embeddedUrl as string;
status.value = props.dataUpdate?.status as number; status.value = props.dataUpdate?.status as number;
...@@ -54,6 +56,7 @@ export default defineComponent({ ...@@ -54,6 +56,7 @@ export default defineComponent({
); );
const ResetData = () => { const ResetData = () => {
file.value = ''; file.value = '';
name.value = '';
code.value = ''; code.value = '';
embeddedUrl.value = ''; embeddedUrl.value = '';
urlFileLocal.value = ''; urlFileLocal.value = '';
...@@ -63,6 +66,7 @@ export default defineComponent({ ...@@ -63,6 +66,7 @@ export default defineComponent({
context.emit('click:CloseBtnUpdateHotProduct'); context.emit('click:CloseBtnUpdateHotProduct');
context.emit('UpdateData', { context.emit('UpdateData', {
file: file.value, file: file.value,
name: name.value,
code: code.value, code: code.value,
status: status.value, status: status.value,
embeddedUrl: embeddedUrl.value, embeddedUrl: embeddedUrl.value,
...@@ -70,6 +74,13 @@ export default defineComponent({ ...@@ -70,6 +74,13 @@ export default defineComponent({
id: id.value, id: id.value,
}); });
}; };
const product_name = [
(val?: string) =>
(val && val.trim().length) ||
i18n.global.t(
'artist.artistInformation.validateMessages.requireProducName'
),
];
const product_code = [ const product_code = [
(val?: string) => (val?: string) =>
(val && val.trim().length) || (val && val.trim().length) ||
...@@ -90,15 +101,16 @@ export default defineComponent({ ...@@ -90,15 +101,16 @@ export default defineComponent({
SubbmitDataUpdate, SubbmitDataUpdate,
urlFileLocal, urlFileLocal,
file, file,
name,
code, code,
embeddedUrl, embeddedUrl,
status, status,
ResetData, ResetData,
product_name,
product_code, product_code,
url_embed, url_embed,
id, id,
configImg, configImg,
imageAPI, imageAPI,
}; };
}, },
......
...@@ -33,6 +33,15 @@ ...@@ -33,6 +33,15 @@
:isBtn="true" :isBtn="true"
></UploadImage> ></UploadImage>
<q-input
label="Tiêu đề"
hide-bottom-space
type="text"
class="q-my-sm"
outlined
clearable
></q-input>
<q-input <q-input
v-model="content" v-model="content"
label="Nội dung" label="Nội dung"
......
...@@ -208,7 +208,9 @@ ...@@ -208,7 +208,9 @@
<div <div
@click="$emit('openDialogUploadEmbed')" @click="$emit('openDialogUploadEmbed')"
class="flex flex-center" class="flex flex-center"
:style="socialEmbedded !== null ? 'height: 85%;' : 'height: 85%'" :style="
socialEmbedded !== null ? 'height: 580px;' : 'height: 580px'
"
> >
<iframe <iframe
v-if="socialEmbedded !== null" v-if="socialEmbedded !== null"
...@@ -256,7 +258,7 @@ ...@@ -256,7 +258,7 @@
</div> </div>
<div <div
class="flex flex-center" class="flex flex-center"
:style="stories.length ? 'height: 85%' : 'height: 85%;'" :style="stories.length ? 'height: 580px' : 'height: 580px;'"
bordered bordered
v-if="!stories.length" v-if="!stories.length"
> >
...@@ -315,9 +317,11 @@ ...@@ -315,9 +317,11 @@
@click="deleteStory(storyIdx)" @click="deleteStory(storyIdx)"
></q-icon> ></q-icon>
</div> </div>
<q-input outlined type="text" class="q-py-sm" readonly></q-input>
<q-input <q-input
outlined
type="textarea" type="textarea"
class="q-px-sm" class="q-py-sm"
:model-value="story.content" :model-value="story.content"
@update:model-value="$emit('update:content', $event)" @update:model-value="$emit('update:content', $event)"
readonly readonly
...@@ -329,7 +333,7 @@ ...@@ -329,7 +333,7 @@
<div class="col-4"> <div class="col-4">
<div class="text-h6 text-weight-regular q-py-md">Lịch</div> <div class="text-h6 text-weight-regular q-py-md">Lịch</div>
<q-date <q-date
style="width: 100%; height: 85%" style="width: 100%; height: 580px"
:model-value="formatSchedules" :model-value="formatSchedules"
@update:model-value="$emit('update:formatSchedules', $event)" @update:model-value="$emit('update:formatSchedules', $event)"
multiple multiple
......
...@@ -22,6 +22,14 @@ export default defineComponent({ ...@@ -22,6 +22,14 @@ export default defineComponent({
align: 'center', align: 'center',
sortable: false, sortable: false,
}, },
{
name: 'name',
field: 'name',
required: true,
label: i18n.global.t('artist.hotProduct.tableColumnsProduct.name'),
align: 'center',
sortable: false,
},
{ {
name: 'code', name: 'code',
field: 'code', field: 'code',
......
...@@ -166,6 +166,7 @@ export default defineComponent({ ...@@ -166,6 +166,7 @@ export default defineComponent({
i18n.global.t('customer.validateMessages.requiredPosition'), i18n.global.t('customer.validateMessages.requiredPosition'),
]; ];
return { return {
isPwd: ref(true),
userNameRules, userNameRules,
customerNameRules, customerNameRules,
businessNameRules, businessNameRules,
......
...@@ -33,11 +33,20 @@ ...@@ -33,11 +33,20 @@
v-model="password" v-model="password"
:label="$t('customer.dialogLabel.fieldLabels.password')" :label="$t('customer.dialogLabel.fieldLabels.password')"
:rules="passwordRules" :rules="passwordRules"
hide-bottom-space
type="password"
class="q-my-sm"
outlined outlined
></q-input> :type="isPwd ? 'password' : 'text'"
class="q-my-sm"
autocomplete="new-password"
hide-bottom-space
>
<template v-slot:append>
<q-icon
:name="isPwd ? 'visibility_off' : 'visibility'"
class="cursor-pointer"
@click="isPwd = !isPwd"
/>
</template>
</q-input>
<q-input <q-input
v-model="code" v-model="code"
:label="$t('customer.dialogLabel.fieldLabels.code')" :label="$t('customer.dialogLabel.fieldLabels.code')"
......
...@@ -148,6 +148,7 @@ export default defineComponent({ ...@@ -148,6 +148,7 @@ export default defineComponent({
i18n.global.t('customer.validateMessages.requiredPosition'), i18n.global.t('customer.validateMessages.requiredPosition'),
]; ];
return { return {
isPwd: ref(true),
userNameRules, userNameRules,
customerNameRules, customerNameRules,
businessNameRules, businessNameRules,
......
...@@ -34,11 +34,18 @@ ...@@ -34,11 +34,18 @@
v-model="password" v-model="password"
:label="$t('customer.dialogLabel.fieldLabels.password')" :label="$t('customer.dialogLabel.fieldLabels.password')"
:rules="passwordRules" :rules="passwordRules"
hide-bottom-space
type="password"
class="q-my-sm"
outlined outlined
readonly :type="isPwd ? 'password' : 'text'"
class="q-my-sm"
autocomplete="new-password"
hide-bottom-space
>
<template v-slot:append>
<q-icon
:name="isPwd ? 'visibility_off' : 'visibility'"
class="cursor-pointer"
@click="isPwd = !isPwd"
/> </template
></q-input> ></q-input>
<q-input <q-input
v-model="code" v-model="code"
......
<template>
<q-dialog
persistent
:model-value="showDialog"
@update:model-value="$emit('update:showDialog', $event)"
>
<q-card style="min-width: 56rem" bordered>
<q-form greedy>
<q-card-section>
<q-item>
<q-item-section>
<q-item-label class="text-h6 text-weight-regular">{{
$t('listBooking.dialogLabel.title')
}}</q-item-label>
</q-item-section>
</q-item>
</q-card-section>
<q-separator />
<q-card-section>
<div class="col-12 q-px-xl">
<div class="row q-col-gutter-sm">
<div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.bookingCode') }}:
</div>
<div class="col-8 fs-14">{{ detailInfoBooking.bookingCode }}</div>
<div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.artistName') }}:
</div>
<div class="col-8 fs-14">{{ detailInfoBooking.artistName }}</div>
<div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.userName') }}:
</div>
<div class="col-8 fs-14">{{ detailInfoBooking.userName }}</div>
<div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.address') }}:
</div>
<div class="col-8 fs-14">{{ detailInfoBooking.address }}</div>
<div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.content') }}:
</div>
<div class="col-8 fs-14">{{ detailInfoBooking.content }}</div>
<div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.fromTime') }}:
</div>
<div class="col-8 fs-14">{{ detailInfoBooking.fromTime }}</div>
<div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.toTime') }}:
</div>
<div class="col-8 fs-14">{{ detailInfoBooking.toTime }}</div>
<div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.fee') }}:
</div>
<div class="col-8 fs-14">{{ detailInfoBooking.fee }}</div>
<!-- <div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.like') }}:
</div>
<div class="col-8 fs-14">{{ detailInfoBooking.like }}</div> -->
<div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.status') }}:
</div>
<div class="col-8 fs-14">{{ detailInfoBooking.status }}</div>
<div class="col-4 fs-14 color">
{{ $t('listBooking.titleColumnsTable.activeStatus') }}:
</div>
<div class="col-8 fs-14">
{{ detailInfoBooking.activeStatus }}
</div>
</div>
</div>
</q-card-section>
<q-card-actions align="right">
<q-btn
color="grey"
no-caps
style="width: 90px"
:label="$t('listBooking.crudActions.cancel')"
@click="$emit('click:CloseBtn')"
/>
</q-card-actions>
</q-form>
</q-card>
</q-dialog>
</template>
<script lang="ts">
import { defineComponent, PropType, watch } from 'vue';
import { ListBooking } from 'src/assets/type';
export default defineComponent({
props: {
showDialog: {
type: Boolean,
required: true,
},
detailInfoBooking: {
type: Object as PropType<ListBooking>,
required: true,
},
},
setup(props) {
watch(
() => props.showDialog,
(value) => {
if (value) {
}
}
);
return {};
},
emits: ['update:showDialog', 'click:CloseBtn'],
});
</script>
<style scoped>
.fs-14 {
font-size: 14px;
}
.color {
color: #5d319e;
}
</style>
...@@ -168,7 +168,7 @@ ...@@ -168,7 +168,7 @@
icon="mdi-delete-outline" icon="mdi-delete-outline"
@click="deleteContract(item.rowIndex)" @click="deleteContract(item.rowIndex)"
> >
<q-tooltip :offset="[20, 10]">{{ <q-tooltip :offset="[10, 10]">{{
$t('managingUnitAdd.toolTipMessage.delete') $t('managingUnitAdd.toolTipMessage.delete')
}}</q-tooltip> }}</q-tooltip>
</q-btn> </q-btn>
...@@ -179,7 +179,7 @@ ...@@ -179,7 +179,7 @@
icon="mdi-account-edit-outline" icon="mdi-account-edit-outline"
@click="openUpdateArtistDialog(item.row, item.rowIndex)" @click="openUpdateArtistDialog(item.row, item.rowIndex)"
> >
<q-tooltip :offset="[20, 10]">{{ <q-tooltip :offset="[10, 10]">{{
$t('managingUnitAdd.toolTipMessage.updateInfo') $t('managingUnitAdd.toolTipMessage.updateInfo')
}}</q-tooltip> }}</q-tooltip>
</q-btn> </q-btn>
...@@ -213,9 +213,17 @@ ...@@ -213,9 +213,17 @@
</q-td> </q-td>
</template> </template>
</q-table> </q-table>
<div v-if="check_artistList">Không được để trống</div> {{ check_artistList }}
<div
v-if="check_artistList"
style="color: #c10015; font-size: 12px"
>
Không được để trống
</div>
</div> </div>
<div></div>
<!-- ngân hàng --> <!-- ngân hàng -->
<div class="row q-pt-lg"> <div class="row q-pt-lg">
<div class="col-auto text-h6 text-weight-regular flex q-ml-md"> <div class="col-auto text-h6 text-weight-regular flex q-ml-md">
...@@ -246,7 +254,7 @@ ...@@ -246,7 +254,7 @@
<template v-slot:body-cell-action=""> <template v-slot:body-cell-action="">
<q-td style="padding: 0" class="flex flex-center"> <q-td style="padding: 0" class="flex flex-center">
<q-btn flat round color="primary" icon="mdi-delete-outline"> <q-btn flat round color="primary" icon="mdi-delete-outline">
<q-tooltip :offset="[20, 10]">{{ <q-tooltip :offset="[10, 10]">{{
$t('managingUnitAdd.toolTipMessage.deleteBankAccount') $t('managingUnitAdd.toolTipMessage.deleteBankAccount')
}}</q-tooltip> }}</q-tooltip>
</q-btn> </q-btn>
...@@ -256,7 +264,7 @@ ...@@ -256,7 +264,7 @@
color="primary" color="primary"
icon="mdi-account-edit-outline" icon="mdi-account-edit-outline"
> >
<q-tooltip :offset="[20, 10]">{{ <q-tooltip :offset="[10, 10]">{{
$t('managingUnitAdd.toolTipMessage.updateBankAccount') $t('managingUnitAdd.toolTipMessage.updateBankAccount')
}}</q-tooltip> }}</q-tooltip>
</q-btn> </q-btn>
......
...@@ -490,6 +490,7 @@ export default { ...@@ -490,6 +490,7 @@ export default {
requireEmailAdminister: 'Vui lòng nhập Email người quản lý', requireEmailAdminister: 'Vui lòng nhập Email người quản lý',
requirePhoneNumberAdminister: requirePhoneNumberAdminister:
'Vui lòng nhập Số điện thoại người quản lý', 'Vui lòng nhập Số điện thoại người quản lý',
requireProducName: 'Vui lòng nhập Tên sản phẩm',
requireProducCode: 'Vui lòng nhập Mã sản phẩm', requireProducCode: 'Vui lòng nhập Mã sản phẩm',
requireUrlembed: 'Vui lòng nhập Url Embed', requireUrlembed: 'Vui lòng nhập Url Embed',
requireArtistCode: 'Vui lòng nhập Mã nghệ sỹ', requireArtistCode: 'Vui lòng nhập Mã nghệ sỹ',
...@@ -529,6 +530,7 @@ export default { ...@@ -529,6 +530,7 @@ export default {
}, },
hotProduct: { hotProduct: {
tableColumnsProduct: { tableColumnsProduct: {
name: 'Tên sản phẩm',
productCode: 'Mã sản phẩm', productCode: 'Mã sản phẩm',
urlEmbed: 'Url embed', urlEmbed: 'Url embed',
productImage: 'Ảnh sản phẩm', productImage: 'Ảnh sản phẩm',
...@@ -918,25 +920,31 @@ export default { ...@@ -918,25 +920,31 @@ export default {
title: 'Danh sách booking', title: 'Danh sách booking',
titleColumnsTable: { titleColumnsTable: {
stt: 'STT', stt: 'STT',
customerName: 'Khách hàng', bookingCode: 'Mã',
userName: 'Khách hàng',
artistName: 'Nghệ sỹ', artistName: 'Nghệ sỹ',
description: 'Nội dung', content: 'Nội dung',
place: 'Địa điểm', address: 'Địa điểm',
startTime: 'Thời gian bắt đầu', fromTime: 'Thời gian bắt đầu',
endTime: 'Thời gian kết thúc', toTime: 'Thời gian kết thúc',
statusBooking: 'Trạng thái Booking', fee: 'Giá',
statusActive: 'Trạng thái hoạt động', like: 'Số lượt thích',
createTime: 'Thời gian tạo', status: 'T.T Booking',
createBy: 'Người tạo', activeStatus: 'T.T Thực hiện',
updateBy: 'Người cập nhật',
updateTime: 'Thời gian cập nhật',
action: 'Chức năng', action: 'Chức năng',
}, },
dialogLabel: {
title: 'Thông tin Booking',
},
crudActions: {
cancel: 'Đóng',
},
statusLabel: { statusLabel: {
activeBooking: 'Đã xác nhận', waitBooking: 'Chờ nhận',
inactiveBooking: 'Không xác nhận', activeBooking: 'Đã nhận',
activeEvent: 'Active', inactiveBooking: 'Từ chối',
inactiveEvent: 'Xoá', activeEvent: 'Đã diễn',
inactiveEvent: 'Chưa diễn',
}, },
}, },
work: { work: {
......
...@@ -14,13 +14,6 @@ ...@@ -14,13 +14,6 @@
name="information" name="information"
:label="$t('artist.artistInformation.tabLabel.personalInformation')" :label="$t('artist.artistInformation.tabLabel.personalInformation')"
> >
<!-- <template v-slot:default>
<q-icon
style="position: absolute; top: 5px; right: -16px"
name="mdi-alert"
color="red"
></q-icon>
</template> -->
</q-tab> </q-tab>
<q-tab <q-tab
name="vabAccount" name="vabAccount"
......
...@@ -36,9 +36,6 @@ import { ...@@ -36,9 +36,6 @@ import {
TypeCardType, TypeCardType,
FileUploadType, FileUploadType,
} from 'src/assets/type'; } from 'src/assets/type';
// import { isEmail } from '../../boot/functions';
// import { isMobilePhone } from '../../boot/functions';
export type AvatarType = { export type AvatarType = {
file?: File; file?: File;
url?: string | null; url?: string | null;
...@@ -690,14 +687,6 @@ export default defineComponent({ ...@@ -690,14 +687,6 @@ export default defineComponent({
'artist.artistInformation.validateMessages.requirePhoneNumber' 'artist.artistInformation.validateMessages.requirePhoneNumber'
); );
} }
// if (!isMobilePhone(phoneNumber.value as string)) {
// hasError = true;
// phoneNumberRules.value = true;
// errorMessPhoneNumber.value = i18n.global.t(
// 'artist.artistInformation.validateMessages.isPhone'
// );
// }
if (!email.value || !email.value?.trim().length) { if (!email.value || !email.value?.trim().length) {
hasError = true; hasError = true;
emailRules.value = true; emailRules.value = true;
...@@ -705,30 +694,24 @@ export default defineComponent({ ...@@ -705,30 +694,24 @@ export default defineComponent({
'artist.artistInformation.validateMessages.requireEmail' 'artist.artistInformation.validateMessages.requireEmail'
); );
} }
// if (!isEmail(email.value as string)) {
// if (
// !phoneNumberAdminister.value ||
// !phoneNumberAdminister.value?.trim().length
// ) {
// hasError = true; // hasError = true;
// emailRules.value = true; // phoneNumberAdministerRules.value = true;
// errorMessEmail.value = i18n.global.t( // errorMessPhoneNumberAdminister.value = i18n.global.t(
// 'artist.artistInformation.validateMessages.isEmail' // 'artist.artistInformation.validateMessages.requirePhoneNumberAdminister'
// );
// }
// if (!emailAdminister.value || !emailAdminister.value?.trim().length) {
// hasError = true;
// emailAdministerRules.value = true;
// errorMessEmailAdminister.value = i18n.global.t(
// 'artist.artistInformation.validateMessages.requireEmailAdminister'
// ); // );
// } // }
if (
!phoneNumberAdminister.value ||
!phoneNumberAdminister.value?.trim().length
) {
hasError = true;
phoneNumberAdministerRules.value = true;
errorMessPhoneNumberAdminister.value = i18n.global.t(
'artist.artistInformation.validateMessages.requirePhoneNumberAdminister'
);
}
if (!emailAdminister.value || !emailAdminister.value?.trim().length) {
hasError = true;
emailAdministerRules.value = true;
errorMessEmailAdminister.value = i18n.global.t(
'artist.artistInformation.validateMessages.requireEmailAdminister'
);
}
if (artistLevel.value === null) { if (artistLevel.value === null) {
hasError = true; hasError = true;
...@@ -805,7 +788,6 @@ export default defineComponent({ ...@@ -805,7 +788,6 @@ export default defineComponent({
instagram: instagram.value, instagram: instagram.value,
whatsapp: whatsapp.value, whatsapp: whatsapp.value,
fullName: fullName.value, fullName: fullName.value,
// "workStatus": 1,
shortDescription: null, shortDescription: null,
account: null, account: null,
socialEmbedded: socialEmbedded.value, socialEmbedded: socialEmbedded.value,
...@@ -856,7 +838,6 @@ export default defineComponent({ ...@@ -856,7 +838,6 @@ export default defineComponent({
void getNationalityOptions(); void getNationalityOptions();
void getArtistLevelOptions(); void getArtistLevelOptions();
void getQualificationOptions(); void getQualificationOptions();
void getBankOptions(); void getBankOptions();
void getTypeCardOptions(); void getTypeCardOptions();
}); });
......
import { i18n } from 'src/boot/i18n';
import { defineComponent, onMounted, Ref, ref } from 'vue';
import Pagination from 'components/pagination/index.vue';
import { BookingStatus } from 'src/assets/enums';
import { ActiveStatus } from 'src/assets/enums';
export default defineComponent({
components: {
Pagination,
},
setup() {
const tableColumns = [
{
name: 'stt',
field: 'stt',
required: true,
label: i18n.global.t('listBooking.titleColumnsTable.stt'),
align: 'center',
sortable: false,
},
{
name: 'artistName',
field: 'artistName',
required: true,
label: i18n.global.t('listBooking.titleColumnsTable.artistName'),
align: 'center',
headerStyle: 'text-align: center !important;',
sortable: false,
},
{
name: 'customerName',
field: 'customerName',
required: true,
label: i18n.global.t('listBooking.titleColumnsTable.customerName'),
headerStyle: 'text-align: center !important;',
align: 'left',
sortable: false,
},
{
name: 'description',
field: 'description',
required: true,
label: i18n.global.t('listBooking.titleColumnsTable.description'),
headerStyle: 'text-align: center !important;',
align: 'left',
sortable: false,
},
{
name: 'place',
field: 'place',
required: true,
label: i18n.global.t('listBooking.titleColumnsTable.place'),
headerStyle: 'text-align: center !important;',
align: 'left',
sortable: false,
},
{
name: 'startTime',
field: 'startTime',
required: true,
label: i18n.global.t('listBooking.titleColumnsTable.startTime'),
headerStyle: 'text-align: center !important;',
align: 'center',
sortable: false,
},
{
name: 'endTime',
field: 'endTime',
required: true,
label: i18n.global.t('listBooking.titleColumnsTable.endTime'),
headerStyle: 'text-align: center !important;',
align: 'center',
sortable: false,
},
{
name: 'statusBooking',
field: 'statusBooking',
required: true,
label: i18n.global.t('listBooking.titleColumnsTable.statusBooking'),
headerStyle: 'text-align: center !important;',
align: 'left',
sortable: false,
},
{
name: 'statusActive',
field: 'statusActive',
required: true,
label: i18n.global.t('listBooking.titleColumnsTable.statusActive'),
headerStyle: 'text-align: center !important;',
align: 'left',
sortable: false,
},
{
name: 'action',
field: 'action',
required: true,
label: i18n.global.t('listBooking.titleColumnsTable.action'),
align: 'center',
sortable: false,
},
];
const listBooking = ref([
{
stt: 1,
artistName: 'Sơn Tùng MTP',
customerName: 'Nguyễn Văn A',
description: 'Đại nhạc hội',
place: 'Cầu Giấy - Hà Nội',
startTime: '18:00:00 - 30/4/2021',
endTime: '21:00:00 - 30/4/2021',
statusBooking: 1,
statusActive: 2,
},
]);
const pageIndex = ref(1);
const pageSize = ref(20);
const totalPage = ref(10);
const keywordSearch: Ref<string | null> = ref(null);
const changePageSize = () => {
pageIndex.value = 1;
void getListBooking();
};
const getListBooking = () => {
// console.log('API List Menu');
};
onMounted(() => {
void getListBooking();
});
return {
keywordSearch,
status,
listBooking,
tableColumns,
pageIndex,
pageSize,
totalPage,
changePageSize,
getListBooking,
BookingStatus,
ActiveStatus,
};
},
});
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
icon="mdi-account-edit-outline" icon="mdi-account-edit-outline"
@click="openUpdateFieldDialog(item.row.id)" @click="openUpdateFieldDialog(item.row.id)"
> >
<q-tooltip :offset="[20, 10]">{{ <q-tooltip :offset="[10, 10]">{{
$t('field.toolTipMessage.updateField') $t('field.toolTipMessage.updateField')
}}</q-tooltip> }}</q-tooltip>
</q-btn> </q-btn>
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
icon="mdi-delete-outline" icon="mdi-delete-outline"
@click="confirmDeleteField(item.row.id)" @click="confirmDeleteField(item.row.id)"
> >
<q-tooltip :offset="[20, 10]">{{ <q-tooltip :offset="[10, 10]">{{
$t('field.toolTipMessage.deleteField') $t('field.toolTipMessage.deleteField')
}}</q-tooltip> }}</q-tooltip>
</q-btn> </q-btn>
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
<td> <td>
<div class="ellipsis-3-lines"> <div class="ellipsis-3-lines">
{{ !item.row.description ? '' : item.row.description }} {{ !item.row.description ? '' : item.row.description }}
<q-tooltip :offset="[20, 10]" max-width="35%">{{ <q-tooltip :offset="[10, 10]" max-width="35%">{{
!item.row.description ? '' : item.row.description !item.row.description ? '' : item.row.description
}}</q-tooltip> }}</q-tooltip>
</div> </div>
...@@ -141,14 +141,6 @@ export default defineComponent({ ...@@ -141,14 +141,6 @@ export default defineComponent({
}, },
setup() { setup() {
const fieldTableColumns = [ const fieldTableColumns = [
// {
// name: 'index',
// field: 'index',
// required: true,
// label: 'STT',
// align: 'center',
// sortable: false,
// },
{ {
name: 'name', name: 'name',
field: 'name', field: 'name',
......
...@@ -648,23 +648,24 @@ export default defineComponent({ ...@@ -648,23 +648,24 @@ export default defineComponent({
// 'artist.artistInformation.validateMessages.isEmail' // 'artist.artistInformation.validateMessages.isEmail'
// ); // );
// } // }
if (
!phoneNumberAdminister.value || // if (
!phoneNumberAdminister.value?.trim().length // !phoneNumberAdminister.value ||
) { // !phoneNumberAdminister.value?.trim().length
hasError = true; // ) {
phoneNumberAdministerRules.value = true; // hasError = true;
errorMessPhoneNumberAdminister.value = i18n.global.t( // phoneNumberAdministerRules.value = true;
'artist.artistInformation.validateMessages.requirePhoneNumberAdminister' // errorMessPhoneNumberAdminister.value = i18n.global.t(
); // 'artist.artistInformation.validateMessages.requirePhoneNumberAdminister'
} // );
if (!emailAdminister.value || !emailAdminister.value?.trim().length) { // }
hasError = true; // if (!emailAdminister.value || !emailAdminister.value?.trim().length) {
emailAdministerRules.value = true; // hasError = true;
errorMessEmailAdminister.value = i18n.global.t( // emailAdministerRules.value = true;
'artist.artistInformation.validateMessages.requireEmailAdminister' // errorMessEmailAdminister.value = i18n.global.t(
); // 'artist.artistInformation.validateMessages.requireEmailAdminister'
} // );
// }
if (artistLevel.value === null) { if (artistLevel.value === null) {
hasError = true; hasError = true;
......
...@@ -14,13 +14,6 @@ ...@@ -14,13 +14,6 @@
name="information" name="information"
:label="$t('artist.artistInformation.tabLabel.personalInformation')" :label="$t('artist.artistInformation.tabLabel.personalInformation')"
> >
<!-- <template v-slot:default>
<q-icon
style="position: absolute; top: 5px; right: -16px"
name="mdi-alert"
color="red"
></q-icon>
</template> -->
</q-tab> </q-tab>
<q-tab <q-tab
name="vabAccount" name="vabAccount"
......
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