diff --git a/src/views/system/category/components/CategoryModal.vue b/src/views/system/category/components/CategoryModal.vue index 8526482..5155f39 100644 --- a/src/views/system/category/components/CategoryModal.vue +++ b/src/views/system/category/components/CategoryModal.vue @@ -14,6 +14,7 @@ const isUpdate = ref(true); const expandedRowKeys = ref([]); const treeData = ref([]); + const isSubAdd = ref(false); //表单配置 const [registerForm, { resetFields, setFieldsValue, validate, updateSchema }] = useForm({ schemas: formSchema, @@ -34,6 +35,7 @@ expandedRowKeys.value = []; setModalProps({ confirmLoading: false, minHeight: 80 }); isUpdate.value = !!data?.isUpdate; + isSubAdd.value = !!!data?.isUpdate && data.record.id; if (data?.record) { //表单赋值 await setFieldsValue({ @@ -79,7 +81,7 @@ //展开的节点信息 await getExpandKeysByPid(values['pid'], unref(treeData)); //刷新列表(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 { setModalProps({ confirmLoading: false }); } diff --git a/src/views/system/category/index.vue b/src/views/system/category/index.vue index e1b15d7..fb339ef 100644 --- a/src/views/system/category/index.vue +++ b/src/views/system/category/index.vue @@ -145,7 +145,7 @@ /** * 成功回调 */ - async function handleSuccess({ isUpdate, values, expandedArr }) { + async function handleSuccess({ isUpdate,isSubAdd, values, expandedArr }) { if (isUpdate) { //编辑回调 updateTableDataRecord(values.id, values); @@ -155,9 +155,15 @@ reload(); } else { //新增子集 - expandedRowKeys.value = []; - for (let key of unref(expandedArr)) { - await expandTreeNode(key); + //update-begin-author:liusq---date:20230411--for: [issue/4550]分类字典数据量过多会造成数据查询时间过长--- + if(isSubAdd){ + 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) { - let record = findTableDataRecord(key); - expandedRowKeys.value.push(key); + let record:any = findTableDataRecord(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 }); if (result && result.length > 0) { record.children = getDataByResult(result);