From 5fa3fdbc7808132eee453b89a02891fb82148a57 Mon Sep 17 00:00:00 2001 From: "gary.fu" Date: Thu, 25 Jan 2024 17:08:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=80=E4=BA=9B=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/main.css | 4 ++ src/components/common-autocomplete/index.vue | 45 +++++++++++++---- .../common-autocomplete/public.d.ts | 8 ++- src/components/common-breadcrumb/index.vue | 5 +- src/components/common-form-control/index.vue | 49 +++++++++++++++++-- src/components/common-form/index.vue | 7 ++- src/components/common-menu-item/index.vue | 6 +-- .../common-table/common-table-column.vue | 23 ++++++++- src/components/common-table/index.vue | 6 +-- src/components/index.js | 4 ++ src/components/utils/index.js | 13 +++++ src/layout/TopNav.vue | 2 +- src/services/city/CityService.js | 4 +- src/stores/MenuConfigStore.js | 2 +- src/views/HomeView.vue | 1 - src/views/admin/Menus.vue | 2 +- src/views/tools/Tables.vue | 2 +- 17 files changed, 147 insertions(+), 36 deletions(-) diff --git a/src/assets/main.css b/src/assets/main.css index d4a99f3..8c4a478 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -90,6 +90,10 @@ html, body, #app, .index-container { display: block; } +.flex-column { + flex-direction: column; +} + .container-center { display: flex; justify-content: center; diff --git a/src/components/common-autocomplete/index.vue b/src/components/common-autocomplete/index.vue index 7dfd6df..11da421 100644 --- a/src/components/common-autocomplete/index.vue +++ b/src/components/common-autocomplete/index.vue @@ -21,6 +21,10 @@ const props = defineProps({ type: String, default: '' }, + autoPageShowTitle: { + type: Boolean, + default: false + }, placeholder: { type: String, default: '' @@ -29,11 +33,11 @@ const props = defineProps({ type: String, default: '' }, - idKey: { + idProp: { type: String, default: 'value' }, - labelKey: { + labelProp: { type: String, default: 'label' }, @@ -47,7 +51,7 @@ const props = defineProps({ }, inputWidth: { type: String, - default: '220px' + default: '200px' }, autocompleteConfig: { type: Object, @@ -61,6 +65,14 @@ const props = defineProps({ type: Number, default: 4 }, + rowSize: { + type: Number, + default: 6 + }, + tabStretch: { + type: Boolean, + default: true + }, clearable: { type: Boolean, default: true @@ -122,8 +134,8 @@ const autoPage = ref({ }) const loadingData = ref(false) -const idProp = computed(() => props.autocompleteConfig?.idKey || props.idKey) -const labelProp = computed(() => props.autocompleteConfig?.labelKey || props.labelKey) +const idProp = computed(() => props.autocompleteConfig?.idProp || props.idProp) +const labelProp = computed(() => props.autocompleteConfig?.labelProp || props.labelProp) const showSelectPage = computed(() => { return props.selectPageConfig && (!keywords.value || lastAutocompleteLabel.value === keywords.value) @@ -303,8 +315,8 @@ const parsedSelectPageData = computed(() => { }) const getSelectPage = (totalCount) => { - const pageSize = 5 - const pageCount = Math.ceil((totalCount + pageSize - 1) / pageSize) + const pageSize = props.rowSize + const pageCount = Math.floor((totalCount + pageSize - 1) / pageSize) return { pageNumber: 1, pageSize, @@ -321,10 +333,22 @@ const selectPagePagination = (tab) => { const selectPagePaginationChange = (tab, pageNumber) => { const pager = selectPagePageConfig.value?.[tab.id] pager.pageNumber = pageNumber - console.info('==================selectPagePaginationChange', tab, pageNumber, pager) selectPageData.value = { ...selectPageData.value } } +const autoTitle = computed(() => { + if (!showSelectPage.value && !props.autoPageShowTitle) { + return undefined + } + return props.title || props.placeholder +}) + +watch(() => props.selectPageConfig, () => { + selectPagePageConfig.value = {} + selectPageData.value = {} + selectPageTab.value = null +}) +