From be028017a461af4c9745c69c4df084d4c3e6b296 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 22 十月 2025 18:08:49 +0800
Subject: [PATCH] fix: bug
---
src/views/DictionaryManage/DataDictionary.vue | 184 ++++++++++++++++++++++-----------------------
1 files changed, 90 insertions(+), 94 deletions(-)
diff --git a/src/views/DictionaryManage/DataDictionary.vue b/src/views/DictionaryManage/DataDictionary.vue
index 782f4d8..da29126 100644
--- a/src/views/DictionaryManage/DataDictionary.vue
+++ b/src/views/DictionaryManage/DataDictionary.vue
@@ -1,30 +1,19 @@
<template>
<LoadingLayout :loading="state.loading">
<AppContainer>
- <ProTableQueryFilterBar @on-reset="reset">
+ <ProTableQueryFilterBar @on-reset="handleReset">
<template #query>
<QueryFilterItem>
<FieldSelect
- v-model="extraParamState.searchType"
+ v-model="extraParamState.categoryId"
@change="getList()"
- :value-enum="SearchTypeText"
+ :value-enum="dictionaryCategoryList"
placeholder="璇烽�夋嫨鎵�灞炵被鍒�"
- ></FieldSelect>
- </QueryFilterItem>
- <QueryFilterItem v-if="extraParamState.searchType === SearchType.Position">
- <FieldSelect
- v-model="extraParamState.parentId"
- @change="getList()"
- :value-enum="typeList"
- enum-label-key="name"
- enum-value-key="id"
- placeholder="璇烽�夋嫨琛屼笟绫诲瀷"
- clearable
></FieldSelect>
</QueryFilterItem>
<QueryFilterItem>
<SearchInput
- v-model="extraParamState.name"
+ v-model="extraParamState.keywords"
style="width: 200px"
placeholder="璇疯緭鍏ュ悕绉�"
@on-click-search="getList"
@@ -44,19 +33,19 @@
</template>
</ProTableQueryFilterBar>
<ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
- <template #columns="{ row, column }">
- <template v-if="column.property === 'status'">
- <FieldSwitch
- v-model="row.status"
- active-text="鏄剧ず"
- inactive-text="闅愯棌"
- :before-change="() => setCategoryVis(row)"
- />
- </template>
+ <template #isDisabled="{ row }">
+ <FieldSwitch
+ v-model="row.isDisabled"
+ active-text="鍚敤"
+ inactive-text="绂佺敤"
+ :active-value="false"
+ :inactive-value="true"
+ :before-change="() => setCategoryVis(row)"
+ />
</template>
</ProTableV2>
</AppContainer>
- <AddOrEditSearchSetting v-bind="dialogProps" :typeList="typeList" />
+ <AddOrEditDictionaryDialog v-bind="dialogProps" />
</LoadingLayout>
</template>
@@ -74,20 +63,13 @@
UploadUserFile,
FieldSwitch,
FieldSelect,
- FieldRadio,
} from '@bole-core/components';
-import { useAccess } from '@/hooks';
-import {
- SearchType,
- SearchTypeText,
- // BelongType,
- // BelongTypeText,
- BooleanOptions,
-} from '@/constants';
-import { OrderInputType, Message } from '@bole-core/core';
-import AddOrEditSearchSetting from './components/AddOrEditSearchSetting.vue';
-import { convertApi2FormUrl } from '@/utils';
-import { useQueryClient } from '@tanstack/vue-query';
+import { useAccess, useDictionaryDataSelect, useGetDictionaryCategorySelect } from '@/hooks';
+import { Message } from '@bole-core/core';
+import AddOrEditDictionaryDialog from './components/AddOrEditDictionaryDialog.vue';
+import { convertApi2FormUrl, convertApi2FormUrlOnlyOne } from '@/utils';
+import * as dictionaryServices from '@/services/api/dictionary';
+import { CategoryCode } from '@/constants';
defineOptions({
name: 'DataDictionary',
@@ -101,14 +83,22 @@
operationBtnMap,
});
+const { dictionaryCategoryList, ensureQueryData } = useGetDictionaryCategorySelect();
+
+const { getDictionaryDataNameByCode, updateDictionaryDataSelect } = useDictionaryDataSelect({
+ categoryCode: CategoryCode.IndustryCategory,
+});
+
const BaseState = {
loading: true,
};
-const queryClient = useQueryClient();
-const typeList = ref([]);
const state = reactive({ ...BaseState });
onMounted(async () => {
+ const dictionaryCategoryList = await ensureQueryData();
+ if (dictionaryCategoryList.length > 0) {
+ extraParamState.categoryId = dictionaryCategoryList[0].value;
+ }
await getList();
state.loading = false;
});
@@ -122,23 +112,16 @@
} = useTable(
async ({ pageIndex, pageSize }, extraParamState) => {
try {
- let params: API.GetSearchSettingListInput = {
+ let params: API.GetDictionaryDatasQuery = {
pageModel: {
rows: pageSize,
page: pageIndex,
orderInput: extraParamState.orderInput,
},
- name: extraParamState.name,
- // belongType: Number(extraParamState.belongType),
- searchType: Number(extraParamState.searchType),
- status: extraParamState.status,
+ categoryId: extraParamState.categoryId,
+ keywords: extraParamState.keywords,
};
-
- if (extraParamState.searchType === SearchType.Position) {
- params.isRecommend = extraParamState.isRecommend;
- params.parentId = extraParamState.parentId;
- }
- let res = await searchSettingServices.getSearchSettingList(params, {
+ let res = await dictionaryServices.getDictionaryDatas(params, {
showLoading: !state.loading,
});
return res;
@@ -148,34 +131,40 @@
},
{
defaultExtraParams: {
- name: '',
- searchType: SearchType.Identity,
- orderInput: [{ property: 'sort', order: OrderInputType.Asc }],
- status: '' as any as boolean,
- isRecommend: '' as any as boolean,
- parentId: '',
+ categoryId: '',
+ keywords: '',
+ orderInput: [{ property: 'sort', order: EnumPagedListOrder.Asc }],
},
- queryKey: ['searchSettingServices/getSearchSettingList'],
+ queryKey: ['dictionaryServices/getDictionaryDatas'],
columnsRenderProps: {
- searchType: { type: 'enum', valueEnum: SearchTypeText },
+ field1: {
+ formatter(row: API.GetDictionaryDatasQueryResultItem) {
+ return row.categoryCode == CategoryCode.Position
+ ? getDictionaryDataNameByCode(row.field1)
+ : '';
+ },
+ },
},
}
);
-function openDialog(row?: API.GetSearchSettingList) {
+function openDialog(row?: API.GetDictionaryDatasQueryResultItem) {
if (row) {
handleEdit({
id: row.id,
- searchType: extraParamState.searchType,
- name: row.name,
+ categoryId: row.categoryId,
+ code: row.code,
+ content: row.content,
sort: row.sort,
- status: row.status,
- src: row.src?.length ? [convertApi2FormUrl(row.src)] : [],
- parentId: row.parentId ?? '',
+ isDisabled: row.isDisabled,
+ field1: row.field1,
+ field3: row.field3,
+ field2: convertApi2FormUrlOnlyOne(row.field2),
+ field4: row.field4,
});
} else {
handleAdd({
- searchType: extraParamState.searchType,
+ categoryId: extraParamState.categoryId,
});
}
}
@@ -184,57 +173,64 @@
onConfirm: handleAddOrEdit,
defaultFormParams: {
id: '',
- searchType: SearchType.Identity,
- name: '',
+ categoryId: '',
+ code: '',
+ content: '',
sort: 0,
- status: true,
- src: [] as UploadUserFile[],
- parentId: '',
+ isDisabled: false,
+ field1: '',
+ field2: [] as UploadUserFile[],
+ field3: '',
+ field4: '',
+ title: '鏂板瀛楀吀',
},
+ editTitle: '缂栬緫瀛楀吀',
});
async function handleAddOrEdit() {
try {
- let params: API.CreateOrEditSearchInput = {
- searchType: extraParamState.searchType,
- name: editForm.name,
+ let params: API.SaveDictionaryDataCommand = {
+ categoryId: editForm.categoryId,
+ code: editForm.code,
sort: editForm.sort,
- status: editForm.status,
- src: editForm.src?.[0]?.path ?? '',
- parentId: editForm.parentId ?? '',
+ content: editForm.content,
+ isDisabled: editForm.isDisabled,
+ field1: editForm.field1,
+ field2: editForm.field2?.[0]?.path ?? '',
+ field3: editForm.field3,
+ field4: editForm.field4,
};
if (editForm.id) {
params.id = editForm.id;
}
- let res = await searchSettingServices.createOrEditSearchSetting(params);
+ let res = await dictionaryServices.saveDictionaryData(params);
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
+ updateDictionaryDataSelect(editForm.categoryId);
getList(paginationState.pageIndex);
dialogState.dialogVisible = false;
- updateCategoryMenu();
}
} catch (error) {}
}
-function updateCategoryMenu() {
- queryClient.invalidateQueries({
- queryKey: [
- 'searchSettingServices/getTypeSearchSettingList',
- { searchType: extraParamState.searchType, belongType: null },
- ],
- });
-}
-
-async function setCategoryVis(row: API.GetSearchSettingList) {
+async function setCategoryVis(row: API.GetDictionaryDatasQueryResultItem) {
try {
- let params: API.EnableSearchSettingInput = {
- id: row.id,
- status: !row.status,
+ await Message.tipMessage(`纭瑕�${row.isDisabled ? '鍚敤' : '绂佺敤'}鍚楋紵`);
+ let params: API.SetDictionaryDataIsDisabledCommand = {
+ ids: [row.id],
+ isDisabled: !row.isDisabled,
};
- let res = await searchSettingServices.enableSearchSetting(params);
- updateCategoryMenu();
+ let res = await dictionaryServices.setDictionaryDataIsDisabled(params);
+ updateDictionaryDataSelect(row.categoryId);
getList(paginationState.pageIndex);
return !!res;
} catch (error) {}
}
+
+async function handleReset() {
+ try {
+ const dictionaryCategoryList = await ensureQueryData();
+ reset({ categoryId: dictionaryCategoryList[0].value });
+ } catch (error) {}
+}
</script>
--
Gitblit v1.9.1