update base

parent d1eb154e
export enum EditMode { export enum EditMode {
edit = 1, default = 0,
none = 0, add = 1,
add = 2, edit = 2,
} }
import { defineComponent, ref } from 'vue'; import { defineComponent, ref } from 'vue';
import { EditMode } from 'src/assets/enums';
const check = ref(false); const check = ref(false);
const check1 = ref(false); const check1 = ref(false);
...@@ -20,7 +21,8 @@ export const GroupInfoScript = defineComponent({ ...@@ -20,7 +21,8 @@ export const GroupInfoScript = defineComponent({
requite: true, requite: true,
}, },
}, },
emits: ['resetGroupInfo'],
setup() { setup() {
return { check, check1, check2, check3 }; return { check, check1, check2, check3, EditMode };
}, },
}); });
...@@ -7,42 +7,49 @@ ...@@ -7,42 +7,49 @@
</div> </div>
<div class="col-8" style="display: flex; justify-content: flex-end"> <div class="col-8" style="display: flex; justify-content: flex-end">
<q-btn <q-btn
v-if="isDisable === 2" v-if="isDisable === EditMode.edit"
style="margin-right: 8px" style="margin-right: 8px"
color="red" color="red"
icon="delete" icon="delete"
label="Xoá" label="Xoá"
/> />
<q-btn <q-btn
v-if="isDisable !== 0" v-if="isDisable"
color="primary" color="primary"
icon="update" icon="update"
label="Cập nhật" label="Cập nhật"
/> />
</div> </div>
<div <div v-if="isDisable" style="position: absolute; top: 0; right: 0">
v-if="isDisable !== 0" <q-btn
style="position: absolute; top: 0; right: 0" @click="$emit('resetGroupInfo', EditMode.default)"
> size="x-small"
<q-btn size="x-small" flat round color="primary" icon="close" /> flat
round
color="primary"
icon="close"
/>
</div> </div>
</div> </div>
</q-card-section> </q-card-section>
<q-card-section class="q-pt-none"> <q-card-section class="q-pt-none">
<q-input v-if="!isDisable" disable outlined placeholder="Tên nhóm *" /> <q-input
<q-input v-else v-model="groupName" outlined placeholder="Tên nhóm *" /> v-model="groupName"
:disable="!isDisable ? true : false"
outlined
placeholder="Tên nhóm *"
/>
</q-card-section> </q-card-section>
<q-card-section class="q-pt-none"> <q-card-section class="q-pt-none">
<q-input v-if="!isDisable" disable outlined placeholder="Mô tả *" />
<q-input <q-input
v-else
v-model="groupDescription" v-model="groupDescription"
:disable="!isDisable ? true : false"
outlined outlined
placeholder="Mô tả *" placeholder="Mô tả *"
/> />
</q-card-section> </q-card-section>
<q-card-section v-if="isDisable === 2"> <q-card-section v-if="isDisable === EditMode.edit">
<div class="row"> <div class="row">
<div class="col-6"> <div class="col-6">
<q-list bordered padding> <q-list bordered padding>
......
import { GroupInfoType } from 'src/pages/nhom-nguoi-dung/UserGroup'; import { GroupInfoType } from 'src/pages/nhom-nguoi-dung/UserGroup';
import { computed, defineComponent, PropType, ref } from 'vue'; import { computed, defineComponent, PropType, ref } from 'vue';
import { EditMode } from 'src/assets/enums';
// import { useStore } from 'src/store'; // import { useStore } from 'src/store';
export const UserGroupScript = defineComponent({ export const UserGroupScript = defineComponent({
...@@ -9,7 +10,7 @@ export const UserGroupScript = defineComponent({ ...@@ -9,7 +10,7 @@ export const UserGroupScript = defineComponent({
required: true, required: true,
}, },
}, },
emits: ['click:groupName', 'update:addNewGroupUsers'], emits: ['click:groupName', 'click:addNewGroupUsers'],
setup(props) { setup(props) {
// const $store = useStore(); // const $store = useStore();
const keyword = ref(''); const keyword = ref('');
...@@ -20,6 +21,6 @@ export const UserGroupScript = defineComponent({ ...@@ -20,6 +21,6 @@ export const UserGroupScript = defineComponent({
); );
}); });
return { keyword, filteredListUsers }; return { keyword, filteredListUsers, EditMode };
}, },
}); });
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
</div> </div>
<div class="col-4" style="display: flex; justify-content: flex-end"> <div class="col-4" style="display: flex; justify-content: flex-end">
<q-btn <q-btn
@click="$emit('click:addNewGroupUsers', 1)" @click="$emit('click:addNewGroupUsers', EditMode.add)"
color="primary" color="primary"
label="Thêm mới" label="Thêm mới"
no-caps no-caps
......
...@@ -4,7 +4,7 @@ import UserGroupComponent from '../../components/user-group/index.vue'; ...@@ -4,7 +4,7 @@ import UserGroupComponent from '../../components/user-group/index.vue';
import GroupInfoComponent from '../../components/group-info/index.vue'; import GroupInfoComponent from '../../components/group-info/index.vue';
import { AxiosResponse } from 'axios'; import { AxiosResponse } from 'axios';
import { BaseResponseBody } from 'src/boot/axios'; import { BaseResponseBody } from 'src/boot/axios';
import { group } from 'console'; import { EditMode } from 'src/assets/enums';
export type GroupInfoType = { export type GroupInfoType = {
createBy: null | string; createBy: null | string;
...@@ -18,26 +18,23 @@ export type GroupInfoType = { ...@@ -18,26 +18,23 @@ export type GroupInfoType = {
}; };
const userList: Ref<GroupInfoType[]> = ref([]); const userList: Ref<GroupInfoType[]> = ref([]);
const isDisable = ref(0); const isDisable = ref(EditMode.default);
const groupName = ref(''); const groupName = ref('');
const groupDescription = ref(''); const groupDescription = ref('');
export const UserGroup = defineComponent({ export const UserGroup = defineComponent({
components: { UserGroupComponent, GroupInfoComponent }, components: { UserGroupComponent, GroupInfoComponent },
setup() { setup() {
const $store = useStore(); const $store = useStore();
const getGroupInfo = (groupInfo: GroupInfoType) => { const getGroupInfo = (groupInfo: GroupInfoType) => {
console.log(groupInfo); isDisable.value = EditMode.edit;
isDisable.value = 2;
groupName.value = groupInfo.groupName; groupName.value = groupInfo.groupName;
groupDescription.value = groupInfo.description; groupDescription.value = groupInfo.description;
}; };
const changeValueIsDisable = (value: number) => { const changeValueIsDisable = (value: number) => {
isDisable.value = value; isDisable.value = value;
groupName.value = '';
groupDescription.value = '';
}; };
onMounted(async () => { onMounted(async () => {
await $store.dispatch('authentication/getListUsers').then((response) => { await $store.dispatch('authentication/getListUsers').then((response) => {
const res = response as AxiosResponse< const res = response as AxiosResponse<
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
:is-disable="isDisable" :is-disable="isDisable"
:group-name="groupName" :group-name="groupName"
:group-description="groupDescription" :group-description="groupDescription"
@resetGroupInfo="changeValueIsDisable"
></GroupInfoComponent> ></GroupInfoComponent>
</div> </div>
</div> </div>
......
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