| | |
| | | } |
| | | return []; |
| | | }; |
| | | const findRegionPathById = (tree, targetId, parentPath = []) => { |
| | | if (targetId === undefined || targetId === null || targetId === "") return []; |
| | | for (const item of tree || []) { |
| | | const currentPath = [...parentPath, item.id]; |
| | | if (String(item.id) === String(targetId)) { |
| | | return currentPath; |
| | | } |
| | | const childResult = findRegionPathById(item.children || [], targetId, currentPath); |
| | | if (childResult.length) return childResult; |
| | | } |
| | | return []; |
| | | }; |
| | | const addNewContact = () => { |
| | | formYYs.value.contactList.push({ |
| | | contactPerson: "", |
| | |
| | | if (type === "edit") { |
| | | getCustomer(row.id).then(res => { |
| | | form.value = { ...res.data }; |
| | | formRegionPath.value = findRegionPathByName( |
| | | regionTreeData.value, |
| | | form.value.regions || "" |
| | | ); |
| | | const regionIdForEdit = form.value.regionsId || form.value.regionsld; |
| | | formRegionPath.value = findRegionPathById(regionTreeData.value, regionIdForEdit); |
| | | if (!formRegionPath.value.length) { |
| | | formRegionPath.value = findRegionPathByName( |
| | | regionTreeData.value, |
| | | form.value.regionsName || form.value.regions || "" |
| | | ); |
| | | } |
| | | const selectedRegionId = |
| | | formRegionPath.value.length > 0 |
| | | ? formRegionPath.value[formRegionPath.value.length - 1] |
| | | : ""; |
| | | if (selectedRegionId && !form.value.regions) { |
| | | form.value.regions = regionNodeMap.value.get(selectedRegionId)?.regionsName || ""; |
| | | } |
| | | form.value.regionsId = form.value.regionsId || selectedRegionId; |
| | | form.value.regionsld = form.value.regionsld || form.value.regionsId || selectedRegionId; |
| | | formYYs.value.contactList = res.data.contactPerson |