浏览代码

Merge branch 'master' into 会员关联项目

Long 11 小时之前
父节点
当前提交
9d0f934da3

+ 3 - 3
.env.prod-fby

@@ -1,11 +1,11 @@
 # 页面标题
 VUE_APP_TITLE =互联网医院管理系统
 # 公司名称
-COMPANY_NAME =重庆云联融智科技有限公司
+VUE_APP_COMPANY_NAME =重庆云联融智科技有限公司
 # ICP备案号
-ICP_RECORD =蜀ICP备2023036719号
+VUE_APP_ICP_RECORD =蜀ICP备2023036719号
 # ICP网站访问地址
-ICP_URL =https://beian.miit.gov.cn
+VUE_APP_ICP_URL =https://beian.miit.gov.cn
 # 网站LOG
 VUE_APP_LOG_URL =@/assets/logo/fby_logo.png
 

+ 153 - 1
src/views/course/courseWatchLog/index.vue

@@ -141,6 +141,15 @@
       <el-table-column label="更新时间" align="center" prop="updateTime" />
       <el-table-column label="完课时间" align="center" prop="finishTime" />
       <el-table-column label="营期时间" align="center" prop="campPeriodTime" />
+      <el-table-column
+        fixed="right"
+        label="操作"
+        width="100">
+        <template slot-scope="scope">
+          <el-button @click="openAnswerLogFun(scope.row)" type="text" size="small">答题记录</el-button>
+          <el-button @click="openRedLogFun(scope.row)" type="text" size="small">红包记录</el-button>
+        </template>
+      </el-table-column>
     </el-table>
 
     <pagination
@@ -151,15 +160,110 @@
       @pagination="getList"
     />
 
