Commit 9fd491ec authored by hong-IT-99's avatar hong-IT-99

udpate code

parent b3cb7ebb
...@@ -31,6 +31,7 @@ export type UserObject = { ...@@ -31,6 +31,7 @@ export type UserObject = {
export type ArtistInfoType = { export type ArtistInfoType = {
id: number; id: number;
account: string; account: string;
avatar: string | null;
artistCode: string; artistCode: string;
fullName: string; fullName: string;
artistName: string | null; artistName: string | null;
......
import { defineComponent } from 'vue'; import { defineComponent, ref, Ref } 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 UploadImage from '../../upload-image/index.vue';
export default defineComponent({ export default defineComponent({
props: { props: {
id: { type: Number, required: true }, id: { type: Number, required: true },
artistCode: { type: String, required: true }, artistCode: { type: String, required: true },
avatar: { type: String, required: true },
fullName: { type: String, required: true }, fullName: { type: String, required: true },
artistName: { type: String, required: true }, artistName: { type: String, required: true },
birthday: { type: String, required: true }, birthday: { type: String, required: true },
...@@ -30,6 +33,9 @@ export default defineComponent({ ...@@ -30,6 +33,9 @@ export default defineComponent({
artistLevelOptions: { type: Array, required: true }, artistLevelOptions: { type: Array, required: true },
workOptions: { type: Array, required: true }, workOptions: { type: Array, required: true },
}, },
components: {
UploadImage,
},
setup() { setup() {
const artistCodeRules = [ const artistCodeRules = [
(val?: string) => (val?: string) =>
...@@ -120,6 +126,18 @@ export default defineComponent({ ...@@ -120,6 +126,18 @@ export default defineComponent({
'artist.artistInformation.validateMessages.requireArtistLevel' 'artist.artistInformation.validateMessages.requireArtistLevel'
), ),
]; ];
const selectedFile = (value: FileList) =>{
console.log(value);
console.log(URL.createObjectURL(value[0]));
}
const upload = ref(null);
const uploadBanner = () => {
// eslint-disable-next-line
// @ts-ignore
// eslint-disable-next-line
upload.value?.click();
};
return { return {
artistCodeRules, artistCodeRules,
fullNameRules, fullNameRules,
...@@ -134,11 +152,16 @@ export default defineComponent({ ...@@ -134,11 +152,16 @@ export default defineComponent({
workRules, workRules,
qualificationRules, qualificationRules,
artistLevelRules, artistLevelRules,
upload,
uploadBanner,
selectedFile,
}; };
}, },
emits: [ emits: [
'update:artistCode', 'update:artistCode',
'update:fullName', 'update:fullName',
'update:avatar',
'update:artistName', 'update:artistName',
'update:birthday', 'update:birthday',
'update:email', 'update:email',
......
...@@ -2,12 +2,31 @@ ...@@ -2,12 +2,31 @@
<div class="row q-col-gutter-sm q-mt-md"> <div class="row q-col-gutter-sm q-mt-md">
<q-space></q-space> <q-space></q-space>
<div class="col-5"> <div class="col-5">
<!-- <div class="row flex-center"> <div class="row q-mt-sm flex-center">
<div class="col-3 text-weight-medium"> <div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.id') }} <q-card style="max-width: 65%" @click="uploadBanner">
</div> <!-- -->
<div class="col-8">{{ id }}</div> <div align="center" class="flex flex-center q-py-xs">
</div> --> <q-icon name="mdi-plus-circle-outline" :size="'xs'"></q-icon>
<div class="q-mt-xs">{{ $t('uploadImage.uploadBanner') }}</div>
</div>
<input
ref="upload"
hidden
@change="selectedFile($event.target.files)"
type="file"
accept="image/png, image/jpeg"
/>
<!-- / @change="$emit('selectedFile', $event.target.files)" -->
</q-card>
</div>
<div class="col-8 flex flex-center">
<div style="width: 100%">
<q-img :src="avatar" style="max-width: 120px"></q-img>
</div>
</div>
<!-- @selectedFile="uploadAvatar" -->
</div>
<div class="row q-mt-sm flex-center"> <div class="row q-mt-sm flex-center">
<div class="col-3 text-weight-medium"> <div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.artistCode') }} {{ $t('artist.artistInformation.titleDataField.artistCode') }}
...@@ -15,8 +34,8 @@ ...@@ -15,8 +34,8 @@
<div class="col-8"> <div class="col-8">
<q-input <q-input
:model-value="artistCode" :model-value="artistCode"
:rules="artistCodeRules"
@update:model-value="$emit('update:artistCode', $event)" @update:model-value="$emit('update:artistCode', $event)"
:rules="artistCodeRules"
outlined outlined
dense dense
hide-bottom-space hide-bottom-space
...@@ -132,6 +151,9 @@ ...@@ -132,6 +151,9 @@
></q-input> ></q-input>
</div> </div>
</div> </div>
</div>
<q-space></q-space>
<div class="col-5">
<div class="row q-mt-xs flex-center"> <div class="row q-mt-xs 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') }}
...@@ -184,22 +206,6 @@ ...@@ -184,22 +206,6 @@
></q-select> ></q-select>
</div> </div>
</div> </div>
<!-- <div class="row q-mt-md flex-center">
<div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.status') }}
</div>
<div class="col-8">
<q-select
:model-value="status"
@update:model-value="$emit('update:status', $event)"
outlined
dense
></q-select>
</div>
</div> -->
</div>
<q-space></q-space>
<div class="col-5">
<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') }}
...@@ -329,28 +335,6 @@ ...@@ -329,28 +335,6 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <q-space></q-space>
<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-ml-md">
<q-btn
color="primary"
no-caps
:label="$t('crudActions.update')"
></q-btn>
</div>
<div class="col-1"></div>
</div>
</div> -->
</div> </div>
</template> </template>
......
...@@ -468,7 +468,7 @@ export default { ...@@ -468,7 +468,7 @@ export default {
}, },
recordPerPage: 'Số bản ghi', recordPerPage: 'Số bản ghi',
uploadImage: { uploadImage: {
uploadBanner: 'Tải lên Banner', uploadBanner: 'Tải lên',
uploadEmbed: 'Tải lên Embed', uploadEmbed: 'Tải lên Embed',
titleEmbedDialog: 'Thay đổi Embed', titleEmbedDialog: 'Thay đổi Embed',
}, },
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
<PersonalInformation <PersonalInformation
:id="id" :id="id"
v-model:artist-code="artistCode" v-model:artist-code="artistCode"
:avatar="avatar"
v-model:full-name="fullName" v-model:full-name="fullName"
v-model:artist-name="artistName" v-model:artist-name="artistName"
v-model:birthday="birthday" v-model:birthday="birthday"
......
...@@ -79,6 +79,7 @@ export default defineComponent({ ...@@ -79,6 +79,7 @@ export default defineComponent({
]); ]);
// const status: Ref<boolean | number> = ref(true); // const status: Ref<boolean | number> = ref(true);
const id: Ref<number> = ref(0); const id: Ref<number> = ref(0);
const avatar: Ref<string | null> = ref(null)
const account: Ref<string> = ref(''); const account: Ref<string> = ref('');
const artistCode: Ref<string> = ref(''); const artistCode: Ref<string> = ref('');
const fullName: Ref<string> = ref(''); const fullName: Ref<string> = ref('');
...@@ -149,6 +150,9 @@ export default defineComponent({ ...@@ -149,6 +150,9 @@ export default defineComponent({
console.log(response, 'Artist Detail Info'); console.log(response, 'Artist Detail Info');
const ArtistInformation = response.data.data; const ArtistInformation = response.data.data;
id.value = ArtistInformation.id; id.value = ArtistInformation.id;
// avatar.value = ArtistInformation.avatar
avatar.value='https://lh3.googleusercontent.com/proxy/cL5mHGDvQFU8xR-Gn60kKHN9otMevrqQ0wRv3_fEQi4030JNccyLBSBmJoyL3KOYhObYR5WPnRZr8FwphGhYenMklss0tYuiIzhE2BrnNeUJJ76_ztQizomVS3RsPP8'
account.value = ArtistInformation.account; account.value = ArtistInformation.account;
artistCode.value = ArtistInformation.artistCode; artistCode.value = ArtistInformation.artistCode;
fullName.value = ArtistInformation.fullName; fullName.value = ArtistInformation.fullName;
...@@ -493,6 +497,7 @@ export default defineComponent({ ...@@ -493,6 +497,7 @@ export default defineComponent({
getBankOptions, getBankOptions,
getTypeCardOptions, getTypeCardOptions,
rowDataAccBank, rowDataAccBank,
avatar
}; };
}, },
}); });
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