Commit 850f1cc5 by caoyanzhi

update: 提交日志

parent db983c7c
......@@ -34,6 +34,11 @@ export default {
meta: {
type: 'info'
}
},
{
path: 'logs/:id',
name: '提交日志',
component: () => import('../../views/ai/logs.vue')
}
]
};
......@@ -36,3 +36,6 @@ export const listAllHolidays = params => requests('/api-marketing/list-all-holid
//获取活动计划预估人数
export const getMemberCount = params => requests(PREFIX + '/get-member-count', params, true, false, 'get');
// 获取提交并执行日志、提交未执行日志
export const getLogs = params => requests('/api-marketing/page-activity-event-exec-log', params, true, false, 'get');
<template>
<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-select @change="handleCurrentChange(1)" v-model="search.status" clearable class="search-select">
<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-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>
<el-table-column label="接通数" prop="backSuccessCount" min-width="102px" :formatter="(row, col, val) => val || 0"></el-table-column>
<el-table-column label="接通率" prop="connectionRate" min-width="102px" :formatter="(row, col, val) => val || '0.00%'"></el-table-column>
<el-table-column label="接通意向率" prop="connectionPurposeRate" min-width="130px" :formatter="(row, col, val) => val || '0.00%'"></el-table-column>
<el-table-column label="执行状态" prop="execStatus" min-width="116px">
<template slot-scope="{ row }">
<span>
<i
:class="{
'dm-status--info': row.status == 1,
'dm-status--primary--flash': row.status == 2,
'dm-status--error': row.status == 3,
'dm-status--success': row.status == 4,
'dm-status--warning': row.status == 5
}"
></i>
{{ statusMap[row.status] }}
</span>
</template>
</el-table-column>
<el-table-column label="批次时间" prop="createTime" min-width="190px" :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>
</div>
</template>
<script>
import { getLogs } from '@/service/api/aiApi.js';
import { formatDateTimeByType } from '@/utils/index.js';
export default {
name: 'LogsRuned',
data() {
return {
formatDateTimeByType,
statusMap: {
1: '未开始执行',
2: '执行中',
3: '已终止',
4: '已完成',
5: '欠费暂停'
},
search: {
activityId: '', // 活动ID
dateRange: [],
status: '', // 状态1未开始执行2执行中3已终止4已完成5欠费暂停
type: 1, // 1:提交执行 2:未执行
pageNum: 1,
pageSize: 20
},
loading: false,
total: 0,
tableData: []
};
},
created() {
this.search.activityId = this.$route.params.id;
this.getData();
},
methods: {
getData() {
const { activityId, dateRange, status, type, pageNum, pageSize } = this.search;
const params = { activityId, status, 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);
}
}
};
</script>
<style lang="scss" scoped>
.logs {
padding: 0 20px 20px;
.search-bar {
display: flex;
justify-content: flex-start;
align-items: center;
margin-bottom: 20px;
.search-date {
margin-right: 10px;
width: 256px;
}
.search-select {
width: 160px;
}
}
}
</style>
<template>
<div>
提交未执行
</div>
</template>
<script>
export default {
name: 'LogsUnrun'
};
</script>
<template>
<el-tabs v-model="activeName">
<el-tab-pane label="提交并执行" name="first">
<logs-runed></logs-runed>
</el-tab-pane>
<el-tab-pane label="提交未执行" name="second">
<logs-unrun></logs-unrun>
</el-tab-pane>
</el-tabs>
</template>
<script>
import LogsRuned from './logs-runed.vue';
import LogsUnrn from './logs-unrun.vue';
export default {
name: 'Logs',
components: { LogsRuned, LogsUnrn },
data() {
return {
activeName: 'first'
};
}
};
</script>
......@@ -164,9 +164,7 @@ export default {
visible: row => {
return row.log_flag === 1;
},
handler: row => {
console.log('提交日志');
}
handler: row => this.$router.push('/ai/logs/' + row.activityId)
},
{
text: '数据统计',
......
......@@ -284,7 +284,7 @@
</template>
<el-table-column label="费用归属部门" prop="accountDepartName" min-width="120" :formatter="(row, col, val) => val || '--'"></el-table-column>
<el-table-column label="时间(秒)" prop="aiDurationSec" min-width="90" :formatter="(row, col, val) => val || '--'"></el-table-column>
<el-table-column label="消费金额(元))" prop="aiFeeYuan" min-width="90" :formatter="(row, col, val) => val || '--'"></el-table-column>
<el-table-column label="消费金额(元)" prop="aiFeeYuan" min-width="90" :formatter="(row, col, val) => val || '--'"></el-table-column>
</el-table>
<!-- 视频资费 -->
<!-- <el-table tooltipEffect="light" :data="tableList" style="width:100%" v-if="$route.params.type === 'video'">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment