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

update

parents 6294e9e1 ca5b50f3
......@@ -28,15 +28,13 @@ export type BaseResponseBody<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
const $store = store as Store<StateInterface>;
const onRequest = (axiosConfig: AxiosRequestConfig) => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
axiosConfig.headers.Authorization = `Bearer ${
$store.state.authentication.token || ''
store.state.authentication.token || ''
}`;
if (axiosConfig.method?.toUpperCase() === 'GET') {
......@@ -69,6 +67,7 @@ export default boot(({ app, store }) => {
type: 'warning',
message: i18n.global.t('tokenInvalidMessage'),
});
void store.dispatch('authentication/logOut');
// ... Logout
} else {
Notify.create({
......
......@@ -84,7 +84,7 @@
:label="$t('managingUnit.dialogLabel.fieldLabels.fields')"
:options="fieldsOptions"
:rules="fieldsRules"
emit-value
multiple
map-options
option-value="id"
option-label="name"
......@@ -506,8 +506,8 @@ export default defineComponent({
const addNewArtist = () => {
const newArtistList = [...props.artistList];
newArtistList.push({
contractFrom: contractTimeFrom.value,
contractTo: contractTimeTo.value,
contractFrom: `${contractTimeFrom.value} 00:00:00`,
contractTo: `${contractTimeTo.value} 00:00:00`,
timeAdd: `${contractTimeFrom.value} - ${contractTimeTo.value}`,
status: artistStatus.value,
artistId: artistName.value?.id,
......
......@@ -35,10 +35,10 @@ import {
TypeCardType,
} from 'src/assets/type';
export type AvatarType ={
file?:File,
url?:string | null
}
export type AvatarType = {
file?: File;
url?: string | null;
};
export default defineComponent({
components: {
PersonalInformation,
......@@ -53,6 +53,8 @@ export default defineComponent({
},
setup(_, context) {
const route = useRoute();
const tab = ref('information');
......@@ -166,10 +168,10 @@ export default defineComponent({
);
}
};
const setAvatar =(value:BannerType)=>{
const setAvatar = (value: BannerType) => {
console.log(value);
avatar.value = value.url as string
avatar.value = value.url as string;
};
const getFieldOptions = async () => {
const response = (await api({
......@@ -333,6 +335,7 @@ export default defineComponent({
method: 'POST',
data: {
id: route.params.id,
avatar: avatar.value,
artistCode: artistCode.value,
artistName: artistName.value,
birthday: birthday.value,
......
......@@ -384,7 +384,7 @@ export default defineComponent({
phoneNumber: unitPhoneNumber.value,
status: unitStatus.value ? 1 : 2,
fields: unitField.value,
artistList: unitArtistList.value,
contracts: unitArtistList.value,
};
const response = (await api({
url: API_PATHS.artistOwnerAdd,
......@@ -392,6 +392,7 @@ export default defineComponent({
data,
})) as AxiosResponse<BaseResponseBody<ArtistOwnerAdd[]>>;
if (response.data.error.code === config.API_RES_CODE.OK.code) {
addUnitDialogIsOpened.value = false;
Notify.create({
type: 'positive',
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[] = [
component: () => import('pages/cap-nhat-thong-tin-nghe-sy/index.vue'),
name: Pages.informationArtist,
},
{
path: '/nghe-sy/them-nghe-sy',
component: () => import('pages/them-nghe-sy/index.vue'),
name: Pages.addArtist,
},
{
path: '/khach-hang',
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