|
|
@@ -1,33 +1,33 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="80px">
|
|
|
-<!-- <el-form-item label="课程名称" prop="courseName">-->
|
|
|
-<!-- <el-input-->
|
|
|
-<!-- v-model="queryParams.courseName"-->
|
|
|
-<!-- placeholder="请输入课程名称"-->
|
|
|
-<!-- clearable-->
|
|
|
-<!-- size="small"-->
|
|
|
-<!-- @keyup.enter.native="handleQuery"-->
|
|
|
-<!-- />-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
-<!-- <el-form-item label="视频标题" prop="videoName">-->
|
|
|
-<!-- <el-input-->
|
|
|
-<!-- v-model="queryParams.videoName"-->
|
|
|
-<!-- placeholder="请输入视频标题"-->
|
|
|
-<!-- clearable-->
|
|
|
-<!-- size="small"-->
|
|
|
-<!-- @keyup.enter.native="handleQuery"-->
|
|
|
-<!-- />-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
-<!-- <el-form-item label="发送内容" prop="sendTitle">-->
|
|
|
-<!-- <el-input-->
|
|
|
-<!-- v-model="queryParams.sendTitle"-->
|
|
|
-<!-- placeholder="请输入发送内容"-->
|
|
|
-<!-- clearable-->
|
|
|
-<!-- size="small"-->
|
|
|
-<!-- @keyup.enter.native="handleQuery"-->
|
|
|
-<!-- />-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="课程名称" prop="courseName">-->
|
|
|
+ <!-- <el-input-->
|
|
|
+ <!-- v-model="queryParams.courseName"-->
|
|
|
+ <!-- placeholder="请输入课程名称"-->
|
|
|
+ <!-- clearable-->
|
|
|
+ <!-- size="small"-->
|
|
|
+ <!-- @keyup.enter.native="handleQuery"-->
|
|
|
+ <!-- />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="视频标题" prop="videoName">-->
|
|
|
+ <!-- <el-input-->
|
|
|
+ <!-- v-model="queryParams.videoName"-->
|
|
|
+ <!-- placeholder="请输入视频标题"-->
|
|
|
+ <!-- clearable-->
|
|
|
+ <!-- size="small"-->
|
|
|
+ <!-- @keyup.enter.native="handleQuery"-->
|
|
|
+ <!-- />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="发送内容" prop="sendTitle">-->
|
|
|
+ <!-- <el-input-->
|
|
|
+ <!-- v-model="queryParams.sendTitle"-->
|
|
|
+ <!-- placeholder="请输入发送内容"-->
|
|
|
+ <!-- clearable-->
|
|
|
+ <!-- size="small"-->
|
|
|
+ <!-- @keyup.enter.native="handleQuery"-->
|
|
|
+ <!-- />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
<el-form-item label="所属销售" prop="companyUserId">
|
|
|
<el-select
|
|
|
v-model="queryParams.companyUserId"
|
|
|
@@ -151,20 +151,20 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
|
|
|
-<!-- <el-row :gutter="10" class="mb8">-->
|
|
|
-<!-- <el-col :span="1.5">-->
|
|
|
-<!-- <el-button-->
|
|
|
-<!-- type="warning"-->
|
|
|
-<!-- plain-->
|
|
|
-<!-- icon="el-icon-download"-->
|
|
|
-<!-- size="mini"-->
|
|
|
-<!-- :loading="exportLoading"-->
|
|
|
-<!-- @click="handleExport"-->
|
|
|
-<!-- v-hasPermi="['course:imMsgSendLog:export']"-->
|
|
|
-<!-- >导出</el-button>-->
|
|
|
-<!-- </el-col>-->
|
|
|
-<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
|
|
|
-<!-- </el-row>-->
|
|
|
+ <!-- <el-row :gutter="10" class="mb8">-->
|
|
|
+ <!-- <el-col :span="1.5">-->
|
|
|
+ <!-- <el-button-->
|
|
|
+ <!-- type="warning"-->
|
|
|
+ <!-- plain-->
|
|
|
+ <!-- icon="el-icon-download"-->
|
|
|
+ <!-- size="mini"-->
|
|
|
+ <!-- :loading="exportLoading"-->
|
|
|
+ <!-- @click="handleExport"-->
|
|
|
+ <!-- v-hasPermi="['course:imMsgSendLog:export']"-->
|
|
|
+ <!-- >导出</el-button>-->
|
|
|
+ <!-- </el-col>-->
|
|
|
+ <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
|
|
|
+ <!-- </el-row>-->
|
|
|
|
|
|
<!-- 统计卡片 -->
|
|
|
<el-row :gutter="16" class="mb8">
|
|
|
@@ -256,7 +256,7 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="重试次数" align="center" prop="count" width="80" />
|
|
|
-<!-- <el-table-column label="执行结果" align="center" prop="resultMessage" min-width="150" show-overflow-tooltip />-->
|
|
|
+ <!-- <el-table-column label="执行结果" align="center" prop="resultMessage" min-width="150" show-overflow-tooltip />-->
|
|
|
<el-table-column label="异常信息" align="center" prop="exceptionInfo" min-width="150" show-overflow-tooltip />
|
|
|
<el-table-column label="项目 ID" align="center" prop="projectId" width="100" />
|
|
|
<el-table-column label="课程 ID" align="center" prop="courseId" width="100" />
|
|
|
@@ -349,6 +349,7 @@ export default {
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
+ this.initDefaultCreateTime();
|
|
|
this.getList();
|
|
|
this.getStatistics();
|
|
|
this.loadCompanyUserOptions();
|
|
|
@@ -370,6 +371,27 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
methods: {
|
|
|
+ /** 初始化默认创建时间为今天 */
|
|
|
+ initDefaultCreateTime() {
|
|
|
+ const now = new Date();
|
|
|
+ const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate());
|
|
|
+ const todayEnd = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59);
|
|
|
+
|
|
|
+ const formatTime = (date) => {
|
|
|
+ const year = date.getFullYear();
|
|
|
+ const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
|
+ const day = String(date.getDate()).padStart(2, '0');
|
|
|
+ const hours = String(date.getHours()).padStart(2, '0');
|
|
|
+ const minutes = String(date.getMinutes()).padStart(2, '0');
|
|
|
+ const seconds = String(date.getSeconds()).padStart(2, '0');
|
|
|
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
|
|
+ };
|
|
|
+
|
|
|
+ this.createTimeRange = [formatTime(todayStart), formatTime(todayEnd)];
|
|
|
+ this.queryParams.createTimeStartTime = formatTime(todayStart);
|
|
|
+ this.queryParams.createTimeEndTime = formatTime(todayEnd);
|
|
|
+ },
|
|
|
+
|
|
|
/** 查询消息发送记录列表 */
|
|
|
getList() {
|
|
|
this.loading = true;
|
|
|
@@ -475,4 +497,23 @@ export default {
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
-// ... existing code ...
|
|
|
+<style scoped>
|
|
|
+.stat-value {
|
|
|
+ font-size: 24px;
|
|
|
+ font-weight: bold;
|
|
|
+ text-align: center;
|
|
|
+ padding: 10px 0;
|
|
|
+}
|
|
|
+
|
|
|
+.stat-value.success {
|
|
|
+ color: #67C23A;
|
|
|
+}
|
|
|
+
|
|
|
+.stat-value.warning {
|
|
|
+ color: #E6A23C;
|
|
|
+}
|
|
|
+
|
|
|
+.stat-value.danger {
|
|
|
+ color: #F56C6C;
|
|
|
+}
|
|
|
+</style>
|