Commit 8f1807c3 authored by Tình Trương's avatar Tình Trương

update

parent 82a0b5d8
......@@ -50,11 +50,6 @@ export enum ContactStatus {
inactive = 0,
}
export enum ConfigSystemStatus {
active = 1,
inactive = 0,
}
export enum NewsStatus {
active = 1,
inactive = 0,
......
......@@ -52,6 +52,16 @@
></q-input>
</div>
<div class="col-6">
<q-input
:model-value="url"
@update:model-value="$emit('update:url', $event)"
:label="$t('listConfigSystem.dialogLabel.fieldLabels.url')"
class="q-my-sm"
type="text"
outlined
:rules="urlRules"
clearable
></q-input>
<q-select
:model-value="nameMenu"
@update:model-value="$emit('update:nameMenu', $event)"
......@@ -68,16 +78,6 @@
use-chips
clearable
></q-select>
<q-input
:model-value="url"
@update:model-value="$emit('update:url', $event)"
:label="$t('listConfigSystem.dialogLabel.fieldLabels.url')"
class="q-my-sm"
type="text"
outlined
:rules="urlRules"
clearable
></q-input>
</div>
<div class="col-12 q-pb-md">
<div>
......@@ -208,7 +208,6 @@
</template>
<script lang="ts">
import { ConfigSystemStatus } from 'src/assets/enums';
import { defineComponent } from 'vue';
import { i18n } from 'src/boot/i18n';
......@@ -246,7 +245,6 @@ export default defineComponent({
namePageRules,
urlRules,
nameMenuRules,
ConfigSystemStatus,
};
},
emits: [
......
......@@ -40,7 +40,7 @@
:rules="nameRules"
clearable
></q-input>
<q-input
<!-- <q-input
:model-value="url"
@update:model-value="$emit('update:url', $event)"
:label="$t('listMenu.dialogLabel.fieldLabels.url')"
......@@ -58,8 +58,8 @@
mask="##"
outlined
clearable
></q-input>
<div class="q-pt-sm">
></q-input> -->
<div>
<span class="text-body1">{{
$t('listMenu.dialogLabel.fieldLabels.status')
}}</span
......@@ -106,8 +106,8 @@ export default defineComponent({
},
isUpdate: { type: Boolean, default: false },
name: { type: String, required: true },
url: { type: String, required: true },
numIndex: { type: Number, required: true },
// url: { type: String, required: true },
// numIndex: { type: Number, required: true },
status: { type: Number, required: true },
},
setup() {
......@@ -116,22 +116,22 @@ export default defineComponent({
(val && val.trim().length) ||
i18n.global.t('listMenu.validateMessages.requireName'),
];
const urlRules = [
(val?: string) =>
(val && val.trim().length) ||
i18n.global.t('listMenu.validateMessages.requireUrl'),
];
// const urlRules = [
// (val?: string) =>
// (val && val.trim().length) ||
// i18n.global.t('listMenu.validateMessages.requireUrl'),
// ];
return {
nameRules,
urlRules,
// urlRules,
MenuStatus,
};
},
emits: [
'update:isOpened',
'update:name',
'update:url',
'update:numIndex',
// 'update:url',
// 'update:numIndex',
'update:status',
'addUpdateMenu',
],
......
......@@ -981,7 +981,7 @@ export default {
titleColumnsTable: {
stt: 'STT',
namePage: 'Tên cấu hình',
nameMenu: 'Tên menu',
nameMenu: 'Loại menu',
url: 'Path',
content: 'Nội dung',
numIndex: 'Vị trí',
......@@ -992,7 +992,7 @@ export default {
titleUpdate: 'Cập nhập Cấu hình',
fieldLabels: {
namePage: 'Tên cấu hình *',
nameMenu: 'Tên menu *',
nameMenu: 'Loại menu *',
url: 'Path *',
numIndex: 'Vị trí',
status: 'Trạng thái',
......@@ -1000,7 +1000,7 @@ export default {
},
validateMessages: {
requireNamePage: 'Vui lòng nhập Tên Cấu hình',
requireNameMenu: 'Vui lòng nhập Tên Cấu hình',
requireNameMenu: 'Vui lòng chọn Loại menu',
requireUrl: 'Vui lòng nhập Path',
},
crudActions: {
......@@ -1130,16 +1130,16 @@ export default {
add: 'Thêm',
toolTipMessageUpdate: 'Cập nhập',
toolTipMessageDelete: 'Xóa',
title: 'Cấu hình Menu',
title: 'Danh sách Menu',
titleColumnsTable: {
stt: 'STT',
name: 'Tên menu',
url: 'Url target',
numIndex: 'Vị trí',
createTime: 'Người tạo',
createBy: 'Thời gian tạo',
updateTime: 'Người cập nhập',
updateBy: 'Thời gian cập nhập',
// url: 'Url target',
// numIndex: 'Vị trí',
// createTime: 'Người tạo',
// createBy: 'Thời gian tạo',
// updateTime: 'Người cập nhập',
// updateBy: 'Thời gian cập nhập',
status: 'Trạng thái',
action: 'Chức năng',
},
......@@ -1148,14 +1148,14 @@ export default {
titleAdd: 'Thêm Menu',
fieldLabels: {
name: 'Tên menu',
url: 'Url target',
numIndex: 'Vị trí',
// url: 'Url target',
// numIndex: 'Vị trí',
status: 'Trạng thái',
},
},
validateMessages: {
requireName: 'Vui lòng nhập Tên menu',
requireUrl: 'Vui lòng nhập Url target',
// requireUrl: 'Vui lòng nhập Url target',
},
crudActions: {
save: 'Lưu',
......
......@@ -20,6 +20,7 @@
:options="nameMenuOptions"
option-label="name"
option-value="id"
multiple
dense
outlined
label="Tên menu"
......@@ -257,13 +258,18 @@ export default defineComponent({
const showDialogAdd = ref(false);
const showDialogUpdate = ref(false);
const namePage: Ref<string> = ref('');
const nameMenuOptions: Ref<unknown[]> = ref([]);
const nameMenuOptions = ref([
{ id: 1, name: 'Menu Trên' },
{ id: 2, name: 'Menu Chính sách' },
{ id: 3, name: 'Menu Liên hệ' },
]);
const nameMenuSreach: Ref<{ id: number; name: string } | undefined> =
ref(undefined);
const nameMenu: Ref<unknown | undefined> = ref();
const url: Ref<string> = ref('');
const content: Ref<string> = ref('');
const numIndex: Ref<number | undefined> = ref(undefined);
const ConfigSystemId: Ref<number | undefined> = ref(undefined);
const nameMenuSreach: Ref<unknown[]> = ref([]);
const getConfigSystem = async () => {
try {
......@@ -274,6 +280,7 @@ export default defineComponent({
pageIndex: pageIndex.value,
pageSize: pageSize.value,
namePage: sreachNamePage.value,
nameMenu: nameMenuSreach.value?.id,
},
})) as AxiosResponse<
BaseResponseBody<PaginationResponse<ListConfigSystem>>
......@@ -363,6 +370,7 @@ export default defineComponent({
message: i18n.global.t(
'listConfigSystem.actionMessages.updateSuccess'
),
actions: [{ icon: 'close', color: 'white' }],
});
void getConfigSystem();
showDialogUpdate.value = false;
......@@ -403,6 +411,7 @@ export default defineComponent({
message: i18n.global.t(
'listConfigSystem.actionMessages.deleteSuccess'
),
actions: [{ icon: 'close', color: 'white' }],
});
void getConfigSystem();
}
......
......@@ -77,7 +77,7 @@
</q-btn>
</q-td>
</template>
<template v-slot:body-cell-url="rowData">
<!-- <template v-slot:body-cell-url="rowData">
<q-td>
<div align="center">
<a
......@@ -88,7 +88,7 @@
>
</div>
</q-td>
</template>
</template> -->
<template v-slot:body-cell-stt="item">
<q-td :item="item" style="text-align: center">
{{ 1 + item.rowIndex + pageSize * (pageIndex - 1) }}
......@@ -129,8 +129,6 @@
isUpdate
v-model:isOpened="showDialogAdd"
v-model:name="name"
v-model:url="url"
v-model:num-index="numIndex"
v-model:status="status"
@addUpdateMenu="addMenu"
/>
......@@ -138,8 +136,6 @@
<AddUpdateMenuDialog
v-model:isOpened="showDialogUpdate"
v-model:name="name"
v-model:url="url"
v-model:num-index="numIndex"
v-model:status="status"
@addUpdateMenu="updateMenu"
/>
......@@ -189,60 +185,60 @@ export default defineComponent({
headerStyle: 'text-align: center !important; width: 15%',
sortable: false,
},
{
name: 'url',
field: 'url',
required: true,
label: i18n.global.t('listMenu.titleColumnsTable.url'),
headerStyle: 'text-align: center !important; width: 15%',
align: 'center',
sortable: false,
},
{
name: 'numIndex',
field: 'numIndex',
required: true,
label: i18n.global.t('listMenu.titleColumnsTable.numIndex'),
headerStyle: 'text-align: center !important; width: 10%',
align: 'center',
sortable: false,
},
{
name: 'createTime',
field: 'createTime',
required: true,
label: i18n.global.t('listMenu.titleColumnsTable.createTime'),
headerStyle: 'text-align: center !important; width: 8%',
align: 'center',
sortable: false,
},
{
name: 'createBy',
field: 'createBy',
required: true,
label: i18n.global.t('listMenu.titleColumnsTable.createBy'),
headerStyle: 'text-align: center !important; width: 8%',
align: 'center',
sortable: false,
},
{
name: 'updateTime',
field: 'updateTime',
required: true,
label: i18n.global.t('listMenu.titleColumnsTable.updateTime'),
headerStyle: 'text-align: center !important; width: 8%',
align: 'center',
sortable: false,
},
{
name: 'updateBy',
field: 'updateBy',
required: true,
label: i18n.global.t('listMenu.titleColumnsTable.updateBy'),
headerStyle: 'text-align: center !important; width: 10%',
align: 'center',
sortable: false,
},
// {
// name: 'url',
// field: 'url',
// required: true,
// label: i18n.global.t('listMenu.titleColumnsTable.url'),
// headerStyle: 'text-align: center !important; width: 15%',
// align: 'center',
// sortable: false,
// },
// {
// name: 'numIndex',
// field: 'numIndex',
// required: true,
// label: i18n.global.t('listMenu.titleColumnsTable.numIndex'),
// headerStyle: 'text-align: center !important; width: 10%',
// align: 'center',
// sortable: false,
// },
// {
// name: 'createTime',
// field: 'createTime',
// required: true,
// label: i18n.global.t('listMenu.titleColumnsTable.createTime'),
// headerStyle: 'text-align: center !important; width: 8%',
// align: 'center',
// sortable: false,
// },
// {
// name: 'createBy',
// field: 'createBy',
// required: true,
// label: i18n.global.t('listMenu.titleColumnsTable.createBy'),
// headerStyle: 'text-align: center !important; width: 8%',
// align: 'center',
// sortable: false,
// },
// {
// name: 'updateTime',
// field: 'updateTime',
// required: true,
// label: i18n.global.t('listMenu.titleColumnsTable.updateTime'),
// headerStyle: 'text-align: center !important; width: 8%',
// align: 'center',
// sortable: false,
// },
// {
// name: 'updateBy',
// field: 'updateBy',
// required: true,
// label: i18n.global.t('listMenu.titleColumnsTable.updateBy'),
// headerStyle: 'text-align: center !important; width: 10%',
// align: 'center',
// sortable: false,
// },
{
name: 'status',
field: 'status',
......@@ -275,8 +271,6 @@ export default defineComponent({
const showDialogAdd = ref(false);
const showDialogUpdate = ref(false);
const name: Ref<string> = ref('');
const url: Ref<string> = ref('');
const numIndex: Ref<number | undefined> = ref(undefined);
const status: Ref<number> = ref(MenuStatus.active);
const MenuId: Ref<number | undefined> = ref(undefined);
......@@ -300,8 +294,6 @@ export default defineComponent({
const openAddDialog = () => {
name.value = '';
url.value = '';
numIndex.value = undefined;
status.value = MenuStatus.active;
showDialogAdd.value = true;
};
......@@ -309,8 +301,6 @@ export default defineComponent({
const addMenu = async () => {
const data = {
name: name.value,
url: url.value,
numIndex: numIndex.value,
status: status.value,
};
const response = (await api({
......@@ -346,8 +336,6 @@ export default defineComponent({
if (response.data.error.code === config.API_RES_CODE.OK.code) {
MenuId.value = response.data.data.id;
name.value = response.data.data.name;
url.value = response.data.data.url;
numIndex.value = response.data.data.numIndex;
status.value = response.data.data.status;
}
} catch (error) {}
......@@ -361,8 +349,6 @@ export default defineComponent({
data: {
id: MenuId.value,
name: name.value,
url: url.value,
numIndex: numIndex.value,
status: status.value,
},
})) as AxiosResponse<BaseResponseBody<UpdateMenu>>;
......@@ -426,9 +412,7 @@ export default defineComponent({
changePageSize,
getDetailMenu,
MenuStatus,
numIndex,
name,
url,
status,
openUpdateDialog,
updateMenu,
......
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