Переглянути джерело

看课记录添加 完课时间

xgb 1 тиждень тому
батько
коміт
0a3f92b49b

+ 35 - 4
src/views/course/courseWatchLog/deptWatchLog.vue

@@ -261,6 +261,12 @@
         </el-date-picker>
       </el-form-item>
 
+      <el-form-item label="完课时间" prop="finishTime">
+        <el-date-picker v-model="finishTime" size="small" style="width: 220px" value-format="yyyy-MM-dd" type="daterange"
+                        range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="finishTimeChange"></el-date-picker>
+      </el-form-item>
+
+
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -480,6 +486,7 @@ export default {
   name: "CourseWatchLog",
   data() {
     return {
+      finishTime:null,
       companyName:process.env.VUE_APP_COURSE_COMPANY_NAME,
       sopSearchText: '', // SOP搜索框显示的文本
       selectedSopId: null, // 选中的SOP ID
@@ -602,6 +609,8 @@ export default {
         qecETime:null,
         periodSTime:null,
         periodETime:null,
+        finishSTime:null,
+        finishETime:null,
         scheduleStartTime: null,
         scheduleEndTime: null,
         sendType:process.env.VUE_APP_COURSE_DEFAULT,
@@ -706,8 +715,9 @@ export default {
       // xgb 看课数据量太大必须限制时间if (this.isEmptyArray(this.createTimeText) &&
       if (this.isEmptyArray(this.createTimeText) &&
         this.isEmptyArray(this.updateTimeText) &&
-        this.isEmptyArray(this.scheduleTimeText)) {
-        this.$message.warning('请选择创建时间或营期时间或最新更新时间');
+        this.isEmptyArray(this.scheduleTimeText)  &&
+        this.isEmptyArray(this.finishTime)) {
+        this.$message.warning('请选择创建时间或营期时间或最新更新时间或完课时间');
         return;
       }
 
@@ -742,6 +752,7 @@ export default {
         logType: null,
         createTime: null,
         updateTime: null,
+        finishTime:null,
         qwExternalContactId: null,
         externalUserName:null,
         duration: null,
@@ -776,6 +787,9 @@ export default {
       this.queryParams.periodDTime = null;
       this.queryParams.scheduleStartTime = null;
       this.queryParams.scheduleEndTime = null;
+      this.queryParams.finishSTime = null;
+      this.queryParams.finishETime = null;
+      this.finishTime=null;
       this.queryParams.sopId = null; // 重置SOP ID
       this.scheduleTime=null;
       this.updateTime=null;
@@ -851,8 +865,9 @@ export default {
       // xgb 看课数据量太大必须限制时间
       if (this.isEmptyArray(this.createTimeText) &&
         this.isEmptyArray(this.updateTimeText) &&
-        this.isEmptyArray(this.scheduleTimeText)) {
-        this.$message.warning('请选择创建时间或营期时间或最新更新时间');
+        this.isEmptyArray(this.scheduleTimeText) &&
+        this.isEmptyArray(this.finishTime)) {
+        this.$message.warning('请选择创建时间或营期时间或最新更新时间或完课时间');
         return;
       }
 
@@ -990,7 +1005,23 @@ export default {
         this.queryParams.upETime = null;
       }
     },
+    finishTimeChange(finishTime){
+      if (finishTime && finishTime.length >= 2) {
+        if(!this.checkDateRangeLimit(finishTime)){
+          this.finishTime = null;
+          this.queryParams.finishSTime=null;
+          this.queryParams.finishETime=null;
+          return;
+        }
 
+        this.queryParams.finishSTime = finishTime[0] || null;
+        this.queryParams.finishETime = finishTime[1] || null;
+      } else {
+        this.finishTime = [];
+        this.queryParams.finishSTime = null;
+        this.queryParams.finishETime = null;
+      }
+    },
     // 进线时间
     qecCreateTimeChange(qecCreateTime) {
       if (qecCreateTime && qecCreateTime.length >= 2) {

+ 33 - 6
src/views/course/courseWatchLog/index.vue

@@ -264,6 +264,10 @@
           :default-time="['00:00:00', '23:59:59']">
         </el-date-picker>
       </el-form-item>
+      <el-form-item label="完课时间" prop="finishTime">
+        <el-date-picker v-model="finishTime" size="small" style="width: 220px" value-format="yyyy-MM-dd" type="daterange"
+                        range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="finishTimeChange"></el-date-picker>
+      </el-form-item>
 
 <!--      <el-form-item label="是否注册" prop="isVip">-->
 <!--        <el-select-->
@@ -640,6 +644,7 @@ export default {
       scheduleTime: [],  // 改为数组
       createTime: [],    // 改为数组
       updateTime: [],    // 改为数组
+      finishTime:null,
       qecCreateTime: [], // 改为数组
       periodTime: [], // 改为数组
 
@@ -780,6 +785,8 @@ export default {
         periodETime:null,
         scheduleStartTime: null,
         scheduleEndTime: null,
+        finishSTime:null,
+        finishETime:null,
         sendType:process.env.VUE_APP_COURSE_DEFAULT,
         isVip: null,
         sopId: null, // sopId
@@ -1101,7 +1108,23 @@ export default {
         this.queryParams.upETime = null;
       }
     },
+    finishTimeChange(finishTime){
+      if (finishTime && finishTime.length >= 2) {
+        if(!this.checkDateRangeLimit(finishTime)){
+          this.finishTime = null;
+          this.queryParams.finishSTime=null;
+          this.queryParams.finishETime=null;
+          return;
+        }
 
+        this.queryParams.finishSTime = finishTime[0] || null;
+        this.queryParams.finishETime = finishTime[1] || null;
+      } else {
+        this.finishTime = [];
+        this.queryParams.finishSTime = null;
+        this.queryParams.finishETime = null;
+      }
+    },
     // 进线时间
     qecCreateTimeChange(qecCreateTime) {
       if (qecCreateTime && qecCreateTime.length >= 2) {
@@ -1219,8 +1242,9 @@ export default {
       // xgb 看课数据量太大必须限制时间
       if (this.isEmptyArray(this.createTimeText) &&
         this.isEmptyArray(this.updateTimeText) &&
-        this.isEmptyArray(this.scheduleTimeText)) {
-        this.$message.warning('请选择创建时间或营期时间或最新更新时间');
+        this.isEmptyArray(this.scheduleTimeText) &&
+        this.isEmptyArray(this.finishTime)) {
+        this.$message.warning('请选择创建时间或营期时间或最新更新时间或完课时间');
         return;
       }
 
@@ -1255,6 +1279,7 @@ export default {
         externalUserName:null,
         duration: null,
         qwUserId: null,
+        finishTime:null,
         companyUserId: null,
         companyId: null,
         courseId: null,
@@ -1292,8 +1317,9 @@ export default {
       this.queryParams.scheduleStartTime = null;
       this.queryParams.scheduleEndTime = null;
       this.queryParams.sopId = null; // 重置SOP ID
-
-
+      this.queryParams.finishSTime = null;
+      this.queryParams.finishETime = null;
+      this.finishTime=null;
       // 重置SOP搜索
       this.handleSopClear();
 
@@ -1365,8 +1391,9 @@ export default {
       // xgb 看课数据量太大必须限制时间
       if (this.isEmptyArray(this.createTimeText) &&
         this.isEmptyArray(this.updateTimeText) &&
-        this.isEmptyArray(this.scheduleTimeText)) {
-        this.$message.warning('请选择创建时间或营期时间或最新更新时间');
+        this.isEmptyArray(this.scheduleTimeText) &&
+        this.isEmptyArray(this.finishTime)) {
+        this.$message.warning('请选择创建时间或营期时间或最新更新时间或完课时间');
         return;
       }
       const queryParams = this.queryParams;

+ 34 - 4
src/views/course/courseWatchLog/watchLog.vue

@@ -239,6 +239,11 @@
         </el-date-picker>
       </el-form-item>
 
+      <el-form-item label="完课时间" prop="finishTime">
+        <el-date-picker v-model="finishTime" size="small" style="width: 220px" value-format="yyyy-MM-dd" type="daterange"
+                        range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" @change="finishTimeChange"></el-date-picker>
+      </el-form-item>
+
 <!--      <el-form-item label="是否注册" prop="isVip">-->
 <!--        <el-select-->
 <!--          filterable-->
@@ -703,6 +708,7 @@ export default {
       updateTime: [],    // 改为数组
       qecCreateTime: [], // 改为数组
       periodTime: [], // 改为数组
+      finishTime:null,
 
       // 控制日历显隐
       showScheduleCalendar: false,
@@ -836,6 +842,8 @@ export default {
         eTime: null,
         upSTime:null,
         upETime:null,
+        finishSTime:null,
+        finishETime:null,
         qecSTime:null,
         qecETime:null,
         periodSTime:null,
@@ -1054,7 +1062,23 @@ export default {
         this.queryParams.upETime = null;
       }
     },
+    finishTimeChange(finishTime){
+      if (finishTime && finishTime.length >= 2) {
+        if(!this.checkDateRangeLimit(finishTime)){
+          this.finishTime = null;
+          this.queryParams.finishSTime=null;
+          this.queryParams.finishETime=null;
+          return;
+        }
 
+        this.queryParams.finishSTime = finishTime[0] || null;
+        this.queryParams.finishETime = finishTime[1] || null;
+      } else {
+        this.finishTime = [];
+        this.queryParams.finishSTime = null;
+        this.queryParams.finishETime = null;
+      }
+    },
     // 进线时间
     qecCreateTimeChange(qecCreateTime) {
       if (qecCreateTime && qecCreateTime.length >= 2) {
@@ -1160,8 +1184,9 @@ export default {
       // xgb 看课数据量太大必须限制时间if (this.isEmptyArray(this.createTimeText) &&
       if (this.isEmptyArray(this.createTimeText) &&
         this.isEmptyArray(this.updateTimeText) &&
-        this.isEmptyArray(this.scheduleTimeText)) {
-        this.$message.warning('请选择创建时间或营期时间或最新更新时间');
+        this.isEmptyArray(this.scheduleTimeText) &&
+        this.isEmptyArray(this.finishTime)) {
+        this.$message.warning('请选择创建时间或营期时间或最新更新时间或完课时间');
         return;
       }
 
@@ -1192,6 +1217,7 @@ export default {
         logType: null,
         createTime: null,
         updateTime: null,
+        finishTime:null,
         qwExternalContactId: null,
         externalUserName:null,
         duration: null,
@@ -1235,6 +1261,9 @@ export default {
       this.queryParams.isVip = null; // 重置 isVip 状态
       this.queryParams.qwUserId = null; // 重置 qwUserId
       this.queryParams.externalUserName=null;
+      this.queryParams.finishSTime = null;
+      this.queryParams.finishETime = null;
+      this.finishTime=null;
       // 重置SOP搜索
       this.handleSopClear();
       // 统一重置日历组件
@@ -1310,8 +1339,9 @@ export default {
       // xgb 看课数据量太大必须限制时间
       if (this.isEmptyArray(this.createTimeText) &&
         this.isEmptyArray(this.updateTimeText) &&
-        this.isEmptyArray(this.scheduleTimeText)) {
-        this.$message.warning('请选择创建时间或营期时间或最新更新时间');
+        this.isEmptyArray(this.scheduleTimeText) &&
+        this.isEmptyArray(this.finishTime)) {
+        this.$message.warning('请选择创建时间或营期时间或最新更新时间或完课时间');
         return;
       }
       const queryParams = this.queryParams;