Commit 4765c90f authored by Tình Trương's avatar Tình Trương

update

parent 40cd2886
...@@ -32,17 +32,52 @@ export default defineComponent({ ...@@ -32,17 +32,52 @@ export default defineComponent({
status: { type: Boolean, required: true }, status: { type: Boolean, required: true },
}, },
setup() { setup() {
//update
const managingUnitUpdateTableRows: Ref<unknown[]> = ref([]);
const openUpdateArtistDialog = ref(false);
const UpdateArtistDialog = (item: {
row: {
id: number;
name: string;
fullName: string;
artistName: string;
field: string;
timeAdd: string;
};
}) => {
console.log(item, 'aa');
fieldsUpdate.value.name = item.row.field;
nameUpdate.value.fullName = item.row.fullName;
openUpdateArtistDialog.value = true;
};
const updateNewManagingUnitsArtist = (
timeUpdateTo: string,
timeUpdateForm: string
) => {
managingUnitUpdateTableRows.value.push({
contractFrom: timeUpdateForm,
contractTo: timeUpdateTo,
timeAdd: timeUpdateTo + ' - ' + timeUpdateForm,
status: statusUpdate,
artistId: nameAdd.value.id,
artistName: nameAdd.value.artistName,
fullName: nameAdd.value.fullName,
field: nameAdd.value.field,
});
};
//add
const managingUnitAddTableRows: Ref<unknown[]> = ref([]); const managingUnitAddTableRows: Ref<unknown[]> = ref([]);
const openAddArtistDialog = ref(false); const openAddArtistDialog = ref(false);
const addNewManagingUnitsArtist = ( const addNewManagingUnitsArtist = (
timeAddTo: string, timeAddTo: string,
timeAddForm: string timeAddForm: string
) => { ) => {
console.log(nameAdd.value);
managingUnitAddTableRows.value.push({ managingUnitAddTableRows.value.push({
contractFrom: timeAddForm, contractFrom: timeAddForm,
contractTo: timeAddTo, contractTo: timeAddTo,
timeAdd: timeAddForm + ' - ' + timeAddTo, timeAdd: timeAddTo + ' - ' + timeAddForm,
status: statusAdd, status: statusAdd,
artistId: nameAdd.value.id, artistId: nameAdd.value.id,
artistName: nameAdd.value.artistName, artistName: nameAdd.value.artistName,
...@@ -50,12 +85,7 @@ export default defineComponent({ ...@@ -50,12 +85,7 @@ export default defineComponent({
field: nameAdd.value.field, field: nameAdd.value.field,
}); });
}; };
const openUpdateArtistDialog = ref(false);
const updateNewManagingUnitsArtist = () => {
//gọi api cập nhật
try {
} catch (error) {}
};
const codeRules = [ const codeRules = [
(val?: string) => (val?: string) =>
(val && val.trim().length) || (val && val.trim().length) ||
...@@ -114,16 +144,24 @@ export default defineComponent({ ...@@ -114,16 +144,24 @@ export default defineComponent({
const statusAdd: Ref<number> = ref(1); const statusAdd: Ref<number> = ref(1);
const fieldsAddOptions: Ref<FieldType[]> = ref([]); const fieldsAddOptions: Ref<FieldType[]> = ref([]);
const nameAddOptions: Ref<ArtistDicitionary[]> = ref([]); const nameAddOptions: Ref<ArtistDicitionary[]> = ref([]);
const nameUpdate: Ref<number | undefined> = ref(); const nameUpdate: Ref<{
const timeUpdateTo: Ref<string | undefined> = ref(); id: number;
const fieldsUpdate: Ref<number | undefined> = ref(); name: string;
const statusUpdate: Ref<boolean | number> = ref(true); fullName: string;
const timeUpdate: Ref<string | undefined> = ref(); artistName: string;
const nameUpdateOptions = ref([ field: string;
{ id: 1, text: 'Ưng Hoàng Phúc' }, }> = ref({
{ id: 2, text: 'Nguyễn Tùng Dương' }, id: 1,
{ id: 3, text: 'Nguyễn Sơn Tùng' }, name: '',
]); fullName: '',
artistName: '',
field: '',
});
const fieldsUpdate: Ref<{ id: number; name: string }> = ref({
id: 0,
name: '',
});
const statusUpdate: Ref<number> = ref(1);
watch( watch(
() => fieldsAdd.value, () => fieldsAdd.value,
...@@ -178,15 +216,14 @@ export default defineComponent({ ...@@ -178,15 +216,14 @@ export default defineComponent({
}); });
return { return {
UpdateArtistDialog,
managingUnitUpdateTableRows,
managingUnitAddTableRows, managingUnitAddTableRows,
getFieldOptions, getFieldOptions,
getArtistDicitionaryOptions, getArtistDicitionaryOptions,
nameUpdate, nameUpdate,
timeUpdateTo,
statusUpdate, statusUpdate,
fieldsUpdate, fieldsUpdate,
timeUpdate,
nameUpdateOptions,
openAddArtistDialog, openAddArtistDialog,
addNewManagingUnitsArtist, addNewManagingUnitsArtist,
openUpdateArtistDialog, openUpdateArtistDialog,
......
...@@ -150,12 +150,10 @@ ...@@ -150,12 +150,10 @@
<UpdateNewArtistDialog <UpdateNewArtistDialog
v-model:open-update-artist-dialog="openUpdateArtistDialog" v-model:open-update-artist-dialog="openUpdateArtistDialog"
v-model:name-update="nameUpdate" v-model:name-update="nameUpdate"
v-model:time-update-to="timeUpdateTo"
v-model:fields-update="fieldsUpdate" v-model:fields-update="fieldsUpdate"
v-model:time-update="timeUpdate"
v-model:status-update="statusUpdate" v-model:status-update="statusUpdate"
:fields-add-options="fieldsAddOptions" :fields-add-options="fieldsAddOptions"
:name-update-options="nameUpdateOptions" :name-add-options="nameAddOptions"
@click:CloseBtn="openUpdateArtistDialog = false" @click:CloseBtn="openUpdateArtistDialog = false"
@updateNewManagingUnitsArtist="updateNewManagingUnitsArtist" @updateNewManagingUnitsArtist="updateNewManagingUnitsArtist"
/> />
...@@ -169,7 +167,7 @@ ...@@ -169,7 +167,7 @@
:no-data-label="$t('emptyData')" :no-data-label="$t('emptyData')"
hide-pagination hide-pagination
> >
<template v-slot:body-cell-action=""> <template v-slot:body-cell-action="item">
<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="[20, 10]">{{
...@@ -181,7 +179,7 @@ ...@@ -181,7 +179,7 @@
round round
color="primary" color="primary"
icon="mdi-account-edit-outline" icon="mdi-account-edit-outline"
@click="openUpdateArtistDialog = true" @click="UpdateArtistDialog(item)"
> >
<q-tooltip :offset="[20, 10]">{{ <q-tooltip :offset="[20, 10]">{{
$t('managingUnitAdd.toolTipMessage.updateInfo') $t('managingUnitAdd.toolTipMessage.updateInfo')
......
import { defineComponent } from 'vue'; import { defineComponent, Ref, ref, watch } from 'vue';
import { i18n } from 'src/boot/i18n'; import { i18n } from 'src/boot/i18n';
export default defineComponent({ export default defineComponent({
...@@ -7,40 +7,54 @@ export default defineComponent({ ...@@ -7,40 +7,54 @@ export default defineComponent({
type: Boolean, type: Boolean,
required: true, required: true,
}, },
nameUpdateOptions: {type: Array, required: true}, nameAddOptions: { type: Array, required: true },
fieldsAddOptions: { type: Array, required: true },
fieldsUpdate: { type: Number, required: true },
nameUpdate: { type: Number, required: true }, nameUpdate: { type: Number, required: true },
fieldsAddOptions: {type: Array, required: true}, statusUpdate: { type: Number, required: true },
fieldsUpdate: { type: Number, required: true},
timeUpdateTo: { type: String, required: true },
timeUpdate: { type: String, required: true },
statusUpdate: { type: Boolean, required: true },
}, },
setup() { setup(props, context) {
watch(
() => props.openUpdateArtistDialog,
(value) => {
if (!value) {
context.emit('update:nameUpdate', undefined);
timeUpdateForm.value = '';
timeUpdateTo.value = '';
context.emit('update:fieldsUpdate', undefined);
context.emit('update:statusUpdate', 1);
}
}
);
const timeUpdateForm: Ref<string | undefined> = ref();
const timeUpdateTo: Ref<string | undefined> = ref();
const nameUpdateRules = [ const nameUpdateRules = [
(val?: number) => (val?: number) =>
val !== undefined || val !== undefined ||
i18n.global.t('managingUnitAdd.validateMessages.requireNameUpdate'), i18n.global.t('managingUnitAdd.validateMessages.requireNameUpdate'),
]; ];
const timeUpdateToRules = [ const fieldsUpdateRules = [
(val?: number) =>
val !== undefined ||
i18n.global.t('managingUnitAdd.validateMessages.requireFieldsUpdate'),
];
const timeUpdateFormRules = [
(val?: string) => (val?: string) =>
(val && val.trim().length) || (val && val.trim().length) ||
i18n.global.t('managingUnitAdd.validateMessages.requireTimeUpdateTo'), i18n.global.t('managingUnitAdd.validateMessages.requireTimeUpdateForm'),
]; ];
const fieldsUpdateRules = [ const timeUpdateToRules = [
(val?: number) =>
val !== undefined ||
i18n.global.t('managingUnitAdd.validateMessages.requireFieldsUpdate'),
];
const timeUpdateRules = [
(val?: string) => (val?: string) =>
(val && val.trim().length) || (val && val.trim().length) ||
i18n.global.t('managingUnitAdd.validateMessages.requireTimeUpdate'), i18n.global.t('managingUnitAdd.validateMessages.requireTimeUpdateTo'),
]; ];
return { return {
nameUpdateRules, nameUpdateRules,
timeUpdateToRules, fieldsUpdateRules,
fieldsUpdateRules, timeUpdateFormRules,
timeUpdateRules, timeUpdateToRules,
timeUpdateForm,
timeUpdateTo,
}; };
}, },
emits: [ emits: [
...@@ -48,8 +62,8 @@ export default defineComponent({ ...@@ -48,8 +62,8 @@ export default defineComponent({
'click:CloseBtn', 'click:CloseBtn',
'update:nameUpdate', 'update:nameUpdate',
'update:timeUpdateTo', 'update:timeUpdateTo',
'update:timeUpdateForm',
'update:fieldsUpdate', 'update:fieldsUpdate',
'update:timeUpdate',
'update:statusUpdate', 'update:statusUpdate',
'updateNewManagingUnitsArtist', 'updateNewManagingUnitsArtist',
], ],
......
...@@ -5,7 +5,13 @@ ...@@ -5,7 +5,13 @@
@update:model-value="$emit('update:openUpdateArtistDialog', $event)" @update:model-value="$emit('update:openUpdateArtistDialog', $event)"
> >
<q-card style="min-width: 700px" bordered> <q-card style="min-width: 700px" bordered>
<q-form greedy @submit.prevent="$emit('updateNewManagingUnitsArtist')"> <q-form
greedy
@submit.prevent="
$emit('updateNewManagingUnitsArtist', timeUpdateForm, timeUpdateTo);
$emit('click:CloseBtn');
"
>
<q-card-section> <q-card-section>
<q-item> <q-item>
<q-item-section> <q-item-section>
...@@ -28,36 +34,31 @@ ...@@ -28,36 +34,31 @@
" "
:options="fieldsAddOptions" :options="fieldsAddOptions"
:rules="fieldsUpdateRules" :rules="fieldsUpdateRules"
emit-value
map-options map-options
option-value="id" option-value="id"
option-label="name" option-label="name"
class="q-my-sm" class="q-my-sm"
outlined outlined
hide-bottom-space hide-bottom-space
clearable
></q-select> ></q-select>
<q-input <q-input
:model-value="timeUpdate" :model-value="timeUpdateForm"
@update:model-value="$emit('update:timeUpdate', $event)" @update:model-value="$emit('update:timeUpdateForm', $event)"
:label=" :label="
$t('managingUnitAdd.dialogLabel.fieldLabels.timeUpdate') $t('managingUnitAdd.dialogLabel.fieldLabels.timeUpdateForm')
" "
class="q-my-sm" class="q-my-sm"
mask="date"
outlined outlined
:rules="timeUpdateRules" :rules="timeUpdateFormRules"
readonly readonly
> ><template v-slot:append>
<template v-slot:append>
<q-icon name="event" class="cursor-pointer"> <q-icon name="event" class="cursor-pointer">
<q-popup-proxy <q-popup-proxy
ref="qDateProxy" ref="qDateProxy"
transition-show="scale" transition-show="scale"
transition-hide="scale" transition-hide="scale"
> >
<q-date v-model="timeUpdate"> <q-date v-model="timeUpdateForm" mask="DD/MM/YYYY">
<div class="row items-center justify-end"> <div class="row items-center justify-end">
<q-btn <q-btn
v-close-popup v-close-popup
...@@ -68,34 +69,46 @@ ...@@ -68,34 +69,46 @@
</div> </div>
</q-date> </q-date>
</q-popup-proxy> </q-popup-proxy>
</q-icon> </q-icon> </template
</template> ></q-input>
</q-input> <div>
<span class="text-body1">{{
$t('managingUnitAdd.dialogLabel.fieldLabels.status')
}}</span
><q-toggle
:model-value="statusUpdate"
:true-value="1"
:false-value="2"
@update:model-value="$emit('update:statusUpdate', $event)"
/>
</div>
</div> </div>
<div class="col-6"> <div class="col-6">
<div> <div>
<q-select <q-select
:model-value="nameUpdate" :model-value="nameUpdate"
:disable="!fieldsUpdate"
@update:model-value="$emit('update:nameUpdate', $event)" @update:model-value="$emit('update:nameUpdate', $event)"
:label=" :label="
$t('managingUnitAdd.dialogLabel.fieldLabels.nameUpdate') $t('managingUnitAdd.dialogLabel.fieldLabels.nameUpdate')
" "
:options="nameUpdateOptions" :options="nameAddOptions"
:disable="!fieldsUpdate"
:rules="nameUpdateRules" :rules="nameUpdateRules"
hide-bottom-space hide-bottom-space
emit-value
map-options map-options
emit-value
option-value="id" option-value="id"
option-label="text" option-label="fullName"
class="q-my-sm" class="q-my-sm"
outlined outlined
clearable clearable
></q-select> >
<q-tooltip v-if="!fieldsUpdate" </q-select
><q-tooltip v-if="!fieldsUpdate"
>Vui lòng chọn Lĩnh vực</q-tooltip >Vui lòng chọn Lĩnh vực</q-tooltip
> >
</div> </div>
<q-input <q-input
:model-value="timeUpdateTo" :model-value="timeUpdateTo"
@update:model-value="$emit('update:timeUpdateTo', $event)" @update:model-value="$emit('update:timeUpdateTo', $event)"
...@@ -103,19 +116,17 @@ ...@@ -103,19 +116,17 @@
$t('managingUnitAdd.dialogLabel.fieldLabels.timeUpdateTo') $t('managingUnitAdd.dialogLabel.fieldLabels.timeUpdateTo')
" "
class="q-my-sm" class="q-my-sm"
mask="date"
outlined outlined
:rules="timeUpdateToRules" :rules="timeUpdateToRules"
readonly readonly
> ><template v-slot:append>
<template v-slot:append>
<q-icon name="event" class="cursor-pointer"> <q-icon name="event" class="cursor-pointer">
<q-popup-proxy <q-popup-proxy
ref="qDateProxy" ref="qDateProxy"
transition-show="scale" transition-show="scale"
transition-hide="scale" transition-hide="scale"
> >
<q-date v-model="timeUpdateTo"> <q-date v-model="timeUpdateTo" mask="DD/MM/YYYY">
<div class="row items-center justify-end"> <div class="row items-center justify-end">
<q-btn <q-btn
v-close-popup v-close-popup
...@@ -129,15 +140,6 @@ ...@@ -129,15 +140,6 @@
</q-icon> </q-icon>
</template> </template>
</q-input> </q-input>
<div class="q-pr-sm">
<span class="text-body1">{{
$t('managingUnitAdd.dialogLabel.fieldLabels.status')
}}</span
><q-toggle
:model-value="statusUpdate"
@update:model-value="$emit('update:statusUpdate', $event)"
/>
</div>
</div> </div>
</div> </div>
</q-card-section> </q-card-section>
......
...@@ -184,7 +184,7 @@ export default defineComponent({ ...@@ -184,7 +184,7 @@ export default defineComponent({
// }, // },
{ {
name: 'nameAdd', name: 'nameAdd',
field: 'nameAdd', field: 'fullName',
required: true, required: true,
label: i18n.global.t('managingUnitAdd.tableColumns.nameAdd'), label: i18n.global.t('managingUnitAdd.tableColumns.nameAdd'),
headerStyle: 'text-align: center !important;', headerStyle: 'text-align: center !important;',
...@@ -193,7 +193,7 @@ export default defineComponent({ ...@@ -193,7 +193,7 @@ export default defineComponent({
}, },
{ {
name: 'myedityAdd', name: 'myedityAdd',
field: 'myedityAdd', field: 'artistName',
required: true, required: true,
label: i18n.global.t('managingUnitAdd.tableColumns.myedityAdd'), label: i18n.global.t('managingUnitAdd.tableColumns.myedityAdd'),
headerStyle: 'text-align: center !important;', headerStyle: 'text-align: center !important;',
...@@ -202,7 +202,7 @@ export default defineComponent({ ...@@ -202,7 +202,7 @@ export default defineComponent({
}, },
{ {
name: 'fieldsAdd', name: 'fieldsAdd',
field: 'fieldsAdd', field: 'field',
required: true, required: true,
label: i18n.global.t('managingUnitAdd.tableColumns.fieldsAdd'), label: i18n.global.t('managingUnitAdd.tableColumns.fieldsAdd'),
headerStyle: 'text-align: center !important;', headerStyle: 'text-align: center !important;',
...@@ -239,7 +239,7 @@ export default defineComponent({ ...@@ -239,7 +239,7 @@ export default defineComponent({
]; ];
const managingUnitTableRows: Ref<unknown[]> = ref([]); const managingUnitTableRows: Ref<unknown[]> = ref([]);
const managingUnitUpdateTableRows: Ref<unknown[]> = ref([]);
const getListAddUnit = () => { const getListAddUnit = () => {
// const response = (await api({ // const response = (await api({
// url: API_PATHS.getListArtist, // url: API_PATHS.getListArtist,
...@@ -468,7 +468,6 @@ export default defineComponent({ ...@@ -468,7 +468,6 @@ export default defineComponent({
getFieldOptions, getFieldOptions,
getListUpdateUnit, getListUpdateUnit,
showDialogUpdate, showDialogUpdate,
managingUnitUpdateTableRows,
managingUnitUpdateTableColumns, managingUnitUpdateTableColumns,
updateNewManagingUnits, updateNewManagingUnits,
confirmUpdateManagingUnits, confirmUpdateManagingUnits,
......
...@@ -138,7 +138,6 @@ ...@@ -138,7 +138,6 @@
v-model:phone-number="phoneNumber" v-model:phone-number="phoneNumber"
v-model:status="status" v-model:status="status"
v-model:fields="fields" v-model:fields="fields"
v-model:managing-unit-update-table-rows="managingUnitUpdateTableRows"
v-model:managing-unit-update-table-columns=" v-model:managing-unit-update-table-columns="
managingUnitUpdateTableColumns managingUnitUpdateTableColumns
" "
......
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