Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
2d7bab8a
authored
Apr 13, 2024
by
puhui999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CRM: 完善用户画像数据统计
parent
64af029c
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
17 additions
and
17 deletions
+17
-17
src/views/crm/statistics/portrait/components/PortraitCustomerArea.vue
+1
-1
src/views/crm/statistics/portrait/components/PortraitCustomerIndustry.vue
+1
-1
src/views/crm/statistics/portrait/components/PortraitCustomerLevel.vue
+1
-1
src/views/crm/statistics/portrait/components/PortraitCustomerSource.vue
+1
-1
src/views/crm/statistics/portrait/index.vue
+13
-13
No files found.
src/views/crm/statistics/portrait/components/
CrmStatistics
PortraitCustomerArea.vue
→
src/views/crm/statistics/portrait/components/PortraitCustomerArea.vue
View file @
2d7bab8a
...
@@ -25,7 +25,7 @@ import {
...
@@ -25,7 +25,7 @@ import {
StatisticsPortraitApi
StatisticsPortraitApi
}
from
'@/api/crm/statistics/portrait'
}
from
'@/api/crm/statistics/portrait'
defineOptions
({
name
:
'CustomerArea'
})
defineOptions
({
name
:
'
Portrait
CustomerArea'
})
const
props
=
defineProps
<
{
queryParams
:
any
}
>
()
// 搜索参数
const
props
=
defineProps
<
{
queryParams
:
any
}
>
()
// 搜索参数
// 注册地图
// 注册地图
...
...
src/views/crm/statistics/portrait/components/
CrmStatistics
PortraitCustomerIndustry.vue
→
src/views/crm/statistics/portrait/components/PortraitCustomerIndustry.vue
View file @
2d7bab8a
...
@@ -42,7 +42,7 @@ import { DICT_TYPE, getDictLabel } from '@/utils/dict'
...
@@ -42,7 +42,7 @@ import { DICT_TYPE, getDictLabel } from '@/utils/dict'
import
{
erpCalculatePercentage
,
getSumValue
}
from
'@/utils'
import
{
erpCalculatePercentage
,
getSumValue
}
from
'@/utils'
import
{
isEmpty
}
from
'@/utils/is'
import
{
isEmpty
}
from
'@/utils/is'
defineOptions
({
name
:
'CustomerIndustry'
})
defineOptions
({
name
:
'
Portrait
CustomerIndustry'
})
const
props
=
defineProps
<
{
queryParams
:
any
}
>
()
// 搜索参数
const
props
=
defineProps
<
{
queryParams
:
any
}
>
()
// 搜索参数
const
loading
=
ref
(
false
)
// 加载中
const
loading
=
ref
(
false
)
// 加载中
...
...
src/views/crm/statistics/portrait/components/
CrmStatistics
PortraitCustomerLevel.vue
→
src/views/crm/statistics/portrait/components/PortraitCustomerLevel.vue
View file @
2d7bab8a
...
@@ -42,7 +42,7 @@ import { DICT_TYPE, getDictLabel } from '@/utils/dict'
...
@@ -42,7 +42,7 @@ import { DICT_TYPE, getDictLabel } from '@/utils/dict'
import
{
erpCalculatePercentage
,
getSumValue
}
from
'@/utils'
import
{
erpCalculatePercentage
,
getSumValue
}
from
'@/utils'
import
{
isEmpty
}
from
'@/utils/is'
import
{
isEmpty
}
from
'@/utils/is'
defineOptions
({
name
:
'
CustomerSource
'
})
defineOptions
({
name
:
'
PortraitCustomerLevel
'
})
const
props
=
defineProps
<
{
queryParams
:
any
}
>
()
// 搜索参数
const
props
=
defineProps
<
{
queryParams
:
any
}
>
()
// 搜索参数
const
loading
=
ref
(
false
)
// 加载中
const
loading
=
ref
(
false
)
// 加载中
...
...
src/views/crm/statistics/portrait/components/
CrmStatistics
PortraitCustomerSource.vue
→
src/views/crm/statistics/portrait/components/PortraitCustomerSource.vue
View file @
2d7bab8a
...
@@ -42,7 +42,7 @@ import { DICT_TYPE, getDictLabel } from '@/utils/dict'
...
@@ -42,7 +42,7 @@ import { DICT_TYPE, getDictLabel } from '@/utils/dict'
import
{
isEmpty
}
from
'@/utils/is'
import
{
isEmpty
}
from
'@/utils/is'
import
{
erpCalculatePercentage
,
getSumValue
}
from
'@/utils'
import
{
erpCalculatePercentage
,
getSumValue
}
from
'@/utils'
defineOptions
({
name
:
'CustomerSource'
})
defineOptions
({
name
:
'
Portrait
CustomerSource'
})
const
props
=
defineProps
<
{
queryParams
:
any
}
>
()
// 搜索参数
const
props
=
defineProps
<
{
queryParams
:
any
}
>
()
// 搜索参数
const
loading
=
ref
(
false
)
// 加载中
const
loading
=
ref
(
false
)
// 加载中
...
...
src/views/crm/statistics/portrait/index.vue
View file @
2d7bab8a
...
@@ -60,20 +60,20 @@
...
@@ -60,20 +60,20 @@
<el-col>
<el-col>
<el-tabs
v-model=
"activeTab"
>
<el-tabs
v-model=
"activeTab"
>
<!-- 城市分布分析 -->
<!-- 城市分布分析 -->
<el-tab-pane
label=
"城市分布分析"
lazy
name=
"a
ddress
Ref"
>
<el-tab-pane
label=
"城市分布分析"
lazy
name=
"a
rea
Ref"
>
<
CrmStatisticsPortraitCustomerArea
ref=
"address
Ref"
:query-params=
"queryParams"
/>
<
PortraitCustomerArea
ref=
"area
Ref"
:query-params=
"queryParams"
/>
</el-tab-pane>
</el-tab-pane>
<!-- 客户级别分析 -->
<!-- 客户级别分析 -->
<el-tab-pane
label=
"客户级别分析"
lazy
name=
"levelRef"
>
<el-tab-pane
label=
"客户级别分析"
lazy
name=
"levelRef"
>
<
CrmStatistics
PortraitCustomerLevel
ref=
"levelRef"
:query-params=
"queryParams"
/>
<PortraitCustomerLevel
ref=
"levelRef"
:query-params=
"queryParams"
/>
</el-tab-pane>
</el-tab-pane>
<!-- 客户来源分析 -->
<!-- 客户来源分析 -->
<el-tab-pane
label=
"客户来源分析"
lazy
name=
"sourceRef"
>
<el-tab-pane
label=
"客户来源分析"
lazy
name=
"sourceRef"
>
<
CrmStatistics
PortraitCustomerSource
ref=
"sourceRef"
:query-params=
"queryParams"
/>
<PortraitCustomerSource
ref=
"sourceRef"
:query-params=
"queryParams"
/>
</el-tab-pane>
</el-tab-pane>
<!-- 客户行业分析 -->
<!-- 客户行业分析 -->
<el-tab-pane
label=
"客户行业分析"
lazy
name=
"industryRef"
>
<el-tab-pane
label=
"客户行业分析"
lazy
name=
"industryRef"
>
<
CrmStatistics
PortraitCustomerIndustry
ref=
"industryRef"
:query-params=
"queryParams"
/>
<PortraitCustomerIndustry
ref=
"industryRef"
:query-params=
"queryParams"
/>
</el-tab-pane>
</el-tab-pane>
</el-tabs>
</el-tabs>
</el-col>
</el-col>
...
@@ -85,10 +85,10 @@ import * as UserApi from '@/api/system/user'
...
@@ -85,10 +85,10 @@ import * as UserApi from '@/api/system/user'
import
{
useUserStore
}
from
'@/store/modules/user'
import
{
useUserStore
}
from
'@/store/modules/user'
import
{
beginOfDay
,
defaultShortcuts
,
endOfDay
,
formatDate
}
from
'@/utils/formatTime'
import
{
beginOfDay
,
defaultShortcuts
,
endOfDay
,
formatDate
}
from
'@/utils/formatTime'
import
{
defaultProps
,
handleTree
}
from
'@/utils/tree'
import
{
defaultProps
,
handleTree
}
from
'@/utils/tree'
import
CrmStatisticsPortraitCustomerArea
from
'./components/CrmStatistics
PortraitCustomerArea.vue'
import
PortraitCustomerArea
from
'./components/
PortraitCustomerArea.vue'
import
CrmStatisticsPortraitCustomerIndustry
from
'./components/CrmStatistics
PortraitCustomerIndustry.vue'
import
PortraitCustomerIndustry
from
'./components/
PortraitCustomerIndustry.vue'
import
CrmStatisticsPortraitCustomerSource
from
'./components/CrmStatistics
PortraitCustomerSource.vue'
import
PortraitCustomerSource
from
'./components/
PortraitCustomerSource.vue'
import
CrmStatisticsPortraitCustomerLevel
from
'./components/CrmStatistics
PortraitCustomerLevel.vue'
import
PortraitCustomerLevel
from
'./components/
PortraitCustomerLevel.vue'
defineOptions
({
name
:
'CrmStatisticsPortrait'
})
defineOptions
({
name
:
'CrmStatisticsPortrait'
})
...
@@ -113,8 +113,8 @@ const userListByDeptId = computed(() =>
...
@@ -113,8 +113,8 @@ const userListByDeptId = computed(() =>
:
[]
:
[]
)
)
const
activeTab
=
ref
(
'a
ddress
Ref'
)
// 活跃标签
const
activeTab
=
ref
(
'a
rea
Ref'
)
// 活跃标签
const
a
ddress
Ref
=
ref
()
// 客户地区分布
const
a
rea
Ref
=
ref
()
// 客户地区分布
const
levelRef
=
ref
()
// 客户级别
const
levelRef
=
ref
()
// 客户级别
const
sourceRef
=
ref
()
// 客户来源
const
sourceRef
=
ref
()
// 客户来源
const
industryRef
=
ref
()
// 客户行业
const
industryRef
=
ref
()
// 客户行业
...
@@ -122,8 +122,8 @@ const industryRef = ref() // 客户行业
...
@@ -122,8 +122,8 @@ const industryRef = ref() // 客户行业
/** 搜索按钮操作 */
/** 搜索按钮操作 */
const
handleQuery
=
()
=>
{
const
handleQuery
=
()
=>
{
switch
(
activeTab
.
value
)
{
switch
(
activeTab
.
value
)
{
case
'a
ddress
Ref'
:
case
'a
rea
Ref'
:
a
ddress
Ref
.
value
?.
loadData
?.()
a
rea
Ref
.
value
?.
loadData
?.()
break
break
case
'levelRef'
:
case
'levelRef'
:
levelRef
.
value
?.
loadData
?.()
levelRef
.
value
?.
loadData
?.()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment