update

parent 0a0f41ef
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
}, },
"dependencies": { "dependencies": {
"@quasar/extras": "^1.0.0", "@quasar/extras": "^1.0.0",
"@vue/runtime-core": "^3.2.33",
"axios": "^0.21.1", "axios": "^0.21.1",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"http-status-codes": "^2.1.4", "http-status-codes": "^2.1.4",
...@@ -19,6 +20,7 @@ ...@@ -19,6 +20,7 @@
"secure-ls": "^1.2.6", "secure-ls": "^1.2.6",
"vue": "^3.0.11", "vue": "^3.0.11",
"vue-i18n": "^9.0.0-beta.0", "vue-i18n": "^9.0.0-beta.0",
"vuex": "^4.0.2",
"vuex-persistedstate": "^4.0.0-beta.3" "vuex-persistedstate": "^4.0.0-beta.3"
}, },
"devDependencies": { "devDependencies": {
...@@ -48,5 +50,12 @@ ...@@ -48,5 +50,12 @@
"node": ">= 10.18.1", "node": ">= 10.18.1",
"npm": ">= 6.13.4", "npm": ">= 6.13.4",
"yarn": ">= 1.21.1" "yarn": ">= 1.21.1"
} },
"main": ".eslintrc.js",
"repository": {
"type": "git",
"url": "http://103.147.34.20:30081/son.nguyen/quasar-web-base.git"
},
"keywords": [],
"license": "ISC"
} }
...@@ -37,6 +37,7 @@ export enum API_PATHS { ...@@ -37,6 +37,7 @@ export enum API_PATHS {
getListArtists = '/artist', getListArtists = '/artist',
getFieldOptions = '/field', getFieldOptions = '/field',
getNationalityOptions = '/nationality', getNationalityOptions = '/nationality',
getProvinceOptions = '/common/province',
getArtistLevelOptions = '/artistLevel', getArtistLevelOptions = '/artistLevel',
getQualificationOptions = '/qualification', getQualificationOptions = '/qualification',
getWorkOptions = '/work', getWorkOptions = '/work',
......
...@@ -54,6 +54,7 @@ export type ArtistInfoType = { ...@@ -54,6 +54,7 @@ export type ArtistInfoType = {
instagram: string | null; instagram: string | null;
whatsapp: string | null; whatsapp: string | null;
nationality: NationalityType; nationality: NationalityType;
rovince: ProvinceType[];
fields: FieldType[]; fields: FieldType[];
works: WorkType[]; works: WorkType[];
qualification: QualificationType; qualification: QualificationType;
...@@ -74,7 +75,12 @@ export type ArtistInfoType = { ...@@ -74,7 +75,12 @@ export type ArtistInfoType = {
mnWhatsapp: string | null; mnWhatsapp: string | null;
favoriteScore: number; favoriteScore: number;
}; };
export type ProvinceType = {
nam: string,
fullname: string,
code: string,
level: string,
};
export type FieldType = { export type FieldType = {
id: number; id: number;
name: string; name: string;
...@@ -82,6 +88,7 @@ export type FieldType = { ...@@ -82,6 +88,7 @@ export type FieldType = {
description: string | null; description: string | null;
numIndex: number; numIndex: number;
}; };
export type NationalityType = { export type NationalityType = {
id: number; id: number;
name: string; name: string;
......
...@@ -5,12 +5,14 @@ import axios, { ...@@ -5,12 +5,14 @@ import axios, {
AxiosRequestConfig, AxiosRequestConfig,
AxiosResponse, AxiosResponse,
} from 'axios'; } from 'axios';
import { config } from 'src/assets/configurations'; import { config } from 'src/assets/configurations.example';
import { StateInterface } from 'src/store'; import { StateInterface } from 'src/store';
// import { Store } from 'vuex'; // import { Store } from 'vuex';
import { Notify } from 'quasar'; import { Notify } from 'quasar';
import { i18n } from './i18n'; import { i18n } from './i18n';
import { StatusCodes } from 'http-status-codes'; import { StatusCodes } from 'http-status-codes';
export * from '@vue/runtime-core'
// import { StatusCodes } from 'http-status-codes';
declare module '@vue/runtime-core' { declare module '@vue/runtime-core' {
interface ComponentCustomProperties { interface ComponentCustomProperties {
......
...@@ -2,7 +2,7 @@ import { defineComponent, PropType, Ref, ref, watch } from 'vue'; ...@@ -2,7 +2,7 @@ import { defineComponent, PropType, Ref, ref, watch } from 'vue';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import UploadImage from '../../upload-image/index.vue'; import UploadImage from '../../upload-image/index.vue';
import { ProductType } from 'src/assets/type'; import { ProductType } from 'src/assets/type';
import { config } from 'src/assets/configurations'; import { config } from 'src/assets/configurations.example';
import { Notify } from 'quasar'; import { Notify } from 'quasar';
export default defineComponent({ export default defineComponent({
components: { components: {
......
...@@ -4,7 +4,7 @@ import { useRouter } from 'vue-router'; ...@@ -4,7 +4,7 @@ import { useRouter } from 'vue-router';
import { BannerType, StoriesType } from 'src/assets/type'; import { BannerType, StoriesType } from 'src/assets/type';
import UploadImage from 'components/upload-image/index.vue'; import UploadImage from 'components/upload-image/index.vue';
import { Dialog, Notify } from 'quasar'; import { Dialog, Notify } from 'quasar';
import { config } from 'src/assets/configurations'; import { config } from 'src/assets/configurations.example';
export default defineComponent({ export default defineComponent({
components: { UploadImage }, components: { UploadImage },
......
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
import { defineComponent, PropType, Ref, ref, watch } from 'vue'; import { defineComponent, PropType, Ref, ref, watch } from 'vue';
import UploadImage from '../../../upload-image/index.vue'; import UploadImage from '../../../upload-image/index.vue';
import { StoriesType } from 'src/assets/type'; import { StoriesType } from 'src/assets/type';
import { config } from 'src/assets/configurations'; import { config } from 'src/assets/configurations.example';
export default defineComponent({ export default defineComponent({
components: { components: {
UploadImage, UploadImage,
......
...@@ -3,7 +3,7 @@ import { defineComponent, Ref, ref } from 'vue'; ...@@ -3,7 +3,7 @@ import { defineComponent, Ref, ref } from 'vue';
import Pagination from 'components/pagination/index.vue'; import Pagination from 'components/pagination/index.vue';
import { ProductType } from 'src/assets/type'; import { ProductType } from 'src/assets/type';
import { HotProductStatus } from 'src/assets/enums'; import { HotProductStatus } from 'src/assets/enums';
import { config } from 'src/assets/configurations'; import { config } from 'src/assets/configurations.example';
export default defineComponent({ export default defineComponent({
components: { components: {
Pagination, Pagination,
......
...@@ -39,6 +39,7 @@ export default defineComponent({ ...@@ -39,6 +39,7 @@ export default defineComponent({
sexOptions: { type: Array, required: true }, sexOptions: { type: Array, required: true },
fieldOptions: { type: Array, required: true }, fieldOptions: { type: Array, required: true },
nationalityOptions: { type: Array, required: true }, nationalityOptions: { type: Array, required: true },
provinceOptions: {type: Array, required: true},
professionOptions: { type: Array, required: true }, professionOptions: { type: Array, required: true },
artistLevelOptions: { type: Array, required: true }, artistLevelOptions: { type: Array, required: true },
workOptions: { type: Array, required: true }, workOptions: { type: Array, required: true },
...@@ -69,6 +70,11 @@ export default defineComponent({ ...@@ -69,6 +70,11 @@ export default defineComponent({
UploadImage, UploadImage,
}, },
setup(_, context) { setup(_, context) {
const BirthdayDatePicker = ref(moment().format('YYYY/MM/DD')); const BirthdayDatePicker = ref(moment().format('YYYY/MM/DD'));
const selectedFile = (value: FileList) => { const selectedFile = (value: FileList) => {
if (value.length !== 0) { if (value.length !== 0) {
...@@ -80,6 +86,8 @@ export default defineComponent({ ...@@ -80,6 +86,8 @@ export default defineComponent({
} }
}; };
const upload = ref(null); const upload = ref(null);
const uploadBanner = () => { const uploadBanner = () => {
// eslint-disable-next-line // eslint-disable-next-line
...@@ -105,6 +113,7 @@ export default defineComponent({ ...@@ -105,6 +113,7 @@ export default defineComponent({
const onCancelClick = () => { const onCancelClick = () => {
openDialog.value = false; openDialog.value = false;
}; };
const errorMessArtistCode = i18n.global.t( const errorMessArtistCode = i18n.global.t(
'artist.artistInformation.validateMessages.requireArtistCode' 'artist.artistInformation.validateMessages.requireArtistCode'
......
...@@ -77,6 +77,7 @@ ...@@ -77,6 +77,7 @@
</div> </div>
<div class="col-8"> <div class="col-8">
<q-input <q-input
:model-value="artistCode" :model-value="artistCode"
@update:model-value="$emit('update:artistCode', $event)" @update:model-value="$emit('update:artistCode', $event)"
...@@ -213,29 +214,46 @@ ...@@ -213,29 +214,46 @@
></q-select> ></q-select>
</div> </div>
</div> </div>
<div class="row flex-center"> <div class="row flex-center">
<div class="col-3 text-weight-medium"> <div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.address') }} {{ $t('artist.artistInformation.titleDataField.address') }}
<span style="color: red">*</span> <span style="color: red">*</span>
</div> </div>
<div class="col-8"> <div class="col-8">
<q-input <q-select
:model-value="address" :model-value="address"
@update:model-value="$emit('update:address', $event)" @update:model-value="$emit('update:address', $event)"
:error="addressRules" :error="addressRules"
:error-message="errorMessAddress" :error-message="errorMessAddress"
:options="provinceOptions"
option-value="name"
option-label="fullName"
type="text"
class="q-my-sm"
outlined outlined
hide-bottom-space hide-bottom-space
class="q-my-sm" clearable
dense dense
></q-input> >
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
No results
</q-item-section>
</q-item>
</template>
</q-select>
</div> </div>
</div> </div>
<div class="row flex-center"> <div class="row flex-center">
<div class="col-3 text-weight-medium"> <div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.field') }} {{ $t('artist.artistInformation.titleDataField.field') }}
<span style="color: red">*</span> <span style="color: red">*</span>
</div> </div>
<div class="col-8"> <div class="col-8">
<q-select <q-select
:model-value="fields" :model-value="fields"
...@@ -243,6 +261,7 @@ ...@@ -243,6 +261,7 @@
:error="fieldRules" :error="fieldRules"
:error-message="errorMessFields" :error-message="errorMessFields"
:options="fieldOptions" :options="fieldOptions"
multiple
map-options map-options
option-value="id" option-value="id"
option-label="name" option-label="name"
...@@ -257,6 +276,33 @@ ...@@ -257,6 +276,33 @@
></q-select> ></q-select>
</div> </div>
</div> </div>
<!-- thể loại -->
<div class="row flex-center">
<div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.type') }}
<span style="color: red">*</span>
</div>
<!-- :model-value="types"
@update:model-value="$emit('update:types', $event)"
:error="typeRules"
:error-message="errorMessTypes"
:options="typeOptions" -->
<div class="col-8">
<q-select
map-options
option-value="id"
option-label="name"
class="q-my-sm"
outlined
hide-bottom-space
clearable
dense
use-input
use-chips
></q-select>
</div>
</div>
<div class="row flex-center"> <div class="row flex-center">
<div class="col-3 text-weight-medium"> <div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.work') }} {{ $t('artist.artistInformation.titleDataField.work') }}
...@@ -284,6 +330,7 @@ ...@@ -284,6 +330,7 @@
></q-select> ></q-select>
</div> </div>
</div> </div>
<div class="row flex-center"> <div class="row flex-center">
<div class="col-3 text-weight-medium"> <div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.qualification') }} {{ $t('artist.artistInformation.titleDataField.qualification') }}
...@@ -308,6 +355,7 @@ ...@@ -308,6 +355,7 @@
></q-select> ></q-select>
</div> </div>
</div> </div>
<div class="row flex-center"> <div class="row flex-center">
<div class="col-3 text-weight-medium"> <div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.favoriteScore') }} {{ $t('artist.artistInformation.titleDataField.favoriteScore') }}
...@@ -325,31 +373,29 @@ ...@@ -325,31 +373,29 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-5 q-ml-xl"> <div class="col-5 q-ml-xl">
<div class="row flex-center"> <!-- <div class="row flex-center">
<div class="col-3 text-weight-medium"> <div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.artistLevel') }} {{ $t('artist.artistInformation.titleDataField.artistLevel') }}
<span style="color: red">*</span> <span style="color: red">*</span>
</div> </div>
<div class="col-8"> <div class="col-8">
<q-select 1
:model-value="artistLevel" <q-rating
@update:model-value="$emit('update:artistLevel', $event)" :model-value="artistLevel"
:options="artistLevelOptions" @update:model-value="$emit('update:artistLevel', $event)"
:error="artistLevelRules" max="5"
:error-message="errorMessArtistLevel" size="3em"
map-options color="orange"
option-value="id" icon="star_border"
option-label="name" icon-selected="star"
type="text" icon-half="star_half"
class="q-my-sm" no-dimming
outlined />
hide-bottom-space
clearable </div>
dense </div> -->
></q-select>
</div>
</div>
<div class="row flex-center"> <div class="row flex-center">
<div class="col-3 text-weight-medium"> <div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.phoneNumber') }} {{ $t('artist.artistInformation.titleDataField.phoneNumber') }}
...@@ -587,5 +633,10 @@ ...@@ -587,5 +633,10 @@
</div> </div>
</div> </div>
</template> </template>
<script lang="ts" src="./PersonalInformation.ts"></script>
<script lang="ts" src="./PersonalInformation.ts"></script>
...@@ -371,7 +371,7 @@ ...@@ -371,7 +371,7 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent, PropType, ref } from 'vue'; import { defineComponent, PropType } from 'vue';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
export default defineComponent({ export default defineComponent({
...@@ -387,23 +387,23 @@ export default defineComponent({ ...@@ -387,23 +387,23 @@ export default defineComponent({
content: { type: String, required: true }, content: { type: String, required: true },
nameMenu: { type: Array, required: true }, nameMenu: { type: Array, required: true },
nameMenuOptions: { type: Array, required: true }, nameMenuOptions: { type: Array, required: true },
// languageOptions: { languageOptions: {
// type: Array as PropType< type: Array as PropType<
// { {
// namePage: string; namePage: string;
// url: string; url: string;
// content: string; content: string;
// numIndex: number; numIndex: number;
// nameMenu: []; nameMenu: [];
// language: { language: {
// id: number; id: number;
// code: string; code: string;
// name: string; name: string;
// }; };
// }[] }[]
// >, >,
// required: true, required: true,
// }, },
}, },
setup() { setup() {
const namePageRules = [ const namePageRules = [
......
...@@ -5,7 +5,7 @@ import { PostType, LanguageType, FileUploadType } from 'src/assets/type'; ...@@ -5,7 +5,7 @@ import { PostType, LanguageType, FileUploadType } from 'src/assets/type';
import ListPostDialog from 'components/post-category/list-post-dialog/index.vue'; import ListPostDialog from 'components/post-category/list-post-dialog/index.vue';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { config } from 'src/assets/configurations'; import { config } from 'src/assets/configurations.example';
export default defineComponent({ export default defineComponent({
// name: 'ComponentName' // name: 'ComponentName'
......
import { defineComponent, PropType, Ref, ref, watch } from 'vue'; import { defineComponent, PropType, Ref, ref, watch } from 'vue';
import { PaginationResponse, PostType } from 'src/assets/type'; import { PaginationResponse, PostType } from 'src/assets/type';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import { API_PATHS, config } from 'src/assets/configurations'; import { API_PATHS, config } from 'src/assets/configurations.example';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import Pagination from 'components/pagination/index.vue'; import Pagination from 'components/pagination/index.vue';
......
...@@ -10,7 +10,7 @@ import { ...@@ -10,7 +10,7 @@ import {
import ListPostDialog from 'components/post-category/list-post-dialog/index.vue'; import ListPostDialog from 'components/post-category/list-post-dialog/index.vue';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { config } from 'src/assets/configurations'; import { config } from 'src/assets/configurations.example';
export default defineComponent({ export default defineComponent({
// name: 'ComponentName' // name: 'ComponentName'
......
...@@ -368,11 +368,11 @@ import { defineComponent, Ref, ref, onMounted, watch, PropType } from 'vue'; ...@@ -368,11 +368,11 @@ import { defineComponent, Ref, ref, onMounted, watch, PropType } from 'vue';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import { isEmail } from '../../../boot/functions'; import { isEmail } from '../../../boot/functions';
import { isMobilePhone } from '../../../boot/functions'; import { isMobilePhone } from '../../../boot/functions';
import { API_PATHS } from 'src/assets/configurations'; import { API_PATHS } from 'src/assets/configurations.example';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { FieldType, ArtistInfoType, Contract } from 'src/assets/type'; import { FieldType, ArtistInfoType, Contract } from 'src/assets/type';
import { config } from 'src/assets/configurations'; import { config } from 'src/assets/configurations.example';
import UnitAddUpdateArtistDialog from '../unit-add-update-artist/index.vue'; import UnitAddUpdateArtistDialog from '../unit-add-update-artist/index.vue';
import UnitAddUpdateBankAccountDialog from '../unit-add-update-bank-account/index.vue'; import UnitAddUpdateBankAccountDialog from '../unit-add-update-bank-account/index.vue';
import moment from 'moment'; import moment from 'moment';
......
...@@ -490,6 +490,7 @@ export default { ...@@ -490,6 +490,7 @@ export default {
work: 'Công việc', work: 'Công việc',
qualification: 'Độ chuyên', qualification: 'Độ chuyên',
artistLevel: 'Xếp hạng', artistLevel: 'Xếp hạng',
type:'Thể loại',
favoriteScore: 'Số lượt thích', favoriteScore: 'Số lượt thích',
phoneNumber: 'Số điện thoại', phoneNumber: 'Số điện thoại',
email: 'Email', email: 'Email',
......
...@@ -159,7 +159,7 @@ ...@@ -159,7 +159,7 @@
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import { defineComponent, onMounted, ref, Ref } from 'vue'; import { defineComponent, onMounted, ref, Ref } from 'vue';
import Pagination from 'components/pagination/index.vue'; import Pagination from 'components/pagination/index.vue';
import { API_PATHS } from 'src/assets/configurations'; import { API_PATHS } from 'src/assets/configurations.example';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { import {
...@@ -171,7 +171,7 @@ import { ...@@ -171,7 +171,7 @@ import {
PostDetailType, PostDetailType,
PostAddType, PostAddType,
} from 'src/assets/type'; } from 'src/assets/type';
import { config } from 'src/assets/configurations'; import { config } from 'src/assets/configurations.example';
import { PostStatus } from 'src/assets/enums'; import { PostStatus } from 'src/assets/enums';
import AddUpdatePostDialog from 'components/add-update-post/index.vue'; import AddUpdatePostDialog from 'components/add-update-post/index.vue';
import { Dialog, Notify } from 'quasar'; import { Dialog, Notify } from 'quasar';
......
...@@ -154,7 +154,7 @@ import { ...@@ -154,7 +154,7 @@ import {
UpdateBannerConfig, UpdateBannerConfig,
AddBannerConfig, AddBannerConfig,
} from 'src/assets/type'; } from 'src/assets/type';
import { config, API_PATHS } from 'src/assets/configurations'; import { config, API_PATHS } from 'src/assets/configurations.example';
import { BannerStatus } from 'src/assets/enums'; import { BannerStatus } from 'src/assets/enums';
import AddUpdateBannerDialog from 'components/add-update-banner/index.vue'; import AddUpdateBannerDialog from 'components/add-update-banner/index.vue';
import { Dialog, Notify } from 'quasar'; import { Dialog, Notify } from 'quasar';
......
import { defineComponent, onMounted, ref, Ref, watch } from 'vue'; import { defineComponent, onMounted, ref, Ref, watch } from 'vue';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { API_PATHS, config } from 'src/assets/configurations'; import { API_PATHS, config } from 'src/assets/configurations.example';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import moment from 'moment'; import moment from 'moment';
...@@ -337,10 +337,10 @@ export default defineComponent({ ...@@ -337,10 +337,10 @@ export default defineComponent({
artistCode.value = ArtistInformation.artistCode; artistCode.value = ArtistInformation.artistCode;
fullName.value = ArtistInformation.fullName; fullName.value = ArtistInformation.fullName;
artistName.value = ArtistInformation.artistName; artistName.value = ArtistInformation.artistName;
birthday.value = moment( // birthday.value = moment(
ArtistInformation.birthday, // ArtistInformation.birthday,
'DD/MM/YYYY HH:mm:ss' // 'DD/MM/YYYY HH:mm:ss'
).format('DD/MM/YYYY'); // ).format('DD/MM/YYYY');
address.value = ArtistInformation.address; address.value = ArtistInformation.address;
status.value = ArtistInformation.status; status.value = ArtistInformation.status;
phoneNumber.value = ArtistInformation.phoneNumber; phoneNumber.value = ArtistInformation.phoneNumber;
......
...@@ -154,7 +154,7 @@ import { ...@@ -154,7 +154,7 @@ import {
updateConfigPartnerConfig, updateConfigPartnerConfig,
addConfigPartnerConfig, addConfigPartnerConfig,
} from 'src/assets/type'; } from 'src/assets/type';
import { config, API_PATHS } from 'src/assets/configurations'; import { config, API_PATHS } from 'src/assets/configurations.example';
import { BannerStatus } from 'src/assets/enums'; import { BannerStatus } from 'src/assets/enums';
import AddUpdateConfigPartnerDialog from 'components/add-update-cau-hinh-doi-tac-truyen-thong/index.vue'; import AddUpdateConfigPartnerDialog from 'components/add-update-cau-hinh-doi-tac-truyen-thong/index.vue';
import { Dialog, Notify } from 'quasar'; import { Dialog, Notify } from 'quasar';
......
...@@ -184,7 +184,7 @@ import { SystemHotProductStatus } from 'src/assets/enums'; ...@@ -184,7 +184,7 @@ import { SystemHotProductStatus } from 'src/assets/enums';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import Pagination from 'components/pagination/index.vue'; import Pagination from 'components/pagination/index.vue';
import { defineComponent, onMounted, Ref, ref } from 'vue'; import { defineComponent, onMounted, Ref, ref } from 'vue';
import { config, API_PATHS } from 'src/assets/configurations'; import { config, API_PATHS } from 'src/assets/configurations.example';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { Notify, Dialog } from 'quasar'; import { Notify, Dialog } from 'quasar';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
......
...@@ -155,7 +155,7 @@ import AddUpdateNewsDialog from 'components/news/index.vue'; ...@@ -155,7 +155,7 @@ import AddUpdateNewsDialog from 'components/news/index.vue';
import { NewsStatus } from 'src/assets/enums'; import { NewsStatus } from 'src/assets/enums';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import { defineComponent, onMounted, Ref, ref } from 'vue'; import { defineComponent, onMounted, Ref, ref } from 'vue';
import { config } from 'src/assets/configurations'; import { config } from 'src/assets/configurations.example';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { FileUploadType } from 'src/assets/type'; import { FileUploadType } from 'src/assets/type';
......
...@@ -161,7 +161,7 @@ import { ...@@ -161,7 +161,7 @@ import {
DetailConfigSystem, DetailConfigSystem,
// LanguageType, // LanguageType,
} from 'src/assets/type'; } from 'src/assets/type';
import { config, API_PATHS } from 'src/assets/configurations'; import { config, API_PATHS } from 'src/assets/configurations.example';
export default defineComponent({ export default defineComponent({
components: { components: {
......
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import { defineComponent, onMounted, Ref, ref } from 'vue'; import { defineComponent, onMounted, Ref, ref } from 'vue';
import { API_PATHS, config } from 'src/assets/configurations'; import { API_PATHS, config } from 'src/assets/configurations.example';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { import {
...@@ -151,40 +151,40 @@ export default defineComponent({ ...@@ -151,40 +151,40 @@ export default defineComponent({
} catch (error) {} } catch (error) {}
}; };
const confirmDelete = (id: number) => { // const confirmDelete = (id: number) => {
Dialog.create({ // Dialog.create({
title: i18n.global.t( // title: i18n.global.t(
'artist.bankAccount.confirmActionsTitle.confirmDeleteAccBankTitle' // 'artist.bankAccount.confirmActionsTitle.confirmDeleteAccBankTitle'
), // ),
message: i18n.global.t( // message: i18n.global.t(
'postCategory.confirmActionsTitle.confirmDeletePostCategory' // 'postCategory.confirmActionsTitle.confirmDeletePostCategory'
), // ),
cancel: i18n.global.t( // cancel: i18n.global.t(
'artist.bankAccount.confirmActionsTitle.confirmDeleteAccBankBtnLabel' // 'artist.bankAccount.confirmActionsTitle.confirmDeleteAccBankBtnLabel'
), // ),
color: 'negative', // color: 'negative',
}).onOk(async () => { // }).onOk(async () => {
try { // try {
const response = (await api({ // const response = (await api({
url: API_PATHS.deleteCategoryPost, // url: API_PATHS.deleteCategoryPost,
method: 'GET', // method: 'GET',
params: { // params: {
id: id, // id: id,
}, // },
})) as AxiosResponse<BaseResponseBody<unknown>>; // })) as AxiosResponse<BaseResponseBody<unknown>>;
if (response.data.error.code === config.API_RES_CODE.OK.code) { // if (response.data.error.code === config.API_RES_CODE.OK.code) {
Notify.create({ // Notify.create({
type: 'positive', // type: 'positive',
message: i18n.global.t( // message: i18n.global.t(
'postCategory.actionMessages.deletePostCategoryAccess' // 'postCategory.actionMessages.deletePostCategoryAccess'
), // ),
actions: [{ icon: 'close', color: 'white' }], // actions: [{ icon: 'close', color: 'white' }],
}); // });
void getListCategoryPost(); // void getListCategoryPost();
} // }
} catch (error) {} // } catch (error) {}
}); // });
}; // };
const openUpdateDialog = async (id: number) => { const openUpdateDialog = async (id: number) => {
await getDetailCategoryPost(id); await getDetailCategoryPost(id);
isOpenUpdateDialog.value = true; isOpenUpdateDialog.value = true;
...@@ -247,7 +247,7 @@ export default defineComponent({ ...@@ -247,7 +247,7 @@ export default defineComponent({
getLanguages, getLanguages,
languages, languages,
addPostCategory, addPostCategory,
confirmDelete, // confirmDelete,
openUpdateDialog, openUpdateDialog,
detailPostCategory, detailPostCategory,
updatePostCategory, updatePostCategory,
......
...@@ -225,7 +225,7 @@ ...@@ -225,7 +225,7 @@
<script lang="ts"> <script lang="ts">
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { config, API_PATHS } from 'src/assets/configurations'; import { config, API_PATHS } from 'src/assets/configurations.example';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import { defineComponent, onMounted, Ref, ref } from 'vue'; import { defineComponent, onMounted, Ref, ref } from 'vue';
......
...@@ -179,7 +179,7 @@ import { ...@@ -179,7 +179,7 @@ import {
ArtistOwnerAdd, ArtistOwnerAdd,
DetailUnit, DetailUnit,
} from 'src/assets/type'; } from 'src/assets/type';
import { config, API_PATHS } from 'src/assets/configurations'; import { config, API_PATHS } from 'src/assets/configurations.example';
import AddUpdateUnitDialog from 'components/units-manager/add-update-unit-dialog/index.vue'; import AddUpdateUnitDialog from 'components/units-manager/add-update-unit-dialog/index.vue';
import { UnitStatus } from 'src/assets/enums'; import { UnitStatus } from 'src/assets/enums';
......
...@@ -155,7 +155,7 @@ import { defineComponent, onMounted, Ref, ref } from 'vue'; ...@@ -155,7 +155,7 @@ import { defineComponent, onMounted, Ref, ref } from 'vue';
import Pagination from 'components/pagination/index.vue'; import Pagination from 'components/pagination/index.vue';
import AddNewCustomerDialogComponent from '../../components/customer/add-new-customer-dialog/index.vue'; import AddNewCustomerDialogComponent from '../../components/customer/add-new-customer-dialog/index.vue';
import UpdateNewCustomerDialogComponent from '../../components/customer/update-new-customer-dialog/index.vue'; import UpdateNewCustomerDialogComponent from '../../components/customer/update-new-customer-dialog/index.vue';
import { API_PATHS, config } from 'src/assets/configurations'; import { API_PATHS, config } from 'src/assets/configurations.example';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { import {
......
...@@ -126,11 +126,11 @@ ...@@ -126,11 +126,11 @@
<script lang="ts"> <script lang="ts">
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import { defineComponent, onMounted, ref, Ref } from 'vue'; import { defineComponent, onMounted, ref, Ref } from 'vue';
import { API_PATHS } from 'src/assets/configurations'; import { API_PATHS } from 'src/assets/configurations.example';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { Field, AddField, DetailField, UpdateField } from 'src/assets/type'; import { Field, AddField, DetailField, UpdateField } from 'src/assets/type';
import { config } from 'src/assets/configurations'; import { config } from 'src/assets/configurations.example';
import { FieldStatus } from 'src/assets/enums'; import { FieldStatus } from 'src/assets/enums';
import AddUpdateFieldDialog from 'components/add-update-field/index.vue'; import AddUpdateFieldDialog from 'components/add-update-field/index.vue';
import { Dialog, Notify } from 'quasar'; import { Dialog, Notify } from 'quasar';
......
...@@ -158,7 +158,7 @@ import { ...@@ -158,7 +158,7 @@ import {
UpdateMenu, UpdateMenu,
AddMenu, AddMenu,
} from 'src/assets/type'; } from 'src/assets/type';
import { config, API_PATHS } from 'src/assets/configurations'; import { config, API_PATHS } from 'src/assets/configurations.example';
export default defineComponent({ export default defineComponent({
components: { components: {
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
clearable clearable
></q-select> ></q-select>
</div> </div>
<div class="col-2" dense outlined> <!-- <div class="col-2" dense outlined>
<q-select <q-select
v-model="artistLevelSelected" v-model="artistLevelSelected"
:options="artistLevelOptions" :options="artistLevelOptions"
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
label="Xếp hạng" label="Xếp hạng"
clearable clearable
></q-select> ></q-select>
</div> </div> -->
<div class="col-auto"> <div class="col-auto">
<q-btn <q-btn
color="primary" color="primary"
...@@ -172,6 +172,7 @@ ...@@ -172,6 +172,7 @@
:nationality-options="nationalityOptions" :nationality-options="nationalityOptions"
:profession-options="professionOptions" :profession-options="professionOptions"
:artist-level-options="artistLevelOptions" :artist-level-options="artistLevelOptions"
:work-options="workOptions" :work-options="workOptions"
@click:CloseBtn="isOpenNewArtistDialog = false" @click:CloseBtn="isOpenNewArtistDialog = false"
></AddNewArtistDialog> ></AddNewArtistDialog>
...@@ -190,10 +191,11 @@ import { ...@@ -190,10 +191,11 @@ import {
ArtistLevelType, ArtistLevelType,
QualificationType, QualificationType,
WorkType, WorkType,
} from 'src/assets/type'; } from 'src/assets/type';
import Pagination from 'components/pagination/index.vue'; import Pagination from 'components/pagination/index.vue';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { API_PATHS, config } from 'src/assets/configurations'; import { API_PATHS, config } from 'src/assets/configurations.example';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
export default defineComponent({ export default defineComponent({
...@@ -349,6 +351,7 @@ export default defineComponent({ ...@@ -349,6 +351,7 @@ export default defineComponent({
const mnFbmess: Ref<string | null> = ref(null); const mnFbmess: Ref<string | null> = ref(null);
const mnIns: Ref<string | null> = ref(null); const mnIns: Ref<string | null> = ref(null);
const mnWhatsapp: Ref<string | null> = ref(null); const mnWhatsapp: Ref<string | null> = ref(null);
const getListArtists = async () => { const getListArtists = async () => {
try { try {
...@@ -396,6 +399,8 @@ export default defineComponent({ ...@@ -396,6 +399,8 @@ export default defineComponent({
nationalityOptions.value = response.data.data; nationalityOptions.value = response.data.data;
} }
}; };
const getArtistLevelOptions = async () => { const getArtistLevelOptions = async () => {
const response = (await api({ const response = (await api({
url: API_PATHS.getArtistLevelOptions, url: API_PATHS.getArtistLevelOptions,
...@@ -470,6 +475,7 @@ export default defineComponent({ ...@@ -470,6 +475,7 @@ export default defineComponent({
void getArtistLevelOptions(); void getArtistLevelOptions();
void getQualificationOptions(); void getQualificationOptions();
void getWorkOptions(); void getWorkOptions();
}); });
return { return {
configImg, configImg,
......
/* eslint-disable @typescript-eslint/ban-types */ /* eslint-disable @typescript-eslint/ban-types */
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { Dialog, Notify } from 'quasar'; import { Dialog, Notify } from 'quasar';
import { API_PATHS, config } from 'src/assets/configurations'; import { API_PATHS, config } from 'src/assets/configurations.example';
import { PaginationResponse, UserObject } from 'src/assets/type'; import { PaginationResponse, UserObject } from 'src/assets/type';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
...@@ -11,7 +11,7 @@ import AddNewUserDialogComponent from '../../components/user-management/add-new- ...@@ -11,7 +11,7 @@ import AddNewUserDialogComponent from '../../components/user-management/add-new-
import UpdateUserDialogComponent from '../../components/user-management/update-user-dialog/index.vue'; import UpdateUserDialogComponent from '../../components/user-management/update-user-dialog/index.vue';
import { GroupInfoType } from '../nhom-nguoi-dung/UserGroup'; import { GroupInfoType } from '../nhom-nguoi-dung/UserGroup';
import Pagination from 'components/pagination/index.vue'; import Pagination from 'components/pagination/index.vue';
import moment from 'moment'; // import moment from 'moment';
export default defineComponent({ export default defineComponent({
components: { components: {
...@@ -313,10 +313,10 @@ export default defineComponent({ ...@@ -313,10 +313,10 @@ export default defineComponent({
address.value = userInfo.address as string; address.value = userInfo.address as string;
id.value = userInfo.id; id.value = userInfo.id;
// birthday.value = moment(userInfo.birthday).format('YYYY-MM-DD') as string; // birthday.value = moment(userInfo.birthday).format('YYYY-MM-DD') as string;
birthday.value = moment( // birthday.value = moment(
userInfo.birthday, // userInfo.birthday,
'DD/MM/YYYY HH:mm:ss' // 'DD/MM/YYYY HH:mm:ss'
).format('DD/MM/YYYY'); // ).format('DD/MM/YYYY');
email.value = userInfo.email as string; email.value = userInfo.email as string;
fullName.value = userInfo.fullName as string; fullName.value = userInfo.fullName as string;
mobileNumber.value = userInfo.mobileNumber as string; mobileNumber.value = userInfo.mobileNumber as string;
......
...@@ -6,10 +6,10 @@ import accountGroup from '../../components/accountGroup/index.vue'; ...@@ -6,10 +6,10 @@ import accountGroup from '../../components/accountGroup/index.vue';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { EditMode } from 'src/assets/enums'; import { EditMode } from 'src/assets/enums';
import { API_PATHS, config } from 'src/assets/configurations'; import { API_PATHS, config } from 'src/assets/configurations.example';
import { Dialog, Notify } from 'quasar'; import { Dialog, Notify } from 'quasar';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import { Store } from 'vuex'; import { Store } from 'vuex'
export type GroupInfoType = { export type GroupInfoType = {
createBy: null | string; createBy: null | string;
...@@ -32,7 +32,7 @@ const selectedPageRoles: Ref<string[]> = ref([]); ...@@ -32,7 +32,7 @@ const selectedPageRoles: Ref<string[]> = ref([]);
const addNewGroupInfo = async ($store: Store<StateInterface>) => { const addNewGroupInfo = async ($store: Store<StateInterface>) => {
try { try {
const response = (await api({ const response = (await api({
url: API_PATHS.addNewGroupUser, // url: API_PATHS.addNewGroupUser,
method: 'POST', method: 'POST',
data: { data: {
group: { group: {
......
import { defineComponent, onMounted, ref, Ref, watch } from 'vue'; import { defineComponent, onMounted, ref, Ref, watch } from 'vue';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { API_PATHS, config } from 'src/assets/configurations'; import { API_PATHS, config } from 'src/assets/configurations.example';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import moment from 'moment';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import { Dialog, Notify } from 'quasar'; import { Dialog, Notify } from 'quasar';
import { Router } from 'src/router'; import { Router } from 'src/router';
import { Pages } from 'src/router/routes'; import { Pages } from 'src/router/routes';
import moment from 'moment';
import PersonalInformation from 'components/artist-information/personal-information/index.vue'; import PersonalInformation from 'components/artist-information/personal-information/index.vue';
import VabAccount from 'components/artist-information/VAB-account/index.vue'; import VabAccount from 'components/artist-information/VAB-account/index.vue';
import BankAccount from 'components/artist-information/bank-account/index.vue'; import BankAccount from 'components/artist-information/bank-account/index.vue';
...@@ -35,6 +34,7 @@ import { ...@@ -35,6 +34,7 @@ import {
CardBankType, CardBankType,
TypeCardType, TypeCardType,
FileUploadType, FileUploadType,
ProvinceType
} from 'src/assets/type'; } from 'src/assets/type';
export type AvatarType = { export type AvatarType = {
...@@ -81,6 +81,7 @@ export default defineComponent({ ...@@ -81,6 +81,7 @@ export default defineComponent({
const cardBankOptions: Ref<CardBankType[]> = ref([]); const cardBankOptions: Ref<CardBankType[]> = ref([]);
const typeBankOptions: Ref<TypeCardType[]> = ref([]); const typeBankOptions: Ref<TypeCardType[]> = ref([]);
const workOptions: Ref<WorkType[]> = ref([]); const workOptions: Ref<WorkType[]> = ref([]);
const provinceOptions:Ref<ProvinceType[]> = ref([]);
const sexOptions = ref([ const sexOptions = ref([
{ id: 1, name: 'Nam' }, { id: 1, name: 'Nam' },
{ id: 2, name: 'Nữ' }, { id: 2, name: 'Nữ' },
...@@ -335,6 +336,19 @@ export default defineComponent({ ...@@ -335,6 +336,19 @@ export default defineComponent({
nationalityOptions.value = response.data.data; nationalityOptions.value = response.data.data;
} }
}; };
const getProvinceOptions = async () => {
const response = (await api ({
url : API_PATHS.getProvinceOptions,
method: 'GET',
params: {},
})) as AxiosResponse<BaseResponseBody<ProvinceType[]>>;
if(response.data.error.code === config.API_RES_CODE.OK.code){
provinceOptions.value = response.data.data
}
}
const getArtistLevelOptions = async () => { const getArtistLevelOptions = async () => {
const response = (await api({ const response = (await api({
url: API_PATHS.getArtistLevelOptions, url: API_PATHS.getArtistLevelOptions,
...@@ -617,95 +631,95 @@ export default defineComponent({ ...@@ -617,95 +631,95 @@ export default defineComponent({
} catch (error) {} } catch (error) {}
}; };
const checkValidate = () => { const checkValidate = () => {
let hasError = false; // let hasError = false;
if (!avatarFile.value) { // if (!avatarFile.value) {
hasError = true; // hasError = true;
hidden_img.value = true; // hidden_img.value = true;
} // }
if (!artistCode.value || !artistCode.value?.trim().length) { // if (!artistCode.value || !artistCode.value?.trim().length) {
hasError = true; // hasError = true;
artistCodeRules.value = true; // artistCodeRules.value = true;
} // }
if (!fullName.value || !fullName.value?.trim().length) { // if (!fullName.value || !fullName.value?.trim().length) {
hasError = true; // hasError = true;
fullNameRules.value = true; // fullNameRules.value = true;
} // }
if (!artistName.value || !artistName.value?.trim().length) { // if (!artistName.value || !artistName.value?.trim().length) {
hasError = true; // hasError = true;
artistNameRules.value = true; // artistNameRules.value = true;
} // }
if (!address.value || !address.value.trim().length) { // if (address.value) {
hasError = true; // hasError = true;
addressRules.value = true; // addressRules.value = true;
} // }
if (!birthday.value || !birthday.value?.trim().length) { // if (!birthday.value || !birthday.value?.trim().length) {
hasError = true; // hasError = true;
birthdayRules.value = true; // birthdayRules.value = true;
} // }
if (sex.value === null) { // if (sex.value === null) {
hasError = true; // hasError = true;
sexRules.value = true; // sexRules.value = true;
} // }
if (!phoneNumber.value || !phoneNumber.value?.trim().length) { // if (!phoneNumber.value || !phoneNumber.value?.trim().length) {
hasError = true; // hasError = true;
phoneNumberRules.value = true; // phoneNumberRules.value = true;
errorMessPhoneNumber.value = i18n.global.t( // errorMessPhoneNumber.value = i18n.global.t(
'artist.artistInformation.validateMessages.requirePhoneNumber' // 'artist.artistInformation.validateMessages.requirePhoneNumber'
); // );
} // }
if (!email.value || !email.value?.trim().length) { // if (!email.value || !email.value?.trim().length) {
hasError = true; // hasError = true;
emailRules.value = true; // emailRules.value = true;
errorMessEmail.value = i18n.global.t( // errorMessEmail.value = i18n.global.t(
'artist.artistInformation.validateMessages.requireEmail' // 'artist.artistInformation.validateMessages.requireEmail'
); // );
} // }
if ( // if (
(!mnBookingPhone.value || !mnBookingPhone.value?.trim().length) && // (!mnBookingPhone.value || !mnBookingPhone.value?.trim().length) &&
check_infoBooking.value // check_infoBooking.value
) { // ) {
hasError = true; // hasError = true;
mnBookingPhoneRules.value = true; // mnBookingPhoneRules.value = true;
errorMessmnBookingPhone.value = i18n.global.t( // errorMessmnBookingPhone.value = i18n.global.t(
'artist.artistInformation.validateMessages.requirePhoneNumberAdminister' // 'artist.artistInformation.validateMessages.requirePhoneNumberAdminister'
); // );
} // }
if ( // if (
(!mnBookingEmail.value || !mnBookingEmail.value?.trim().length) && // (!mnBookingEmail.value || !mnBookingEmail.value?.trim().length) &&
check_infoBooking.value // check_infoBooking.value
) { // ) {
hasError = true; // hasError = true;
mnBookingEmailRules.value = true; // mnBookingEmailRules.value = true;
errorMessmnBookingEmail.value = i18n.global.t( // errorMessmnBookingEmail.value = i18n.global.t(
'artist.artistInformation.validateMessages.requireEmailAdminister' // 'artist.artistInformation.validateMessages.requireEmailAdminister'
); // );
} // }
if (artistLevel.value === null) { // if (artistLevel.value === null) {
hasError = true; // hasError = true;
artistLevelRules.value = true; // artistLevelRules.value = true;
} // }
if (!fields.value) { // if (!fields.value) {
hasError = true; // hasError = true;
fieldRules.value = true; // fieldRules.value = true;
} // }
if (nationality.value === null) { // if (nationality.value === null) {
hasError = true; // hasError = true;
nationalityRules.value = true; // nationalityRules.value = true;
} // }
if (qualification.value === null) { // if (qualification.value === null) {
hasError = true; // hasError = true;
qualificationRules.value = true; // qualificationRules.value = true;
} // }
if (!works.value.length) { // if (!works.value.length) {
hasError = true; // hasError = true;
workRules.value = true; // workRules.value = true;
} // }
if (hasError === false) { // if (hasError === false) {
void addArtist(); void addArtist();
} // }
}; };
const addArtist = async () => { const addArtist = async () => {
try { try {
...@@ -744,6 +758,8 @@ export default defineComponent({ ...@@ -744,6 +758,8 @@ export default defineComponent({
}, },
[] []
); );
const response = (await api({ const response = (await api({
url: API_PATHS.addArtist, url: API_PATHS.addArtist,
...@@ -768,8 +784,8 @@ export default defineComponent({ ...@@ -768,8 +784,8 @@ export default defineComponent({
shortDescription: null, shortDescription: null,
account: account.value, account: account.value,
socialEmbedded: socialEmbedded.value, socialEmbedded: socialEmbedded.value,
artistLevel: artistLevel.value, // artistLevel: artistLevel.value,
fields: [fields.value], fields: fields.value,
nationality: nationality.value, nationality: nationality.value,
qualification: qualification.value, qualification: qualification.value,
works: works.value, works: works.value,
...@@ -824,6 +840,7 @@ export default defineComponent({ ...@@ -824,6 +840,7 @@ export default defineComponent({
void getQualificationOptions(); void getQualificationOptions();
void getBankOptions(); void getBankOptions();
void getTypeCardOptions(); void getTypeCardOptions();
void getProvinceOptions();
}); });
return { return {
hidden_img, hidden_img,
...@@ -937,6 +954,8 @@ export default defineComponent({ ...@@ -937,6 +954,8 @@ export default defineComponent({
confirmChangeIsDefault, confirmChangeIsDefault,
favoriteScore, favoriteScore,
check_infoBooking, check_infoBooking,
getProvinceOptions,
provinceOptions,
}; };
}, },
}); });
...@@ -85,6 +85,7 @@ ...@@ -85,6 +85,7 @@
:sex-options="sexOptions" :sex-options="sexOptions"
:field-options="fieldOptions" :field-options="fieldOptions"
:nationality-options="nationalityOptions" :nationality-options="nationalityOptions"
:province-options="provinceOptions"
:profession-options="professionOptions" :profession-options="professionOptions"
:artist-level-options="artistLevelOptions" :artist-level-options="artistLevelOptions"
:work-options="workOptions" :work-options="workOptions"
......
...@@ -88,7 +88,7 @@ import { ...@@ -88,7 +88,7 @@ import {
DetailVABInfoType, DetailVABInfoType,
UpdateVABInfoType, UpdateVABInfoType,
} from 'src/assets/type'; } from 'src/assets/type';
import { config, API_PATHS } from 'src/assets/configurations'; import { config, API_PATHS } from 'src/assets/configurations.example';
import UpdateInfoVABDialog from 'components/update-info-vab/update-info-vab-dialog/index.vue'; import UpdateInfoVABDialog from 'components/update-info-vab/update-info-vab-dialog/index.vue';
export type AvatarType = { export type AvatarType = {
file?: File; file?: File;
......
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
<script lang="ts"> <script lang="ts">
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import { defineComponent, onMounted, ref, Ref } from 'vue'; import { defineComponent, onMounted, ref, Ref } from 'vue';
import { API_PATHS } from 'src/assets/configurations'; import { API_PATHS } from 'src/assets/configurations.example';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { import {
...@@ -158,7 +158,7 @@ import { ...@@ -158,7 +158,7 @@ import {
DetailCustomerRank, DetailCustomerRank,
UpdateCustomerRank, UpdateCustomerRank,
} from 'src/assets/type'; } from 'src/assets/type';
import { config } from 'src/assets/configurations'; import { config } from 'src/assets/configurations.example';
import { CustomerRankStatus } from 'src/assets/enums'; import { CustomerRankStatus } from 'src/assets/enums';
import AddUpdateCustomerRankDialog from 'components/add-update-customer-rank/index.vue'; import AddUpdateCustomerRankDialog from 'components/add-update-customer-rank/index.vue';
import { Dialog, Notify } from 'quasar'; import { Dialog, Notify } from 'quasar';
......
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { Notify } from 'quasar'; import { Notify } from 'quasar';
import { API_PATHS } from 'src/assets/configurations'; import { API_PATHS } from 'src/assets/configurations.example';
import { api, BaseResponseBody } from 'src/boot/axios'; import { api, BaseResponseBody } from 'src/boot/axios';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
import { Router } from 'src/router'; import { Router } from 'src/router';
......
...@@ -8,8 +8,9 @@ import { ...@@ -8,8 +8,9 @@ import {
import authentication from './authentication'; import authentication from './authentication';
import { AuthenticationState } from './authentication/state'; import { AuthenticationState } from './authentication/state';
import SecureLS from 'secure-ls'; import SecureLS from 'secure-ls'
import createPersistedState from 'vuex-persistedstate'; import createPersistedState from 'vuex-persistedstate';
export * from '@vue/runtime-core'
// eslint-disable-next-line // eslint-disable-next-line
const ls = new SecureLS({ isCompression: true }); const ls = new SecureLS({ isCompression: true });
...@@ -31,7 +32,7 @@ export interface StateInterface { ...@@ -31,7 +32,7 @@ export interface StateInterface {
// provide typings for `this.$store` // provide typings for `this.$store`
declare module '@vue/runtime-core' { declare module '@vue/runtime-core' {
interface ComponentCustomProperties { export interface ComponentCustomProperties {
$store: VuexStore<StateInterface>; $store: VuexStore<StateInterface>;
} }
} }
......
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