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
66892c14
Commit
66892c14
authored
Mar 28, 2022
by
caoyanzhi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: ai营销-提交日志
parent
8f664406
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
121 additions
and
7 deletions
+121
-7
logs-runed.vue
src/views/ai/logs-runed.vue
+3
-1
logs-unrun.vue
src/views/ai/logs-unrun.vue
+107
-3
logs.vue
src/views/ai/logs.vue
+2
-2
task.vue
src/views/ai/task.vue
+9
-1
No files found.
src/views/ai/logs-runed.vue
View file @
66892c14
...
...
@@ -6,7 +6,7 @@
<el-option
v-for=
"(item, key) in statusMap"
:key=
"key"
:value=
"key"
:label=
"item"
></el-option>
</el-select>
</div>
<el-table
:data=
"tableData"
v-loading=
"loading"
>
<el-table
:data=
"tableData"
v-loading=
"loading"
tooltipEffect=
"light"
>
<el-table-column
label=
"活动名称"
prop=
"activityName"
min-width=
"273px"
show-overflow-tooltip
></el-table-column>
<el-table-column
label=
"营销人数"
prop=
"totalCount"
min-width=
"116px"
:formatter=
"(row, col, val) => val || 0"
></el-table-column>
<el-table-column
label=
"已外呼数"
prop=
"successCount"
min-width=
"116px"
:formatter=
"(row, col, val) => val || 0"
></el-table-column>
...
...
@@ -65,7 +65,9 @@ export default {
};
},
created
()
{
const
{
startTime
,
endTime
}
=
this
.
$route
.
query
;
this
.
search
.
activityId
=
this
.
$route
.
params
.
id
;
this
.
search
.
dateRange
=
[
this
.
formatDateTimeByType
(
startTime
,
'yyyy-MM-dd'
),
this
.
formatDateTimeByType
(
endTime
,
'yyyy-MM-dd'
)];
this
.
getData
();
},
methods
:
{
...
...
src/views/ai/logs-unrun.vue
View file @
66892c14
<
template
>
<div>
提交未执行
<div
class=
"logs"
>
<div
class=
"search-bar"
>
<el-date-picker
@
change=
"handleCurrentChange(1)"
class=
"search-date"
v-model=
"search.dateRange"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
<el-button
type=
"primary"
:disabled=
"total == 0"
@
click=
"handleExportData"
><i
class=
"iconfont icon-xiazai"
style=
"margin-right: 10px"
></i>
批量导出
</el-button>
</div>
<el-table
:data=
"tableData"
v-loading=
"loading"
tooltipEffect=
"light"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
></el-table-column>
<el-table-column
label=
"活动名称"
prop=
"activityName"
min-width=
"330px"
show-overflow-tooltip
></el-table-column>
<el-table-column
label=
"未执行人"
prop=
"totalCount"
min-width=
"240px"
:formatter=
"(row, col, val) => val || 0"
></el-table-column>
<el-table-column
label=
"未执行原因"
prop=
"execRemark"
min-width=
"260px"
show-overflow-tooltip
:formatter=
"(row, col, val) => val || '--'"
></el-table-column>
<el-table-column
label=
"批次时间"
prop=
"createTime"
min-width=
"240px"
:formatter=
"(row, col, val) => (val ? formatDateTimeByType(val) : '--')"
></el-table-column>
</el-table>
<dm-pagination
v-show=
"total > 0"
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"search.pageNum"
:page-size=
"search.pageSize"
:total=
"total"
:page-sizes=
"[20, 40, 60, 80]"
layout=
"total, sizes, prev, pager, next"
>
</dm-pagination>
<vue-gic-export-excel
:dialogVisible
.
sync=
"exportData.dialogVisible"
:dataArr=
"tableData"
:params=
"exportData.params"
type=
"2"
excelUrl=
"/api-marketing/export-ai-member-log"
projectName=
"marketing"
></vue-gic-export-excel>
</div>
</
template
>
<
script
>
import
{
getLogs
}
from
'@/service/api/aiApi.js'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
export
default
{
name
:
'LogsUnrun'
name
:
'LogsUnrun'
,
data
()
{
return
{
formatDateTimeByType
,
search
:
{
activityId
:
''
,
// 活动ID
dateRange
:
[],
type
:
2
,
// 1:提交执行 2:未执行
pageNum
:
1
,
pageSize
:
20
},
loading
:
false
,
total
:
0
,
tableData
:
[],
exportData
:
{
dialogVisible
:
false
,
selectedId
:
[],
params
:
{
activityName
:
''
,
// 营销活动名称
startTime
:
''
,
// 开始时间
endTime
:
''
,
// 结束时间
dataType
:
''
// 1:脱敏 2:完整
}
}
};
},
created
()
{
const
{
activityName
,
startTime
,
endTime
}
=
this
.
$route
.
query
;
this
.
search
.
activityId
=
this
.
$route
.
params
.
id
;
this
.
search
.
dateRange
=
[
this
.
formatDateTimeByType
(
startTime
,
'yyyy-MM-dd'
),
this
.
formatDateTimeByType
(
endTime
,
'yyyy-MM-dd'
)];
this
.
exportData
.
params
.
activityName
=
activityName
;
this
.
getData
();
},
methods
:
{
getData
()
{
const
{
activityId
,
dateRange
,
type
,
pageNum
,
pageSize
}
=
this
.
search
;
const
params
=
{
activityId
,
type
,
pageNum
,
pageSize
};
params
.
startTime
=
''
;
params
.
endTime
=
''
;
if
(
Array
.
isArray
(
dateRange
))
{
params
.
startTime
=
dateRange
[
0
]
||
''
;
params
.
endTime
=
dateRange
[
1
]
||
''
;
}
this
.
loading
=
true
;
getLogs
(
params
)
.
then
(
res
=>
{
const
{
result
,
totalCount
}
=
res
.
result
;
this
.
tableData
=
result
;
this
.
total
=
totalCount
;
})
.
finally
(()
=>
(
this
.
loading
=
false
));
},
handleCurrentChange
(
currentPage
)
{
this
.
search
.
pageNum
=
currentPage
;
this
.
getData
();
},
handleSizeChange
(
pageSize
)
{
this
.
search
.
pageSize
=
pageSize
;
this
.
handleCurrentChange
(
1
);
},
handleExportData
()
{
if
(
this
.
exportData
.
selectedId
.
length
==
0
)
{
return
this
.
$message
.
warning
(
'请选择要导出的数据'
);
}
this
.
exportData
.
dialogVisible
=
true
;
if
(
Array
.
isArray
(
this
.
search
.
dateRange
))
{
this
.
exportData
.
params
.
startTime
=
this
.
search
.
dateRange
[
0
];
this
.
exportData
.
params
.
endTime
=
this
.
search
.
dateRange
[
1
];
}
},
handleSelectionChange
(
val
)
{
this
.
exportData
.
selectedId
=
val
.
map
(
v
=>
v
.
planId
);
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.logs
{
padding
:
0
20px
20px
;
}
.search-bar
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
margin-bottom
:
20px
;
.search-date
{
width
:
256px
;
}
}
</
style
>
src/views/ai/logs.vue
View file @
66892c14
...
...
@@ -11,11 +11,11 @@
<
script
>
import
LogsRuned
from
'./logs-runed.vue'
;
import
LogsUnrn
from
'./logs-unrun.vue'
;
import
LogsUnr
u
n
from
'./logs-unrun.vue'
;
export
default
{
name
:
'Logs'
,
components
:
{
LogsRuned
,
LogsUnrn
},
components
:
{
LogsRuned
,
LogsUnr
u
n
},
data
()
{
return
{
activeName
:
'first'
...
...
src/views/ai/task.vue
View file @
66892c14
...
...
@@ -164,7 +164,15 @@ export default {
visible
:
row
=>
{
return
row
.
log_flag
===
1
;
},
handler
:
row
=>
this
.
$router
.
push
(
'/ai/logs/'
+
row
.
activityId
)
handler
:
row
=>
this
.
$router
.
push
({
path
:
'/ai/logs/'
+
row
.
activityId
,
query
:
{
activityName
:
row
.
activityName
,
startTime
:
row
.
beginDate
,
endTime
:
row
.
endDate
}
})
},
{
text
:
'数据统计'
,
...
...
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