Преглед изворни кода

修改我的客户/公海客户/客户跟进的筛选项渲染逻辑

lm пре 4 недеља
родитељ
комит
f6835fc11c

+ 26 - 10
src/views/customerFollowUp/index.vue

@@ -174,16 +174,7 @@ const GetHeaderSearchOptions = async ()=>{
                 provinceIds:item.provinceIds,
             }
         }) || []
-        memberOption.value = memberData?.map(item=>{
-            return{
-                label:item.username,
-                value:item.id,
-                cityIds:item.cityIds,
-                groupIds:item.groupIds,
-                provinceIds:item.provinceIds,
-            }
-        }) || []
-
+        
         productOption.value = productData?.map(item=>{
             return {
                 label:item.name,
@@ -204,6 +195,11 @@ const GetHeaderSearchOptions = async ()=>{
             }
         }) || []
 
+
+
+
+
+
         provinceOption.value = regionData?.map(item=>{
             return{
                 label:item.name,
@@ -223,6 +219,21 @@ const GetHeaderSearchOptions = async ()=>{
                 value:item.id,
             }
         }) || []
+
+        // 下面两个动态变更
+        // 地区
+        let regionOption = defaultProvinceOption.value.find(item=>{
+            return item.value == listSearchParams.value.province
+        })?.subData || []
+        cityOption.value = [...regionOption]
+
+        // 人员
+        let finalOption = defaultMemberOption.value.filter(item=>{
+            return (listSearchParams.value.group == 'all' ? true : item.groupIds.includes(listSearchParams.value.group)) 
+                    && (listSearchParams.value.province == 'all' ? true : item.provinceIds.includes(listSearchParams.value.province))
+                    && (listSearchParams.value.region == 'all' ? true : item.cityIds.includes(listSearchParams.value.region))
+        }) || []
+        memberOption.value = [...finalOption]
     }
 }
 
@@ -319,6 +330,11 @@ const HandleBlockSearchChange = async (params,key)=>{
             listSearchParams.value.personnel = 'all'
             break
     }
+    switch(key){
+        case 'province':
+            listSearchParams.value.region = 'all'
+            break
+    }
 
     let finalOption = defaultMemberOption.value.filter(item=>{
         return (listSearchParams.value.group == 'all' ? true : item.groupIds.includes(listSearchParams.value.group)) 

+ 3 - 3
src/views/highSeasCustomer/index.vue

@@ -134,7 +134,7 @@ const GetHeaderSearchParams = async ()=>{
                 value:item.id,
             }),
         }
-    })?.slice(1) || []
+    }) || []
 
     // 省份筛选项
     regionOptions.value = regionData?.map(item=>{
@@ -152,9 +152,9 @@ const GetHeaderSearchParams = async ()=>{
                         value:sub.id
                     }),
                 }
-            }).slice(1) || [],
+            }) || [],
         }
-    })?.slice(1) || []
+    }) || []
 }
 /** 头部筛选 变更 */
 const HandleSearchChange = async (params:any,key:string)=>{

+ 29 - 12
src/views/myCustomer/index.vue

@@ -134,24 +134,16 @@ const GetHeaderSearchOptions = async ()=>{
                 }) || []
             }
         }) || []
-        cityOption.value = defaultProvinceOption.value?.map(item=>{
-            return item.subData
-        })?.flat() || []
+
+
+       
         groupDataOption.value = groupData?.map(item=>{
             return {
                 label:item.name,
                 value:item.id,
             }
         }) || []
-        memberConfigOption.value =  memberData?.map(item=>{
-            return{
-                label:item.username,
-                value:item.id,
-                groupIds:item.groupIds || [],
-                cityIds:item.cityIds || [],
-                provinceIds:item.provinceIds || []
-            }
-        })
+        
         defaultMemberConfigOption.value = memberData?.map(item=>{
             return{
                 label:item.username,
@@ -161,6 +153,31 @@ const GetHeaderSearchOptions = async ()=>{
                 provinceIds:item.provinceIds || []
             }
         })
+
+
+        // 下面两项 cityOption  memberConfigOption 涉及到过滤
+        let finalCityOption = []  //市区配置
+        if(searchParams.value.province !== 'all'){
+            // 重新修改当前市区的 配置
+            finalCityOption = defaultProvinceOption.value.find(item=>{
+                return item.value == searchParams.value.province
+            })?.subData || []
+        }else{
+            finalCityOption = defaultProvinceOption.value.map(item=>{
+                return item.subData
+            }).flat() || []
+        }
+        cityOption.value = [...finalCityOption]
+
+
+        let finalMemberOption = []  //人员配置
+        // 过滤当前 省+地区+分组 下的人员
+        finalMemberOption = defaultMemberConfigOption.value.filter(item=>{
+            return  (searchParams.value.group == 'all' ? 1 : item.groupIds.includes(searchParams.value.group) )
+                    && (searchParams.value.province == 'all' ? 1 : item.provinceIds.includes(searchParams.value.province) )
+                    && (searchParams.value.city == 'all' ? 1 :  item.cityIds.includes(searchParams.value.city) )
+        }) || []
+        memberConfigOption.value =  [...finalMemberOption]
     }
 }