|
@@ -1,6 +1,41 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
+ <el-form-item label="用户" prop="nickName">
|
|
|
+ <el-select v-model="queryParams.userId" remote placeholder="用户名/手机号" filterable clearable style="width: 100%;"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ :remote-method="remoteGetFsUserList"
|
|
|
+ @clear="handleClear"
|
|
|
+ :loading="queryUserLoading"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="dict in fsUserList"
|
|
|
+ :key="`${dict.nickname} - ${dict.phone}`"
|
|
|
+ :label="`${dict.nickname} - ${dict.phone}`"
|
|
|
+ :value="dict.userId">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="销售" prop="nickName">
|
|
|
+ <el-select v-model="queryParams.companyUserId" remote placeholder="请选择" filterable clearable style="width: 100%;" @keyup.enter.native="handleQuery">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in companyUserList"
|
|
|
+ :key="`${dict.nickName} - ${dict.userName}`"
|
|
|
+ :label="`${dict.nickName} - ${dict.userName}`"
|
|
|
+ :value="dict.userId">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="项目" prop="courseId">
|
|
|
+ <el-select filterable v-model="queryParams.project" placeholder="请选择项目" clearable size="small">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in projectLists"
|
|
|
+ :key="dict.dictValue"
|
|
|
+ :label="dict.dictLabel"
|
|
|
+ :value="parseInt(dict.dictValue)"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="课程" prop="courseId">
|
|
|
<el-select filterable v-model="queryParams.courseId" placeholder="请选择课程" clearable size="small" @change="courseChange(queryParams.courseId)">
|
|
|
<el-option
|
|
@@ -21,15 +56,6 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="企微昵称" prop="nickName">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.nickName"
|
|
|
- placeholder="请输入企微昵称"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
<el-form-item label="创建时间" prop="createTime">
|
|
|
<el-date-picker v-model="createTime" size="small" style="width: 220px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="change"></el-date-picker>
|
|
|
</el-form-item>
|
|
@@ -41,8 +67,10 @@
|
|
|
|
|
|
<el-table border v-loading="loading" :data="courseWatchLogList" @selection-change="handleSelectionChange" show-summary>
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
- <el-table-column label="用户" align="center" prop="qwUserName" />
|
|
|
+ <el-table-column label="用户" align="center" prop="userName" />
|
|
|
+ <el-table-column label="对应销售" align="center" prop="companyUserName" />
|
|
|
<el-table-column label="发课时间" align="center" prop="createTime"/>
|
|
|
+ <el-table-column label="项目" align="center" prop="projectName" />
|
|
|
<el-table-column label="课程名称" align="center" prop="courseName" />
|
|
|
<el-table-column label="小节名称" align="center" prop="videoName" />
|
|
|
<el-table-column label="待看课" align="center" prop="type3" />
|
|
@@ -67,6 +95,8 @@
|
|
|
<script>
|
|
|
import { listCourseWatchLog, getCourseWatchLog, delCourseWatchLog, addCourseWatchLog, updateCourseWatchLog, exportCourseWatchLog,statisticsList } from "@/api/course/courseWatchLog";
|
|
|
import { courseList,videoList } from '@/api/course/courseRedPacketLog'
|
|
|
+import {getUserList} from "@/api/company/companyUser";
|
|
|
+import {getFsUserList} from "@/api/users/user";
|
|
|
export default {
|
|
|
name: "CourseWatchLog",
|
|
|
data() {
|
|
@@ -91,11 +121,15 @@ export default {
|
|
|
// 总条数
|
|
|
total: 0,
|
|
|
// 短链课程看课记录表格数据
|
|
|
+ companyUserList: [],
|
|
|
courseWatchLogList: [],
|
|
|
// 弹出层标题
|
|
|
title: "",
|
|
|
// 是否显示弹出层
|
|
|
open: false,
|
|
|
+ projectLists: [],
|
|
|
+ fsUserList: [],
|
|
|
+ queryUserLoading: false,
|
|
|
// 查询参数
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
@@ -131,8 +165,45 @@ export default {
|
|
|
this.getDicts("sys_course_watch_log_type").then(response => {
|
|
|
this.logTypeOptions = response.data;
|
|
|
});
|
|
|
+ this.getDicts("sys_course_project").then(response => {
|
|
|
+ this.projectLists = response.data;
|
|
|
+ })
|
|
|
+
|
|
|
+ getUserList().then(res=>{
|
|
|
+ if(res.code === 200) {
|
|
|
+ this.companyUserList = res.data
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
methods: {
|
|
|
+ handleClear(){
|
|
|
+ this.queryUserLoading = false;
|
|
|
+ this.fsUserList = [];
|
|
|
+ },
|
|
|
+ remoteGetFsUserList(query){
|
|
|
+ if(query){
|
|
|
+ this.queryUserLoading = true;
|
|
|
+ const isNumeric = /^\d+$/.test(query);
|
|
|
+ let payload = {
|
|
|
+ username: query,
|
|
|
+ nickname: query
|
|
|
+ }
|
|
|
+ if(isNumeric) {
|
|
|
+ payload = {
|
|
|
+ userId: query,
|
|
|
+ username: query,
|
|
|
+ phone: query
|
|
|
+ }
|
|
|
+ }
|
|
|
+ getFsUserList(payload).then(res=>{
|
|
|
+ if(res.code === 200) {
|
|
|
+ this.fsUserList = res.data
|
|
|
+ }
|
|
|
+ }).finally(()=>{
|
|
|
+ this.queryUserLoading = false;
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
courseChange(row){
|
|
|
this.queryParams.videoId=null;
|
|
|
if(row === ''){
|