[issue/4550]分类字典数据量过多会造成数据查询时间过长

This commit is contained in:
zhangdaiscott 2023-04-11 22:03:13 +08:00
parent f48e1125d0
commit 6d768d8320
2 changed files with 19 additions and 7 deletions

View File

@ -14,6 +14,7 @@
const isUpdate = ref(true); const isUpdate = ref(true);
const expandedRowKeys = ref([]); const expandedRowKeys = ref([]);
const treeData = ref([]); const treeData = ref([]);
const isSubAdd = ref(false);
// //
const [registerForm, { resetFields, setFieldsValue, validate, updateSchema }] = useForm({ const [registerForm, { resetFields, setFieldsValue, validate, updateSchema }] = useForm({
schemas: formSchema, schemas: formSchema,
@ -34,6 +35,7 @@
expandedRowKeys.value = []; expandedRowKeys.value = [];
setModalProps({ confirmLoading: false, minHeight: 80 }); setModalProps({ confirmLoading: false, minHeight: 80 });
isUpdate.value = !!data?.isUpdate; isUpdate.value = !!data?.isUpdate;
isSubAdd.value = !!!data?.isUpdate && data.record.id;
if (data?.record) { if (data?.record) {
// //
await setFieldsValue({ await setFieldsValue({
@ -79,7 +81,7 @@
// //
await getExpandKeysByPid(values['pid'], unref(treeData)); await getExpandKeysByPid(values['pid'], unref(treeData));
//(isUpdate:;values:;expandedArr:) //(isUpdate:;values:;expandedArr:)
emit('success', { isUpdate: unref(isUpdate), values: { ...values }, expandedArr: unref(expandedRowKeys).reverse() }); emit('success', { isUpdate: unref(isUpdate), isSubAdd:unref(isSubAdd), values: { ...values }, expandedArr: unref(expandedRowKeys).reverse() });
} finally { } finally {
setModalProps({ confirmLoading: false }); setModalProps({ confirmLoading: false });
} }

View File

@ -145,7 +145,7 @@
/** /**
* 成功回调 * 成功回调
*/ */
async function handleSuccess({ isUpdate, values, expandedArr }) { async function handleSuccess({ isUpdate,isSubAdd, values, expandedArr }) {
if (isUpdate) { if (isUpdate) {
// //
updateTableDataRecord(values.id, values); updateTableDataRecord(values.id, values);
@ -155,9 +155,15 @@
reload(); reload();
} else { } else {
// //
expandedRowKeys.value = []; //update-begin-author:liusq---date:20230411--for: [issue/4550]---
for (let key of unref(expandedArr)) { if(isSubAdd){
await expandTreeNode(key); await expandTreeNode(values.pid);
//update-end-author:liusq---date:20230411--for: [issue/4550]---
}else{
expandedRowKeys.value = [];
for (let key of unref(expandedArr)) {
await expandTreeNode(key);
}
} }
} }
} }
@ -247,8 +253,12 @@
*操作表格后处理树节点展开合并 *操作表格后处理树节点展开合并
* */ * */
async function expandTreeNode(key) { async function expandTreeNode(key) {
let record = findTableDataRecord(key); let record:any = findTableDataRecord(key);
expandedRowKeys.value.push(key); //update-begin-author:liusq---date:20230411--for: [issue/4550],!---
if(!expandedRowKeys.value.includes(key)){
expandedRowKeys.value.push(key);
}
//update-end-author:liusq---date:20230411--for: [issue/4550],!---
let result = await getChildList({ pid: key }); let result = await getChildList({ pid: key });
if (result && result.length > 0) { if (result && result.length > 0) {
record.children = getDataByResult(result); record.children = getDataByResult(result);