Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
marketing
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
marketing-web
marketing
Commits
2e3d1c77
Commit
2e3d1c77
authored
Apr 26, 2022
by
crushh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
udpate: dist
parent
566ddd1d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
22 deletions
+49
-22
aiApi.js
src/service/api/aiApi.js
+6
-0
ai-data-active-data.vue
src/views/ai/ai-data-active-data.vue
+22
-12
ai-data-aiCall.vue
src/views/ai/ai-data-aiCall.vue
+21
-10
No files found.
src/service/api/aiApi.js
View file @
2e3d1c77
...
...
@@ -114,3 +114,9 @@ export const aiStoreGroupTransferStatistics = params => requests('/api-marketing
// 活动转换分组维度导出
export
const
exportAiStoreGroupTransfer
=
'/api-marketing/statistics/export-ai-store-group-transfer'
;
// AI外呼门店分组数据
export
const
aiOutboundStoreGroupSplit
=
params
=>
requests
(
'/api-marketing/statistics/ai-outbound-store-group-split'
,
params
,
true
,
false
,
'get'
);
// 活动转换门店分组数据
export
const
aiTransformStoreGroupSplit
=
params
=>
requests
(
'/api-marketing/statistics/ai-transform-store-group-split'
,
params
,
true
,
false
,
'get'
);
src/views/ai/ai-data-active-data.vue
View file @
2e3d1c77
...
...
@@ -59,15 +59,15 @@
</el-table-column>
</el-table>
<dm-pagination
v-show=
"tableData.length"
background
class=
"dm-pagination"
@
size-change=
"handleSizeChange"
@
current-change=
"getListData"
:current-page
.
sync=
"form.pageNum"
:page-sizes=
"[20, 40, 60, 80]"
:page-size
.
sync=
"form.pageSize"
layout=
"total, sizes, prev, pager, next"
:total=
"total"
></dm-pagination>
<vue-gic-export-excel
:dialogVisible
.
sync=
"dialogVisible"
:dataArr=
"tableData"
:type=
"2"
:excelUrl=
"excelUrl"
:params=
"
activityData
"
projectName=
"marketing"
></vue-gic-export-excel>
<vue-gic-export-excel
:dialogVisible
.
sync=
"dialogVisible"
:dataArr=
"tableData"
:type=
"2"
:excelUrl=
"excelUrl"
:params=
"
exportParams
"
projectName=
"marketing"
></vue-gic-export-excel>
</div>
</template>
<
script
>
import
{
getActivityDetail
,
aiStoreTransfer
,
aiStoreTransferNoBelong
,
aiStoreTransferStatistics
,
exportAiStoreTransfer
,
aiStoreGroupTransfer
,
aiStoreGroupTransferStatistics
,
exportAiStoreGroupTransfer
}
from
'@/service/api/aiApi.js'
;
import
{
aiTransformStoreGroupSplit
,
getActivityDetail
,
aiStoreTransfer
,
aiStoreTransferNoBelong
,
aiStoreTransferStatistics
,
exportAiStoreTransfer
,
aiStoreGroupTransfer
,
aiStoreGroupTransferStatistics
,
exportAiStoreGroupTransfer
}
from
'@/service/api/aiApi.js'
;
import
TargetGroup
from
'@/views/ai/ai-data-report/target-group.vue'
;
import
{
numFormat
}
from
'@/utils/index.js'
;
import
{
storeGroupList
}
from
'@/service/api/commonApi.js'
;
const
tableHead
=
[
{
label
:
'上级分组'
,
...
...
@@ -99,7 +99,10 @@ const tableHead = [
label
:
'触达率'
,
prop
:
'reachRate'
,
minWidth
:
'100'
,
sortable
:
'custom'
sortable
:
'custom'
,
formatter
:
function
(
row
)
{
return
`<span>
${
!
isNaN
(
row
.
reachRate
)
?
row
.
reachRate
+
'%'
:
'- -'
}
</span>`
;
}
},
{
label
:
'转换人数'
,
...
...
@@ -114,7 +117,10 @@ const tableHead = [
label
:
'转化率'
,
prop
:
'conversionRate'
,
minWidth
:
'160'
,
sortable
:
'custom'
sortable
:
'custom'
,
formatter
:
function
(
row
)
{
return
`<span>
${
!
isNaN
(
row
.
conversionRate
)
?
row
.
conversionRate
+
'%'
:
'- -'
}
</span>`
;
}
},
{
label
:
'销售额(元)'
,
...
...
@@ -270,15 +276,14 @@ export default {
],
activityData
:
{},
targetData
:
{},
tableHeader
:
[],
exportParams
:
{}
tableHeader
:
[]
};
},
components
:
{
TargetGroup
},
mounted
()
{
this
.
storeGroupLis
t
();
this
.
aiTransformStoreGroupSpli
t
();
this
.
getActivityDetail
();
this
.
aiStoreTransfer
();
this
.
aiStoreTransferStatistics
();
...
...
@@ -306,13 +311,17 @@ export default {
item
.
value
=
numFormat
(
value
)
+
'元'
;
break
;
case
'rate'
:
item
.
value
=
value
;
item
.
value
=
!
isNaN
(
value
)
?
value
+
'%'
:
'- -'
;
break
;
}
return
true
;
});
})
.
filter
(
el
=>
el
.
length
>
0
);
},
exportParams
()
{
const
{
search
,
storeGroupId
,
storeGroupLevel
}
=
this
.
form
;
return
{
...
this
.
activityData
,
search
,
storeGroupId
,
storeGroupLevel
};
}
},
methods
:
{
...
...
@@ -413,8 +422,8 @@ export default {
this
.
cardLoading
=
false
;
}
},
async
storeGroupLis
t
()
{
let
res
=
await
storeGroupLis
t
();
async
aiTransformStoreGroupSpli
t
()
{
let
res
=
await
aiTransformStoreGroupSpli
t
();
this
.
options
.
treeOptions
.
data
=
res
.
result
||
[];
},
async
getActivityDetail
()
{
...
...
@@ -497,7 +506,8 @@ export default {
}
else
{
this
.
form
.
orderBy
=
undefined
;
}
this
.
aiStoreTransfer
();
this
.
form
.
pageNum
=
1
;
this
.
getListData
();
}
}
};
...
...
src/views/ai/ai-data-aiCall.vue
View file @
2e3d1c77
...
...
@@ -59,15 +59,15 @@
</el-table-column>
</el-table>
<dm-pagination
v-show=
"tableData.length"
background
class=
"dm-pagination"
@
size-change=
"handleSizeChange"
@
current-change=
"getListData"
:current-page
.
sync=
"form.pageNum"
:page-sizes=
"[20, 40, 60, 80]"
:page-size
.
sync=
"form.pageSize"
layout=
"total, sizes, prev, pager, next"
:total=
"total"
></dm-pagination>
<vue-gic-export-excel
:dialogVisible
.
sync=
"dialogVisible"
:dataArr=
"tableData"
:type=
"2"
:excelUrl=
"excelUrl"
:params=
"
activityData
"
projectName=
"marketing"
></vue-gic-export-excel>
<vue-gic-export-excel
:dialogVisible
.
sync=
"dialogVisible"
:dataArr=
"tableData"
:type=
"2"
:excelUrl=
"excelUrl"
:params=
"
exportParams
"
projectName=
"marketing"
></vue-gic-export-excel>
</div>
</template>
<
script
>
import
{
getActivityDetail
,
aiStoreOutboundRank
,
aiStoreOutboundRankNoBelong
,
aiStoreOutboundStatistics
,
exportAiStoreOutbound
,
aiStoreGroupOutboundRank
,
aiStoreGroupOutboundStatistics
,
exportAiStoreGroupOutbound
}
from
'@/service/api/aiApi.js'
;
import
{
aiOutboundStoreGroupSplit
,
getActivityDetail
,
aiStoreOutboundRank
,
aiStoreOutboundRankNoBelong
,
aiStoreOutboundStatistics
,
exportAiStoreOutbound
,
aiStoreGroupOutboundRank
,
aiStoreGroupOutboundStatistics
,
exportAiStoreGroupOutbound
}
from
'@/service/api/aiApi.js'
;
import
TargetGroup
from
'@/views/ai/ai-data-report/target-group.vue'
;
import
{
numFormat
}
from
'@/utils/index.js'
;
import
{
storeGroupList
}
from
'@/service/api/commonApi.js'
;
let
tableHead
=
[
{
label
:
'上级分组'
,
...
...
@@ -158,6 +158,9 @@ export default {
return
{
numFormat
,
form
:
{
search
:
''
,
storeGroupId
:
''
,
storeGroupLevel
:
''
,
activityId
:
this
.
$route
.
params
.
id
,
pageNum
:
1
,
pageSize
:
20
...
...
@@ -282,8 +285,7 @@ export default {
],
activityData
:
{},
targetData
:
{},
tableHeader
:
[],
exportParams
:
{}
tableHeader
:
[]
};
},
components
:
{
...
...
@@ -291,7 +293,7 @@ export default {
},
mounted
()
{
this
.
aiStoreOutboundStatistics
();
this
.
storeGroupLis
t
();
this
.
aiOutboundStoreGroupSpli
t
();
this
.
getActivityDetail
();
},
computed
:
{
...
...
@@ -317,7 +319,7 @@ export default {
item
.
value
=
numFormat
(
value
);
break
;
case
'rate'
:
item
.
value
=
value
==
null
?
'--'
:
value
;
item
.
value
=
!
isNaN
(
value
)
?
value
+
'%'
:
'- -'
;
break
;
}
// 活动不发送挂机短信时,数据指标不展示短信发送总数和发送成功数的字段
...
...
@@ -326,6 +328,11 @@ export default {
});
})
.
filter
(
el
=>
el
.
length
>
0
);
},
exportParams
()
{
const
{
search
,
storeGroupId
,
storeGroupLevel
}
=
this
.
form
;
console
.
log
(
search
,
storeGroupId
,
storeGroupLevel
);
return
{
...
this
.
activityData
,
search
,
storeGroupId
,
storeGroupLevel
};
}
},
methods
:
{
...
...
@@ -434,8 +441,8 @@ export default {
this
.
cardLoading
=
false
;
}
},
async
storeGroupLis
t
()
{
let
res
=
await
storeGroupLis
t
();
async
aiOutboundStoreGroupSpli
t
()
{
let
res
=
await
aiOutboundStoreGroupSpli
t
();
this
.
options
.
treeOptions
.
data
=
res
.
result
||
[];
},
async
getActivityDetail
()
{
...
...
@@ -496,6 +503,9 @@ export default {
}
},
onChange
(
data
)
{
if
(
!
data
)
{
this
.
aiOutboundStoreGroupSplit
();
}
this
.
form
.
storeGroupId
=
data
?
data
.
storeGroupId
:
undefined
;
this
.
getStaticListData
();
},
...
...
@@ -517,7 +527,8 @@ export default {
}
else
{
this
.
form
.
orderBy
=
undefined
;
}
this
.
aiStoreOutboundRank
();
this
.
form
.
pageNum
=
1
;
this
.
getListData
();
}
}
};
...
...
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