Commit abf18377 authored by hong-IT-99's avatar hong-IT-99

update

parents 6294e9e1 ca5b50f3
...@@ -28,15 +28,13 @@ export type BaseResponseBody<T> = { ...@@ -28,15 +28,13 @@ export type BaseResponseBody<T> = {
data: T; data: T;
}; };
export default boot(({ app, store }) => { export default boot<StateInterface>(({ app, store }) => {
// for use inside Vue files (Options API) through this.$axios and this.$api // for use inside Vue files (Options API) through this.$axios and this.$api
const $store = store as Store<StateInterface>;
const onRequest = (axiosConfig: AxiosRequestConfig) => { const onRequest = (axiosConfig: AxiosRequestConfig) => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
axiosConfig.headers.Authorization = `Bearer ${ axiosConfig.headers.Authorization = `Bearer ${
$store.state.authentication.token || '' store.state.authentication.token || ''
}`; }`;
if (axiosConfig.method?.toUpperCase() === 'GET') { if (axiosConfig.method?.toUpperCase() === 'GET') {
...@@ -69,6 +67,7 @@ export default boot(({ app, store }) => { ...@@ -69,6 +67,7 @@ export default boot(({ app, store }) => {
type: 'warning', type: 'warning',
message: i18n.global.t('tokenInvalidMessage'), message: i18n.global.t('tokenInvalidMessage'),
}); });
void store.dispatch('authentication/logOut');
// ... Logout // ... Logout
} else { } else {
Notify.create({ Notify.create({
......
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
:label="$t('managingUnit.dialogLabel.fieldLabels.fields')" :label="$t('managingUnit.dialogLabel.fieldLabels.fields')"
:options="fieldsOptions" :options="fieldsOptions"
:rules="fieldsRules" :rules="fieldsRules"
emit-value multiple
map-options map-options
option-value="id" option-value="id"
option-label="name" option-label="name"
...@@ -506,8 +506,8 @@ export default defineComponent({ ...@@ -506,8 +506,8 @@ export default defineComponent({
const addNewArtist = () => { const addNewArtist = () => {
const newArtistList = [...props.artistList]; const newArtistList = [...props.artistList];
newArtistList.push({ newArtistList.push({
contractFrom: contractTimeFrom.value, contractFrom: `${contractTimeFrom.value} 00:00:00`,
contractTo: contractTimeTo.value, contractTo: `${contractTimeTo.value} 00:00:00`,
timeAdd: `${contractTimeFrom.value} - ${contractTimeTo.value}`, timeAdd: `${contractTimeFrom.value} - ${contractTimeTo.value}`,
status: artistStatus.value, status: artistStatus.value,
artistId: artistName.value?.id, artistId: artistName.value?.id,
......
...@@ -35,10 +35,10 @@ import { ...@@ -35,10 +35,10 @@ import {
TypeCardType, TypeCardType,
} from 'src/assets/type'; } from 'src/assets/type';
export type AvatarType ={ export type AvatarType = {
file?:File, file?: File;
url?:string | null url?: string | null;
} };
export default defineComponent({ export default defineComponent({
components: { components: {
PersonalInformation, PersonalInformation,
...@@ -53,6 +53,8 @@ export default defineComponent({ ...@@ -53,6 +53,8 @@ export default defineComponent({
}, },
setup(_, context) { setup(_, context) {
const route = useRoute(); const route = useRoute();
const tab = ref('information'); const tab = ref('information');
...@@ -167,9 +169,9 @@ export default defineComponent({ ...@@ -167,9 +169,9 @@ export default defineComponent({
} }
}; };
const setAvatar =(value:BannerType)=>{ const setAvatar = (value: BannerType) => {
console.log(value); console.log(value);
avatar.value = value.url as string avatar.value = value.url as string;
}; };
const getFieldOptions = async () => { const getFieldOptions = async () => {
const response = (await api({ const response = (await api({
...@@ -333,6 +335,7 @@ export default defineComponent({ ...@@ -333,6 +335,7 @@ export default defineComponent({
method: 'POST', method: 'POST',
data: { data: {
id: route.params.id, id: route.params.id,
avatar: avatar.value,
artistCode: artistCode.value, artistCode: artistCode.value,
artistName: artistName.value, artistName: artistName.value,
birthday: birthday.value, birthday: birthday.value,
......
...@@ -384,7 +384,7 @@ export default defineComponent({ ...@@ -384,7 +384,7 @@ export default defineComponent({
phoneNumber: unitPhoneNumber.value, phoneNumber: unitPhoneNumber.value,
status: unitStatus.value ? 1 : 2, status: unitStatus.value ? 1 : 2,
fields: unitField.value, fields: unitField.value,
artistList: unitArtistList.value, contracts: unitArtistList.value,
}; };
const response = (await api({ const response = (await api({
url: API_PATHS.artistOwnerAdd, url: API_PATHS.artistOwnerAdd,
...@@ -392,6 +392,7 @@ export default defineComponent({ ...@@ -392,6 +392,7 @@ export default defineComponent({
data, data,
})) as AxiosResponse<BaseResponseBody<ArtistOwnerAdd[]>>; })) as AxiosResponse<BaseResponseBody<ArtistOwnerAdd[]>>;
if (response.data.error.code === config.API_RES_CODE.OK.code) { if (response.data.error.code === config.API_RES_CODE.OK.code) {
addUnitDialogIsOpened.value = false;
Notify.create({ Notify.create({
type: 'positive', type: 'positive',
message: i18n.global.t( message: i18n.global.t(
......
This diff is collapsed.
<template>
<div class="q-mt-sm row q-col-gutter-sm">
<div class="col-12" width="100%">
<q-card>
<q-tabs
v-model="tab"
dense
class="text-grey"
active-color="primary"
indicator-color="primary"
align="justify"
narrow-indicator
>
<q-tab
name="information"
:label="$t('artist.artistInformation.tabLabel.personalInformation')"
/>
<!-- <q-tab
name="vabAccount"
:label="$t('artist.artistInformation.tabLabel.vabAccout')"
/> -->
<q-tab
name="bankAccount"
:label="$t('artist.artistInformation.tabLabel.bankAcount')"
/>
<q-tab
name="hotProduct"
:label="$t('artist.artistInformation.tabLabel.hotProduct')"
/>
</q-tabs>
<q-separator />
<q-tab-panels v-model="tab" animated>
<q-tab-panel name="information">
<PersonalInformation
:id="id"
v-model:artist-code="artistCode"
:avatar="avatar"
v-model:full-name="fullName"
v-model:artist-name="artistName"
v-model:birthday="birthday"
v-model:sex="sex"
v-model:nationality="nationality"
v-model:status="status"
v-model:address="address"
v-model:fields="fields"
v-model:works="works"
v-model:qualification="qualification"
v-model:artist-level="artistLevel"
v-model:phone-number="phoneNumber"
v-model:email="email"
v-model:facebook="facebook"
v-model:facebook-message="facebookMessage"
v-model:instagram="instagram"
v-model:whatsapp="whatsapp"
:sex-options="sexOptions"
:field-options="fieldOptions"
:nationality-options="nationalityOptions"
:profession-options="professionOptions"
:artist-level-options="artistLevelOptions"
:work-options="workOptions"
></PersonalInformation>
</q-tab-panel>
<!-- <q-tab-panel name="vabAccount">
<VabAccount
v-model:account="account"
v-model:short-description="shortDescription"
v-model:content="stories[0].content"
v-model:format-schedules="formatSchedules"
@selectedFile="selectedFile"
@deleteBanner="banners.splice($event, 1)"
@openDialogUploadEmbed="isOpenDialogEmbed = true"
:social-embedded="socialEmbedded"
:banners="banners"
:stories="stories"
></VabAccount>
</q-tab-panel> -->
<q-tab-panel name="bankAccount">
<BankAccount
:bank-accounts="bankAccounts"
@confirmDeleteAccBank="confirmDeleteAccBank"
@click:addBankBtn="isOpenAddAccountBankDialog = true"
@clickEditAccBankBtn="openDialogEditAccBank"
></BankAccount>
</q-tab-panel>
<q-tab-panel name="hotProduct">
<HotProduct
:products="products"
@deleteRow="confirmDeleteRow($event)"
@reset="resetOldData"
:DataInsertHotProduct="DataInsertHotProduct"
@click:addHotProduct="openAddHotProduct = true"
@click:openUpadateHotProduct="openUpdateHotProduct = true"
@setDataUpdate="SetProduct($event)"
></HotProduct>
</q-tab-panel>
</q-tab-panels>
</q-card>
</div>
<AddNewBankAccountDialog
v-model:is-open-add-account-bank-dialog="isOpenAddAccountBankDialog"
:card-bank-options="cardBankOptions"
:type-bank-options="typeBankOptions"
:bank-accounts="bankAccounts"
@addNewBankAccount="addAccBank"
@click:CloseBtn="isOpenAddAccountBankDialog = false"
></AddNewBankAccountDialog>
<EditBankAccountDialog
v-model:is-open-edit-account-bank-dialog="isOpenEditAccountBankDialog"
:card-bank-options="cardBankOptions"
:type-bank-options="typeBankOptions"
:row-bank-acc-idx="rowBankAccIdx"
:bank-accounts="bankAccounts"
:row-data-acc-bank="rowDataAccBank"
@editBankAccount="editAccBank"
@click:CloseBtn="isOpenEditAccountBankDialog = false"
></EditBankAccountDialog>
<!-- <UploadEmbedDialog
v-model:is-open-dialog-embed="isOpenDialogEmbed"
v-model:social-embedded="socialEmbedded"
@uploadEmbed="isOpenDialogEmbed = false"
@click:CloseBtn="isOpenDialogEmbed = false"
></UploadEmbedDialog> -->
<AddHotProductDialog
@insertData="pushData"
v-model:status-hot-product="statusHotProduct"
v-model:open-add-hot-product="openAddHotProduct"
@click:CloseBtnAddHotProduct="openAddHotProduct = false"
></AddHotProductDialog>
<UpdateHotProduct
:dataUpdate="DataUpdateHotProduct"
@UpdateData="UpdateData($event)"
@click:CloseBtnUpdateHotProduct="openUpdateHotProduct = false"
v-model:open-update-hot-product="openUpdateHotProduct"
></UpdateHotProduct>
<div class="col-12 q-mt-md">
<div class="row">
<q-space></q-space>
<div class="col-auto">
<q-btn
to="/nghe-sy"
color="grey"
no-caps
:label="$t('crudActions.back')"
></q-btn>
</div>
<div class="col-auto q-mx-md">
<q-btn
color="primary"
no-caps
:label="$t('crudActions.update')"
></q-btn>
</div>
</div>
</div>
</div>
</template>
<script lang="ts" src="./AddArtist.ts"></script>
...@@ -52,6 +52,11 @@ const routes: RouteRecordRaw[] = [ ...@@ -52,6 +52,11 @@ const routes: RouteRecordRaw[] = [
component: () => import('pages/cap-nhat-thong-tin-nghe-sy/index.vue'), component: () => import('pages/cap-nhat-thong-tin-nghe-sy/index.vue'),
name: Pages.informationArtist, name: Pages.informationArtist,
}, },
{
path: '/nghe-sy/them-nghe-sy',
component: () => import('pages/them-nghe-sy/index.vue'),
name: Pages.addArtist,
},
{ {
path: '/khach-hang', path: '/khach-hang',
component: () => import('pages/khach-hang/index.vue'), component: () => import('pages/khach-hang/index.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