+    <el-drawer title="做题记录" :visible.sync="openAnswerLog" size="70%" append-to-body>
+      <el-table border v-loading="" :data="answerLogsList">
+        <el-table-column label="小程序用户名" align="center" prop="userName">
+          <template slot-scope="scope">
+            <div style="display: flex;white-space: nowrap">
+              <div style="margin: auto">
+                {{ scope.row.userName }}
+              </div>
+              <el-popover
+                placement="right"
+                title=""
+                trigger="hover">
+                <img slot="reference" :src="scope.row.fsAvatar" style="width: 30px;height: 30px">
+                <img :src="scope.row.fsAvatar" style="max-width: 200px;max-height: 200px">
+              </el-popover>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="课程名称" align="center" prop="courseName"/>
+        <el-table-column label="小节名称" align="center" prop="videoName"/>
+        <el-table-column label="是否全部正确" align="center" prop="isRight">
+          <template slot-scope="scope">
+            <dict-tag :options="sysCompanyOr" :value="scope.row.isRight"></dict-tag>
+          </template>
+        </el-table-column>
+        <el-table-column label="销售名称" align="center" prop="companyUserName"/>
+        <el-table-column label="企微员工名称" align="center" prop="qwUserName"/>
+        <el-table-column label="公司名称" align="center" prop="companyName"/>
+        <el-table-column label="创建时间" align="center" prop="createTime"/>
+      </el-table>
+
+      <pagination
+        v-show="answerLogTotal>0"
+        :total="answerLogTotal"
+        :page.sync="answerLogQueryParams.pageNum"
+        :limit.sync="answerLogQueryParams.pageSize"
+        @pagination="answerLogList"
+      />
+    </el-drawer>
+
+    <el-drawer title="红包记录" :visible.sync="openRedLog" size="70%" append-to-body>
+      <el-table border v-loading="" :data="redLogsList">
+        <el-table-column type="selection" width="55" align="center" />
+        <el-table-column label="记录编号" align="center" prop="logId" />
+        <el-table-column label="批次单号" align="center" prop="outBatchNo" />
+        <el-table-column label="课程名称" align="center" prop="courseId" >
+          <template slot-scope="scope">
+            <span prop="status" v-for="(item, index) in courseLists"    v-if="scope.row.courseId==item.dictValue">{{item.dictLabel}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="小节名称" align="center" prop="title" />
+        <el-table-column label="会员id" align="center" prop="userId" />
+        <el-table-column label="会员昵称" align="center" prop="fsNickName">
+          <template slot-scope="scope">
+            <div style="display: flex;white-space: nowrap">
+              <div style="margin: auto">
+                {{scope.row.fsNickName}}
+              </div>
+              <el-popover
+                placement="right"
+                title=""
+                trigger="hover">
+                <img slot="reference" :src="scope.row.fsAvatar" style="width: 30px;height: 30px">
+                <img :src="scope.row.fsAvatar" style="max-width: 200px;max-height: 200px">
+              </el-popover>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="会员电话" align="center" prop="phone" />
+        <el-table-column label="所属销售" align="center" prop="companyUserName" />
+        <el-table-column label="所属公司" align="center" prop="companyName" />
+        <el-table-column label="转帐金额" align="center" prop="amount" />
+        <el-table-column label="状态" align="center" prop="status" >
+          <template slot-scope="scope">
+            <el-tag>{{ scope.row.status === 0 ? "发送中" : "已完成" }}</el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column label="企微员工名称" align="center" prop="qwUserName" />
+        <el-table-column label="创建时间" align="center" prop="createTime" />
+      </el-table>
+
+      <pagination
+        v-show="redLogTotal>0"
+        :total="redLogTotal"
+        :page.sync="redLogQueryParams.pageNum"
+        :limit.sync="redLogQueryParams.pageSize"
+        @pagination="redLogList"
+      />
+    </el-drawer>
+
   </div>
 </template>
 
 <script>
 import { listCourseWatchLog, getCourseWatchLog, delCourseWatchLog, addCourseWatchLog, updateCourseWatchLog, exportCourseWatchLog } from "@/api/course/courseWatchLog";
 import {allList}from "@/api/company/company";
-import { courseList,videoList } from '@/api/course/courseRedPacketLog'
+import {
+  courseList,
+  listCourseRedPacketLog,
+  videoList
+} from '@/api/course/courseRedPacketLog'
 import {getUserList} from "@/api/company/companyUser";
 import {getFsUserList} from "@/api/users/user";
+import { listLogs } from '@/api/course/courseAnswerlogs'
 export default {
   name: "CourseWatchLog",
   data() {
@@ -190,6 +294,27 @@ export default {
       // 短链课程看课记录表格数据
       courseWatchLogList: [],
       fsUserList: [],
+
+      // 红包记录和答题记录相关参数
+      openAnswerLog: false,
+      loadingAnswerLog: true,
+      answerLogsList: [],
+      answerLogTotal: 0,
+      answerLogQueryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+
+
+      openRedLog: false,
+      loadingRedLog: true,
+      redLogsList: [],
+      redLogTotal: 0,
+      redLogQueryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -469,6 +594,33 @@ export default {
         this.queryParams.scheduleEndTime = null;
       }
     },
+    openAnswerLogFun(row) {
+      this.openAnswerLog = true;
+      this.answerLogQueryParams.watchLogId = row.logId;
+      this.answerLogList();
+    },
+    answerLogList() {
+      this.loadingAnswerLog = true;
+      listLogs(this.answerLogQueryParams).then(e => {
+        this.answerLogsList = e.rows;
+        this.answerLogTotal = e.total;
+        this.loadingAnswerLog = false;
+      })
+    },
+    openRedLogFun(row) {
+      this.openRedLog = true;
+      this.redLogQueryParams.watchLogId = row.logId;
+      this.redLogList();
+    },
+    redLogList() {
+      this.loadingRedLog = true;
+      console.info(this.redLogQueryParams)
+      listCourseRedPacketLog(this.redLogQueryParams).then(e => {
+        this.redLogsList = e.rows;
+        this.redLogTotal = e.total;
+        this.loadingRedLog = false;
+      })
+    },
   }
 };
 </script>

+ 4 - 3
src/views/course/userWatchCourseStatistics/index.vue

@@ -11,12 +11,12 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="营期日期" prop="periodStartingTime">
+      <el-form-item label="营期线" prop="periodStartingTime">
         <el-date-picker clearable size="small"
                         v-model="queryParams.periodStartingTime"
                         type="date"
                         value-format="yyyy-MM-dd"
-                        placeholder="选择营期开始日期">
+                        placeholder="选择营期线">
         </el-date-picker>
       </el-form-item>
       <el-form-item label="播出时间" prop="courseStartDateTime">
@@ -62,7 +62,7 @@
     <el-table border v-loading="loading" :data="userWatchCourseStatisticsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="营期名称" align="center" prop="periodName" />
-      <el-table-column label="营期日期" align="center" prop="periodStartingTime" />
+      <el-table-column label="营期线" align="center" prop="periodStartingTime" />
       <el-table-column label="播出时间" align="center" prop="courseStartDateTime" />
       <el-table-column label="课程名称" align="center" prop="courseName" />
       <el-table-column label="视频小节" align="center" prop="videoTitle" />
@@ -71,6 +71,7 @@
       <el-table-column label="新增会员" align="center" prop="newUserNum" />
       <el-table-column label="会员数量" align="center" prop="userNum" />
       <el-table-column label="观看人数" align="center" prop="watchNum" />
+      <el-table-column label="上线率" align="center" prop="onlineRatePercent" />
       <el-table-column label="完播人数" align="center" prop="completeWatchNum" />
       <el-table-column label="完播率" align="center" prop="completeWatchRatePercent" />
       <el-table-column label="答题人数" align="center" prop="answerNum" />

+ 4 - 3
src/views/course/userWatchCourseTotalStatistics/index.vue

@@ -11,12 +11,12 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="营期日期" prop="periodStartingTime">
+      <el-form-item label="营期线" prop="periodStartingTime">
         <el-date-picker clearable size="small"
                         v-model="queryParams.periodStartingTime"
                         type="date"
                         value-format="yyyy-MM-dd"
-                        placeholder="选择营期开始日期">
+                        placeholder="选择营期线">
         </el-date-picker>
       </el-form-item>
       <el-form-item label="播出时间" prop="courseStartDateTime">
@@ -80,7 +80,7 @@
     <el-table border v-loading="loading" :data="userWatchCourseStatisticsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="营期名称" align="center" prop="periodName" />
-      <el-table-column label="营期日期" align="center" prop="periodStartingTime" />
+      <el-table-column label="营期线" align="center" prop="periodStartingTime" />
       <el-table-column label="播出时间" align="center" prop="courseStartDateTime" />
       <el-table-column label="课程名称" align="center" prop="courseName" />
       <el-table-column label="视频小节" align="center" prop="videoTitle" />
@@ -89,6 +89,7 @@
       <el-table-column label="新增会员" align="center" prop="newUserNum" />
       <el-table-column label="会员数量" align="center" prop="userNum" />
       <el-table-column label="观看人数" align="center" prop="watchNum" />
+      <el-table-column label="上线率" align="center" prop="onlineRatePercent" />
       <el-table-column label="完播人数" align="center" prop="completeWatchNum" />
       <el-table-column label="完播率" align="center" prop="completeWatchRatePercent" />
       <el-table-column label="红包领取个数" align="center" prop="redPacketNum" />

+ 3 - 3
src/views/course/userWatchStatistics/index.vue

@@ -11,12 +11,12 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="营期日期" prop="periodStartingTime">
+      <el-form-item label="营期线" prop="periodStartingTime">
         <el-date-picker clearable size="small"
           v-model="queryParams.periodStartingTime"
           type="date"
           value-format="yyyy-MM-dd"
-          placeholder="选择营期开始日期">
+          placeholder="选择营期线">
         </el-date-picker>
       </el-form-item>
 
@@ -46,7 +46,7 @@
     <el-table border v-loading="loading" :data="userWatchStatisticsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="营期名称" align="center" prop="periodName" />
-      <el-table-column label="营期开始日期" align="center" prop="periodStartingTime" width="180">
+      <el-table-column label="营期线" align="center" prop="periodStartingTime" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.periodStartingTime, '{y}-{m}-{d}') }}</span>
         </template>

+ 2 - 2
src/views/users/user/darkRoom.vue

@@ -62,8 +62,8 @@
           <el-tag effect="dark" type="danger"  v-else>未看</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="停课天数" align="center" prop="stopWatchDays" />
-      <el-table-column label="完播时间" align="center" prop="completeWatchDate" width="160px"/>
+<!--      <el-table-column label="停课天数" align="center" prop="stopWatchDays" />-->
+<!--      <el-table-column label="完播时间" align="center" prop="completeWatchDate" width="160px"/>-->
       <el-table-column label="标签名称" align="center" prop="tag" />
       <el-table-column label="所属销售名称" align="center" prop="companyUserNickName" width="120px"/>
       <el-table-column label="是否重粉" align="center" prop="isRepeatFans" width="120px">